From 9faa19584bd87734d9847d5794fa3a7bd7d64d2e Mon Sep 17 00:00:00 2001 From: fmpmorgado Date: Mon, 26 Sep 2022 10:53:11 +0100 Subject: [PATCH 001/179] Introduction of a new convective scheme for NEMO: AUSM+M --- Common/include/CConfig.hpp | 2 +- Common/include/option_structure.hpp | 6 +- Common/src/CConfig.cpp | 1 + SU2_CFD/include/numerics/CNumerics.hpp | 21 ++ .../include/numerics/NEMO/CNEMONumerics.hpp | 24 ++ .../numerics/NEMO/convection/ausmplusm.hpp | 74 ++++++ SU2_CFD/src/drivers/CDriver.cpp | 8 + SU2_CFD/src/meson.build | 1 + .../numerics/NEMO/convection/ausmplusm.cpp | 249 ++++++++++++++++++ SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 15 ++ SU2_CFD/src/variables/CNEMOEulerVariable.cpp | 2 + 11 files changed, 400 insertions(+), 3 deletions(-) create mode 100644 SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp create mode 100644 SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 6be6edfc0a7..4ec63ec1fdf 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -3707,7 +3707,7 @@ class CConfig { */ bool GetAUSMMethod(void) const { switch (Kind_Upwind_Flow) { - case AUSM : case AUSMPLUSUP: case AUSMPLUSUP2: case AUSMPWPLUS: + case AUSM : case AUSMPLUSUP: case AUSMPLUSUP2: case AUSMPWPLUS: case AUSMPLUSM: return true; default: return false; diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index ec0598111e7..edba681e5bf 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -839,8 +839,9 @@ enum ENUM_UPWIND { FDS = 14, /*!< \brief Flux difference splitting upwind method (incompressible flows). */ LAX_FRIEDRICH = 15, /*!< \brief Lax-Friedrich numerical method. */ AUSMPLUSUP = 16, /*!< \brief AUSM+ -up numerical method (All Speed) */ - AUSMPLUSUP2 = 17, /*!< \brief AUSM+ -up2 numerical method (All Speed) */ - AUSMPWPLUS = 18 /*!< \brief AUSMplus numerical method. (MAYBE for TNE2 ONLY)*/ + AUSMPLUSUP2 = 17, /*!< \brief AUSM+ -up2 numerical method (All Speed) */ + AUSMPWPLUS = 18, /*!< \brief AUSMplus numerical method. (MAYBE for TNE2 ONLY)*/ + AUSMPLUSM = 19 /*!< \brief AUSM+M numerical method. (NEMO only)*/ }; static const MapType Upwind_Map = { MakePair("NONE", NO_UPWIND) @@ -850,6 +851,7 @@ static const MapType Upwind_Map = { MakePair("AUSMPLUSUP", AUSMPLUSUP) MakePair("AUSMPLUSUP2", AUSMPLUSUP2) MakePair("AUSMPWPLUS", AUSMPWPLUS) + MakePair("AUSMPLUSM", AUSMPLUSM) MakePair("SLAU", SLAU) MakePair("HLLC", HLLC) MakePair("SW", SW) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index b32d4ea5610..31f98fc427a 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -6594,6 +6594,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { if (Kind_Upwind_Flow == AUSMPLUSUP) cout << "AUSM+-up solver for the flow inviscid terms."<< endl; if (Kind_Upwind_Flow == AUSMPLUSUP2) cout << "AUSM+-up2 solver for the flow inviscid terms."<< endl; if (Kind_Upwind_Flow == AUSMPWPLUS) cout << "AUSMPWPLUS solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == AUSMPLUSM) cout << "AUSMPLUSM solver for the flow inviscid terms."<< endl; if (Kind_Solver == MAIN_SOLVER::EULER || Kind_Solver == MAIN_SOLVER::DISC_ADJ_EULER || Kind_Solver == MAIN_SOLVER::NAVIER_STOKES || Kind_Solver == MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES || diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 3b9e9c78d7c..6cba4419a1e 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -35,6 +35,8 @@ #include "../../../Common/include/CConfig.hpp" #include "../../../Common/include/linear_algebra/blas_structure.hpp" +#include "../../Common/include/geometry/CGeometry.hpp" +#include "../variables/CNEMOEulerVariable.hpp" class CElement; class CFluidModel; @@ -1598,6 +1600,25 @@ class CNumerics { * \param[in] SolverSPvals - Struct holding the values. */ virtual void SetStreamwisePeriodicValues(const StreamwisePeriodicValues SolverSPvals) { } + + /*! + * \brief Set the geometry pointer. + * \param[in] geometry - geometry pointer. + */ + virtual inline void SetNEMOGeometry(CGeometry *geometry) { } + + /*! + * \brief Set the Point IDs. + * \param[in] val_point_i - ID of point i. + * \param[in] val_point_j - ID of point j. + */ + virtual inline void SetPoint(unsigned long val_point_i, unsigned long val_point_j) { } + + /*! + * \brief Set the solution pointer + * \param[in] solution - solution pointer. + */ + virtual inline void SetNEMOSolution(CNEMOEulerVariable *solution) { } }; /*! diff --git a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp index 3ca4f7a2aba..66ab1a9bacc 100644 --- a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp +++ b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp @@ -32,6 +32,8 @@ #include "../../fluid/CMutationTCLib.hpp" #include "../../fluid/CSU2TCLib.hpp" #include "../../../../Common/include/toolboxes/geometry_toolbox.hpp" +#include "../../../Common/include/geometry/CGeometry.hpp" +#include "../../variables/CNEMOEulerVariable.hpp" /*! * \class CNEMONumerics @@ -41,6 +43,7 @@ class CNEMONumerics : public CNumerics { public: bool implicit, ionization; + unsigned long iPoint,jPoint; su2double *rhos_i, *u_i; su2double *rhos_j, *u_j; su2double a_i, P_i, h_i; @@ -70,6 +73,8 @@ class CNEMONumerics : public CNumerics { LAM_VISC_INDEX, EDDY_VISC_INDEX; CNEMOGas *fluidmodel; + CGeometry *nemo_geometry; + CNEMOEulerVariable *nemo_solution; /*! * \brief Constructor of the class. @@ -522,4 +527,23 @@ class CNEMONumerics : public CNumerics { */ inline void SetGamma(su2double val_Gamma_i, su2double val_Gamma_j) final {Gamma_i = val_Gamma_i; Gamma_j = val_Gamma_j; } + /*! + * \brief Set the geometry pointer. + * \param[in] geometry - geometry pointer. + */ + inline void SetNEMOGeometry(CGeometry *geometry) final {nemo_geometry = geometry; } + + /*! + * \brief Set the Point IDs. + * \param[in] val_point_i - ID of point i. + * \param[in] val_point_j - ID of point j. + */ + inline void SetPoint(unsigned long val_point_i, unsigned long val_point_j) final {iPoint = val_point_i; jPoint = val_point_j;} + + /*! + * \brief Set the solution pointer + * \param[in] solution - solution pointer. + */ + inline void SetNEMOSolution(CNEMOEulerVariable *solution) final {nemo_solution = solution;} + }; diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp new file mode 100644 index 00000000000..a4ed5e9ebc2 --- /dev/null +++ b/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp @@ -0,0 +1,74 @@ +/*! + * \file ausmplusm.hpp + * \brief Declaration of numerics classes for the AUSM family of schemes in NEMO - AUSM+M. + * \author F. Morgado + * \version 7.4.0 "Blackbird" + * + * SU2 Project Website: https://su2code.github.io + * + * The SU2 Project is maintained by the SU2 Foundation + * (http://su2foundation.org) + * + * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * + * SU2 is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * SU2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with SU2. If not, see . + */ + +#pragma once + +#include "../CNEMONumerics.hpp" + +/*! + * \class CUpwAUSMPLUSM_NEMO + * \brief Class for solving an approximate Riemann AUSM+ M, Two-Temperature Model. https://doi.org/10.1016/j.apm.2019.09.005 + * \ingroup ConvDiscr + * \author F. Morgado + */ +class CUpwAUSMPLUSM_NEMO : public CNEMONumerics { +private: + su2double *FcL, *FcR, *FcLR; + su2double *dmLP, *dmRM, *dpLP, *dpRM; + su2double *daL, *daR; + su2double ProjVel_i, ProjVel_j; + su2double sq_vel, Proj_ModJac_Tensor_ij; + su2double mL, mR, mLP, mRM, mF, pLP, pRM, pFi, pF, Phi; + su2double CstarL, CstarR, ChatL, ChatR, aF, rhoF, MFsq, Mrefsq, Mp, fa; + su2double Kp, sigma, alpha, beta, param1, mfP, mfM; + su2double rhoCvtr_i, rhoCvtr_j, rhoCvve_i, rhoCvve_j; + + su2double f, f0, g, h_k, P_k, Point_aux; + su2double sqVi, sqVj, gam, Hnorm, gtl_i, gtl_j, atl, aij; + + +public: + + /*! + * \brief Constructor of the class. + * \param[in] val_nDim - Number of dimensions of the problem. + * \param[in] val_nVar - Number of variables of the problem. + * \param[in] config - Definition of the particular problem. + */ + CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, CConfig *config); + + /*! + * \brief Destructor of the class. + */ + ~CUpwAUSMPLUSM_NEMO(void); + + /*! + * \brief Compute the AUSM+M flux between two nodes i and j. + * \param[in] config - Definition of the particular problem. + */ + ResidualType<> ComputeResidual(const CConfig* config) final; +}; diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index a2671967095..6e5ac5d5ec9 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -73,6 +73,7 @@ #include "../../include/numerics/NEMO/convection/ausm.hpp" #include "../../include/numerics/NEMO/convection/ausmplusup2.hpp" #include "../../include/numerics/NEMO/convection/ausmpwplus.hpp" +#include "../../include/numerics/NEMO/convection/ausmplusm.hpp" #include "../../include/numerics/NEMO/convection/msw.hpp" #include "../../include/numerics/NEMO/NEMO_diffusion.hpp" #include "../../include/numerics/NEMO/NEMO_sources.hpp" @@ -1901,6 +1902,13 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol } break; + case AUSMPLUSM: + for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { + numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSMPLUSM_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); + numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSMPLUSM_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); + } + break; + case MSW: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwMSW_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); diff --git a/SU2_CFD/src/meson.build b/SU2_CFD/src/meson.build index 691db4e5b2d..2571c0f4bcc 100644 --- a/SU2_CFD/src/meson.build +++ b/SU2_CFD/src/meson.build @@ -134,6 +134,7 @@ su2_cfd_src += files(['numerics/CNumerics.cpp', 'numerics/NEMO/convection/roe.cpp', 'numerics/NEMO/convection/ausm.cpp', 'numerics/NEMO/convection/ausmplusup2.cpp', + 'numerics/NEMO/convection/ausmplusm.cpp', 'numerics/NEMO/convection/ausmpwplus.cpp', 'numerics/NEMO/convection/msw.cpp', 'numerics/NEMO/NEMO_diffusion.cpp', diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp new file mode 100644 index 00000000000..74738f1ff21 --- /dev/null +++ b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp @@ -0,0 +1,249 @@ +/*! + * \file ausmplusm.cpp + * \brief Implementations of the AUSM-family of schemes - AUSM+M. + * \author F. Morgado + * \version 7.4.0 "Blackbird" + * + * SU2 Project Website: https://su2code.github.io + * + * The SU2 Project is maintained by the SU2 Foundation + * (http://su2foundation.org) + * + * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * + * SU2 is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * SU2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with SU2. If not, see . + */ + +#include "../../../../include/numerics/NEMO/convection/ausmplusm.hpp" + +CUpwAUSMPLUSM_NEMO::CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, + unsigned short val_nPrimVar, + unsigned short val_nPrimVarGrad, + CConfig *config): CNEMONumerics (val_nDim, val_nVar, val_nPrimVar, val_nPrimVarGrad, + config){ + + + unsigned short iVar; + + /*--- Allocate data structures ---*/ + FcL = new su2double [nVar]; + FcR = new su2double [nVar]; + dmLP = new su2double [nVar]; + dmRM = new su2double [nVar]; + dpLP = new su2double [nVar]; + dpRM = new su2double [nVar]; + daL = new su2double [nVar]; + daR = new su2double [nVar]; + rhos_i = new su2double [nSpecies]; + rhos_j = new su2double [nSpecies]; + u_i = new su2double [nDim]; + u_j = new su2double [nDim]; + + + Flux = new su2double[nVar]; +} + +CUpwAUSMPLUSM_NEMO::~CUpwAUSMPLUSM_NEMO(void) { + + delete [] FcL; + delete [] FcR; + delete [] dmLP; + delete [] dmRM; + delete [] dpLP; + delete [] dpRM; + delete [] rhos_i; + delete [] rhos_j; + delete [] u_i; + delete [] u_j; + unsigned short iVar; + + delete [] Flux; +} + +CNumerics::ResidualType<> CUpwAUSMPLUSM_NEMO::ComputeResidual(const CConfig *config) { + + unsigned short iDim, iVar, iSpecies; + su2double rho_i, rho_j, + e_ve_i, e_ve_j, mL, mR, mLP, mRM, mF, pLP, pRM, pF, Phi, sq_veli, sq_velj; + + /*--- Face area ---*/ + Area = 0.0; + for (iDim = 0; iDim < nDim; iDim++) + Area += Normal[iDim]*Normal[iDim]; + Area = sqrt(Area); + + /*-- Unit Normal ---*/ + for (iDim = 0; iDim < nDim; iDim++) + UnitNormal[iDim] = Normal[iDim]/Area; + + Minf = config->GetMach(); + + /*--- Extracting primitive variables ---*/ + // Primitives: [rho1,...,rhoNs, T, Tve, u, v, w, P, rho, h, a, c] + for (iSpecies = 0; iSpecies < nSpecies; iSpecies++){ + rhos_i[iSpecies] = V_i[RHOS_INDEX+iSpecies]; + rhos_j[iSpecies] = V_j[RHOS_INDEX+iSpecies]; + } + + sq_veli = 0.0; sq_velj = 0.0; + for (iDim = 0; iDim < nDim; iDim++) { + u_i[iDim] = V_i[VEL_INDEX+iDim]; + u_j[iDim] = V_j[VEL_INDEX+iDim]; + sq_veli += u_i[iDim]*u_i[iDim]; + sq_velj += u_j[iDim]*u_j[iDim]; + } + + P_i = V_i[P_INDEX]; P_j = V_j[P_INDEX]; + h_i = V_i[H_INDEX]; h_j = V_j[H_INDEX]; + a_i = V_i[A_INDEX]; a_j = V_j[A_INDEX]; + rho_i = V_i[RHO_INDEX]; rho_j = V_j[RHO_INDEX]; + + rhoCvtr_i = V_i[RHOCVTR_INDEX]; rhoCvtr_j = V_j[RHOCVTR_INDEX]; + rhoCvve_i = V_i[RHOCVVE_INDEX]; rhoCvve_j = V_j[RHOCVVE_INDEX]; + + e_ve_i = 0.0; e_ve_j = 0.0; + for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { + e_ve_i += (rhos_i[iSpecies]*eve_i[iSpecies])/rho_i; + e_ve_j += (rhos_j[iSpecies]*eve_j[iSpecies])/rho_j; + } + + /*--- Projected velocities ---*/ + ProjVel_i = 0.0; ProjVel_j = 0.0; + for (iDim = 0; iDim < nDim; iDim++) { + ProjVel_i += u_i[iDim]*UnitNormal[iDim]; + ProjVel_j += u_j[iDim]*UnitNormal[iDim]; + } + + sqVi = 0.0; sqVj = 0.0; + for (iDim = 0; iDim < nDim; iDim++) { + sqVi += (u_i[iDim]-ProjVel_i*UnitNormal[iDim]) * + (u_i[iDim]-ProjVel_i*UnitNormal[iDim]); + sqVj += (u_j[iDim]-ProjVel_j*UnitNormal[iDim]) * + (u_j[iDim]-ProjVel_j*UnitNormal[iDim]); + } + + /*--- Calculate interface numerical gammas and speed of sound ---*/ + //Hnorm = 0.5*(h_i-0.5*sqVi + h_j-0.5*sqVj); --> This formula worked until V. 7.3.0 + Hnorm = 0.5*(h_i + h_j); + gtl_i = Gamma_i; + gtl_j = Gamma_j; + gam = 0.5*(gtl_i+gtl_j); + atl = sqrt(2.0*Hnorm*(gam-1.0)/(gam+1.0)); + + // ATL has to account sound speed for reactive gases + + /* if (fabs(rho_i-rho_j)/(0.5*(rho_i+rho_j)) < 1E-3) // Why this If condition ? + atl = sqrt(2.0*Hnorm*(gam-1.0)/(gam+1.0)); + else { + //Is the bottom equation correct ?? + atl = sqrt(2.0*Hnorm * (((gtl_i-1.0)/(gtl_i*rho_i) - (gtl_j-1.0)/(gtl_j*rho_j))/ + ((gtl_j+1.0)/(gtl_j*rho_i) - (gtl_i+1.0)/(gtl_i*rho_j)))); + + + // Or should it be + atl = sqrt(2.0*Hnorm * (((gtl_i-1.0)/(gtl_i)*rho_i - (gtl_j-1.0)/(gtl_j)*rho_j)/ + ((gtl_j+1.0)/(gtl_j)*rho_i - (gtl_i+1.0)/(gtl_i)*rho_j))); + } */ + + if (0.5*(ProjVel_i+ProjVel_j) >= 0.0) aij = atl*atl/max(fabs(ProjVel_i),atl); + else aij = atl*atl/max(fabs(ProjVel_j),atl); + + aF=aij; + + mL = ProjVel_i/aF; + mR = ProjVel_j/aF; + + rhoF = 0.5*(rho_i+rho_j); + MFsq = 0.5*(sq_veli+sq_velj)/(aF*aF); + + param1 = max(MFsq, Minf*Minf); + Mrefsq = (min(1.0, param1)); + fa = 2.0*sqrt(Mrefsq)-Mrefsq; + + alpha = 3.0/16.0*(-4.0+5.0*fa*fa); + beta = 1.0/8.0; + + /*--- Pressure diffusion term ---*/ + + h_k=1.0; + + for (auto Point_aux : nemo_geometry->nodes->GetPoints(jPoint)) { + P_k = nemo_solution->GetPrimitive(Point_aux,P_INDEX)/nemo_solution->GetPrimitive(jPoint,P_INDEX); + h_k = min(h_k,P_k); + h_k = min(h_k,1/P_k); + } + + for (auto Point_aux : nemo_geometry->nodes->GetPoints(iPoint)) { + P_k = nemo_solution->GetPrimitive(Point_aux,P_INDEX)/nemo_solution->GetPrimitive(iPoint,P_INDEX); + h_k = min(h_k,P_k); + h_k = min(h_k,1/P_k); + } + + g=0.5*(1+cos(PI_NUMBER*h_k)); + f=0.5*(1-cos(PI_NUMBER*min(1.0,max(abs(mL),abs(mR))))); + + Mp = -0.5*(1-f)*(P_j-P_i)/(rhoF*aF*aF)*(1-g); + + if (fabs(mL) <= 1.0) mLP = 0.25*(mL+1.0)*(mL+1.0)+beta*(mL*mL-1.0)*(mL*mL-1.0); + else mLP = 0.5*(mL+fabs(mL)); + + if (fabs(mR) <= 1.0) mRM = -0.25*(mR-1.0)*(mR-1.0)-beta*(mR*mR-1.0)*(mR*mR-1.0); + else mRM = 0.5*(mR-fabs(mR)); + + mF = mLP + mRM + Mp; + + if (fabs(mL) <= 1.0) pLP = (0.25*(mL+1.0)*(mL+1.0)*(2.0-mL)+alpha*mL*(mL*mL-1.0)*(mL*mL-1.0)); + else pLP = 0.5*(mL+fabs(mL))/mL; + + if (fabs(mR) <= 1.0) pRM = (0.25*(mR-1.0)*(mR-1.0)*(2.0+mR)-alpha*mR*(mR*mR-1.0)*(mR*mR-1.0)); + else pRM = 0.5*(mR-fabs(mR))/mR; + + + f0=min(1.0,max(f,Minf*Minf)); + + // This is an alternative formulation already used by AUSMPLUSUP2 (But multiplied by f0) + pFi = f0*sqrt(0.5*(sq_veli+sq_velj))*(pLP+pRM-1.0)*0.5*(rho_j+rho_i)*aF; + // pFi = f0*(pLP+pRM-1.0)*0.5*(P_i+P_j); + + pF = 0.5*(P_j+P_i)+0.5*(pLP-pRM)*(P_i-P_j)+pFi; + + Phi = fabs(mF); + + mfP=0.5*(mF+Phi); + mfM=0.5*(mF-Phi); + + /*--- Assign left & right covective fluxes ---*/ + for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { + FcL[iSpecies] = rhos_i[iSpecies]*aF; + FcR[iSpecies] = rhos_j[iSpecies]*aF; + } + for (iDim = 0; iDim < nDim; iDim++) { + FcL[nSpecies+iDim] = rho_i*aF*u_i[iDim]; + FcR[nSpecies+iDim] = rho_j*aF*u_j[iDim]; + } + FcL[nSpecies+nDim] = rho_i*aF*h_i; + FcR[nSpecies+nDim] = rho_j*aF*h_j; + FcL[nSpecies+nDim+1] = rho_i*aF*e_ve_i; + FcR[nSpecies+nDim+1] = rho_j*aF*e_ve_j; + + /*--- Compute numerical flux ---*/ + for (iVar = 0; iVar < nVar; iVar++) + Flux[iVar] = (mfP*FcL[iVar]+mfM*FcR[iVar])*Area; + + for (iDim = 0; iDim < nDim; iDim++) + Flux[nSpecies+iDim] += (pF*UnitNormal[iDim]-g*gam*0.5*(P_i+P_j)/aF*pLP*pRM*(u_j[iDim]-ProjVel_j*UnitNormal[iDim]-u_i[iDim]+ProjVel_i*UnitNormal[iDim]))*Area; + + return ResidualType<>(Flux, nullptr, nullptr); +} + diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 0a0be7de5bc..389b95e798a 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -481,6 +481,10 @@ void CNEMOEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_con /*--- Pick one numerics object per thread. ---*/ CNumerics* numerics = numerics_container[CONV_TERM]; + /*--- Set solution and geometry pointers. ---*/ + numerics->SetNEMOGeometry(geometry); + numerics->SetNEMOSolution(nodes); + /*--- Static arrays for MUSCL reconstructed variables ---*/ su2double Primitive_i[MAXNVAR] = {0.0}, Primitive_j[MAXNVAR] = {0.0}; su2double Conserved_i[MAXNVAR] = {0.0}, Conserved_j[MAXNVAR] = {0.0}; @@ -611,6 +615,7 @@ void CNEMOEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_con numerics->SetGamma (chk_err_i ? nodes->GetGamma (iPoint) : Gamma_i, chk_err_j ? nodes->GetGamma (jPoint) : Gamma_j); } + numerics->SetPoint(iPoint,jPoint); /*--- Compute the residual ---*/ auto residual = numerics->ComputeResidual(config); @@ -1524,6 +1529,10 @@ void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contai /*--- Allocate arrays ---*/ su2double *Normal = new su2double[nDim]; + /*--- Set solution and geometry pointers. ---*/ + conv_numerics->SetNEMOGeometry(geometry); + conv_numerics->SetNEMOSolution(nodes); + /*--- Loop over all the vertices on this boundary (val_marker) ---*/ for (iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); @@ -1559,6 +1568,7 @@ void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contai conv_numerics->SetEve (nodes->GetEve(iPoint), node_infty->GetEve(0)); conv_numerics->SetCvve (nodes->GetCvve(iPoint), node_infty->GetCvve(0)); conv_numerics->SetGamma (nodes->GetGamma(iPoint), node_infty->GetGamma(0)); + conv_numerics->SetPoint(iPoint,iPoint); /*--- Compute the convective residual (and Jacobian) ---*/ // Note: This uses the specified boundary num. method specified in driver_structure.cpp @@ -1935,6 +1945,10 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container unsigned short RHOCVTR_INDEX = nodes->GetRhoCvtrIndex(); unsigned short RHOCVVE_INDEX = nodes->GetRhoCvveIndex(); + /*--- Set solution and geometry pointers. ---*/ + conv_numerics->SetNEMOGeometry(geometry); + conv_numerics->SetNEMOSolution(nodes); + /*--- Loop over all the vertices on this boundary marker ---*/ for (iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); @@ -2085,6 +2099,7 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container conv_numerics->SetEve (nodes->GetEve(iPoint), node_infty->GetEve(0)); conv_numerics->SetCvve (nodes->GetCvve(iPoint), node_infty->GetCvve(0)); conv_numerics->SetGamma (nodes->GetGamma(iPoint), node_infty->GetGamma(0)); + conv_numerics->SetPoint(iPoint,iPoint); /*--- Compute the residual using an upwind scheme ---*/ auto residual = conv_numerics->ComputeResidual(config); diff --git a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp index 22deb6b9f9a..45d50b66cd1 100644 --- a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp +++ b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp @@ -187,6 +187,8 @@ bool CNEMOEulerVariable::Cons2PrimVar(su2double *U, su2double *V, Tmin = 50.0; Tmax = 8E4; Tvemin = 50.0; Tvemax = 8E4; + if (U[nSpecies+nDim+1] <= 0) {U[nSpecies+nDim+1] = 0;} + /*--- Rename variables for convenience ---*/ su2double rhoE = U[nSpecies+nDim]; // Density * energy [J/m3] su2double rhoEve = U[nSpecies+nDim+1]; // Density * energy_ve [J/m3] From cb18c21529f1fc7f63327ba3ffd42bd506d171e5 Mon Sep 17 00:00:00 2001 From: fmpmorgado Date: Mon, 26 Sep 2022 11:15:30 +0100 Subject: [PATCH 002/179] Changes in config_template --- config_template.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config_template.cfg b/config_template.cfg index 6611c9c445a..f968f6cb946 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -1188,7 +1188,7 @@ MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % % Convective numerical method (JST, JST_KE, JST_MAT, LAX-FRIEDRICH, CUSP, ROE, AUSM, -% AUSMPLUSUP, AUSMPLUSUP2, AUSMPWPLUS, HLLC, TURKEL_PREC, +% AUSMPLUSUP, AUSMPLUSUP2, AUSMPWPLUS, AUSMPLUSM, HLLC, TURKEL_PREC, % SW, MSW, FDS, SLAU, SLAU2, L2ROE, LMROE) CONV_NUM_METHOD_FLOW= ROE % From 84cdb7ea1e6d56692c88c0b16be72f7793cf0a97 Mon Sep 17 00:00:00 2001 From: fmpmorgado Date: Mon, 26 Sep 2022 11:53:46 +0100 Subject: [PATCH 003/179] Remove unused variables --- SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp index 74738f1ff21..e5cebb80f73 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp @@ -34,8 +34,6 @@ CUpwAUSMPLUSM_NEMO::CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short v config){ - unsigned short iVar; - /*--- Allocate data structures ---*/ FcL = new su2double [nVar]; FcR = new su2double [nVar]; @@ -49,8 +47,6 @@ CUpwAUSMPLUSM_NEMO::CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short v rhos_j = new su2double [nSpecies]; u_i = new su2double [nDim]; u_j = new su2double [nDim]; - - Flux = new su2double[nVar]; } @@ -66,8 +62,6 @@ CUpwAUSMPLUSM_NEMO::~CUpwAUSMPLUSM_NEMO(void) { delete [] rhos_j; delete [] u_i; delete [] u_j; - unsigned short iVar; - delete [] Flux; } From 6f7d79fd3d73614ca89e4004b48c6c6d06fc0145 Mon Sep 17 00:00:00 2001 From: fmpmorgado Date: Mon, 26 Sep 2022 21:25:11 +0100 Subject: [PATCH 004/179] Code cleanup and use of Sensores --- SU2_CFD/include/numerics/CNumerics.hpp | 20 -- .../include/numerics/NEMO/CNEMONumerics.hpp | 24 -- .../numerics/NEMO/convection/ausmplusm.hpp | 34 +-- SU2_CFD/include/solvers/CNEMOEulerSolver.hpp | 7 + .../numerics/NEMO/convection/ausmplusm.cpp | 263 +++++++++--------- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 50 +++- 6 files changed, 186 insertions(+), 212 deletions(-) diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 6cba4419a1e..ff71a7dbe2b 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -35,8 +35,6 @@ #include "../../../Common/include/CConfig.hpp" #include "../../../Common/include/linear_algebra/blas_structure.hpp" -#include "../../Common/include/geometry/CGeometry.hpp" -#include "../variables/CNEMOEulerVariable.hpp" class CElement; class CFluidModel; @@ -1601,24 +1599,6 @@ class CNumerics { */ virtual void SetStreamwisePeriodicValues(const StreamwisePeriodicValues SolverSPvals) { } - /*! - * \brief Set the geometry pointer. - * \param[in] geometry - geometry pointer. - */ - virtual inline void SetNEMOGeometry(CGeometry *geometry) { } - - /*! - * \brief Set the Point IDs. - * \param[in] val_point_i - ID of point i. - * \param[in] val_point_j - ID of point j. - */ - virtual inline void SetPoint(unsigned long val_point_i, unsigned long val_point_j) { } - - /*! - * \brief Set the solution pointer - * \param[in] solution - solution pointer. - */ - virtual inline void SetNEMOSolution(CNEMOEulerVariable *solution) { } }; /*! diff --git a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp index 66ab1a9bacc..3ca4f7a2aba 100644 --- a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp +++ b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp @@ -32,8 +32,6 @@ #include "../../fluid/CMutationTCLib.hpp" #include "../../fluid/CSU2TCLib.hpp" #include "../../../../Common/include/toolboxes/geometry_toolbox.hpp" -#include "../../../Common/include/geometry/CGeometry.hpp" -#include "../../variables/CNEMOEulerVariable.hpp" /*! * \class CNEMONumerics @@ -43,7 +41,6 @@ class CNEMONumerics : public CNumerics { public: bool implicit, ionization; - unsigned long iPoint,jPoint; su2double *rhos_i, *u_i; su2double *rhos_j, *u_j; su2double a_i, P_i, h_i; @@ -73,8 +70,6 @@ class CNEMONumerics : public CNumerics { LAM_VISC_INDEX, EDDY_VISC_INDEX; CNEMOGas *fluidmodel; - CGeometry *nemo_geometry; - CNEMOEulerVariable *nemo_solution; /*! * \brief Constructor of the class. @@ -527,23 +522,4 @@ class CNEMONumerics : public CNumerics { */ inline void SetGamma(su2double val_Gamma_i, su2double val_Gamma_j) final {Gamma_i = val_Gamma_i; Gamma_j = val_Gamma_j; } - /*! - * \brief Set the geometry pointer. - * \param[in] geometry - geometry pointer. - */ - inline void SetNEMOGeometry(CGeometry *geometry) final {nemo_geometry = geometry; } - - /*! - * \brief Set the Point IDs. - * \param[in] val_point_i - ID of point i. - * \param[in] val_point_j - ID of point j. - */ - inline void SetPoint(unsigned long val_point_i, unsigned long val_point_j) final {iPoint = val_point_i; jPoint = val_point_j;} - - /*! - * \brief Set the solution pointer - * \param[in] solution - solution pointer. - */ - inline void SetNEMOSolution(CNEMOEulerVariable *solution) final {nemo_solution = solution;} - }; diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp index a4ed5e9ebc2..58c12642e63 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp @@ -31,35 +31,29 @@ /*! * \class CUpwAUSMPLUSM_NEMO - * \brief Class for solving an approximate Riemann AUSM+ M, Two-Temperature Model. https://doi.org/10.1016/j.apm.2019.09.005 - * \ingroup ConvDiscr - * \author F. Morgado + * \brief Class for solving an approximate Riemann AUSM+ M, Two-Temperature Model. + * https://doi.org/10.1016/j.apm.2019.09.005 \ingroup ConvDiscr \author F. Morgado */ class CUpwAUSMPLUSM_NEMO : public CNEMONumerics { -private: - su2double *FcL, *FcR, *FcLR; - su2double *dmLP, *dmRM, *dpLP, *dpRM; - su2double *daL, *daR; - su2double ProjVel_i, ProjVel_j; - su2double sq_vel, Proj_ModJac_Tensor_ij; - su2double mL, mR, mLP, mRM, mF, pLP, pRM, pFi, pF, Phi; - su2double CstarL, CstarR, ChatL, ChatR, aF, rhoF, MFsq, Mrefsq, Mp, fa; - su2double Kp, sigma, alpha, beta, param1, mfP, mfM; - su2double rhoCvtr_i, rhoCvtr_j, rhoCvve_i, rhoCvve_j; - - su2double f, f0, g, h_k, P_k, Point_aux; - su2double sqVi, sqVj, gam, Hnorm, gtl_i, gtl_j, atl, aij; - - -public: + private: + su2double* FcL = nullptr; + su2double* FcR = nullptr; + su2double* dmLP = nullptr; + su2double* dmRM = nullptr; + su2double* dpLP = nullptr; + su2double* dpRM = nullptr; + su2double* daL = nullptr; + su2double* daR = nullptr; + public: /*! * \brief Constructor of the class. * \param[in] val_nDim - Number of dimensions of the problem. * \param[in] val_nVar - Number of variables of the problem. * \param[in] config - Definition of the particular problem. */ - CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, CConfig *config); + CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, + unsigned short val_nPrimVarGrad, CConfig* config); /*! * \brief Destructor of the class. diff --git a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp index ffdee77143d..008a5ce06a5 100644 --- a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp @@ -345,4 +345,11 @@ class CNEMOEulerSolver : public CFVMFlowSolverBase CUpwAUSMPLUSM_NEMO::ComputeResidual(const CConfig *config) { +CNumerics::ResidualType<> CUpwAUSMPLUSM_NEMO::ComputeResidual(const CConfig* config) { + // su2double rho_i, rho_j, + // e_ve_i, e_ve_j, mL, mR, mLP, mRM, mF, pLP, pRM, pF, Phi, sq_veli, sq_velj; unsigned short iDim, iVar, iSpecies; - su2double rho_i, rho_j, - e_ve_i, e_ve_j, mL, mR, mLP, mRM, mF, pLP, pRM, pF, Phi, sq_veli, sq_velj; - + /*--- Face area ---*/ Area = 0.0; - for (iDim = 0; iDim < nDim; iDim++) - Area += Normal[iDim]*Normal[iDim]; + for (iDim = 0; iDim < nDim; iDim++) Area += Normal[iDim] * Normal[iDim]; Area = sqrt(Area); /*-- Unit Normal ---*/ - for (iDim = 0; iDim < nDim; iDim++) - UnitNormal[iDim] = Normal[iDim]/Area; + for (iDim = 0; iDim < nDim; iDim++) UnitNormal[iDim] = Normal[iDim] / Area; - Minf = config->GetMach(); + Minf = config->GetMach(); /*--- Extracting primitive variables ---*/ // Primitives: [rho1,...,rhoNs, T, Tve, u, v, w, P, rho, h, a, c] - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++){ + for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { rhos_i[iSpecies] = V_i[RHOS_INDEX+iSpecies]; rhos_j[iSpecies] = V_j[RHOS_INDEX+iSpecies]; } - sq_veli = 0.0; sq_velj = 0.0; + su2double sq_veli = 0.0; + su2double sq_velj = 0.0; for (iDim = 0; iDim < nDim; iDim++) { - u_i[iDim] = V_i[VEL_INDEX+iDim]; - u_j[iDim] = V_j[VEL_INDEX+iDim]; - sq_veli += u_i[iDim]*u_i[iDim]; - sq_velj += u_j[iDim]*u_j[iDim]; + u_i[iDim] = V_i[VEL_INDEX+iDim]; + u_j[iDim] = V_j[VEL_INDEX+iDim]; + sq_veli += u_i[iDim]*u_i[iDim]; + sq_velj += u_j[iDim]*u_j[iDim]; } - P_i = V_i[P_INDEX]; P_j = V_j[P_INDEX]; - h_i = V_i[H_INDEX]; h_j = V_j[H_INDEX]; - a_i = V_i[A_INDEX]; a_j = V_j[A_INDEX]; - rho_i = V_i[RHO_INDEX]; rho_j = V_j[RHO_INDEX]; - - rhoCvtr_i = V_i[RHOCVTR_INDEX]; rhoCvtr_j = V_j[RHOCVTR_INDEX]; - rhoCvve_i = V_i[RHOCVVE_INDEX]; rhoCvve_j = V_j[RHOCVVE_INDEX]; - - e_ve_i = 0.0; e_ve_j = 0.0; + P_i = V_i[P_INDEX]; + P_j = V_j[P_INDEX]; + h_i = V_i[H_INDEX]; + h_j = V_j[H_INDEX]; + a_i = V_i[A_INDEX]; + a_j = V_j[A_INDEX]; + rho_i = V_i[RHO_INDEX]; + rho_j = V_j[RHO_INDEX]; + + rhoCvtr_i = V_i[RHOCVTR_INDEX]; + rhoCvtr_j = V_j[RHOCVTR_INDEX]; + rhoCvve_i = V_i[RHOCVVE_INDEX]; + rhoCvve_j = V_j[RHOCVVE_INDEX]; + + e_ve_i = 0.0; + e_ve_j = 0.0; for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { e_ve_i += (rhos_i[iSpecies]*eve_i[iSpecies])/rho_i; e_ve_j += (rhos_j[iSpecies]*eve_j[iSpecies])/rho_j; } /*--- Projected velocities ---*/ - ProjVel_i = 0.0; ProjVel_j = 0.0; + su2double ProjVel_i = 0.0; + su2double ProjVel_j = 0.0; for (iDim = 0; iDim < nDim; iDim++) { ProjVel_i += u_i[iDim]*UnitNormal[iDim]; ProjVel_j += u_j[iDim]*UnitNormal[iDim]; } - sqVi = 0.0; sqVj = 0.0; + su2double sqVi = 0.0; + su2double sqVj = 0.0; for (iDim = 0; iDim < nDim; iDim++) { - sqVi += (u_i[iDim]-ProjVel_i*UnitNormal[iDim]) * - (u_i[iDim]-ProjVel_i*UnitNormal[iDim]); - sqVj += (u_j[iDim]-ProjVel_j*UnitNormal[iDim]) * - (u_j[iDim]-ProjVel_j*UnitNormal[iDim]); + sqVi += (u_i[iDim]-ProjVel_i*UnitNormal[iDim])*(u_i[iDim]-ProjVel_i*UnitNormal[iDim]); + sqVj += (u_j[iDim]-ProjVel_j*UnitNormal[iDim])*(u_j[iDim]-ProjVel_j*UnitNormal[iDim]); } /*--- Calculate interface numerical gammas and speed of sound ---*/ - //Hnorm = 0.5*(h_i-0.5*sqVi + h_j-0.5*sqVj); --> This formula worked until V. 7.3.0 - Hnorm = 0.5*(h_i + h_j); - gtl_i = Gamma_i; - gtl_j = Gamma_j; - gam = 0.5*(gtl_i+gtl_j); - atl = sqrt(2.0*Hnorm*(gam-1.0)/(gam+1.0)); + // Hnorm = 0.5*(h_i-0.5*sqVi + h_j-0.5*sqVj); --> This formula worked until V. 7.3.0 + su2double Hnorm = 0.5*(h_i+h_j); + su2double gam = 0.5*(Gamma_i+Gamma_j); + su2double atl = sqrt(2.0*Hnorm*(gam-1.0)/(gam+1.0)); // ATL has to account sound speed for reactive gases - /* if (fabs(rho_i-rho_j)/(0.5*(rho_i+rho_j)) < 1E-3) // Why this If condition ? - atl = sqrt(2.0*Hnorm*(gam-1.0)/(gam+1.0)); - else { - //Is the bottom equation correct ?? - atl = sqrt(2.0*Hnorm * (((gtl_i-1.0)/(gtl_i*rho_i) - (gtl_j-1.0)/(gtl_j*rho_j))/ - ((gtl_j+1.0)/(gtl_j*rho_i) - (gtl_i+1.0)/(gtl_i*rho_j)))); + /* if (fabs(rho_i-rho_j)/(0.5*(rho_i+rho_j)) < 1E-3) // Why this If condition ? + atl = sqrt(2.0*Hnorm*(gam-1.0)/(gam+1.0)); + else { + //Is the bottom equation correct ?? + atl = sqrt(2.0*Hnorm * (((Gamma_i-1.0)/(Gamma_i*rho_i) - (Gamma_j-1.0)/(Gamma_j*rho_j))/ + ((Gamma_j+1.0)/(Gamma_j*rho_i) - (Gamma_i+1.0)/(Gamma_i*rho_j)))); - // Or should it be - atl = sqrt(2.0*Hnorm * (((gtl_i-1.0)/(gtl_i)*rho_i - (gtl_j-1.0)/(gtl_j)*rho_j)/ - ((gtl_j+1.0)/(gtl_j)*rho_i - (gtl_i+1.0)/(gtl_i)*rho_j))); - } */ + // Or should it be + atl = sqrt(2.0*Hnorm * (((Gamma_i-1.0)/(Gamma_i)*rho_i - (Gamma_j-1.0)/(Gamma_j)*rho_j)/ + ((Gamma_j+1.0)/(Gamma_j)*rho_i - (Gamma_i+1.0)/(Gamma_i)*rho_j))); + } */ - if (0.5*(ProjVel_i+ProjVel_j) >= 0.0) aij = atl*atl/max(fabs(ProjVel_i),atl); - else aij = atl*atl/max(fabs(ProjVel_j),atl); + su2double aij; + if (0.5*(ProjVel_i+ProjVel_j) >= 0.0) + aij = atl*atl/max(fabs(ProjVel_i), atl); + else + aij = atl*atl/max(fabs(ProjVel_j), atl); - aF=aij; + su2double aF = aij; - mL = ProjVel_i/aF; - mR = ProjVel_j/aF; + su2double mL = ProjVel_i/aF; + su2double mR = ProjVel_j/aF; - rhoF = 0.5*(rho_i+rho_j); - MFsq = 0.5*(sq_veli+sq_velj)/(aF*aF); + su2double rhoF = 0.5*(rho_i+rho_j); + su2double MFsq = 0.5*(sq_veli+sq_velj)/(aF*aF); - param1 = max(MFsq, Minf*Minf); - Mrefsq = (min(1.0, param1)); - fa = 2.0*sqrt(Mrefsq)-Mrefsq; + su2double param1 = max(MFsq, Minf*Minf); + su2double Mrefsq = (min(1.0, param1)); + su2double fa = 2.0*sqrt(Mrefsq)-Mrefsq; - alpha = 3.0/16.0*(-4.0+5.0*fa*fa); - beta = 1.0/8.0; + su2double alpha = 3.0/16.0*(-4.0+5.0*fa*fa); + su2double beta = 1.0/8.0; /*--- Pressure diffusion term ---*/ + su2double h_k = min(Sensor_i, Sensor_j); - h_k=1.0; - - for (auto Point_aux : nemo_geometry->nodes->GetPoints(jPoint)) { - P_k = nemo_solution->GetPrimitive(Point_aux,P_INDEX)/nemo_solution->GetPrimitive(jPoint,P_INDEX); - h_k = min(h_k,P_k); - h_k = min(h_k,1/P_k); - } + su2double g = 0.5*(1+cos(PI_NUMBER*h_k)); + su2double f = 0.5*(1-cos(PI_NUMBER*min(1.0, max(abs(mL), abs(mR))))); - for (auto Point_aux : nemo_geometry->nodes->GetPoints(iPoint)) { - P_k = nemo_solution->GetPrimitive(Point_aux,P_INDEX)/nemo_solution->GetPrimitive(iPoint,P_INDEX); - h_k = min(h_k,P_k); - h_k = min(h_k,1/P_k); - } + su2double Mp = -0.5*(1.0-f)*(P_j-P_i)/(rhoF*aF*aF)*(1.0-g); - g=0.5*(1+cos(PI_NUMBER*h_k)); - f=0.5*(1-cos(PI_NUMBER*min(1.0,max(abs(mL),abs(mR))))); + su2double mLP, mRM, pLP, pRM; - Mp = -0.5*(1-f)*(P_j-P_i)/(rhoF*aF*aF)*(1-g); + if (fabs(mL) <= 1.0) + mLP = 0.25*(mL+1.0)*(mL+1.0)+beta*(mL*mL-1.0)*(mL*mL-1.0); + else + mLP = 0.5*(mL+fabs(mL)); - if (fabs(mL) <= 1.0) mLP = 0.25*(mL+1.0)*(mL+1.0)+beta*(mL*mL-1.0)*(mL*mL-1.0); - else mLP = 0.5*(mL+fabs(mL)); + if (fabs(mR) <= 1.0) + mRM = -0.25*(mR-1.0)*(mR-1.0)-beta*(mR*mR-1.0)*(mR*mR-1.0); + else + mRM = 0.5*(mR-fabs(mR)); - if (fabs(mR) <= 1.0) mRM = -0.25*(mR-1.0)*(mR-1.0)-beta*(mR*mR-1.0)*(mR*mR-1.0); - else mRM = 0.5*(mR-fabs(mR)); + su2double mF = mLP+mRM+Mp; - mF = mLP + mRM + Mp; + if (fabs(mL) <= 1.0) + pLP = (0.25*(mL+1.0)*(mL+1.0)*(2.0-mL)+alpha*mL*(mL*mL-1.0)*(mL*mL-1.0)); + else + pLP = 0.5*(mL+fabs(mL))/mL; - if (fabs(mL) <= 1.0) pLP = (0.25*(mL+1.0)*(mL+1.0)*(2.0-mL)+alpha*mL*(mL*mL-1.0)*(mL*mL-1.0)); - else pLP = 0.5*(mL+fabs(mL))/mL; + if (fabs(mR) <= 1.0) + pRM = (0.25*(mR-1.0)*(mR-1.0)*(2.0+mR)-alpha*mR*(mR*mR-1.0)*(mR*mR-1.0)); + else + pRM = 0.5*(mR-fabs(mR))/mR; - if (fabs(mR) <= 1.0) pRM = (0.25*(mR-1.0)*(mR-1.0)*(2.0+mR)-alpha*mR*(mR*mR-1.0)*(mR*mR-1.0)); - else pRM = 0.5*(mR-fabs(mR))/mR; - - - f0=min(1.0,max(f,Minf*Minf)); + su2double f0 = min(1.0, max(f, Minf*Minf)); // This is an alternative formulation already used by AUSMPLUSUP2 (But multiplied by f0) - pFi = f0*sqrt(0.5*(sq_veli+sq_velj))*(pLP+pRM-1.0)*0.5*(rho_j+rho_i)*aF; - // pFi = f0*(pLP+pRM-1.0)*0.5*(P_i+P_j); + su2double pFi = f0*sqrt(0.5*(sq_veli+sq_velj))*(pLP+pRM-1.0)*0.5*(rho_j+rho_i)*aF; + // pFi = f0*(pLP+pRM-1.0)*0.5*(P_i+P_j); - pF = 0.5*(P_j+P_i)+0.5*(pLP-pRM)*(P_i-P_j)+pFi; + su2double pF = 0.5*(P_j+P_i)+0.5*(pLP-pRM)*(P_i-P_j)+pFi; - Phi = fabs(mF); + su2double Phi = fabs(mF); - mfP=0.5*(mF+Phi); - mfM=0.5*(mF-Phi); + su2double mfP = 0.5*(mF+Phi); + su2double mfM = 0.5*(mF-Phi); /*--- Assign left & right covective fluxes ---*/ for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { @@ -223,21 +221,20 @@ CNumerics::ResidualType<> CUpwAUSMPLUSM_NEMO::ComputeResidual(const CConfig *con FcR[iSpecies] = rhos_j[iSpecies]*aF; } for (iDim = 0; iDim < nDim; iDim++) { - FcL[nSpecies+iDim] = rho_i*aF*u_i[iDim]; - FcR[nSpecies+iDim] = rho_j*aF*u_j[iDim]; + FcL[nSpecies + iDim] = rho_i*aF*u_i[iDim]; + FcR[nSpecies + iDim] = rho_j*aF*u_j[iDim]; } - FcL[nSpecies+nDim] = rho_i*aF*h_i; - FcR[nSpecies+nDim] = rho_j*aF*h_j; - FcL[nSpecies+nDim+1] = rho_i*aF*e_ve_i; - FcR[nSpecies+nDim+1] = rho_j*aF*e_ve_j; + FcL[nSpecies + nDim] = rho_i*aF*h_i; + FcR[nSpecies + nDim] = rho_j*aF*h_j; + FcL[nSpecies + nDim + 1] = rho_i*aF*e_ve_i; + FcR[nSpecies + nDim + 1] = rho_j*aF*e_ve_j; /*--- Compute numerical flux ---*/ - for (iVar = 0; iVar < nVar; iVar++) - Flux[iVar] = (mfP*FcL[iVar]+mfM*FcR[iVar])*Area; + for (iVar = 0; iVar < nVar; iVar++) Flux[iVar] = (mfP*FcL[iVar]+mfM*FcR[iVar])* Area; for (iDim = 0; iDim < nDim; iDim++) - Flux[nSpecies+iDim] += (pF*UnitNormal[iDim]-g*gam*0.5*(P_i+P_j)/aF*pLP*pRM*(u_j[iDim]-ProjVel_j*UnitNormal[iDim]-u_i[iDim]+ProjVel_i*UnitNormal[iDim]))*Area; + Flux[nSpecies + iDim] += (pF*UnitNormal[iDim]-g*gam*0.5*(P_i+P_j)/aF*pLP*pRM* + (u_j[iDim]-ProjVel_j*UnitNormal[iDim]-u_i[iDim]+ProjVel_i*UnitNormal[iDim]))*Area; return ResidualType<>(Flux, nullptr, nullptr); } - diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 389b95e798a..820f73e4428 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -278,6 +278,10 @@ void CNEMOEulerSolver::CommonPreprocessing(CGeometry *geometry, CSolver **solver if (center_jst || center_jst_ke) SetCentered_Dissipation_Sensor(geometry, config); } + /*--- Set Pressure diffusion sensor ---*/ + if (config->GetKind_Upwind_Flow() == AUSMPLUSM) + SetPressureDiffusionSensor(geometry, config); + /*--- Initialize the Jacobian matrix and residual, not needed for the reducer strategy * as we set blocks (including diagonal ones) and completely overwrite. ---*/ @@ -481,10 +485,6 @@ void CNEMOEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_con /*--- Pick one numerics object per thread. ---*/ CNumerics* numerics = numerics_container[CONV_TERM]; - /*--- Set solution and geometry pointers. ---*/ - numerics->SetNEMOGeometry(geometry); - numerics->SetNEMOSolution(nodes); - /*--- Static arrays for MUSCL reconstructed variables ---*/ su2double Primitive_i[MAXNVAR] = {0.0}, Primitive_j[MAXNVAR] = {0.0}; su2double Conserved_i[MAXNVAR] = {0.0}, Conserved_j[MAXNVAR] = {0.0}; @@ -615,7 +615,8 @@ void CNEMOEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_con numerics->SetGamma (chk_err_i ? nodes->GetGamma (iPoint) : Gamma_i, chk_err_j ? nodes->GetGamma (jPoint) : Gamma_j); } - numerics->SetPoint(iPoint,jPoint); + if (config->GetKind_Upwind_Flow() == AUSMPLUSM) + numerics->SetSensor (nodes->GetSensor(iPoint), nodes->GetSensor(jPoint)); /*--- Compute the residual ---*/ auto residual = numerics->ComputeResidual(config); @@ -1529,10 +1530,6 @@ void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contai /*--- Allocate arrays ---*/ su2double *Normal = new su2double[nDim]; - /*--- Set solution and geometry pointers. ---*/ - conv_numerics->SetNEMOGeometry(geometry); - conv_numerics->SetNEMOSolution(nodes); - /*--- Loop over all the vertices on this boundary (val_marker) ---*/ for (iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); @@ -1568,7 +1565,8 @@ void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contai conv_numerics->SetEve (nodes->GetEve(iPoint), node_infty->GetEve(0)); conv_numerics->SetCvve (nodes->GetCvve(iPoint), node_infty->GetCvve(0)); conv_numerics->SetGamma (nodes->GetGamma(iPoint), node_infty->GetGamma(0)); - conv_numerics->SetPoint(iPoint,iPoint); + if(config->GetKind_Upwind_Flow() == AUSMPLUSM) + conv_numerics->SetSensor (nodes->GetSensor(iPoint), nodes->GetSensor(iPoint)); /*--- Compute the convective residual (and Jacobian) ---*/ // Note: This uses the specified boundary num. method specified in driver_structure.cpp @@ -1945,10 +1943,6 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container unsigned short RHOCVTR_INDEX = nodes->GetRhoCvtrIndex(); unsigned short RHOCVVE_INDEX = nodes->GetRhoCvveIndex(); - /*--- Set solution and geometry pointers. ---*/ - conv_numerics->SetNEMOGeometry(geometry); - conv_numerics->SetNEMOSolution(nodes); - /*--- Loop over all the vertices on this boundary marker ---*/ for (iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); @@ -2099,7 +2093,8 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container conv_numerics->SetEve (nodes->GetEve(iPoint), node_infty->GetEve(0)); conv_numerics->SetCvve (nodes->GetCvve(iPoint), node_infty->GetCvve(0)); conv_numerics->SetGamma (nodes->GetGamma(iPoint), node_infty->GetGamma(0)); - conv_numerics->SetPoint(iPoint,iPoint); + if(config->GetKind_Upwind_Flow() == AUSMPLUSM) + conv_numerics->SetSensor (nodes->GetSensor(iPoint), nodes->GetSensor(iPoint)); /*--- Compute the residual using an upwind scheme ---*/ auto residual = conv_numerics->ComputeResidual(config); @@ -2446,3 +2441,28 @@ void CNEMOEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solve delete [] Normal; } + +void CNEMOEulerSolver::SetPressureDiffusionSensor(CGeometry *geometry, CConfig *config) { + + unsigned long iPoint; + unsigned short P_INDEX = nodes->GetPIndex(); + su2double Sensor, P_k; + + for (iPoint = 0; iPoint < nPoint; iPoint++) { + + Sensor = 1.0; + + for (auto jPoint : geometry->nodes->GetPoints(iPoint)) { + P_k = nodes->GetPrimitive(jPoint, P_INDEX) / nodes->GetPrimitive(iPoint, P_INDEX); + Sensor = min(Sensor, min(P_k, 1.0/P_k)); + } + + nodes->SetSensor(iPoint,Sensor); + } + + /*--- MPI parallelization ---*/ + + InitiateComms(geometry, config, SENSOR); + CompleteComms(geometry, config, SENSOR); + +} From 787c7ea9939ea4b56a7a71226fe566a435b3c85c Mon Sep 17 00:00:00 2001 From: fmpmorgado Date: Mon, 26 Sep 2022 21:31:02 +0100 Subject: [PATCH 005/179] Changed TNE2 comment to NEMO --- Common/include/option_structure.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index edba681e5bf..50498d4cbdc 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -840,7 +840,7 @@ enum ENUM_UPWIND { LAX_FRIEDRICH = 15, /*!< \brief Lax-Friedrich numerical method. */ AUSMPLUSUP = 16, /*!< \brief AUSM+ -up numerical method (All Speed) */ AUSMPLUSUP2 = 17, /*!< \brief AUSM+ -up2 numerical method (All Speed) */ - AUSMPWPLUS = 18, /*!< \brief AUSMplus numerical method. (MAYBE for TNE2 ONLY)*/ + AUSMPWPLUS = 18, /*!< \brief AUSMplus numerical method. (NEMO only)*/ AUSMPLUSM = 19 /*!< \brief AUSM+M numerical method. (NEMO only)*/ }; static const MapType Upwind_Map = { From 67ded69e86f8db74d69719d2586c9c8d40e32c47 Mon Sep 17 00:00:00 2001 From: fmpmorgado Date: Tue, 27 Sep 2022 09:58:55 +0100 Subject: [PATCH 006/179] Remove unused variables --- SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp index e20d7910ba0..b2f9e647b3a 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp @@ -37,8 +37,6 @@ CUpwAUSMPLUSM_NEMO::CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short v dmRM = new su2double[nVar]; dpLP = new su2double[nVar]; dpRM = new su2double[nVar]; - daL = new su2double[nVar]; - daR = new su2double[nVar]; rhos_i = new su2double[nSpecies]; rhos_j = new su2double[nSpecies]; u_i = new su2double[nDim]; From 0f7a46334881c4d2576ec6a8ea5ca93b920e6f56 Mon Sep 17 00:00:00 2001 From: fmpmorgado Date: Tue, 27 Sep 2022 12:47:09 +0100 Subject: [PATCH 007/179] Minor changes --- .../src/numerics/NEMO/convection/ausmplusm.cpp | 16 ++++++---------- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 10 ++++------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp index b2f9e647b3a..29b3b79ecbe 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp @@ -39,8 +39,6 @@ CUpwAUSMPLUSM_NEMO::CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short v dpRM = new su2double[nVar]; rhos_i = new su2double[nSpecies]; rhos_j = new su2double[nSpecies]; - u_i = new su2double[nDim]; - u_j = new su2double[nDim]; Flux = new su2double[nVar]; } @@ -53,8 +51,6 @@ CUpwAUSMPLUSM_NEMO::~CUpwAUSMPLUSM_NEMO(void) { delete[] dpRM; delete[] rhos_i; delete[] rhos_j; - delete[] u_i; - delete[] u_j; delete[] Flux; } @@ -65,9 +61,7 @@ CNumerics::ResidualType<> CUpwAUSMPLUSM_NEMO::ComputeResidual(const CConfig* con unsigned short iDim, iVar, iSpecies; /*--- Face area ---*/ - Area = 0.0; - for (iDim = 0; iDim < nDim; iDim++) Area += Normal[iDim] * Normal[iDim]; - Area = sqrt(Area); + const su2double Area = GeometryToolbox::Norm(nDim, Normal); /*-- Unit Normal ---*/ for (iDim = 0; iDim < nDim; iDim++) UnitNormal[iDim] = Normal[iDim] / Area; @@ -83,6 +77,8 @@ CNumerics::ResidualType<> CUpwAUSMPLUSM_NEMO::ComputeResidual(const CConfig* con su2double sq_veli = 0.0; su2double sq_velj = 0.0; + su2double u_i[MAXNDIM] = {0.0}; + su2double u_j[MAXNDIM] = {0.0}; for (iDim = 0; iDim < nDim; iDim++) { u_i[iDim] = V_i[VEL_INDEX+iDim]; u_j[iDim] = V_j[VEL_INDEX+iDim]; @@ -121,9 +117,9 @@ CNumerics::ResidualType<> CUpwAUSMPLUSM_NEMO::ComputeResidual(const CConfig* con su2double sqVi = 0.0; su2double sqVj = 0.0; - for (iDim = 0; iDim < nDim; iDim++) { - sqVi += (u_i[iDim]-ProjVel_i*UnitNormal[iDim])*(u_i[iDim]-ProjVel_i*UnitNormal[iDim]); - sqVj += (u_j[iDim]-ProjVel_j*UnitNormal[iDim])*(u_j[iDim]-ProjVel_j*UnitNormal[iDim]); + for (iDim = 0; iDim < nDim; iDim++) { + sqVi += pow(u_i[iDim] - ProjVel_i * UnitNormal[iDim] , 2); + sqVj += pow(u_j[iDim] - ProjVel_j * UnitNormal[iDim] , 2); } /*--- Calculate interface numerical gammas and speed of sound ---*/ diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 820f73e4428..79c0670333a 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2444,16 +2444,14 @@ void CNEMOEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solve void CNEMOEulerSolver::SetPressureDiffusionSensor(CGeometry *geometry, CConfig *config) { - unsigned long iPoint; - unsigned short P_INDEX = nodes->GetPIndex(); - su2double Sensor, P_k; + const auto P_INDEX = nodes->GetPIndex(); - for (iPoint = 0; iPoint < nPoint; iPoint++) { + for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { - Sensor = 1.0; + su2double Sensor = 1.0; for (auto jPoint : geometry->nodes->GetPoints(iPoint)) { - P_k = nodes->GetPrimitive(jPoint, P_INDEX) / nodes->GetPrimitive(iPoint, P_INDEX); + const su2double P_k = nodes->GetPrimitive(jPoint, P_INDEX) / nodes->GetPrimitive(iPoint, P_INDEX); Sensor = min(Sensor, min(P_k, 1.0/P_k)); } From be9962e638ec60fac5b7378fcb2ef0e33467845d Mon Sep 17 00:00:00 2001 From: fmpmorgado Date: Tue, 27 Sep 2022 22:13:47 +0100 Subject: [PATCH 008/179] More cleaning --- SU2_CFD/include/numerics/CNumerics.hpp | 1 - SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp | 4 +++- SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp | 2 -- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index ff71a7dbe2b..3b9e9c78d7c 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -1598,7 +1598,6 @@ class CNumerics { * \param[in] SolverSPvals - Struct holding the values. */ virtual void SetStreamwisePeriodicValues(const StreamwisePeriodicValues SolverSPvals) { } - }; /*! diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp index 58c12642e63..04246db70e7 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp @@ -48,8 +48,10 @@ class CUpwAUSMPLUSM_NEMO : public CNEMONumerics { public: /*! * \brief Constructor of the class. - * \param[in] val_nDim - Number of dimensions of the problem. + * \param[in] val_nDim - Number of dimension of the problem. * \param[in] val_nVar - Number of variables of the problem. + * \param[in] val_nPrimVar - Number of primitive variables of the problem. + * \param[in] val_nPrimVarGrad - Number of primitive gradient variables of the problem. * \param[in] config - Definition of the particular problem. */ CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp index 29b3b79ecbe..bc05c86a1cb 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp @@ -55,8 +55,6 @@ CUpwAUSMPLUSM_NEMO::~CUpwAUSMPLUSM_NEMO(void) { } CNumerics::ResidualType<> CUpwAUSMPLUSM_NEMO::ComputeResidual(const CConfig* config) { - // su2double rho_i, rho_j, - // e_ve_i, e_ve_j, mL, mR, mLP, mRM, mF, pLP, pRM, pF, Phi, sq_veli, sq_velj; unsigned short iDim, iVar, iSpecies; From 62a1a8f5f3fe8ad26abaf71bcb3974e0e680f6d0 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 4 Dec 2022 21:56:36 -0800 Subject: [PATCH 009/179] make CHeatSolver child of CScalarSolver --- SU2_CFD/include/solvers/CHeatSolver.hpp | 49 +--- SU2_CFD/include/solvers/CRadP1Solver.hpp | 2 +- SU2_CFD/include/solvers/CScalarSolver.hpp | 15 +- SU2_CFD/include/solvers/CScalarSolver.inl | 25 +- SU2_CFD/include/variables/CHeatVariable.hpp | 31 +-- SU2_CFD/src/solvers/CHeatSolver.cpp | 240 ++++---------------- SU2_CFD/src/variables/CHeatVariable.cpp | 35 +-- 7 files changed, 87 insertions(+), 310 deletions(-) diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index 92d2421850f..209991d2924 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -27,7 +27,7 @@ #pragma once -#include "CSolver.hpp" +#include "CScalarSolver.hpp" #include "../variables/CHeatVariable.hpp" /*! @@ -36,7 +36,7 @@ * \author O. Burghardt * \version 7.4.0 "Blackbird" */ -class CHeatSolver final : public CSolver { +class CHeatSolver final : public CScalarSolver { protected: static constexpr size_t MAXNDIM = 3; /*!< \brief Max number of space dimensions, used in some static arrays. */ static constexpr size_t MAXNVAR = 1; /*!< \brief Max number of variables, for static arrays. */ @@ -44,7 +44,7 @@ class CHeatSolver final : public CSolver { const bool flow; /*!< \brief Use solver as a scalar transport equation of Temperature for the inc solver. */ const bool heat_equation; /*!< \brief use solver for heat conduction in solids. */ - unsigned short nVarFlow, nMarker; + unsigned short nVarFlow; vector > HeatFlux; vector HeatFlux_per_Marker; su2double Total_HeatFlux; @@ -52,20 +52,13 @@ class CHeatSolver final : public CSolver { vector AverageT_per_Marker; su2double Total_AverageT; su2double AllBound_AverageT; - vector Primitive_Flow_i; + vector Primitive_Flow_i; vector Primitive_Flow_j; vector Surface_Areas; su2double Total_HeatFlux_Areas; su2double Total_HeatFlux_Areas_Monitor; vector ConjugateVar; - CHeatVariable* nodes = nullptr; /*!< \brief The highest level in the variable hierarchy this solver can safely use. */ - - /*! - * \brief Return nodes to allow CSolver::base_nodes to be set. - */ - inline CVariable* GetBaseClassPointerToNodes() override { return nodes; } - public: /*! @@ -73,11 +66,6 @@ class CHeatSolver final : public CSolver { */ CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh); - /*! - * \brief Destructor of the class. - */ - ~CHeatSolver(void) override; - /*! * \brief Restart residual and compute gradients. * \param[in] geometry - Geometrical definition of the problem. @@ -247,15 +235,6 @@ class CHeatSolver final : public CSolver { CConfig *config, unsigned short val_marker) override; - /*! - * \brief Impose a periodic boundary condition by summing contributions from the complete control volume. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] numerics - Description of the numerical method. - * \param[in] config - Definition of the particular problem. - */ - void BC_Periodic(CGeometry* geometry, CSolver** solver_container, CNumerics* numerics, CConfig* config) final; - /*! * \brief Set the conjugate heat variables. * \param[in] val_marker - marker index @@ -330,26 +309,6 @@ class CHeatSolver final : public CSolver { } } - /*! - * \brief Update the solution using an implicit solver. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] config - Definition of the particular problem. - */ - void ImplicitEuler_Iteration(CGeometry *geometry, - CSolver **solver_container, - CConfig *config) override; - - /*! - * \brief Update the solution using an explicit solver. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] config - Definition of the particular problem. - */ - void ExplicitEuler_Iteration(CGeometry *geometry, - CSolver **solver_container, - CConfig *config) override; - /*! * \brief A virtual member. * \param[in] geometry - Geometrical definition of the problem. diff --git a/SU2_CFD/include/solvers/CRadP1Solver.hpp b/SU2_CFD/include/solvers/CRadP1Solver.hpp index 3ff893dbcb1..073598916f2 100644 --- a/SU2_CFD/include/solvers/CRadP1Solver.hpp +++ b/SU2_CFD/include/solvers/CRadP1Solver.hpp @@ -241,7 +241,7 @@ class CRadP1Solver final: public CRadSolver { * \param[in] Iteration - Index of the current iteration. */ void SetTime_Step(CGeometry *geometry, CSolver **solver_container, CConfig *config, - unsigned short iMesh, unsigned long Iteration) override ; + unsigned short iMesh, unsigned long Iteration) override; /*! * \brief Set the freestream temperature. diff --git a/SU2_CFD/include/solvers/CScalarSolver.hpp b/SU2_CFD/include/solvers/CScalarSolver.hpp index 5301fef5ad3..1503250b388 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.hpp +++ b/SU2_CFD/include/solvers/CScalarSolver.hpp @@ -436,6 +436,17 @@ class CScalarSolver : public CSolver { END_SU2_OMP_FOR } + /*! + * \brief This base implementation simply copies the time step of the flow solver. + * \param[in] geometry - Geometrical definition of the problem. + * \param[in] solver_container - Container vector with all the solutions. + * \param[in] config - Definition of the particular problem. + * \param[in] iMesh - Index of the mesh in multigrid computations. + * \param[in] Iteration - Index of the current iteration. + */ + void SetTime_Step(CGeometry *geometry, CSolver **solver_container, CConfig *config, + unsigned short iMesh, unsigned long Iteration) override; + /*! * \brief Prepare an implicit iteration. * \param[in] geometry - Geometrical definition of the problem. @@ -466,7 +477,7 @@ class CScalarSolver : public CSolver { * \param[in] solver_container - Container vector with all the solutions. * \param[in] config - Definition of the particular problem. */ - void ImplicitEuler_Iteration(CGeometry* geometry, CSolver** solver_container, CConfig* config) override; + void ImplicitEuler_Iteration(CGeometry* geometry, CSolver** solver_container, CConfig* config) final; /*! * \brief Set the total residual adding the term that comes from the Dual Time-Stepping Strategy. @@ -478,7 +489,7 @@ class CScalarSolver : public CSolver { * \param[in] RunTime_EqSystem - System of equations which is going to be solved. */ void SetResidual_DualTime(CGeometry* geometry, CSolver** solver_container, CConfig* config, unsigned short iRKStep, - unsigned short iMesh, unsigned short RunTime_EqSystem) final; + unsigned short iMesh, unsigned short RunTime_EqSystem) override; /*! * \brief Load a solution from a restart file. diff --git a/SU2_CFD/include/solvers/CScalarSolver.inl b/SU2_CFD/include/solvers/CScalarSolver.inl index 099e2268069..434535bec13 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.inl +++ b/SU2_CFD/include/solvers/CScalarSolver.inl @@ -424,10 +424,21 @@ void CScalarSolver::BC_Far_Field(CGeometry* geometry, CSolver** so } template -void CScalarSolver::PrepareImplicitIteration(CGeometry* geometry, CSolver** solver_container, - CConfig* config) { +void CScalarSolver::SetTime_Step(CGeometry *geometry, CSolver **solver_container, CConfig *config, + unsigned short iMesh, unsigned long Iteration) { const auto flowNodes = solver_container[FLOW_SOL]->GetNodes(); + SU2_OMP_FOR_STAT(omp_chunk_size) + for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { + su2double dt = nodes->GetLocalCFL(iPoint) / flowNodes->GetLocalCFL(iPoint) * flowNodes->GetDelta_Time(iPoint); + nodes->SetDelta_Time(iPoint, dt); + } + END_SU2_OMP_FOR +} + +template +void CScalarSolver::PrepareImplicitIteration(CGeometry* geometry, CSolver** solver_container, + CConfig* config) { /*--- Set shared residual variables to 0 and declare * local ones for current thread to work on. ---*/ @@ -440,11 +451,8 @@ void CScalarSolver::PrepareImplicitIteration(CGeometry* geometry, SU2_OMP_FOR_(schedule(static, omp_chunk_size) SU2_NOWAIT) for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { - /// TODO: This could be the SetTime_Step of this solver. - su2double dt = nodes->GetLocalCFL(iPoint) / flowNodes->GetLocalCFL(iPoint) * flowNodes->GetDelta_Time(iPoint); - nodes->SetDelta_Time(iPoint, dt); - /*--- Modify matrix diagonal to improve diagonal dominance. ---*/ + const su2double dt = nodes->GetDelta_Time(iPoint); if (dt != 0.0) { su2double Vol = geometry->nodes->GetVolume(iPoint) + geometry->nodes->GetPeriodicVolume(iPoint); @@ -547,16 +555,13 @@ void CScalarSolver::ImplicitEuler_Iteration(CGeometry* geometry, C template void CScalarSolver::ExplicitEuler_Iteration(CGeometry* geometry, CSolver** solver_container, CConfig* config) { - const auto flowNodes = solver_container[FLOW_SOL]->GetNodes(); - /*--- Local residual variables for current thread ---*/ su2double resMax[MAXNVAR] = {0.0}, resRMS[MAXNVAR] = {0.0}; unsigned long idxMax[MAXNVAR] = {0}; SU2_OMP_FOR_STAT(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { - const su2double dt = nodes->GetLocalCFL(iPoint) / flowNodes->GetLocalCFL(iPoint) * flowNodes->GetDelta_Time(iPoint); - nodes->SetDelta_Time(iPoint, dt); + const su2double dt = nodes->GetDelta_Time(iPoint); const su2double Vol = geometry->nodes->GetVolume(iPoint) + geometry->nodes->GetPeriodicVolume(iPoint); for (auto iVar = 0u; iVar < nVar; iVar++) { diff --git a/SU2_CFD/include/variables/CHeatVariable.hpp b/SU2_CFD/include/variables/CHeatVariable.hpp index b486f8238e0..faf36fcd48e 100644 --- a/SU2_CFD/include/variables/CHeatVariable.hpp +++ b/SU2_CFD/include/variables/CHeatVariable.hpp @@ -27,7 +27,7 @@ #pragma once -#include "CVariable.hpp" +#include "CScalarVariable.hpp" /*! * \class CHeatVariable @@ -35,12 +35,10 @@ * \author O. Burghardt * \version 7.4.0 "Blackbird" */ -class CHeatVariable final : public CVariable { -protected: - CVectorOfMatrix& Gradient_Reconstruction; /*!< \brief Reference to the gradient of the primitive variables for MUSCL reconstruction for the convective term */ - CVectorOfMatrix Gradient_Aux; /*!< \brief Auxiliary structure to store a second gradient for reconstruction, if required. */ - +class CHeatVariable final : public CScalarVariable { public: + static constexpr size_t MAXNVAR = 1; /*!< \brief Max number of variables, for static arrays. */ + /*! * \brief Constructor of the class. * \param[in] heat - Values of the Heat solution (initialization value). @@ -51,29 +49,10 @@ class CHeatVariable final : public CVariable { */ CHeatVariable(su2double heat, unsigned long npoint, unsigned long ndim, unsigned long nvar, CConfig *config); - /*! - * \brief Destructor of the class. - */ - ~CHeatVariable() override = default; - - /*! - * \brief Get the array of the reconstruction variables gradient at a node. - * \param[in] iPoint - Index of the current node. - * \return Array of the reconstruction variables gradient at a node. - */ - inline CMatrixView GetGradient_Reconstruction(unsigned long iPoint) final { return Gradient_Reconstruction[iPoint]; } - - /*! - * \brief Get the reconstruction gradient for primitive variable at all points. - * \return Reference to variable reconstruction gradient. - */ - inline CVectorOfMatrix& GetGradient_Reconstruction() final { return Gradient_Reconstruction; } - inline const CVectorOfMatrix& GetGradient_Reconstruction() const final { return Gradient_Reconstruction; } - /*! * \brief Get the temperature of the point. * \return Value of the temperature of the point. */ - inline su2double GetTemperature(unsigned long iPoint) const final { return Solution(iPoint,0); } + inline su2double GetTemperature(unsigned long iPoint) const final { return Solution(iPoint, 0); } }; diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 76c44a21da2..7231f4f8418 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -27,12 +27,14 @@ #include "../../include/solvers/CHeatSolver.hpp" #include "../../../Common/include/toolboxes/geometry_toolbox.hpp" +#include "../../include/solvers/CScalarSolver.inl" -CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CSolver(), - flow(config->GetFluidProblem()), heat_equation(config->GetHeatProblem()) { +/*--- Explicit instantiation of the parent class of CTurbSolver. ---*/ +template class CScalarSolver; - /* A grid is defined as dynamic if there's rigid grid movement or grid deformation AND the problem is time domain */ - dynamic_grid = config->GetDynamic_Grid(); +CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) + : CScalarSolver(geometry, config, false), + flow(config->GetFluidProblem()), heat_equation(config->GetHeatProblem()) { /*--- Dimension of the problem --> temperature is the only conservative variable ---*/ @@ -47,13 +49,6 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM /*--- Define geometry constants in the solver structure ---*/ nDim = geometry->GetnDim(); - nMarker = config->GetnMarker_All(); - - /*--- Store the number of vertices on each marker for deallocation later ---*/ - - nVertex.resize(nMarker); - for (auto iMarker = 0u; iMarker < nMarker; iMarker++) - nVertex[iMarker] = geometry->nVertex[iMarker]; /*--- Define some auxiliary vector related with the residual ---*/ @@ -181,11 +176,6 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM SolverName = "HEAT"; } -CHeatSolver::~CHeatSolver(void) { - - delete nodes; -} - void CHeatSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) { SU2_OMP_MASTER config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem); @@ -874,20 +864,6 @@ void CHeatSolver::BC_ConjugateHeat_Interface(CGeometry *geometry, CSolver **solv } } -void CHeatSolver::BC_Periodic(CGeometry* geometry, CSolver** solver_container, CNumerics* numerics, - CConfig* config) { - /*--- Complete residuals for periodic boundary conditions. We loop over - the periodic BCs in matching pairs so that, in the event that there are - adjacent periodic markers, the repeated points will have their residuals - accumulated corectly during the communications. For implicit calculations - the Jacobians and linear system are also correctly adjusted here. ---*/ - - for (unsigned short iPeriodic = 1; iPeriodic <= config->GetnMarker_Periodic() / 2; iPeriodic++) { - InitiatePeriodicComms(geometry, config, iPeriodic, PERIODIC_RESIDUAL); - CompletePeriodicComms(geometry, config, iPeriodic, PERIODIC_RESIDUAL); - } -} - void CHeatSolver::Heat_Fluxes(CGeometry *geometry, CSolver **solver_container, CConfig *config) { unsigned long iPointNormal; @@ -1215,130 +1191,6 @@ void CHeatSolver::SetTime_Step(CGeometry *geometry, CSolver **solver_container, } } -void CHeatSolver::ExplicitEuler_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config) { - - su2double *local_Residual, *local_Res_TruncError, Vol, Delta, Res; - - SetResToZero(); - - /*--- Update the solution ---*/ - - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - Vol = geometry->nodes->GetVolume(iPoint); - Delta = nodes->GetDelta_Time(iPoint) / Vol; - - local_Res_TruncError = nodes->GetResTruncError(iPoint); - local_Residual = LinSysRes.GetBlock(iPoint); - - if (!config->GetContinuous_Adjoint()) { - for (auto iVar = 0u; iVar < nVar; iVar++) { - Res = local_Residual[iVar] + local_Res_TruncError[iVar]; - nodes->AddSolution(iPoint,iVar, -Res*Delta); - Residual_RMS[iVar] += Res*Res; - AddRes_Max(iVar, fabs(Res), geometry->nodes->GetGlobalIndex(iPoint), geometry->nodes->GetCoord(iPoint)); - } - } - - } - - /*--- MPI solution ---*/ - - InitiateComms(geometry, config, SOLUTION); - CompleteComms(geometry, config, SOLUTION); - - /*--- Compute the root mean square residual ---*/ - - SetResidual_RMS(geometry, config); - -} - - -void CHeatSolver::ImplicitEuler_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config) { - - /*--- Set maximum residual to zero ---*/ - - SetResToZero(); - - /*--- Build implicit system ---*/ - - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - - /*--- Read the residual ---*/ - - su2double* local_Res_TruncError = nodes->GetResTruncError(iPoint); - - /*--- Modify matrix diagonal to assure diagonal dominance ---*/ - - const su2double dt = nodes->GetDelta_Time(iPoint); - if (dt != 0.0) { - /*--- For nodes on periodic boundaries, add the respective partner volume. ---*/ - // Identical for flow and heat - const su2double Vol = geometry->nodes->GetVolume(iPoint) + geometry->nodes->GetPeriodicVolume(iPoint); - Jacobian.AddVal2Diag(iPoint, Vol / dt); - - } else { - Jacobian.SetVal2Diag(iPoint, 1.0); - for (auto iVar = 0u; iVar < nVar; iVar++) { - const auto total_index = iPoint*nVar + iVar; - LinSysRes[total_index] = 0.0; - local_Res_TruncError[iVar] = 0.0; - } - } - - /*--- Right hand side of the system (-Residual) and initial guess (x = 0) ---*/ - - for (auto iVar = 0; iVar < nVar; iVar++) { - const auto total_index = iPoint*nVar+iVar; - LinSysRes[total_index] = - (LinSysRes[total_index] + local_Res_TruncError[iVar]); - LinSysSol[total_index] = 0.0; - Residual_RMS[iVar] += LinSysRes[total_index]*LinSysRes[total_index]; - AddRes_Max(iVar, fabs(LinSysRes[total_index]), geometry->nodes->GetGlobalIndex(iPoint), geometry->nodes->GetCoord(iPoint)); - } - } - - /*--- Initialize residual and solution at the ghost points ---*/ - - for (auto iPoint = nPointDomain; iPoint < nPoint; iPoint++) { - for (auto iVar = 0u; iVar < nVar; iVar++) { - const auto total_index = iPoint*nVar + iVar; - LinSysRes[total_index] = 0.0; - LinSysSol[total_index] = 0.0; - } - } - - /*--- Solve or smooth the linear system ---*/ - - auto iter = System.Solve(Jacobian, LinSysRes, LinSysSol, geometry, config); - - /*--- Store the the number of iterations of the linear solver ---*/ - SetIterLinSolver(iter); - - /*--- Store the value of the residual. ---*/ - SetResLinSolver(System.GetResidual()); - - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - for (auto iVar = 0u; iVar < nVar; iVar++) { - nodes->AddSolution(iPoint,iVar, LinSysSol[iPoint*nVar+iVar]); - } - } - - /*--- Synchronize the solution between master and passive periodic nodes after the linear solve. ---*/ - for (unsigned short iPeriodic = 1; iPeriodic <= config->GetnMarker_Periodic() / 2; iPeriodic++) { - InitiatePeriodicComms(geometry, config, iPeriodic, PERIODIC_IMPLICIT); - CompletePeriodicComms(geometry, config, iPeriodic, PERIODIC_IMPLICIT); - } - - /*--- MPI solution ---*/ - - InitiateComms(geometry, config, SOLUTION); - CompleteComms(geometry, config, SOLUTION); - - /*--- Compute the root mean square residual ---*/ - - SetResidual_RMS(geometry, config); - -} - void CHeatSolver::SetInitialCondition(CGeometry **geometry, CSolver ***solver_container, CConfig *config, unsigned long TimeIter) { const bool restart = (config->GetRestart() || config->GetRestart_Flow()); @@ -1388,67 +1240,57 @@ void CHeatSolver::SetInitialCondition(CGeometry **geometry, CSolver ***solver_co void CHeatSolver::SetResidual_DualTime(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep, unsigned short iMesh, unsigned short RunTime_EqSystem) { - - /*--- Local variables ---*/ - - const su2double *U_time_n, *U_time_nP1, *U_time_nM1; - su2double Volume_nP1; - + if (flow) { + CScalarSolver::SetResidual_DualTime(geometry, solver_container, config, iRKStep, iMesh, RunTime_EqSystem); + return; + } const bool first_order = (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST); const bool second_order = (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND); - const bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); /*--- Store the physical time step ---*/ const su2double TimeStep = config->GetDelta_UnstTimeND(); - /*--- Compute the dual time-stepping source term for static meshes ---*/ + /*--- Compute the dual time-stepping source term ---*/ + /*--- Loop over all nodes (excluding halos) ---*/ - if (!dynamic_grid) { + AD::StartNoSharedReading(); - /*--- Loop over all nodes (excluding halos) ---*/ - - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - - /*--- Retrieve the solution at time levels n-1, n, and n+1. Note that - we are currently iterating on U^n+1 and that U^n & U^n-1 are fixed, - previous solutions that are stored in memory. ---*/ - - U_time_nM1 = nodes->GetSolution_time_n1(iPoint); - U_time_n = nodes->GetSolution_time_n(iPoint); - U_time_nP1 = nodes->GetSolution(iPoint); + SU2_OMP_FOR_STAT(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - /*--- CV volume at time n+1. As we are on a static mesh, the volume - of the CV will remained fixed for all time steps. ---*/ + /*--- Retrieve the solution at time levels n-1, n, and n+1. Note that + we are currently iterating on U^n+1 and that U^n & U^n-1 are fixed, + previous solutions that are stored in memory. ---*/ - Volume_nP1 = geometry->nodes->GetVolume(iPoint); + const auto* U_time_nM1 = nodes->GetSolution_time_n1(iPoint); + const auto* U_time_n = nodes->GetSolution_time_n(iPoint); + const auto* U_time_nP1 = nodes->GetSolution(iPoint); - /*--- Compute the dual time-stepping source term based on the chosen - time discretization scheme (1st- or 2nd-order).---*/ + /*--- CV volume at time n+1. As we are on a static mesh, the volume + of the CV will remained fixed for all time steps. ---*/ - for (auto iVar = 0u; iVar < nVar; iVar++) { - if (first_order) - Residual[iVar] = (U_time_nP1[iVar] - U_time_n[iVar])*Volume_nP1 / TimeStep; - if (second_order) - Residual[iVar] = ( 3.0*U_time_nP1[iVar] - 4.0*U_time_n[iVar] - +1.0*U_time_nM1[iVar])*Volume_nP1 / (2.0*TimeStep); - } + const su2double Volume_nP1 = geometry->nodes->GetVolume(iPoint); - /*--- Store the residual and compute the Jacobian contribution due - to the dual time source term. ---*/ + /*--- Compute the dual time-stepping source term based on the chosen + time discretization scheme (1st- or 2nd-order).---*/ - LinSysRes.AddBlock(iPoint, Residual); - if (implicit) { - for (auto iVar = 0u; iVar < nVar; iVar++) { - for (auto jVar = 0u; jVar < nVar; jVar++) Jacobian_i[iVar][jVar] = 0.0; - if (first_order) - Jacobian_i[iVar][iVar] = Volume_nP1 / TimeStep; - if (second_order) - Jacobian_i[iVar][iVar] = (Volume_nP1*3.0)/(2.0*TimeStep); - } + for (auto iVar = 0u; iVar < nVar; iVar++) { + if (first_order) + LinSysRes(iPoint, iVar) += (U_time_nP1[iVar] - U_time_n[iVar]) * Volume_nP1 / TimeStep; + if (second_order) + LinSysRes(iPoint, iVar) += (3.0 * U_time_nP1[iVar] - 4.0 * U_time_n[iVar] + + 1.0 * U_time_nM1[iVar]) * Volume_nP1 / (2.0 * TimeStep); + } - Jacobian.AddBlock2Diag(iPoint, Jacobian_i); - } + /*--- Compute the Jacobian contribution due to the dual time source term. ---*/ + if (implicit) { + if (first_order) Jacobian.AddVal2Diag(iPoint, Volume_nP1 / TimeStep); + if (second_order) Jacobian.AddVal2Diag(iPoint, (Volume_nP1 * 3.0) / (2.0 * TimeStep)); } } + END_SU2_OMP_FOR + + AD::EndNoSharedReading(); } diff --git a/SU2_CFD/src/variables/CHeatVariable.cpp b/SU2_CFD/src/variables/CHeatVariable.cpp index 9802e8d26a1..bc0b4961920 100644 --- a/SU2_CFD/src/variables/CHeatVariable.cpp +++ b/SU2_CFD/src/variables/CHeatVariable.cpp @@ -25,16 +25,13 @@ * License along with SU2. If not, see . */ - #include "../../include/variables/CHeatVariable.hpp" - CHeatVariable::CHeatVariable(su2double heat, unsigned long npoint, unsigned long ndim, unsigned long nvar, CConfig *config) - : CVariable(npoint, ndim, nvar, config), Gradient_Reconstruction(config->GetReconstructionGradientRequired() ? Gradient_Aux : Gradient) { + : CScalarVariable(npoint, ndim, nvar, config) { - bool low_fidelity = false; - bool dual_time = ((config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || - (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND)); + const bool dual_time = ((config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || + (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND)); /*--- Initialization of heat variable ---*/ @@ -43,14 +40,14 @@ CHeatVariable::CHeatVariable(su2double heat, unsigned long npoint, unsigned long /*--- Allocate residual structures ---*/ - Res_TruncError.resize(nPoint,nVar) = su2double(0.0); + Res_TruncError.resize(nPoint, nVar) = su2double(0.0); /*--- Only for residual smoothing (multigrid) ---*/ for (unsigned long iMesh = 0; iMesh <= config->GetnMGLevels(); iMesh++) { - if ((config->GetMG_CorrecSmooth(iMesh) > 0) || low_fidelity) { - Residual_Sum.resize(nPoint,nVar); - Residual_Old.resize(nPoint,nVar); + if (config->GetMG_CorrecSmooth(iMesh) > 0) { + Residual_Sum.resize(nPoint, nVar); + Residual_Old.resize(nPoint, nVar); break; } } @@ -61,27 +58,11 @@ CHeatVariable::CHeatVariable(su2double heat, unsigned long npoint, unsigned long Solution_time_n1 = heat; } - /*--- Gradient related fields ---*/ - Gradient.resize(nPoint,nVar,nDim,0.0); - - if (config->GetReconstructionGradientRequired()) { - Gradient_Aux.resize(nPoint,nVar,nDim,0.0); - } - - if (config->GetLeastSquaresRequired()) { - Rmatrix.resize(nPoint,nDim,nDim,0.0); - } - if (config->GetKind_ConvNumScheme_Heat() == SPACE_CENTERED) - Undivided_Laplacian.resize(nPoint,nVar); + Undivided_Laplacian.resize(nPoint, nVar); Max_Lambda_Inv.resize(nPoint); Max_Lambda_Visc.resize(nPoint); - Delta_Time.resize(nPoint); - - /* Under-relaxation parameter. */ - UnderRelaxation.resize(nPoint) = su2double(1.0); - LocalCFL.resize(nPoint) = su2double(0.0); if (config->GetMultizone_Problem()) Set_BGSSolution_k(); From 910156c75dad54077cbf20dcb4c8ddf055d476cd Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 5 Dec 2022 22:27:17 -0800 Subject: [PATCH 010/179] fixes for scalar solver without flow solver --- SU2_CFD/include/solvers/CScalarSolver.hpp | 2 ++ SU2_CFD/include/solvers/CScalarSolver.inl | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/SU2_CFD/include/solvers/CScalarSolver.hpp b/SU2_CFD/include/solvers/CScalarSolver.hpp index 1503250b388..1534dae068e 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.hpp +++ b/SU2_CFD/include/solvers/CScalarSolver.hpp @@ -156,6 +156,8 @@ class CScalarSolver : public CSolver { void BC_Fluid_Interface_impl(const SolverSpecificNumericsFunc& SolverSpecificNumerics, CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config) { + if (solver_container[FLOW_SOL] == nullptr) return; + const auto nPrimVar = solver_container[FLOW_SOL]->GetnPrimVar(); su2activevector PrimVar_j(nPrimVar); su2double solution_j[MAXNVAR] = {0.0}; diff --git a/SU2_CFD/include/solvers/CScalarSolver.inl b/SU2_CFD/include/solvers/CScalarSolver.inl index 434535bec13..149665eb33a 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.inl +++ b/SU2_CFD/include/solvers/CScalarSolver.inl @@ -484,8 +484,6 @@ void CScalarSolver::CompleteImplicitIteration(CGeometry* geometry, CConfig* config) { const bool compressible = (config->GetKind_Regime() == ENUM_REGIME::COMPRESSIBLE); - const auto flowNodes = solver_container[FLOW_SOL]->GetNodes(); - ComputeUnderRelaxationFactor(config); /*--- Update solution (system written in terms of increments) ---*/ @@ -494,6 +492,8 @@ void CScalarSolver::CompleteImplicitIteration(CGeometry* geometry, /*--- Update the scalar solution. For transport equations, where Solution is not equivalent with the transported * quantity, multiply the respective factor. ---*/ if (Conservative) { + const auto flowNodes = solver_container[FLOW_SOL]->GetNodes(); + SU2_OMP_FOR_STAT(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { /*--- Multiply the Solution var with density to get the conservative transported quantity, if necessary. ---*/ From acc070be965d28f8358ce4ccf1a57cfc7fe3b635 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Fri, 9 Dec 2022 15:05:12 +0100 Subject: [PATCH 011/179] Rename Print_external_file --- SU2_PY/OptimalPropeller.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index 709096b1253..70021d228c6 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -48,15 +48,14 @@ ### Functions ### ########################## def a_distribution (w0, Chi): - """Function used to compute the value of the axial interference factor using the inviscid theory of the optimal propeller.""" a = (w0*pow(Chi,2))/(pow(Chi,2)+pow((1+(w0)),2)) return a -def Print_external_file(CTrs, CPrs): - +def write_external_file(CTrs, CPrs): """Function used to write the actuator disk input data file""" + file = open('ActuatorDisk.dat', 'w') file.write('# Automatic generated actuator disk input data file using the Optimal Propeller code.\n') file.write('# Data file needed for the actuator disk VARIABLE_LOAD type.\n') @@ -359,7 +358,7 @@ def Print_external_file(CTrs, CPrs): # Write the actuator disk data file. # This is the actuator disk input data file. -Print_external_file(dCt_optimal, dCp) +write_external_file(dCt_optimal, dCp) ########################## ### Plots ### From f8ed853ef8b9884fbfb0140f1e492036fa056be9 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Fri, 9 Dec 2022 15:07:44 +0100 Subject: [PATCH 012/179] Rename corr variable --- SU2_PY/OptimalPropeller.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index 70021d228c6..a5f29e4ba99 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -157,10 +157,10 @@ def write_external_file(CTrs, CPrs): N = int(input('N (number of propeller blades): ')) print('') - corr = True + prandtl_correction = True else: - corr = False + prandtl_correction = False # Computation of the non-dimensional hub radius. rs_hub = rhub/R @@ -179,7 +179,7 @@ def write_external_file(CTrs, CPrs): Omega = n*2*math.pi # Computation of the tip loss Prandtl correction function F. -if corr == True: +if prandtl_correction: for i in range(0, Stations): F[i] = (2/math.pi)*math.acos(math.exp(-0.5*N*(1-r[i])*math.sqrt(1+pow(Omega*R/Vinf,2)))) @@ -383,7 +383,7 @@ def write_external_file(CTrs, CPrs): pl.ylabel('') pl.title("Interference Factors") -if corr == True: +if prandtl_correction: f1 = pl.figure(3) pl.plot(r, F, 'k', markersize=4) pl.grid(True) From c9b5974408bbaff537d37c59bb9a2c6f8a4de7c1 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Fri, 9 Dec 2022 15:16:01 +0100 Subject: [PATCH 013/179] create a write_su2_config_file function --- SU2_PY/OptimalPropeller.py | 47 +++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index a5f29e4ba99..0b3c54d3a68 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -53,6 +53,27 @@ def a_distribution (w0, Chi): a = (w0*pow(Chi,2))/(pow(Chi,2)+pow((1+(w0)),2)) return a +def write_su2_config_file(): + """ + Write the actuator disk configuration file + """ + + with open('ActuatorDisk.cfg', 'w') as f: + f.write('% Automatic generated actuator disk configuration file.\n') + f.write('%\n') + f.write('% The first two elements of MARKER_ACTDISK must be filled.\n') + f.write('% An example of this file can be found in the TestCases directory.\n') + f.write('%\n') + f.write('% Author: Ettore Saetta, Lorenzo Russo, Renato Tognaccini.\n') + f.write('% Theoretical and Applied Aerodynamic Research Group (TAARG),\n') + f.write('% University of Naples Federico II\n') + f.write('\n') + f.write('ACTDISK_TYPE = VARIABLE_LOAD\n') + f.write('ACTDISK_FILENAME = ActuatorDisk.dat\n') + f.write('MARKER_ACTDISK = ( , , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)\n') + + print('SU2 file generated!') + def write_external_file(CTrs, CPrs): """Function used to write the actuator disk input data file""" @@ -337,27 +358,11 @@ def write_external_file(CTrs, CPrs): ########################## ### File Writing ### ########################## -# Write the actuator disk configuration file -file = open('ActuatorDisk.cfg', 'w') - -file.write('% Automatic generated actuator disk configuration file.\n') -file.write('%\n') -file.write('% The first two elements of MARKER_ACTDISK must be filled.\n') -file.write('% An example of this file can be found in the TestCases directory.\n') -file.write('%\n') -file.write('% Author: Ettore Saetta, Lorenzo Russo, Renato Tognaccini.\n') -file.write('% Theoretical and Applied Aerodynamic Research Group (TAARG),\n') -file.write('% University of Naples Federico II\n') -file.write('\n') -file.write('ACTDISK_TYPE = VARIABLE_LOAD\n') -file.write('ACTDISK_FILENAME = ActuatorDisk.dat\n') -file.write('MARKER_ACTDISK = ( , , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)\n') -file.close() - -print('SU2 file generated!') - -# Write the actuator disk data file. -# This is the actuator disk input data file. + +# Write the corresponding SU2 configuration file +write_su2_config_file() + +# Write the actuator disk data file. This is the actuator disk input data file. write_external_file(dCt_optimal, dCp) ########################## From eaf3d8c1ceb6764299ee581ada417e8ae8f9e894 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Fri, 9 Dec 2022 15:19:40 +0100 Subject: [PATCH 014/179] rename stations with lower letter --- SU2_PY/OptimalPropeller.py | 94 +++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 48 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index 0b3c54d3a68..e8f3b68638a 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -54,9 +54,7 @@ def a_distribution (w0, Chi): return a def write_su2_config_file(): - """ - Write the actuator disk configuration file - """ + """Write the actuator disk configuration file""" with open('ActuatorDisk.cfg', 'w') as f: f.write('% Automatic generated actuator disk configuration file.\n') @@ -96,10 +94,10 @@ def write_external_file(CTrs, CPrs): file.write('AXIS= \n') file.write('RADIUS= '+str(R)+'\n') file.write('ADV_RATIO= '+str(J)+'\n') - file.write('NROW= '+str(Stations)+'\n') + file.write('NROW= '+str(stations)+'\n') file.write('# rs=r/R dCT/drs dCP/drs dCR/drs\n') - for i in range(0, Stations): + for i in range(0, stations): file.write(f' {r[i]:.7f} {CTrs[i]:.7f} {CPrs[i]:.7f} 0.0\n') file.close() @@ -126,28 +124,28 @@ def write_external_file(CTrs, CPrs): print('') # Number of radial stations in input. -Stations = int(input('Number of radial stations: ')) +stations = int(input('Number of radial stations: ')) print('') -dStations = float(Stations) +dStations = float(stations) # Resize the vectors using the number of radial stations. -r = np.empty(Stations) -chi = np.empty(Stations) -dCp = np.empty(Stations) -w = np.empty(Stations) -a_new = np.empty(Stations) -a_old = np.empty(Stations) -a_0 = np.empty(Stations) -ap_old = np.empty(Stations) -dCt_new = np.empty(Stations) -dCt_old = np.empty(Stations) -dCt_0 = np.empty(Stations) -DeltaP = np.empty(Stations) -F = np.empty(Stations) -a_optimal = np.empty(Stations) -ap_optimal = np.empty(Stations) -dCt_optimal = np.empty(Stations) +r = np.empty(stations) +chi = np.empty(stations) +dCp = np.empty(stations) +w = np.empty(stations) +a_new = np.empty(stations) +a_old = np.empty(stations) +a_0 = np.empty(stations) +ap_old = np.empty(stations) +dCt_new = np.empty(stations) +dCt_old = np.empty(stations) +dCt_0 = np.empty(stations) +DeltaP = np.empty(stations) +F = np.empty(stations) +a_optimal = np.empty(stations) +ap_optimal = np.empty(stations) +dCt_optimal = np.empty(stations) # Thrust coefficient in input. Ct = float(input('CT (Renard definition): ')) @@ -187,8 +185,8 @@ def write_external_file(CTrs, CPrs): rs_hub = rhub/R # Computation of the non-dimensional radial stations. -for i in range(1,Stations+1): - r[i-1]=i/dStations +for i in range(1,stations+1): + r[i-1]=i/float(stations) if r[i-1] <= rs_hub: i_hub = i-1 @@ -201,43 +199,43 @@ def write_external_file(CTrs, CPrs): # Computation of the tip loss Prandtl correction function F. if prandtl_correction: - for i in range(0, Stations): + for i in range(0, stations): F[i] = (2/math.pi)*math.acos(math.exp(-0.5*N*(1-r[i])*math.sqrt(1+pow(Omega*R/Vinf,2)))) else: - for i in range(0, Stations): + for i in range(0, stations): F[i] = 1.0 # Computation of the non-dimensional radius chi=Omega*r/Vinf. -for i in range(0, Stations): +for i in range(0, stations): chi[i] = Omega*r[i]*R/Vinf eps = 5E-20 # Computation of the propeller radial stations spacing. -h = (1.0/Stations) +h = (1.0/stations) # Computation of the first try induced velocity distribution. -for i in range(0, Stations): +for i in range(0, stations): w[i] = (2/math.pow(Vinf,2))*((-1/Vinf)+math.sqrt(1+((math.pow(D,4)*(Ct)*math.pow(n,2))/(math.pow(Vinf,2)*math.pi*r[i])))) # Computation of the first try Lagrange moltiplicator. w_0 = 0.0 -for i in range(0, Stations): +for i in range(0, stations): w_0 += w[i] -w_0 = w_0/(Vinf*Stations) +w_0 = w_0/(Vinf*stations) # Computation of the first try axial interference factor distribution. -for i in range(0, Stations): +for i in range(0, stations): a_0[i] = a_distribution(w_0*F[i],chi[i]) # Computation of the thrust coefficient distribution -for i in range(0, Stations): +for i in range(0, stations): dCt_0[i]= math.pi*J*J*r[i]*(1+a_0[i])*a_0[i] # Computation of the total thrust coefficient. Ct_0 = 0.0 -for i in range(i_hub, Stations): +for i in range(i_hub, stations): Ct_0 += h*dCt_0[i] # Compute the error with respect to the thrust coefficient given in input. @@ -249,16 +247,16 @@ def write_external_file(CTrs, CPrs): w_old = w_0 + 0.1 # Computation of the second try axial interference factor distribution. -for i in range(0, Stations): +for i in range(0, stations): a_old[i] = a_distribution(w_old*F[i],chi[i]) # Computation of the thrust coefficient distribution -for i in range(0, Stations): +for i in range(0, stations): dCt_old[i]= math.pi*J*J*r[i]*(1+a_old[i])*a_old[i] # Computation of the total thrust coefficient. Ct_old = 0.0 -for i in range(i_hub, Stations): +for i in range(i_hub, stations): Ct_old += h*dCt_old[i] # Compute the error with respect to the thrust coefficient given in input. @@ -280,16 +278,16 @@ def write_external_file(CTrs, CPrs): w_new = (w_old*err_0 - w_0*err_old)/(err_0 - err_old) # Computation of the new axial interference factor distribution. - for i in range(0, Stations): + for i in range(0, stations): a_new[i] = a_distribution(w_new*F[i],chi[i]) # Computation of the new thrust coefficient distribution. - for i in range(0, Stations): + for i in range(0, stations): dCt_new[i]= math.pi*J*J*r[i]*(1+a_new[i])*a_new[i] # Computation of the new total thrust coefficient. Ct_new = 0.0 - for i in range(i_hub, Stations): + for i in range(i_hub, stations): Ct_new += h*dCt_new[i] # Computation of the total thrust coefficient error with respect to the input value. @@ -305,16 +303,16 @@ def write_external_file(CTrs, CPrs): w_old = w_new # Computation of the correct axial and rotational interference factors (a and ap). -for i in range(0, Stations): +for i in range(0, stations): a_optimal[i] = a_distribution(w_new*F[i],chi[i]) ap_optimal[i] = (w_new*F[i])*((1+w_new*F[i])/(chi[i]*chi[i]+math.pow(1+w_new*F[i],2))) # Computation of the correct thrust coefficient distribution. -for i in range(0, Stations): +for i in range(0, stations): dCt_optimal[i] = math.pi*J*J*r[i]*(1+a_optimal[i])*a_optimal[i] # Computation of the correct power coefficient distribution. -for i in range(0, Stations): +for i in range(0, stations): dCp[i] = (R*4*math.pi/(math.pow(n,3)*math.pow(D,5)))*(math.pow(Vinf,3)*math.pow(1+a_optimal[i],2)*a_optimal[i]*r[i]*R+math.pow(Omega,2)*Vinf*(1+a_optimal[i])*math.pow(ap_optimal[i],2)*math.pow(r[i]*R,3)) ########################## @@ -322,21 +320,21 @@ def write_external_file(CTrs, CPrs): ########################## # Computation of the total power coefficient. Cp = 0.0 -for i in range(i_hub, Stations): +for i in range(i_hub, stations): Cp += h*dCp[i] # Computation of the total thrust coefficient. Ct_optimal = 0.0 -for i in range(i_hub, Stations): +for i in range(i_hub, stations): Ct_optimal += h*dCt_optimal[i] # Computation of the static pressure jump distribution. -for i in range(0, Stations): +for i in range(0, stations): DeltaP[i] = (dCt_optimal[i])*(2*Vinf*Vinf)/(J*J*math.pi*r[i]) # Computation of the thrust over density (T) using the static pressure jump distribution. T = 0.0 -for i in range(i_hub, Stations): +for i in range(i_hub, stations): T += 2*math.pi*r[i]*math.pow(R,2)*h*DeltaP[i] # Computation of the thrust coefficient using T. From 0a8a903a90b4e8b90c98147dd3731d5bf0e9acc3 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Fri, 9 Dec 2022 15:23:24 +0100 Subject: [PATCH 015/179] rename Prandtl variable and simplify "yes" values --- SU2_PY/OptimalPropeller.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index e8f3b68638a..f84727a625e 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -73,7 +73,7 @@ def write_su2_config_file(): print('SU2 file generated!') def write_external_file(CTrs, CPrs): - """Function used to write the actuator disk input data file""" + """Function to write the actuator disk input data file""" file = open('ActuatorDisk.dat', 'w') file.write('# Automatic generated actuator disk input data file using the Optimal Propeller code.\n') @@ -127,8 +127,6 @@ def write_external_file(CTrs, CPrs): stations = int(input('Number of radial stations: ')) print('') -dStations = float(stations) - # Resize the vectors using the number of radial stations. r = np.empty(stations) chi = np.empty(stations) @@ -168,16 +166,14 @@ def write_external_file(CTrs, CPrs): print('') # Asking if the tip loss Prandtl correction function needs to be used. -Prandtl = input('Using tip loss Prandtl correction? (/n): ') +prandtl_input = input('Using tip loss Prandtl correction? (/n): ') print('') -if Prandtl == 'y' or Prandtl == 'Y' or Prandtl == '': +if prandtl_input.lower() in ['yes', 'y', '']: # Number of propeller blades in input. N = int(input('N (number of propeller blades): ')) print('') - prandtl_correction = True - else: prandtl_correction = False From 2693f2fbb35836fc2324be9f466ae97fe0823672 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Fri, 9 Dec 2022 16:18:54 +0100 Subject: [PATCH 016/179] Use numpy in all simple case --- SU2_PY/OptimalPropeller.py | 72 ++++++++++---------------------------- 1 file changed, 19 insertions(+), 53 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index f84727a625e..96c227b2b62 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -129,21 +129,12 @@ def write_external_file(CTrs, CPrs): # Resize the vectors using the number of radial stations. r = np.empty(stations) -chi = np.empty(stations) dCp = np.empty(stations) -w = np.empty(stations) a_new = np.empty(stations) a_old = np.empty(stations) a_0 = np.empty(stations) -ap_old = np.empty(stations) -dCt_new = np.empty(stations) -dCt_old = np.empty(stations) -dCt_0 = np.empty(stations) -DeltaP = np.empty(stations) -F = np.empty(stations) a_optimal = np.empty(stations) ap_optimal = np.empty(stations) -dCt_optimal = np.empty(stations) # Thrust coefficient in input. Ct = float(input('CT (Renard definition): ')) @@ -195,48 +186,37 @@ def write_external_file(CTrs, CPrs): # Computation of the tip loss Prandtl correction function F. if prandtl_correction: - for i in range(0, stations): - F[i] = (2/math.pi)*math.acos(math.exp(-0.5*N*(1-r[i])*math.sqrt(1+pow(Omega*R/Vinf,2)))) - + F = (2/math.pi)*np.arccos(np.exp(-0.5*N*(1-r)*np.sqrt(1+pow(Omega*R/Vinf,2)))) else: - for i in range(0, stations): - F[i] = 1.0 + F = np.ones((stations)) # Computation of the non-dimensional radius chi=Omega*r/Vinf. -for i in range(0, stations): - chi[i] = Omega*r[i]*R/Vinf +chi = Omega*r*R/Vinf + eps = 5E-20 # Computation of the propeller radial stations spacing. h = (1.0/stations) # Computation of the first try induced velocity distribution. -for i in range(0, stations): - w[i] = (2/math.pow(Vinf,2))*((-1/Vinf)+math.sqrt(1+((math.pow(D,4)*(Ct)*math.pow(n,2))/(math.pow(Vinf,2)*math.pi*r[i])))) +w = (2/np.power(Vinf,2))*((-1/Vinf)+np.sqrt(1+((np.power(D,4)*(Ct)*np.power(n,2))/(np.power(Vinf,2)*np.pi*r)))) # Computation of the first try Lagrange moltiplicator. -w_0 = 0.0 -for i in range(0, stations): - w_0 += w[i] - -w_0 = w_0/(Vinf*stations) +w_0 = sum(w)/(Vinf*stations) # Computation of the first try axial interference factor distribution. for i in range(0, stations): a_0[i] = a_distribution(w_0*F[i],chi[i]) # Computation of the thrust coefficient distribution -for i in range(0, stations): - dCt_0[i]= math.pi*J*J*r[i]*(1+a_0[i])*a_0[i] +dCt_0 = math.pi*J**2*r*(1+a_0)*a_0 # Computation of the total thrust coefficient. -Ct_0 = 0.0 -for i in range(i_hub, stations): - Ct_0 += h*dCt_0[i] +Ct_0 = sum(h*dCt_0) # Compute the error with respect to the thrust coefficient given in input. err_0 = Ct_0 - Ct -print('CONVERGENCE HISTORY:') +print("\nCONVERGENCE HISTORY:") print(err_0) # Computation of the second try Lagrange moltiplicator. @@ -247,13 +227,10 @@ def write_external_file(CTrs, CPrs): a_old[i] = a_distribution(w_old*F[i],chi[i]) # Computation of the thrust coefficient distribution -for i in range(0, stations): - dCt_old[i]= math.pi*J*J*r[i]*(1+a_old[i])*a_old[i] +dCt_old = math.pi*J**2*r*(1+a_old)*a_old # Computation of the total thrust coefficient. -Ct_old = 0.0 -for i in range(i_hub, stations): - Ct_old += h*dCt_old[i] +Ct_old = sum(h*dCt_old) # Compute the error with respect to the thrust coefficient given in input. err_old = Ct_old - Ct @@ -278,13 +255,10 @@ def write_external_file(CTrs, CPrs): a_new[i] = a_distribution(w_new*F[i],chi[i]) # Computation of the new thrust coefficient distribution. - for i in range(0, stations): - dCt_new[i]= math.pi*J*J*r[i]*(1+a_new[i])*a_new[i] + dCt_new = math.pi*J**2*r*(1+a_new)*a_new # Computation of the new total thrust coefficient. - Ct_new = 0.0 - for i in range(i_hub, stations): - Ct_new += h*dCt_new[i] + Ct_new = sum(h*dCt_new) # Computation of the total thrust coefficient error with respect to the input value. err_new = Ct_new - Ct @@ -304,8 +278,7 @@ def write_external_file(CTrs, CPrs): ap_optimal[i] = (w_new*F[i])*((1+w_new*F[i])/(chi[i]*chi[i]+math.pow(1+w_new*F[i],2))) # Computation of the correct thrust coefficient distribution. -for i in range(0, stations): - dCt_optimal[i] = math.pi*J*J*r[i]*(1+a_optimal[i])*a_optimal[i] +dCt_optimal = math.pi*J**2*r*(1+a_optimal)*a_optimal # Computation of the correct power coefficient distribution. for i in range(0, stations): @@ -315,26 +288,19 @@ def write_external_file(CTrs, CPrs): ### Check Results ### ########################## # Computation of the total power coefficient. -Cp = 0.0 -for i in range(i_hub, stations): - Cp += h*dCp[i] +Cp = sum(h*dCp) # Computation of the total thrust coefficient. -Ct_optimal = 0.0 -for i in range(i_hub, stations): - Ct_optimal += h*dCt_optimal[i] +Ct_optimal = sum(h*dCt_optimal) # Computation of the static pressure jump distribution. -for i in range(0, stations): - DeltaP[i] = (dCt_optimal[i])*(2*Vinf*Vinf)/(J*J*math.pi*r[i]) +DeltaP = dCt_optimal*(2*Vinf**2)/(J**2*math.pi*r) # Computation of the thrust over density (T) using the static pressure jump distribution. -T = 0.0 -for i in range(i_hub, stations): - T += 2*math.pi*r[i]*math.pow(R,2)*h*DeltaP[i] +T = sum(2*math.pi*r*math.pow(R,2)*h*DeltaP) # Computation of the thrust coefficient using T. -Ct_Renard = (T)/(math.pow(n,2)*math.pow(D,4)) +Ct_Renard = T/(math.pow(n,2)*math.pow(D,4)) # Computation of the efficiency. eta = J*(Ct_optimal/Cp) From 82b310ff527ad6dae4bff9f8c12326d68ff501ff Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 11 Dec 2022 18:01:13 -0800 Subject: [PATCH 017/179] cleanup set time step --- SU2_CFD/include/solvers/CHeatSolver.hpp | 2 + SU2_CFD/src/solvers/CHeatSolver.cpp | 338 ++++++++++++------------ 2 files changed, 178 insertions(+), 162 deletions(-) diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index 209991d2924..91102359d04 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -44,6 +44,8 @@ class CHeatSolver final : public CScalarSolver { const bool flow; /*!< \brief Use solver as a scalar transport equation of Temperature for the inc solver. */ const bool heat_equation; /*!< \brief use solver for heat conduction in solids. */ + su2double Global_Delta_Time = 0.0, Global_Delta_UnstTimeND = 0.0; + unsigned short nVarFlow; vector > HeatFlux; vector HeatFlux_per_Marker; diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 7231f4f8418..de35e542901 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -26,6 +26,7 @@ */ #include "../../include/solvers/CHeatSolver.hpp" +#include #include "../../../Common/include/toolboxes/geometry_toolbox.hpp" #include "../../include/solvers/CScalarSolver.inl" @@ -171,6 +172,18 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM InitiateComms(geometry, config, SOLUTION); CompleteComms(geometry, config, SOLUTION); + /*--- Store the initial CFL number for all grid points. ---*/ + + const su2double CFL = config->GetCFL(MGLevel) * config->GetCFLRedCoeff_Turb(); + SU2_OMP_FOR_STAT(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPoint; iPoint++) { + nodes->SetLocalCFL(iPoint, CFL); + } + END_SU2_OMP_FOR + Min_CFL_Local = CFL; + Max_CFL_Local = CFL; + Avg_CFL_Local = CFL; + /*--- Add the solver name (max 8 characters) ---*/ SolverName = "HEAT"; @@ -980,214 +993,215 @@ void CHeatSolver::Heat_Fluxes(CGeometry *geometry, CSolver **solver_container, C void CHeatSolver::SetTime_Step(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned long Iteration) { - unsigned long iPoint, jPoint; - su2double Area, Vol, laminar_viscosity, eddy_viscosity, thermal_diffusivity, Prandtl_Lam, Prandtl_Turb, Mean_ProjVel, Mean_BetaInc2, Mean_DensityInc, Mean_SoundSpeed, Lambda; - su2double Global_Delta_Time = 0.0, Global_Delta_UnstTimeND = 0.0, Local_Delta_Time = 0.0, Local_Delta_Time_Inv, Local_Delta_Time_Visc, CFL_Reduction, K_v = 0.25; - const su2double* Normal; - - const bool turb = ((config->GetKind_Solver() == MAIN_SOLVER::INC_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_INC_RANS)); - const bool dual_time = ((config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || - (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND)); - const bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); - - eddy_viscosity = 0.0; - laminar_viscosity = config->GetMu_ConstantND(); - Prandtl_Lam = config->GetPrandtl_Lam(); - Prandtl_Turb = config->GetPrandtl_Turb(); - - thermal_diffusivity = config->GetThermalDiffusivity(); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + const bool time_stepping = (config->GetTime_Marching() == TIME_MARCHING::TIME_STEPPING); + const bool dual_time = (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || + (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND); + const su2double K_v = 0.25; - /*--- Compute spectral radius based on thermal conductivity ---*/ + const su2double prandtl_lam = config->GetPrandtl_Lam(); + const su2double prandtl_turb = config->GetPrandtl_Turb(); + const su2double constant_thermal_diffusivity = config->GetThermalDiffusivity(); - Min_Delta_Time = 1.E30; Max_Delta_Time = 0.0; - CFL_Reduction = config->GetCFLRedCoeff_Turb(); - - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - nodes->SetMax_Lambda_Inv(iPoint,0.0); - nodes->SetMax_Lambda_Visc(iPoint,0.0); - } + const CVariable* flow_nodes = solver_container[FLOW_SOL] ? solver_container[FLOW_SOL]->GetNodes() : nullptr; - /*--- Loop interior edges ---*/ + /*--- Init thread-shared variables to compute min/max values. + * Critical sections are used for this instead of reduction + * clauses for compatibility with OpenMP 2.0 (Windows...). ---*/ + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS { + Min_Delta_Time = 1e30; + Max_Delta_Time = 0.0; + Global_Delta_UnstTimeND = 1e30; + } END_SU2_OMP_SAFE_GLOBAL_ACCESS - for (auto iEdge = 0ul; iEdge < geometry->GetnEdge(); iEdge++) { + /*--- Loop domain points. ---*/ - iPoint = geometry->edges->GetNode(iEdge,0); - jPoint = geometry->edges->GetNode(iEdge,1); + SU2_OMP_FOR_DYN(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPointDomain; ++iPoint) { - /*--- get the edge's normal vector to compute the edge's area ---*/ - Normal = geometry->edges->GetNormal(iEdge); - Area = GeometryToolbox::Norm(nDim, Normal); + /*--- Set maximum eigenvalues to zero. ---*/ - /*--- Inviscid contribution ---*/ + nodes->SetMax_Lambda_Visc(iPoint, 0.0); - if (flow) { - Mean_ProjVel = 0.5 * (solver_container[FLOW_SOL]->GetNodes()->GetProjVel(iPoint,Normal) + solver_container[FLOW_SOL]->GetNodes()->GetProjVel(jPoint,Normal)); - Mean_BetaInc2 = 0.5 * (solver_container[FLOW_SOL]->GetNodes()->GetBetaInc2(iPoint) + solver_container[FLOW_SOL]->GetNodes()->GetBetaInc2(jPoint)); - Mean_DensityInc = 0.5 * (solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint) + solver_container[FLOW_SOL]->GetNodes()->GetDensity(jPoint)); - Mean_SoundSpeed = sqrt(Mean_ProjVel*Mean_ProjVel + (Mean_BetaInc2/Mean_DensityInc)*Area*Area); - - Lambda = fabs(Mean_ProjVel) + Mean_SoundSpeed; - if (geometry->nodes->GetDomain(iPoint)) nodes->AddMax_Lambda_Inv(iPoint, Lambda); - if (geometry->nodes->GetDomain(jPoint)) nodes->AddMax_Lambda_Inv(jPoint, Lambda); - } + /*--- Loop over the neighbors of point i. ---*/ - /*--- Viscous contribution ---*/ + for (unsigned short iNeigh = 0; iNeigh < geometry->nodes->GetnPoint(iPoint); ++iNeigh) { + const auto jPoint = geometry->nodes->GetPoint(iPoint,iNeigh); + const auto iEdge = geometry->nodes->GetEdge(iPoint,iNeigh); + const auto* Normal = geometry->edges->GetNormal(iEdge); + const su2double Area2 = GeometryToolbox::SquaredNorm(nDim, Normal); - thermal_diffusivity = config->GetThermalDiffusivity(); - if(flow) { - if(turb) { - eddy_viscosity = solver_container[TURB_SOL]->GetNodes()->GetmuT(iPoint); + if (flow) { + const su2double laminar_viscosity = 0.5 * (flow_nodes->GetLaminarViscosity(iPoint) + + flow_nodes->GetLaminarViscosity(jPoint)); + const su2double eddy_viscosity = 0.5 * (flow_nodes->GetEddyViscosity(iPoint) + + flow_nodes->GetEddyViscosity(jPoint)); + + const su2double thermal_diffusivity = laminar_viscosity / prandtl_lam + eddy_viscosity / prandtl_turb; + nodes->AddMax_Lambda_Visc(iPoint, thermal_diffusivity * Area2); + } else { + nodes->AddMax_Lambda_Visc(iPoint, constant_thermal_diffusivity * Area2); } - - thermal_diffusivity = laminar_viscosity/Prandtl_Lam + eddy_viscosity/Prandtl_Turb; } - - Lambda = thermal_diffusivity*Area*Area; - if (geometry->nodes->GetDomain(iPoint)) nodes->AddMax_Lambda_Visc(iPoint, Lambda); - if (geometry->nodes->GetDomain(jPoint)) nodes->AddMax_Lambda_Visc(jPoint, Lambda); - } + END_SU2_OMP_FOR /*--- Loop boundary edges ---*/ - for (auto iMarker = 0u; iMarker < geometry->GetnMarker(); iMarker++) { - for (auto iVertex = 0ul; iVertex < geometry->GetnVertex(iMarker); iVertex++) { - - /*--- Point identification, Normal vector and area ---*/ + for (unsigned short iMarker = 0; iMarker < geometry->GetnMarker(); iMarker++) { + if ((config->GetMarker_All_KindBC(iMarker) != INTERNAL_BOUNDARY) && + (config->GetMarker_All_KindBC(iMarker) != NEARFIELD_BOUNDARY) && + (config->GetMarker_All_KindBC(iMarker) != PERIODIC_BOUNDARY)) { - iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); - Normal = geometry->vertex[iMarker][iVertex]->GetNormal(); - Area = GeometryToolbox::Norm(nDim, Normal); + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) + for (auto iVertex = 0ul; iVertex < geometry->GetnVertex(iMarker); iVertex++) { - /*--- Inviscid contribution ---*/ + /*--- Point identification, Normal vector and area ---*/ - if (flow) { - Mean_ProjVel = solver_container[FLOW_SOL]->GetNodes()->GetProjVel(iPoint, Normal); - Mean_BetaInc2 = solver_container[FLOW_SOL]->GetNodes()->GetBetaInc2(iPoint); - Mean_DensityInc = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); - Mean_SoundSpeed = sqrt(Mean_ProjVel*Mean_ProjVel + (Mean_BetaInc2/Mean_DensityInc)*Area*Area); + const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); - Lambda = fabs(Mean_ProjVel) + Mean_SoundSpeed; - if (geometry->nodes->GetDomain(iPoint)) nodes->AddMax_Lambda_Inv(iPoint, Lambda); - } + if (!geometry->nodes->GetDomain(iPoint)) continue; - /*--- Viscous contribution ---*/ + const auto* Normal = geometry->vertex[iMarker][iVertex]->GetNormal(); + const su2double Area2 = GeometryToolbox::SquaredNorm(nDim, Normal); - thermal_diffusivity = config->GetThermalDiffusivity(); - if(flow) { - if(turb) { - eddy_viscosity = solver_container[TURB_SOL]->GetNodes()->GetmuT(iPoint); + if (flow) { + const su2double thermal_diffusivity = flow_nodes->GetLaminarViscosity(iPoint) / prandtl_lam + + flow_nodes->GetEddyViscosity(iPoint) / prandtl_turb; + nodes->AddMax_Lambda_Visc(iPoint, thermal_diffusivity * Area2); + } else { + nodes->AddMax_Lambda_Visc(iPoint, constant_thermal_diffusivity * Area2); } - - thermal_diffusivity = laminar_viscosity/Prandtl_Lam + eddy_viscosity/Prandtl_Turb; } - - Lambda = thermal_diffusivity*Area*Area; - if (geometry->nodes->GetDomain(iPoint)) nodes->AddMax_Lambda_Visc(iPoint, Lambda); - + END_SU2_OMP_FOR } } - /*--- Each element uses their own speed, steady state simulation ---*/ + /*--- Each element uses their own speed, steady state simulation. ---*/ + { + /*--- Thread-local variables for min/max reduction. ---*/ + su2double minDt = 1e30, maxDt = 0.0; + + SU2_OMP_FOR_(schedule(static,omp_chunk_size) SU2_NOWAIT) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { + + su2double local_delta_time = 0.0; + + const su2double Vol = geometry->nodes->GetVolume(iPoint); + if (Vol != 0.0) { + local_delta_time = nodes->GetLocalCFL(iPoint) * K_v * pow(Vol, 2) / nodes->GetMax_Lambda_Visc(iPoint); + if (flow) { + switch (config->GetKind_TimeStep_Heat()) { + case BYFLOW: + case CONVECTIVE: + local_delta_time = flow_nodes->GetDelta_Time(iPoint); + break; + case MINIMUM: + local_delta_time = min(local_delta_time, flow_nodes->GetDelta_Time(iPoint)); + break; + case VISCOUS: + break; + default: + break; + } + } + minDt = min(minDt, local_delta_time); + maxDt = max(maxDt, local_delta_time); + } else { + nodes->SetDelta_Time(iPoint, 0.0); + } + } + END_SU2_OMP_FOR + /*--- Min/max over threads. ---*/ + SU2_OMP_CRITICAL + { + Min_Delta_Time = min(Min_Delta_Time, minDt); + Max_Delta_Time = max(Max_Delta_Time, maxDt); + Global_Delta_Time = Min_Delta_Time; + } + END_SU2_OMP_CRITICAL + } - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { + /*--- Compute the min/max dt (in parallel, now over mpi ranks). ---*/ - Vol = geometry->nodes->GetVolume(iPoint); + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS { + if (config->GetComm_Level() == COMM_FULL) { + su2double rbuf_time; + SU2_MPI::Allreduce(&Min_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, SU2_MPI::GetComm()); + Min_Delta_Time = rbuf_time; - if (Vol != 0.0) { + SU2_MPI::Allreduce(&Max_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MAX, SU2_MPI::GetComm()); + Max_Delta_Time = rbuf_time; + } + } END_SU2_OMP_SAFE_GLOBAL_ACCESS - if(flow) { - Local_Delta_Time_Inv = config->GetCFL(iMesh)*Vol / nodes->GetMax_Lambda_Inv(iPoint); - Local_Delta_Time_Visc = config->GetCFL(iMesh)*K_v*Vol*Vol/ nodes->GetMax_Lambda_Visc(iPoint); - } - else { - Local_Delta_Time_Inv = config->GetMax_DeltaTime(); - Local_Delta_Time_Visc = config->GetCFL(iMesh)*K_v*Vol*Vol/ nodes->GetMax_Lambda_Visc(iPoint); - //Local_Delta_Time_Visc = 100.0*K_v*Vol*Vol/ nodes->GetMax_Lambda_Visc(iPoint); - } + /*--- For exact time solution use the minimum delta time of the whole mesh. ---*/ + if (time_stepping) { - /*--- Time step setting method ---*/ + /*--- If the unsteady CFL is set to zero, it uses the defined unsteady time step, + * otherwise it computes the time step based on the unsteady CFL. ---*/ - if (config->GetKind_TimeStep_Heat() == BYFLOW && flow) { - Local_Delta_Time = solver_container[FLOW_SOL]->GetNodes()->GetDelta_Time(iPoint); - } - else if (config->GetKind_TimeStep_Heat() == MINIMUM) { - Local_Delta_Time = min(Local_Delta_Time_Inv, Local_Delta_Time_Visc); - } - else if (config->GetKind_TimeStep_Heat() == CONVECTIVE) { - Local_Delta_Time = Local_Delta_Time_Inv; + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS + { + if (config->GetUnst_CFL() == 0.0) { + Global_Delta_Time = config->GetDelta_UnstTime(); } - else if (config->GetKind_TimeStep_Heat() == VISCOUS) { - Local_Delta_Time = Local_Delta_Time_Visc; + else { + Global_Delta_Time = Min_Delta_Time; } + Max_Delta_Time = Global_Delta_Time; - /*--- Min-Max-Logic ---*/ + config->SetDelta_UnstTimeND(Global_Delta_Time); + } + END_SU2_OMP_SAFE_GLOBAL_ACCESS - Global_Delta_Time = min(Global_Delta_Time, Local_Delta_Time); - Min_Delta_Time = min(Min_Delta_Time, Local_Delta_Time); - Max_Delta_Time = max(Max_Delta_Time, Local_Delta_Time); - if (Local_Delta_Time > config->GetMax_DeltaTime()) - Local_Delta_Time = config->GetMax_DeltaTime(); + /*--- Sets the regular CFL equal to the unsteady CFL. ---*/ - nodes->SetDelta_Time(iPoint,CFL_Reduction*Local_Delta_Time); - } - else { - nodes->SetDelta_Time(iPoint,0.0); + SU2_OMP_FOR_STAT(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { + nodes->SetLocalCFL(iPoint, config->GetUnst_CFL()); + nodes->SetDelta_Time(iPoint, Global_Delta_Time); } - } + END_SU2_OMP_FOR - /*--- Compute the max and the min dt (in parallel) ---*/ - if (config->GetComm_Level() == COMM_FULL) { -#ifdef HAVE_MPI - su2double rbuf_time, sbuf_time; - sbuf_time = Min_Delta_Time; - SU2_MPI::Reduce(&sbuf_time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, MASTER_NODE, SU2_MPI::GetComm()); - SU2_MPI::Bcast(&rbuf_time, 1, MPI_DOUBLE, MASTER_NODE, SU2_MPI::GetComm()); - Min_Delta_Time = rbuf_time; - - sbuf_time = Max_Delta_Time; - SU2_MPI::Reduce(&sbuf_time, &rbuf_time, 1, MPI_DOUBLE, MPI_MAX, MASTER_NODE, SU2_MPI::GetComm()); - SU2_MPI::Bcast(&rbuf_time, 1, MPI_DOUBLE, MASTER_NODE, SU2_MPI::GetComm()); - Max_Delta_Time = rbuf_time; -#endif } - /*--- For exact time solution use the minimum delta time of the whole mesh ---*/ - if (config->GetTime_Marching() == TIME_MARCHING::TIME_STEPPING) { -#ifdef HAVE_MPI - su2double rbuf_time, sbuf_time; - sbuf_time = Global_Delta_Time; - SU2_MPI::Reduce(&sbuf_time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, MASTER_NODE, SU2_MPI::GetComm()); - SU2_MPI::Bcast(&rbuf_time, 1, MPI_DOUBLE, MASTER_NODE, SU2_MPI::GetComm()); - Global_Delta_Time = rbuf_time; -#endif - for (iPoint = 0; iPoint < nPointDomain; iPoint++) - nodes->SetDelta_Time(iPoint,Global_Delta_Time); - } + /*--- Recompute the unsteady time step for the dual time strategy if the unsteady CFL is diferent from 0. + * This is only done once because in dual time the time step cannot be variable. ---*/ + + if (dual_time && (Iteration == config->GetRestart_Iter()) && (config->GetUnst_CFL() != 0.0) && (iMesh == MESH_0)) { + + /*--- Thread-local variable for reduction. ---*/ + su2double glbDtND = 1e30; - /*--- Recompute the unsteady time step for the dual time strategy - if the unsteady CFL is diferent from 0 ---*/ - if ((dual_time) && (Iteration == 0) && (config->GetUnst_CFL() != 0.0) && (iMesh == MESH_0)) { - Global_Delta_UnstTimeND = config->GetUnst_CFL()*Global_Delta_Time/config->GetCFL(iMesh); - -#ifdef HAVE_MPI - su2double rbuf_time, sbuf_time; - sbuf_time = Global_Delta_UnstTimeND; - SU2_MPI::Reduce(&sbuf_time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, MASTER_NODE, SU2_MPI::GetComm()); - SU2_MPI::Bcast(&rbuf_time, 1, MPI_DOUBLE, MASTER_NODE, SU2_MPI::GetComm()); - Global_Delta_UnstTimeND = rbuf_time; -#endif - config->SetDelta_UnstTimeND(Global_Delta_UnstTimeND); + SU2_OMP_FOR_(schedule(static,omp_chunk_size) SU2_NOWAIT) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { + glbDtND = min(glbDtND, config->GetUnst_CFL()*Global_Delta_Time / nodes->GetLocalCFL(iPoint)); + } + END_SU2_OMP_FOR + SU2_OMP_CRITICAL + Global_Delta_UnstTimeND = min(Global_Delta_UnstTimeND, glbDtND); + END_SU2_OMP_CRITICAL + + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS + { + SU2_MPI::Allreduce(&Global_Delta_UnstTimeND, &glbDtND, 1, MPI_DOUBLE, MPI_MIN, SU2_MPI::GetComm()); + Global_Delta_UnstTimeND = glbDtND; + + config->SetDelta_UnstTimeND(Global_Delta_UnstTimeND); + } + END_SU2_OMP_SAFE_GLOBAL_ACCESS } /*--- The pseudo local time (explicit integration) cannot be greater than the physical time ---*/ - if (dual_time) - for (iPoint = 0; iPoint < nPointDomain; iPoint++) { - if (!implicit) { - cout << "Using unsteady time: " << config->GetDelta_UnstTimeND() << endl; - Local_Delta_Time = min((2.0/3.0)*config->GetDelta_UnstTimeND(), nodes->GetDelta_Time(iPoint)); - nodes->SetDelta_Time(iPoint,Local_Delta_Time); - } + + if (dual_time && !implicit) { + SU2_OMP_FOR_STAT(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { + su2double dt = min((2.0/3.0)*config->GetDelta_UnstTimeND(), nodes->GetDelta_Time(iPoint)); + nodes->SetDelta_Time(iPoint, dt); + } + END_SU2_OMP_FOR } } From 151d715a1bc262b8b7343cbb8ba3977de9bdee63 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Wed, 14 Dec 2022 16:24:57 -0800 Subject: [PATCH 018/179] cleanup implementation and add a linelet output --- Common/include/linear_algebra/CSysMatrix.hpp | 5 + Common/include/toolboxes/graph_toolbox.hpp | 2 +- Common/src/geometry/CGeometry.cpp | 2 +- Common/src/linear_algebra/CSysMatrix.cpp | 208 ++++++++----------- SU2_CFD/include/output/CFVMOutput.hpp | 6 +- SU2_CFD/src/output/CFVMOutput.cpp | 54 ++++- SU2_CFD/src/output/CFlowCompOutput.cpp | 2 +- SU2_CFD/src/output/CFlowIncOutput.cpp | 2 +- SU2_CFD/src/output/CHeatOutput.cpp | 2 +- SU2_CFD/src/output/CNEMOCompOutput.cpp | 2 +- 10 files changed, 158 insertions(+), 127 deletions(-) diff --git a/Common/include/linear_algebra/CSysMatrix.hpp b/Common/include/linear_algebra/CSysMatrix.hpp index 230328451c9..607e0eea9cf 100644 --- a/Common/include/linear_algebra/CSysMatrix.hpp +++ b/Common/include/linear_algebra/CSysMatrix.hpp @@ -890,6 +890,11 @@ class CSysMatrix { */ unsigned long BuildLineletPreconditioner(CGeometry *geometry, const CConfig *config); + /*! + * \brief Returns the Linelet structure (point indices in each line). + */ + const vector>& GetLinelets() const { return LineletPoint; } + /*! * \brief Multiply CSysVector by the preconditioner * \param[in] vec - CSysVector to be multiplied by the preconditioner. diff --git a/Common/include/toolboxes/graph_toolbox.hpp b/Common/include/toolboxes/graph_toolbox.hpp index 87a45720b3a..ee943da3c17 100644 --- a/Common/include/toolboxes/graph_toolbox.hpp +++ b/Common/include/toolboxes/graph_toolbox.hpp @@ -530,7 +530,7 @@ T createNaturalColoring(Index_t numInnerIndexes) * \param[out] indexColor - Optional, vector with colors given to the outer indices. * \return Coloring in the same type of the input pattern. */ -template +template T colorSparsePattern(const T& pattern, size_t groupSize = 1, bool balanceColors = false, std::vector* indexColor = nullptr) { diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index a548c3fe1bc..f655e8d0311 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -3843,7 +3843,7 @@ void CGeometry::ColorMGLevels(unsigned short nMGLevels, const CGeometry* const* /*--- Color the coarse points. ---*/ vector color; const auto& adjacency = geometry[iMesh]->nodes->GetPoints(); - if (colorSparsePattern(adjacency, 1, false, &color).empty()) + if (colorSparsePattern(adjacency, 1, false, &color).empty()) continue; /*--- Propagate colors to fine mesh. ---*/ diff --git a/Common/src/linear_algebra/CSysMatrix.cpp b/Common/src/linear_algebra/CSysMatrix.cpp index dea7835572a..6fe0a650be1 100644 --- a/Common/src/linear_algebra/CSysMatrix.cpp +++ b/Common/src/linear_algebra/CSysMatrix.cpp @@ -29,8 +29,11 @@ #include "../../include/geometry/CGeometry.hpp" #include "../../include/toolboxes/allocation_toolbox.hpp" +#include "../../include/toolboxes/geometry_toolbox.hpp" +#include #include +#include template CSysMatrix::CSysMatrix() : @@ -911,23 +914,20 @@ template unsigned long CSysMatrix::BuildLineletPreconditioner(CGeometry *geometry, const CConfig *config) { assert(omp_get_thread_num()==0 && "Linelet preconditioner cannot be built by multiple threads."); + const auto nDim = geometry->GetnDim(); - bool add_point; - unsigned long iEdge, iPoint, jPoint, index_Point, iLinelet, iVertex, next_Point, counter, iElem; - unsigned short iMarker, iNode; - su2double alpha = 0.9, weight, max_weight, area, volume_iPoint, volume_jPoint; - const su2double* normal; - unsigned long Local_nPoints, Local_nLineLets, Global_nPoints, Global_nLineLets, max_nElem; + /*--- Stopping criteria. ---*/ - /*--- Memory allocation --*/ - - vector check_Point(nPoint,true); + const su2double alphaIsotropic = 0.9; + const unsigned long maxLineletPoints = 32; LineletBool.clear(); - LineletBool.resize(nPoint,false); + LineletBool.resize(nPoint, false); + + /*--- Estimate number of linelets. ---*/ nLinelet = 0; - for (iMarker = 0; iMarker < config->GetnMarker_All(); iMarker++) { + for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { if (config->GetSolid_Wall(iMarker) || (config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY)) { nLinelet += geometry->nVertex[iMarker]; @@ -938,137 +938,107 @@ unsigned long CSysMatrix::BuildLineletPreconditioner(CGeometry *geom if (nLinelet != 0) { - /*--- Basic initial allocation ---*/ - LineletPoint.resize(nLinelet); - /*--- Define the basic linelets, starting from each vertex ---*/ - - iLinelet = 0; - - for (iMarker = 0; iMarker < config->GetnMarker_All(); iMarker++) { - if (config->GetSolid_Wall(iMarker) || - (config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY)) - { - for (iVertex = 0; iVertex < geometry->nVertex[iMarker]; iVertex++) { - iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); - LineletPoint[iLinelet].push_back(iPoint); - check_Point[iPoint] = false; - iLinelet++; + /*--- Define the basic linelets, starting from each vertex, preventing duplication of points. ---*/ + + nLinelet = 0; + for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { + if (config->GetSolid_Wall(iMarker) || (config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY)) { + for (auto iVertex = 0ul; iVertex < geometry->nVertex[iMarker]; iVertex++) { + const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); + if (!LineletBool[iPoint] && geometry->nodes->GetDomain(iPoint)) { + LineletPoint[nLinelet].push_back(iPoint); + LineletBool[iPoint] = true; + ++nLinelet; + } } } } + LineletPoint.resize(nLinelet); - /*--- Create the linelet structure ---*/ - - iLinelet = 0; - - do { - - index_Point = 0; - - do { - - /*--- Compute the value of the max weight ---*/ - - iPoint = LineletPoint[iLinelet][index_Point]; - max_weight = 0.0; - for (iNode = 0; iNode < geometry->nodes->GetnPoint(iPoint); iNode++) { - jPoint = geometry->nodes->GetPoint(iPoint, iNode); - if ((check_Point[jPoint]) && geometry->nodes->GetDomain(jPoint)) { - iEdge = geometry->FindEdge(iPoint, jPoint); - normal = geometry->edges->GetNormal(iEdge); - if (geometry->GetnDim() == 3) area = sqrt(normal[0]*normal[0]+normal[1]*normal[1]+normal[2]*normal[2]); - else area = sqrt(normal[0]*normal[0]+normal[1]*normal[1]); - volume_iPoint = geometry->nodes->GetVolume(iPoint); - volume_jPoint = geometry->nodes->GetVolume(jPoint); - weight = 0.5*area*((1.0/volume_iPoint)+(1.0/volume_jPoint)); - max_weight = max(max_weight, weight); - } + /*--- Create the linelet structure. ---*/ + + for (auto& Linelet : LineletPoint) { + while (Linelet.size() < maxLineletPoints) { + const auto iPoint = Linelet.back(); + + /*--- Compute the value of the max and min weights to detect if this region is isotropic. ---*/ + + auto ComputeWeight = [&](unsigned long iEdge, unsigned long jPoint) { + const auto* normal = geometry->edges->GetNormal(iEdge); + const su2double area = GeometryToolbox::Norm(nDim, normal); + const su2double volume_iPoint = geometry->nodes->GetVolume(iPoint); + const su2double volume_jPoint = geometry->nodes->GetVolume(jPoint); + return 0.5 * area * (1.0 / volume_iPoint + 1.0 / volume_jPoint); + }; + + su2double max_weight = 0.0, min_weight = std::numeric_limits::max(); + for (auto iNode = 0u; iNode < geometry->nodes->GetnPoint(iPoint); iNode++) { + const auto jPoint = geometry->nodes->GetPoint(iPoint, iNode); + const auto iEdge = geometry->nodes->GetEdge(iPoint, iNode); + const auto weight = ComputeWeight(iEdge, jPoint); + max_weight = max(max_weight, weight); + min_weight = min(min_weight, weight); } - /*--- Verify if any face of the control volume must be added ---*/ - - add_point = false; - counter = 0; - next_Point = geometry->nodes->GetPoint(iPoint, 0); - for (iNode = 0; iNode < geometry->nodes->GetnPoint(iPoint); iNode++) { - jPoint = geometry->nodes->GetPoint(iPoint, iNode); - iEdge = geometry->FindEdge(iPoint, jPoint); - normal = geometry->edges->GetNormal(iEdge); - if (geometry->GetnDim() == 3) area = sqrt(normal[0]*normal[0]+normal[1]*normal[1]+normal[2]*normal[2]); - else area = sqrt(normal[0]*normal[0]+normal[1]*normal[1]); - volume_iPoint = geometry->nodes->GetVolume(iPoint); - volume_jPoint = geometry->nodes->GetVolume(jPoint); - weight = 0.5*area*((1.0/volume_iPoint)+(1.0/volume_jPoint)); - if (((check_Point[jPoint]) && (weight/max_weight > alpha) && (geometry->nodes->GetDomain(jPoint))) && - ((index_Point == 0) || ((index_Point > 0) && (jPoint != LineletPoint[iLinelet][index_Point-1])))) { - add_point = true; - next_Point = jPoint; - counter++; + /*--- Isotropic, stop this linelet. ---*/ + if (min_weight / max_weight > alphaIsotropic) break; + + /*--- Otherwise, add the closest valid neighbor. ---*/ + + su2double min_dist2 = std::numeric_limits::max(); + auto next_Point = iPoint; + const auto* iCoord = geometry->nodes->GetCoord(iPoint); + + for (const auto jPoint : geometry->nodes->GetPoints(iPoint)) { + if (!LineletBool[jPoint] && geometry->nodes->GetDomain(jPoint)) { + const auto* jCoord = geometry->nodes->GetCoord(jPoint); + const su2double d2 = GeometryToolbox::SquaredDistance(nDim, iCoord, jCoord); + su2double cosTheta = 1; + if (Linelet.size() > 1) { + const auto* kCoord = geometry->nodes->GetCoord(Linelet[Linelet.size() - 2]); + su2double dij[3] = {0.0}, dki[3] = {0.0}; + GeometryToolbox::Distance(nDim, iCoord, kCoord, dki); + GeometryToolbox::Distance(nDim, jCoord, iCoord, dij); + cosTheta = GeometryToolbox::DotProduct(3, dki, dij) / sqrt(d2 * GeometryToolbox::SquaredNorm(nDim, dki)); + } + if (d2 < min_dist2 && cosTheta > 0.7071) { + next_Point = jPoint; + min_dist2 = d2; + } } } - /*--- We have arrived to an isotropic zone ---*/ + /*--- Did not find a suitable point. ---*/ + if (next_Point == iPoint) break; - if (counter > 1) add_point = false; - - /*--- Add a typical point to the linelet, no leading edge ---*/ - - if (add_point) { - LineletPoint[iLinelet].push_back(next_Point); - check_Point[next_Point] = false; - index_Point++; - } - - } while (add_point); - iLinelet++; - } while (iLinelet < nLinelet); - - /*--- Identify the points that belong to a Linelet ---*/ - - for (iLinelet = 0; iLinelet < nLinelet; iLinelet++) { - for (iElem = 0; iElem < LineletPoint[iLinelet].size(); iElem++) { - iPoint = LineletPoint[iLinelet][iElem]; - LineletBool[iPoint] = true; + Linelet.push_back(next_Point); + LineletBool[next_Point] = true; } } - /*--- Identify the maximum number of elements in a Linelet ---*/ - - max_nElem = LineletPoint[0].size(); - for (iLinelet = 1; iLinelet < nLinelet; iLinelet++) - if (LineletPoint[iLinelet].size() > max_nElem) - max_nElem = LineletPoint[iLinelet].size(); - } - /*--- The domain doesn't have well defined linelets ---*/ - - else { - - max_nElem = 0; - + unsigned long max_nPoints = 0, sum_nPoints = 0; + for (const auto& Linelet : LineletPoint) { + max_nPoints = max(max_nPoints, Linelet.size()); + sum_nPoints += Linelet.size(); } - /*--- Screen output ---*/ - - Local_nPoints = 0; - for (iLinelet = 0; iLinelet < nLinelet; iLinelet++) { - Local_nPoints += LineletPoint[iLinelet].size(); - } - Local_nLineLets = nLinelet; + /*--- Memory allocation for the local max size. --*/ - SU2_MPI::Allreduce(&Local_nPoints, &Global_nPoints, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); - SU2_MPI::Allreduce(&Local_nLineLets, &Global_nLineLets, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); + LineletUpper.resize(omp_get_max_threads(), vector(max_nPoints, nullptr)); + LineletVector.resize(omp_get_max_threads(), vector(max_nPoints * nVar, 0.0)); + LineletInvDiag.resize(omp_get_max_threads(), vector(max_nPoints * nVar * nVar, 0.0)); - /*--- Memory allocation --*/ + /*--- Average linelet size over all ranks. ---*/ - LineletUpper.resize(omp_get_max_threads(), vector(max_nElem,nullptr)); - LineletVector.resize(omp_get_max_threads(), vector(max_nElem*nVar,0.0)); - LineletInvDiag.resize(omp_get_max_threads(), vector(max_nElem*nVar*nVar,0.0)); + unsigned long Global_nPoints, Global_nLineLets; + SU2_MPI::Allreduce(&sum_nPoints, &Global_nPoints, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); + SU2_MPI::Allreduce(&nLinelet, &Global_nLineLets, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); - return (unsigned long)(passivedouble(Global_nPoints) / Global_nLineLets); + return static_cast(passivedouble(Global_nPoints) / Global_nLineLets); } diff --git a/SU2_CFD/include/output/CFVMOutput.hpp b/SU2_CFD/include/output/CFVMOutput.hpp index 70ed557b406..beb28b49baf 100644 --- a/SU2_CFD/include/output/CFVMOutput.hpp +++ b/SU2_CFD/include/output/CFVMOutput.hpp @@ -27,10 +27,13 @@ #pragma once +#include #include "COutput.hpp" class CFVMOutput : public COutput{ protected: + std::vector lineletPointColor; + /*! * \brief Constructor of the class */ @@ -60,5 +63,6 @@ class CFVMOutput : public COutput{ /*! * \brief Load common FVM outputs. */ - void LoadCommonFVMOutputs(const CConfig* config, const CGeometry* geometry, unsigned long iPoint); + void LoadCommonFVMOutputs(const CConfig* config, const CGeometry* geometry, const CSolver* solver, + unsigned long iPoint); }; diff --git a/SU2_CFD/src/output/CFVMOutput.cpp b/SU2_CFD/src/output/CFVMOutput.cpp index 29e628ce99c..920af60b67d 100644 --- a/SU2_CFD/src/output/CFVMOutput.cpp +++ b/SU2_CFD/src/output/CFVMOutput.cpp @@ -26,6 +26,10 @@ */ #include "../../include/output/CFVMOutput.hpp" +#include +#include +#include +#include "../../include/solvers/CSolver.hpp" #include "../../../Common/include/geometry/CGeometry.hpp" @@ -56,9 +60,12 @@ void CFVMOutput::AddCommonFVMOutputs(const CConfig *config) { name << "Coarse_Grid_" << iMesh; AddVolumeOutput(key.str(), name.str(), "MULTIGRID", "Coarse mesh"); } + + AddVolumeOutput("LINELET", "Linelet", "LINELET", "Mesh lines built for the line implicit preconditioner"); } -void CFVMOutput::LoadCommonFVMOutputs(const CConfig* config, const CGeometry* geometry, unsigned long iPoint) { +void CFVMOutput::LoadCommonFVMOutputs(const CConfig* config, const CGeometry* geometry, const CSolver* solver, + unsigned long iPoint) { // Mesh quality metrics, computed in CPhysicalGeometry::ComputeMeshQualityStatistics. if (config->GetWrt_MeshQuality()) { @@ -76,4 +83,49 @@ void CFVMOutput::LoadCommonFVMOutputs(const CConfig* config, const CGeometry* ge SetVolumeOutputValue(key.str(), iPoint, geometry->CoarseGridColor(iPoint,iMesh-1)); } } + + if (config->GetKind_Linear_Solver_Prec() == LINELET) { + /*--- Lazy build. ---*/ + if (lineletPointColor.empty()) { + /*--- First color the lines based on connections between then. ---*/ + const auto& linelets = solver->Jacobian.GetLinelets(); + const auto nLine = linelets.size(); + + /*--- Adjacency between lines, computed from point neighbors. ---*/ + std::vector> adjacency(nLine); + for (auto iLine = 0ul; iLine < nLine; ++iLine) { + std::unordered_set neighbors; + for (const auto iPoint : linelets[iLine]) { + neighbors.insert(iPoint); + for (const auto jPoint : geometry->nodes->GetPoints(iPoint)) { + neighbors.insert(jPoint); + } + } + adjacency[iLine].reserve(neighbors.size()); + for (const auto iPoint : neighbors) { + adjacency[iLine].push_back(iPoint); + } + } + + std::vector lineletColor; + const unsigned long nColors = colorSparsePattern::max()>( + CCompressedSparsePatternUL(adjacency), 1, true, &lineletColor).getOuterSize(); + + /*--- Offset colors to avoid coloring across ranks. ---*/ + std::vector allNColors(size); + SU2_MPI::Allgather(&nColors, 1, MPI_UNSIGNED_LONG, allNColors.data(), 1, MPI_UNSIGNED_LONG, SU2_MPI::GetComm()); + unsigned long offset = 0; + for (int i = 0; i < rank; ++i) offset += allNColors[i]; + + /*--- Finally, transfer colors to points. ---*/ + lineletPointColor.resize(geometry->GetnPoint(), 0); + for (auto iLine = 0ul; iLine < nLine; ++iLine) { + for (const auto iPoint : linelets[iLine]) { + lineletPointColor[iPoint] = 1 + offset + lineletColor[iLine]; + } + } + } + + SetVolumeOutputValue("LINELET", iPoint, lineletPointColor[iPoint]); + } } diff --git a/SU2_CFD/src/output/CFlowCompOutput.cpp b/SU2_CFD/src/output/CFlowCompOutput.cpp index f3005aa6e81..7469d506cb1 100644 --- a/SU2_CFD/src/output/CFlowCompOutput.cpp +++ b/SU2_CFD/src/output/CFlowCompOutput.cpp @@ -347,7 +347,7 @@ void CFlowCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolv LoadVolumeData_Scalar(config, solver, geometry, iPoint); - LoadCommonFVMOutputs(config, geometry, iPoint); + LoadCommonFVMOutputs(config, geometry, solver[FLOW_SOL], iPoint); if (config->GetTime_Domain()){ LoadTimeAveragedData(iPoint, Node_Flow); diff --git a/SU2_CFD/src/output/CFlowIncOutput.cpp b/SU2_CFD/src/output/CFlowIncOutput.cpp index 6223fb14dea..ea59c581dfd 100644 --- a/SU2_CFD/src/output/CFlowIncOutput.cpp +++ b/SU2_CFD/src/output/CFlowIncOutput.cpp @@ -437,7 +437,7 @@ void CFlowIncOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolve SetVolumeOutputValue("RECOVERED_TEMPERATURE", iPoint, Node_Flow->GetStreamwise_Periodic_RecoveredTemperature(iPoint)); } - LoadCommonFVMOutputs(config, geometry, iPoint); + LoadCommonFVMOutputs(config, geometry, solver[FLOW_SOL], iPoint); } bool CFlowIncOutput::SetInit_Residuals(const CConfig *config){ diff --git a/SU2_CFD/src/output/CHeatOutput.cpp b/SU2_CFD/src/output/CHeatOutput.cpp index 10216bbc55f..eab40b5ff73 100644 --- a/SU2_CFD/src/output/CHeatOutput.cpp +++ b/SU2_CFD/src/output/CHeatOutput.cpp @@ -144,7 +144,7 @@ void CHeatOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolver * // Residuals SetVolumeOutputValue("RES_TEMPERATURE", iPoint, solver[HEAT_SOL]->LinSysRes(iPoint, 0)); - LoadCommonFVMOutputs(config, geometry, iPoint); + LoadCommonFVMOutputs(config, geometry, solver[HEAT_SOL], iPoint); } void CHeatOutput::LoadSurfaceData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint, unsigned short iMarker, unsigned long iVertex){ diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp index 9516a08b67e..869ba06b0b3 100644 --- a/SU2_CFD/src/output/CNEMOCompOutput.cpp +++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp @@ -362,7 +362,7 @@ void CNEMOCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolv LoadVolumeData_Scalar(config, solver, geometry, iPoint); - LoadCommonFVMOutputs(config, geometry, iPoint); + LoadCommonFVMOutputs(config, geometry, solver[FLOW_SOL], iPoint); if (config->GetTime_Domain()) { LoadTimeAveragedData(iPoint, Node_Flow); From dbc11ad8a6cc5deedea58426889e8224d7f74ecc Mon Sep 17 00:00:00 2001 From: TrellixVulnTeam Date: Sun, 18 Dec 2022 08:14:42 +0000 Subject: [PATCH 019/179] Adding tarfile member sanitization to extractall() --- meson_scripts/extract_file.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/meson_scripts/extract_file.py b/meson_scripts/extract_file.py index c0000ae09b5..f5d1bcef546 100644 --- a/meson_scripts/extract_file.py +++ b/meson_scripts/extract_file.py @@ -22,7 +22,29 @@ def extract_tar(fn: Path, outpath: Path, overwrite: bool = False): if not fn.is_file(): raise FileNotFoundError(fn) # keep this, tarfile gives confusing error with tarfile.open(fn) as z: - z.extractall(str(outpath)) + + import os + + def is_within_directory(directory, target): + + abs_directory = os.path.abspath(directory) + abs_target = os.path.abspath(target) + + prefix = os.path.commonprefix([abs_directory, abs_target]) + + return prefix == abs_directory + + def safe_extract(tar, path=".", members=None, *, numeric_owner=False): + + for member in tar.getmembers(): + member_path = os.path.join(path, member.name) + if not is_within_directory(path, member_path): + raise Exception("Attempted Path Traversal in Tar File") + + tar.extractall(path, members, numeric_owner=numeric_owner) + + + safe_extract(z, str(outpath)) if __name__ == "__main__": From e4210b3d59ea0edae6c3f07b8f1ade023667419e Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Mon, 19 Dec 2022 11:22:54 +0100 Subject: [PATCH 020/179] Use contex manager to write file --- SU2_PY/OptimalPropeller.py | 50 +++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index 96c227b2b62..1b92dbb0476 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -47,6 +47,7 @@ ########################## ### Functions ### ########################## + def a_distribution (w0, Chi): """Function used to compute the value of the axial interference factor using the inviscid theory of the optimal propeller.""" @@ -75,32 +76,31 @@ def write_su2_config_file(): def write_external_file(CTrs, CPrs): """Function to write the actuator disk input data file""" - file = open('ActuatorDisk.dat', 'w') - file.write('# Automatic generated actuator disk input data file using the Optimal Propeller code.\n') - file.write('# Data file needed for the actuator disk VARIABLE_LOAD type.\n') - file.write('# The load distribution is obtained using the inviscid theory of the optimal propeller\n') - file.write('# using global data.\n') - file.write('#\n') - file.write('# The first three lines must be filled.\n') - file.write('# An example of this file can be found in the TestCases directory.\n') - file.write('#\n') - file.write('# Author: Ettore Saetta, Lorenzo Russo, Renato Tognaccini.\n') - file.write('# Theoretical and Applied Aerodynamic Research Group (TAARG),\n') - file.write('# University of Naples Federico II\n') - file.write('# -------------------------------------------------------------------------------------\n') - file.write('#\n') - file.write('MARKER_ACTDISK= \n') - file.write('CENTER= \n') - file.write('AXIS= \n') - file.write('RADIUS= '+str(R)+'\n') - file.write('ADV_RATIO= '+str(J)+'\n') - file.write('NROW= '+str(stations)+'\n') - file.write('# rs=r/R dCT/drs dCP/drs dCR/drs\n') - - for i in range(0, stations): - file.write(f' {r[i]:.7f} {CTrs[i]:.7f} {CPrs[i]:.7f} 0.0\n') + with open('ActuatorDisk.dat', 'w') as f: + f.write('# Automatic generated actuator disk input data file using the Optimal Propeller code.\n') + f.write('# Data file needed for the actuator disk VARIABLE_LOAD type.\n') + f.write('# The load distribution is obtained using the inviscid theory of the optimal propeller\n') + f.write('# using global data.\n') + f.write('#\n') + f.write('# The first three lines must be filled.\n') + f.write('# An example of this file can be found in the TestCases directory.\n') + f.write('#\n') + f.write('# Author: Ettore Saetta, Lorenzo Russo, Renato Tognaccini.\n') + f.write('# Theoretical and Applied Aerodynamic Research Group (TAARG),\n') + f.write('# University of Naples Federico II\n') + f.write('# -------------------------------------------------------------------------------------\n') + f.write('#\n') + f.write('MARKER_ACTDISK= \n') + f.write('CENTER= \n') + f.write('AXIS= \n') + f.write('RADIUS= '+str(R)+'\n') + f.write('ADV_RATIO= '+str(J)+'\n') + f.write('NROW= '+str(stations)+'\n') + f.write('# rs=r/R dCT/drs dCP/drs dCR/drs\n') + + for i in range(0, stations): + f.write(f' {r[i]:.7f} {CTrs[i]:.7f} {CPrs[i]:.7f} 0.0\n') - file.close() ########################## ### Main ### From 041d55eccaa7d6835e798b743e21824dd10fbf48 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Mon, 19 Dec 2022 11:25:15 +0100 Subject: [PATCH 021/179] Use new lines directly in print --- SU2_PY/OptimalPropeller.py | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index 1b92dbb0476..c137e9fbd57 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -105,7 +105,7 @@ def write_external_file(CTrs, CPrs): ########################## ### Main ### ########################## -# Screen output + print('------------------ Optimal Propeller vsn 7.0.6 ------------------') print('| Computation of the optimal dCT/dr and dCP/dr distributions. |') print('| Based on the inviscid theory of the optimal propeller. |') @@ -118,14 +118,12 @@ def write_external_file(CTrs, CPrs): print('| Theoretical and Applied Aerodynamic Research Group (TAARG), |') print('| University of Naples Federico II. |') print('-----------------------------------------------------------------') - print('') print('Warning: present version requires input in SI units.') print('') # Number of radial stations in input. stations = int(input('Number of radial stations: ')) -print('') # Resize the vectors using the number of radial stations. r = np.empty(stations) @@ -137,33 +135,26 @@ def write_external_file(CTrs, CPrs): ap_optimal = np.empty(stations) # Thrust coefficient in input. -Ct = float(input('CT (Renard definition): ')) -print('') +Ct = float(input('\nCT (Renard definition): ')) # Propeller radius in input. -R = float(input('R (propeller radius [m]): ')) -print('') +R = float(input('\nR (propeller radius [m]): ')) # Hub radius in input. -rhub = float(input('r_hub (hub radius [m]): ')) -print('') +rhub = float(input('\nr_hub (hub radius [m]): ')) # Advance ratio in input. -J = float(input('J (advance ratio): ')) -print('') +J = float(input('\nJ (advance ratio): ')) # Freestream velocity in input. -Vinf = float(input('Vinf (m/s): ')) -print('') +Vinf = float(input('\nVinf (m/s): ')) # Asking if the tip loss Prandtl correction function needs to be used. -prandtl_input = input('Using tip loss Prandtl correction? (/n): ') -print('') +prandtl_input = input('\nUsing tip loss Prandtl correction? (/n): ') if prandtl_input.lower() in ['yes', 'y', '']: # Number of propeller blades in input. - N = int(input('N (number of propeller blades): ')) - print('') + N = int(input('\nN (number of propeller blades): ')) prandtl_correction = True else: prandtl_correction = False @@ -216,7 +207,7 @@ def write_external_file(CTrs, CPrs): # Compute the error with respect to the thrust coefficient given in input. err_0 = Ct_0 - Ct -print("\nCONVERGENCE HISTORY:") +print("\n\nCONVERGENCE HISTORY:") print(err_0) # Computation of the second try Lagrange moltiplicator. From 1847e54117e833b3d7eb8875303bf8f9bf8e5a59 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Mon, 19 Dec 2022 11:46:18 +0100 Subject: [PATCH 022/179] simplification and linting --- SU2_PY/OptimalPropeller.py | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index c137e9fbd57..cdccbf5023d 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -51,8 +51,8 @@ def a_distribution (w0, Chi): """Function used to compute the value of the axial interference factor using the inviscid theory of the optimal propeller.""" - a = (w0*pow(Chi,2))/(pow(Chi,2)+pow((1+(w0)),2)) - return a + return (w0*pow(Chi,2))/(pow(Chi,2)+pow((1+(w0)),2)) + def write_su2_config_file(): """Write the actuator disk configuration file""" @@ -73,6 +73,7 @@ def write_su2_config_file(): print('SU2 file generated!') + def write_external_file(CTrs, CPrs): """Function to write the actuator disk input data file""" @@ -160,20 +161,20 @@ def write_external_file(CTrs, CPrs): prandtl_correction = False # Computation of the non-dimensional hub radius. -rs_hub = rhub/R +rs_hub = rhub / R # Computation of the non-dimensional radial stations. -for i in range(1,stations+1): - r[i-1]=i/float(stations) +for i in range(1, stations+1): + r[i-1] = i / float(stations) if r[i-1] <= rs_hub: - i_hub = i-1 + i_hub = i - 1 # Computation of the propeller diameter. -D = 2*R +D = 2 * R # Computation of the propeller angular velocity (Rounds/s). -n = Vinf/(D*J) +n = Vinf / (D*J) # Computation of the propeller angular velocity (Rad/s). -Omega = n*2*math.pi +Omega = n * 2 * math.pi # Computation of the tip loss Prandtl correction function F. if prandtl_correction: @@ -235,7 +236,6 @@ def write_external_file(CTrs, CPrs): iteration = 2 err_new = err_old while math.fabs(err_new) >= eps and err_0 != err_old: - iteration += 1 # Computation of the new Lagrange moltiplicator value based on the false position method. @@ -253,7 +253,6 @@ def write_external_file(CTrs, CPrs): # Computation of the total thrust coefficient error with respect to the input value. err_new = Ct_new - Ct - print(err_new) # Updating the stored values for the next iteration. @@ -291,10 +290,10 @@ def write_external_file(CTrs, CPrs): T = sum(2*math.pi*r*math.pow(R,2)*h*DeltaP) # Computation of the thrust coefficient using T. -Ct_Renard = T/(math.pow(n,2)*math.pow(D,4)) +Ct_Renard = T / (math.pow(n,2)*math.pow(D,4)) # Computation of the efficiency. -eta = J*(Ct_optimal/Cp) +eta = J * (Ct_optimal/Cp) # Screen output used to check that everything worked correcty. print('%%%%%%%%%%%%%%%%%%%%%%%%% CHECK OUTPUT VALUES %%%%%%%%%%%%%%%%%%%%%%%%%') @@ -321,7 +320,7 @@ def write_external_file(CTrs, CPrs): ########################## # Automatically plot the computed propeller performance. -f1 = pl.figure(1) +pl.figure(1) pl.plot(r, dCt_optimal, 'r', markersize=4, label='$\\frac{dCT}{d\overline{r}}$') pl.plot(r, dCp, 'k', markersize=4, label='$\\frac{dCP}{d\overline{r}}$') pl.grid(True) @@ -330,7 +329,7 @@ def write_external_file(CTrs, CPrs): pl.ylabel('') pl.title("Load Distribution") -f1 = pl.figure(2) +pl.figure(2) pl.plot(chi, a_optimal, 'r', markersize=4, label='$a$') pl.plot(chi, ap_optimal, 'k', markersize=4, label='$a^1$') pl.grid(True) @@ -340,7 +339,7 @@ def write_external_file(CTrs, CPrs): pl.title("Interference Factors") if prandtl_correction: - f1 = pl.figure(3) + pl.figure(3) pl.plot(r, F, 'k', markersize=4) pl.grid(True) pl.xlabel('$\overline{r}$') From a95cf4a326684b502683c646c10f6ed5d43bfd81 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Tue, 20 Dec 2022 11:55:04 +0100 Subject: [PATCH 023/179] fix sum from i_hub --- SU2_PY/OptimalPropeller.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index cdccbf5023d..d4a32c150f2 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -204,7 +204,7 @@ def write_external_file(CTrs, CPrs): dCt_0 = math.pi*J**2*r*(1+a_0)*a_0 # Computation of the total thrust coefficient. -Ct_0 = sum(h*dCt_0) +Ct_0 = sum(h*dCt_0[i_hub:]) # Compute the error with respect to the thrust coefficient given in input. err_0 = Ct_0 - Ct @@ -222,7 +222,7 @@ def write_external_file(CTrs, CPrs): dCt_old = math.pi*J**2*r*(1+a_old)*a_old # Computation of the total thrust coefficient. -Ct_old = sum(h*dCt_old) +Ct_old = sum(h*dCt_old[i_hub:]) # Compute the error with respect to the thrust coefficient given in input. err_old = Ct_old - Ct @@ -249,7 +249,7 @@ def write_external_file(CTrs, CPrs): dCt_new = math.pi*J**2*r*(1+a_new)*a_new # Computation of the new total thrust coefficient. - Ct_new = sum(h*dCt_new) + Ct_new = sum(h*dCt_new[i_hub:]) # Computation of the total thrust coefficient error with respect to the input value. err_new = Ct_new - Ct @@ -278,16 +278,16 @@ def write_external_file(CTrs, CPrs): ### Check Results ### ########################## # Computation of the total power coefficient. -Cp = sum(h*dCp) +Cp = sum(h*dCp[i_hub:]) # Computation of the total thrust coefficient. -Ct_optimal = sum(h*dCt_optimal) +Ct_optimal = sum(h*dCt_optimal[i_hub:]) # Computation of the static pressure jump distribution. DeltaP = dCt_optimal*(2*Vinf**2)/(J**2*math.pi*r) # Computation of the thrust over density (T) using the static pressure jump distribution. -T = sum(2*math.pi*r*math.pow(R,2)*h*DeltaP) +T = sum(2*math.pi*r[i_hub:]*math.pow(R,2)*h*DeltaP[i_hub:]) # Computation of the thrust coefficient using T. Ct_Renard = T / (math.pow(n,2)*math.pow(D,4)) From 967bf2ab4a974bfda4532c994ed3c478480aba75 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 20 Dec 2022 12:32:07 +0000 Subject: [PATCH 024/179] checkpoint --- Common/src/linear_algebra/CSysMatrix.cpp | 183 ++++++++++++++++++++--- 1 file changed, 164 insertions(+), 19 deletions(-) diff --git a/Common/src/linear_algebra/CSysMatrix.cpp b/Common/src/linear_algebra/CSysMatrix.cpp index 6fe0a650be1..02e7183d2a3 100644 --- a/Common/src/linear_algebra/CSysMatrix.cpp +++ b/Common/src/linear_algebra/CSysMatrix.cpp @@ -1048,22 +1048,16 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVector& lineletUpper = LineletUpper[thread]; vector& lineletInvDiag = LineletInvDiag[thread]; vector& lineletVector = LineletVector[thread]; @@ -1073,7 +1067,7 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVector::ComputeLineletPreconditioner(const CSysVector 0; --iElem) { + const auto* inv_dm1 = &lineletInvDiag[(iElem-1)*nVar*nVar]; + MatrixVectorProduct(lineletUpper[iElem-1], &lineletVector[iElem*nVar], aux_vector); + VectorSubtraction(&lineletVector[(iElem-1)*nVar], aux_vector, aux_vector); + MatrixVectorProduct(inv_dm1, aux_vector, &lineletVector[(iElem-1)*nVar]); + } + + /*--- Copy results to product vector ---*/ + + for (auto iElem = 0ul; iElem < nElem; iElem++) { + const auto iPoint = LineletPoint[iLinelet][iElem]; + for (auto iVar = 0ul; iVar < nVar; iVar++) + prod[iPoint*nVar+iVar] = lineletVector[iElem*nVar+iVar]; + } + + } + END_SU2_OMP_FOR + + /*--- Use the normal LU-SGS lower triangular solve for non-linelet nodes. ---*/ + + /*--- OpenMP Parallelization ---*/ + SU2_OMP_FOR_STAT(1) + for(unsigned long thread = 0; thread < omp_num_parts; ++thread) + { + const auto begin = omp_partitions[thread]; + const auto end = omp_partitions[thread+1]; + if (begin == end) continue; + + ScalarType low_prod[MAXNVAR]; + + for (auto iPoint = begin; iPoint < end; ++iPoint) { + if (LineletBool[iPoint]) continue; + const auto idx = iPoint*nVar; + LowerProduct(prod, iPoint, begin, low_prod); // Compute L.x* + VectorSubtraction(&vec[idx], low_prod, &prod[idx]); // Compute y = b - L.x* + Gauss_Elimination(iPoint, &prod[idx]); // Solve D.x* = y + } + } + END_SU2_OMP_FOR + + /*--- MPI Parallelization ---*/ + + CSysMatrixComms::Initiate(prod, geometry, config); + CSysMatrixComms::Complete(prod, geometry, config); + + /*--- Second part of the symmetric iteration: (D+U).x_(1) = D.x* ---*/ + + SU2_OMP_FOR_STAT(1) + for(unsigned long thread = 0; thread < omp_num_parts; ++thread) + { + const auto begin = omp_partitions[thread]; + const auto row_end = omp_partitions[thread+1]; + if (begin == row_end) continue; + + const auto col_end = (row_end==nPointDomain)? nPoint : row_end; + + ScalarType up_prod[MAXNVAR], dia_prod[MAXNVAR]; + + for (auto iPoint = row_end; iPoint > begin;) { + iPoint--; // because of unsigned type + if (LineletBool[iPoint]) continue; + const auto idx = iPoint*nVar; + DiagonalProduct(prod, iPoint, dia_prod); // Compute D.x* + UpperProduct(prod, iPoint, col_end, up_prod); // Compute U.x_(n+1) + VectorSubtraction(dia_prod, up_prod, &prod[idx]); // Compute y = D.x*-U.x_(n+1) + Gauss_Elimination(iPoint, &prod[idx]); // Solve D.x_(n+1) = y + } + } + END_SU2_OMP_FOR + + /*--- Linelets are solved last for the second part of LU-SGS ---*/ + + SU2_OMP_FOR_DYN(1) + for (auto iLinelet = 0ul; iLinelet < nLinelet; iLinelet++) { + + /*--- Get references to the working vectors allocated for this thread. ---*/ + + const int thread = omp_get_thread_num(); + vector& lineletUpper = LineletUpper[thread]; + vector& lineletInvDiag = LineletInvDiag[thread]; + vector& lineletVector = LineletVector[thread]; + + /*--- Initialize the solution vector with the D.x* - U.x_(1), + * where U excludes any linelet points. ---*/ + + const auto nElem = LineletPoint[iLinelet].size(); + + for (auto iElem = 0ul; iElem < nElem; iElem++) { + const auto iPoint = LineletPoint[iLinelet][iElem]; + + ScalarType up_prod[MAXNVAR]; + DiagonalProduct(prod, iPoint, up_prod); + + for (auto index = dia_ptr[iPoint]+1; index < row_ptr[iPoint+1]; index++) { + const auto jPoint = col_ind[index]; + if (LineletBool[jPoint]) continue; + MatrixVectorProductSub(&matrix[index*nVar*nVar], &prod[jPoint*nVar], up_prod); + } + + for (auto iVar = 0ul; iVar < nVar; iVar++) + lineletVector[iElem*nVar+iVar] = up_prod[iVar]; + } + + /*--- Forward pass, eliminate lower entries, modify diagonal and rhs. ---*/ + + /*--- Small temporaries. ---*/ + ScalarType aux_block[MAXNVAR*MAXNVAR], aux_vector[MAXNVAR]; + + /*--- Copy diagonal block for first point in this linelet. ---*/ + MatrixCopy(&matrix[dia_ptr[LineletPoint[iLinelet][0]]*nVar*nVar], + lineletInvDiag.data()); + + for (auto iElem = 1ul; iElem < nElem; iElem++) { + + /*--- Setup pointers to required matrices and vectors ---*/ + const auto im1Point = LineletPoint[iLinelet][iElem-1]; + const auto iPoint = LineletPoint[iLinelet][iElem]; + + const auto* d = &matrix[dia_ptr[iPoint]*nVar*nVar]; + const auto* l = GetBlock(iPoint, im1Point); + const auto* u = GetBlock(im1Point, iPoint); + + auto* inv_dm1 = &lineletInvDiag[(iElem-1)*nVar*nVar]; + auto* d_prime = &lineletInvDiag[iElem*nVar*nVar]; + auto* b_prime = &lineletVector[iElem*nVar]; /*--- Invert previous modified diagonal ---*/ MatrixCopy(inv_dm1, aux_block); @@ -1136,7 +1281,7 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVector Date: Tue, 20 Dec 2022 12:33:27 +0000 Subject: [PATCH 025/179] rename release-drafter --- .github/{release-drafter.yml => release.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{release-drafter.yml => release.yml} (100%) diff --git a/.github/release-drafter.yml b/.github/release.yml similarity index 100% rename from .github/release-drafter.yml rename to .github/release.yml From b88a6bfd69cce17cd288b59eafeab2d310d81ced Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 20 Dec 2022 12:43:00 +0000 Subject: [PATCH 026/179] change syntax --- .github/release.yml | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/.github/release.yml b/.github/release.yml index c5f256b220e..051c287400f 100644 --- a/.github/release.yml +++ b/.github/release.yml @@ -1,20 +1,17 @@ -name-template: 'v$NEXT_PATCH_VERSION' -tag-template: 'v$NEXT_PATCH_VERSION' -categories: - - title: ':rocket: Experimental Features' +# .github/release.yml + +changelog: + exclude: labels: - - 'changelog:feature' - - title: ':pill: Bug Fixes' - labels: - - 'changelog:fix' - - title: ':wrench: Maintenance' - labels: - - 'changelog:chore' -change-template: '- $TITLE @$AUTHOR (#$NUMBER)' -branches: - - develop -exclude-labels: - - 'changelog:none' -template: | - ## Changes - $CHANGES + - 'changelog:none' + categories: + - title: ':rocket: Experimental Features' + labels: + - 'changelog:feature' + - title: ':pill: Bug Fixes' + labels: + - 'changelog:fix' + - title: ':wrench: Maintenance' + labels: + - 'changelog:chore' + From 3d330658e451359c3af685190a352f3ad540e7b3 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 20 Dec 2022 12:48:44 +0000 Subject: [PATCH 027/179] untagged --- .github/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/release.yml b/.github/release.yml index 051c287400f..e05703e14d0 100644 --- a/.github/release.yml +++ b/.github/release.yml @@ -14,4 +14,6 @@ changelog: - title: ':wrench: Maintenance' labels: - 'changelog:chore' + - title: 'Other Changes' + - "*" From 0d589625c3131f861fed644d260c93420911b6ec Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 20 Dec 2022 12:50:56 +0000 Subject: [PATCH 028/179] fix --- .github/release.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/release.yml b/.github/release.yml index e05703e14d0..4ec929fc17c 100644 --- a/.github/release.yml +++ b/.github/release.yml @@ -15,5 +15,6 @@ changelog: labels: - 'changelog:chore' - title: 'Other Changes' + labels: - "*" From c242277571d1bb419bffb6289c0f30818d23fa30 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 20 Dec 2022 14:12:38 +0000 Subject: [PATCH 029/179] re-add release-drafter.yml alongside release.yml --- .github/release-drafter.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/release-drafter.yml diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 00000000000..c5f256b220e --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,20 @@ +name-template: 'v$NEXT_PATCH_VERSION' +tag-template: 'v$NEXT_PATCH_VERSION' +categories: + - title: ':rocket: Experimental Features' + labels: + - 'changelog:feature' + - title: ':pill: Bug Fixes' + labels: + - 'changelog:fix' + - title: ':wrench: Maintenance' + labels: + - 'changelog:chore' +change-template: '- $TITLE @$AUTHOR (#$NUMBER)' +branches: + - develop +exclude-labels: + - 'changelog:none' +template: | + ## Changes + $CHANGES From f8edce043ffed91e3b8db0c365e057f9f9a8dd5d Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Thu, 22 Dec 2022 18:45:21 +0000 Subject: [PATCH 030/179] fix roe kappa --- SU2_CFD/include/numerics_simd/flow/convection/roe.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp b/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp index 9254a822c8b..99cff97f445 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp @@ -168,7 +168,7 @@ class CRoeBase : public Base { VectorDbl flux; for (size_t iVar = 0; iVar < nVar; ++iVar) { - flux(iVar) = kappa * (flux_i(iVar) + flux_j(iVar)); + flux(iVar) = 0.5 * (flux_i(iVar) + flux_j(iVar)); } MatrixDbl jac_i, jac_j; From 9584cdc2fb323cc3fb1c65c0647e212c875595f9 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Thu, 22 Dec 2022 19:03:40 +0000 Subject: [PATCH 031/179] fix time step computation --- SU2_CFD/src/solvers/CHeatSolver.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index de35e542901..98601976e96 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -1107,9 +1107,8 @@ void CHeatSolver::SetTime_Step(CGeometry *geometry, CSolver **solver_container, } minDt = min(minDt, local_delta_time); maxDt = max(maxDt, local_delta_time); - } else { - nodes->SetDelta_Time(iPoint, 0.0); } + nodes->SetDelta_Time(iPoint, local_delta_time); } END_SU2_OMP_FOR /*--- Min/max over threads. ---*/ From 213a2e44c4b12d46b710125f6a3bc1e6f99369fa Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Fri, 23 Dec 2022 15:43:35 +0000 Subject: [PATCH 032/179] Update SU2_CFD/src/solvers/CHeatSolver.cpp --- SU2_CFD/src/solvers/CHeatSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 98601976e96..22c20e4e3eb 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -30,7 +30,7 @@ #include "../../../Common/include/toolboxes/geometry_toolbox.hpp" #include "../../include/solvers/CScalarSolver.inl" -/*--- Explicit instantiation of the parent class of CTurbSolver. ---*/ +/*--- Explicit instantiation of the parent class of CHeatSolver. ---*/ template class CScalarSolver; CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) From 3e6316e0a09c31f52a0984cd07e2009c5e9a9571 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Fri, 23 Dec 2022 16:10:37 +0000 Subject: [PATCH 033/179] skip CoolProp for non x86 --- meson.build | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/meson.build b/meson.build index 4927e47a416..883383a7741 100644 --- a/meson.build +++ b/meson.build @@ -237,18 +237,22 @@ if get_option('enable-mpp') endif if get_option('enable-coolprop') - cmake = import('cmake') - cmake_opts = cmake.subproject_options() - cmake_opts.set_override_option('warning_level', '0') - cmake_opts.add_cmake_defines({ - 'COOLPROP_STATIC_LIBRARY': true, - 'CMAKE_MAKE_PROGRAM': meson.source_root() + '/ninja', - 'CMAKE_POSITION_INDEPENDENT_CODE': 'ON' - }) - coolprop_subproj = cmake.subproject('CoolProp', options: cmake_opts) - coolprop_dep = coolprop_subproj.dependency('CoolProp') - su2_deps += coolprop_dep - su2_cpp_args += '-DHAVE_COOLPROP' + if build_machine.cpu_family() == 'x86' or build_machine.cpu_family() == 'x86_64' + cmake = import('cmake') + cmake_opts = cmake.subproject_options() + cmake_opts.set_override_option('warning_level', '0') + cmake_opts.add_cmake_defines({ + 'COOLPROP_STATIC_LIBRARY': true, + 'CMAKE_MAKE_PROGRAM': meson.source_root() + '/ninja', + 'CMAKE_POSITION_INDEPENDENT_CODE': 'ON' + }) + coolprop_subproj = cmake.subproject('CoolProp', options: cmake_opts) + coolprop_dep = coolprop_subproj.dependency('CoolProp') + su2_deps += coolprop_dep + su2_cpp_args += '-DHAVE_COOLPROP' + else + message('WARNING: CPU is not x86, skipping CoolProp dependency.') + endif endif From 11dc260b48d35167f77f1bb4cc6cab55ca97cd47 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sat, 24 Dec 2022 08:12:37 +0530 Subject: [PATCH 034/179] [Feature / Option] Vorticity Confinement (VC) technique to reduce numerical diffusion --- Common/include/CConfig.hpp | 14 ++ Common/src/CConfig.cpp | 4 + SU2_CFD/include/numerics/CNumerics.hpp | 15 +++ .../include/numerics/flow/flow_sources.hpp | 24 ++++ SU2_CFD/src/drivers/CDriver.cpp | 6 + SU2_CFD/src/numerics/flow/flow_sources.cpp | 124 ++++++++++++++++++ SU2_CFD/src/solvers/CEulerSolver.cpp | 69 ++++++++++ SU2_CFD/src/variables/CEulerVariable.cpp | 6 + TestCases/rans/oneram6/turb_ONERAM6.cfg | 7 + config_template.cfg | 7 + 10 files changed, 276 insertions(+) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 20fbcb08129..aa13d74ea35 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -125,6 +125,7 @@ class CConfig { Low_Mach_Precon, /*!< \brief Flag to know if we are using a low Mach number preconditioner. */ Low_Mach_Corr, /*!< \brief Flag to know if we are using a low Mach number correction. */ GravityForce, /*!< \brief Flag to know if the gravity force is incuded in the formulation. */ + VorticityConfinement, /*!< \brief Flag to know if the Vorticity Confinement is included in the formulation. */ SubsonicEngine, /*!< \brief Engine intake subsonic region. */ Frozen_Visc_Cont, /*!< \brief Flag for cont. adjoint problem with/without frozen viscosity. */ Frozen_Visc_Disc, /*!< \brief Flag for disc. adjoint problem with/without frozen viscosity. */ @@ -147,6 +148,7 @@ class CConfig { su2double dCMy_dCL; /*!< \brief Fixed Cl mode derivate. */ su2double dCMz_dCL; /*!< \brief Fixed Cl mode derivate. */ su2double CL_Target; /*!< \brief Fixed Cl mode Target Cl. */ + su2double Confinement_Param; /*!< \brief Confinement paramenter for Vorticity Confinement method. */ TIME_MARCHING TimeMarching; /*!< \brief Steady or unsteady (time stepping or dual time stepping) computation. */ unsigned short Dynamic_Analysis; /*!< \brief Static or dynamic structural analysis. */ su2double FixAzimuthalLine; /*!< \brief Fix an azimuthal line due to misalignments of the nearfield. */ @@ -1583,6 +1585,12 @@ class CConfig { */ su2double GetGamma(void) const { return Gamma; } + /*! + * \brief Get the value of the Confinement Parameter. + * \return Value of the constant: Confinement Parameter + */ + su2double GetConfinement_Param(void) const { return Confinement_Param; } + /*! * \brief Get the values of the CFL adaption parameters. * \return Value of CFL adaption parameter @@ -6003,6 +6011,12 @@ class CConfig { */ bool GetGravityForce(void) const { return GravityForce; } + /*! + * \brief Get information about the Vorticity Confinement. + * \return TRUE if it uses Vorticity Confinement; otherwise FALSE. + */ + bool GetVorticityConfinement(void) const { return VorticityConfinement; } + /*! * \brief Get information about the body force. * \return TRUE if it uses a body force; otherwise FALSE. diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index bf9792eb3ad..c6e44239dcb 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1130,6 +1130,8 @@ void CConfig::SetConfig_Options() { addBoolOption("AXISYMMETRIC", Axisymmetric, false); /* DESCRIPTION: Add the gravity force */ addBoolOption("GRAVITY_FORCE", GravityForce, false); + /* DESCRIPTION: Add the Vorticity Confinement term*/ + addBoolOption("VORTICITY_CONFINEMENT",VorticityConfinement, false); /* DESCRIPTION: Apply a body force as a source term (NO, YES) */ addBoolOption("BODY_FORCE", Body_Force, false); body_force[0] = 0.0; body_force[1] = 0.0; body_force[2] = 0.0; @@ -1166,6 +1168,8 @@ void CConfig::SetConfig_Options() { /*!\brief FLUID_NAME \n DESCRIPTION: Fluid name \n OPTIONS: see coolprop homepage \n DEFAULT: nitrogen \ingroup Config*/ addStringOption("FLUID_NAME", FluidName, string("nitrogen")); + /*!\brief CONFINEMENT_PARAM \n DESCRIPTION: Input Confinement Parameter for Vorticity Confinement*/ + addDoubleOption("CONFINEMENT_PARAM", Confinement_Param, 0.0); /*!\par CONFIG_CATEGORY: Freestream Conditions \ingroup Config*/ /*--- Options related to freestream specification ---*/ diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index f8568a2533d..13c4a2d4b28 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -173,6 +173,9 @@ class CNumerics { TimeStep, /*!< \brief Time step useful in dual time method. */ Area, /*!< \brief Area of the face i-j. */ Volume; /*!< \brief Volume of the control volume around point i. */ + su2double + AvgVolume, /*!< \brief Average of the control Volume around point i for vorticity confinement parameter correction */ + WallDistance; /*!< \brief Wall distance for vorticity confinement parameter correction */ su2double vel2_inf; /*!< \brief value of the square of freestream speed. */ const su2double *WindGust_i, /*!< \brief Wind gust at point i. */ @@ -1009,6 +1012,18 @@ class CNumerics { */ inline void SetVolume(su2double val_volume) { Volume = val_volume; } + /*! + * \brief Set the value of AvgVolume Variable. + * \param[in] val_avgvolume AvgVolume Variable. + */ + inline void SetAvgVolume_VC(su2double val_avgvolume) { AvgVolume = val_avgvolume; } + + /*! + * \brief Set the value of WallDistance Variable. + * \param[in] val_walldistance WallDistance Variable. + */ + inline void SetWallDistance_Numerics_VC(su2double val_walldistance) { WallDistance = val_walldistance; } + /*! * \brief Sets the values of the roe dissipation. * \param[in] diss_i - Dissipation value at node i diff --git a/SU2_CFD/include/numerics/flow/flow_sources.hpp b/SU2_CFD/include/numerics/flow/flow_sources.hpp index 9b83e55f5ec..c24d1ea0c6c 100644 --- a/SU2_CFD/include/numerics/flow/flow_sources.hpp +++ b/SU2_CFD/include/numerics/flow/flow_sources.hpp @@ -306,6 +306,30 @@ class CSourceIncRotatingFrame_Flow final : public CSourceBase_Flow { }; +/*! + * \class CSourceVorticityConfinement + * \brief Class for a source term due to vorticity confinement. + * \ingroup SourceDiscr + * \author Y Chandukrishna, Josy P Pullockara, T N Venkatesh + */ +class CSourceVorticityConfinement final : public CSourceBase_Flow { +public: + /*! + * \brief Constructor of the class. + * \param[in] val_nDim - Number of dimensions of the problem. + * \param[in] val_nVar - Number of variables of the problem. + * \param[in] config - Definition of the particular problem. + */ + CSourceVorticityConfinement(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config); + + /*! + * \brief Residual of the rotational frame source term. + * \param[in] config - Definition of the particular problem. + * \return Lightweight const-view of residual and Jacobian. + */ + ResidualType<> ComputeResidual(const CConfig* config) override; +}; + /*! * \class CSourceWindGust * \brief Class for a source term due to a wind gust. diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index 8b1667aad50..05a40d4186a 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -1912,6 +1912,12 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceIncStreamwisePeriodic_Outlet(nDim, nVar_Flow, config); else numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceNothing(nDim, nVar_Flow, config); + + /* Vorticity Confinement term as a second source term to allow the use of VC along with other source terms*/ + if (config->GetVorticityConfinement() == YES) { + numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceVorticityConfinement(nDim, nVar_Flow, config); + } + } } diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index fc2e3477224..17cb0cba6b8 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -616,6 +616,130 @@ CNumerics::ResidualType<> CSourceIncRotatingFrame_Flow::ComputeResidual(const CC return ResidualType<>(residual, jacobian, nullptr); } +/* Vorticity Confinement technique */ +CSourceVorticityConfinement::CSourceVorticityConfinement(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) : + CSourceBase_Flow(val_nDim, val_nVar, config) { + + Gamma = config->GetGamma(); + Gamma_Minus_One = Gamma - 1.0; + +} + +CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CConfig* config) { + + // density, \rho + const su2double rho = U_i[0]; + + // velocity, U = (u, v, w) + const su2double u = U_i[1] / rho; + const su2double v = (nDim >= 2) ? U_i[2] / rho : 0.0; + const su2double w = (nDim >= 3) ? U_i[3] / rho : 0.0; + const su2double U_abs2 = (u*u + v*v + w*w); + const su2double U_abs = sqrt(U_abs2); + + // vorticity, \omega + const su2double omega_x = Vorticity_i[0]; + const su2double omega_y = Vorticity_i[1]; + const su2double omega_z = Vorticity_i[2]; + + // gradient of the magnitude of vorticity, \nabla|\omega| + const su2double omega_abs_grad_x = AuxVar_Grad_i[0][0]; + const su2double omega_abs_grad_y = AuxVar_Grad_i[0][1]; + const su2double omega_abs_grad_z = AuxVar_Grad_i[0][2]; + const su2double omega_abs_grad_abs2 + = omega_abs_grad_x * omega_abs_grad_x + + omega_abs_grad_y * omega_abs_grad_y + + omega_abs_grad_z * omega_abs_grad_z + ; + const su2double omega_abs_grad_abs + = sqrt(omega_abs_grad_abs2) + 1e-16; // avoid divide by zero + + // unit vector, n along \nabla|\omega| + const su2double n_x = omega_abs_grad_x / omega_abs_grad_abs; + const su2double n_y = omega_abs_grad_y / omega_abs_grad_abs; + const su2double n_z = omega_abs_grad_z / omega_abs_grad_abs; + + // n \cross \omega + const su2double nXomega_x = (n_y * omega_z - n_z * omega_y); + const su2double nXomega_y = (n_z * omega_x - n_x * omega_z); + const su2double nXomega_z = (n_x * omega_y - n_y * omega_x); + const su2double nXomega_U = (nXomega_x *u) + (nXomega_y *v) + (nXomega_z *w); + + // vorticity confinement parameter + const su2double vc_config = config->GetConfinement_Param(); + su2double vc = vc_config; + + const su2double one_third = 0.33333333; // 1./3.; + vc *= (1 + log10(pow((1+(Volume/AvgVolume)), one_third))); + + // correction to vc near viscous wall + const bool viscous = config->GetViscous(); + if (viscous) { + const su2double U_infty_x = config->GetVelocity_FreeStream()[0]; + const su2double U_infty_y = config->GetVelocity_FreeStream()[1]; + const su2double U_infty_z = config->GetVelocity_FreeStream()[2]; + const su2double U_infty_abs2 + = U_infty_x * U_infty_x + + U_infty_y * U_infty_y + + U_infty_z * U_infty_z + ; + const su2double U_infty_abs = sqrt(U_infty_abs2); + const su2double L = config->GetLength_Reynolds(); + const su2double mu = V_i[nDim+5]; // viscosity + const su2double mu_t = V_i[nDim+6]; // turbulent or eddy viscosity + const su2double mu_eff = mu + mu_t; // effective or total viscosity + const su2double Re = rho * U_infty_abs * L / mu_eff; // Reynolds number + const su2double delta = 5*L/sqrt(Re); // boundary layer thickness + + if (WallDistance <= 4*delta) { + vc *= 0.0; + } + } + + // source terms: S / rho + const su2double vc_Uabs_Volume = vc * U_abs * Volume; + const su2double S_u_rho = -nXomega_x * vc_Uabs_Volume; + const su2double S_v_rho = -nXomega_y * vc_Uabs_Volume; + const su2double S_w_rho = -nXomega_z * vc_Uabs_Volume; + const su2double S_E_rho = -nXomega_U * vc_Uabs_Volume; + + residual[0] = 0.0; + residual[1] = rho * S_u_rho; + residual[2] = rho * S_v_rho; + if (nDim == 2) { + residual[3] = rho * S_E_rho; + } + if (nDim == 3) { + residual[3] = rho * S_w_rho; + residual[4] = rho * S_E_rho; + } + + const bool implicit = (config->GetKind_TimeIntScheme_Flow()==EULER_IMPLICIT); + if (implicit) { + for (unsigned iVar = 0; iVar < nVar; iVar++) { + for (unsigned jVar = 0; jVar < nVar; jVar++) { + jacobian[iVar][jVar] = 0.0; + } + } + + jacobian[1][0] = S_u_rho; + jacobian[2][0] = S_v_rho; + if (nDim == 2) { + jacobian[3][1] = S_u_rho; + jacobian[3][2] = S_v_rho; + } + if (nDim == 3) { + jacobian[3][0] = S_w_rho; + jacobian[4][1] = S_u_rho; + jacobian[4][2] = S_v_rho; + jacobian[4][3] = S_w_rho; + } + } + + return ResidualType<>(residual, jacobian, nullptr); + +} + CSourceWindGust::CSourceWindGust(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) : CSourceBase_Flow(val_nDim, val_nVar, config) { } diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 54bc9af2ff7..709db38f8c9 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -2017,6 +2017,7 @@ void CEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_contain const bool harmonic_balance = (config->GetTime_Marching() == TIME_MARCHING::HARMONIC_BALANCE); const bool windgust = config->GetWind_Gust(); const bool body_force = config->GetBody_Force(); + const bool vorticity_confinement = config->GetVorticityConfinement(); const bool ideal_gas = (config->GetKind_FluidModel() == STANDARD_AIR) || (config->GetKind_FluidModel() == IDEAL_GAS); const bool rans = (config->GetKind_Turb_Model() != TURB_MODEL::NONE); @@ -2215,6 +2216,74 @@ void CEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_contain END_SU2_OMP_FOR } + if (vorticity_confinement) { + /*! + * \brief Vorticity Confinement (VC) technique to counter the numerical + * diffusion offered by the numerical scheme + * \author: Y Chandukrishna, Josy P Pullockara, T N Venkatesh. + * Computational and Theoretical Fluid Dynamics division, + * CSIR-National Aerospace Laboratories (NAL), Bangalore. + * Academy of Scientific and Innovative Research (AcSIR), Ghaziabad. + * First release date : 23 December 2022 + * modified on: + * + * VC technique introduces an additional term to the N-S equations that + * counters the numerical difusion offerd by the numerical schemes. The + * additional term is introduced as a source term. VC technique requires an + * input confinement parameter that controls the magnitude of the source + * term. A suitable Confinement parameter is problem, scheme and grid + * dependant. + * + * Required changes in config file - + * VORTICITY_CONFINEMENT = YES + * CONFINEMENT_PARAMETER = <0.0(default)> + * Currently have support for Viscous, Inviscid cases for both 2D and 3D + * problems. Can be used along with other source terms also. + * + * The current implementation follows, + * R. Loehner and C. Yang, Vorticity confinement on unstructured grids, 2002. + * N. Butsuntorn and A. Jameson, Time Spectral Method for Rotorcraft Flow, 2008. + */ + + CNumerics* second_numerics = numerics_container[SOURCE_SECOND_TERM + omp_get_thread_num()*MAX_TERMS]; + + su2double VolumeSum_global = 0.0; + su2double VolumeSum_local = 0.0; + for (iPoint = 0; iPoint < nPoint; iPoint++) { + // for calculating average cell volume + VolumeSum_local += geometry->nodes->GetVolume(iPoint); + + // set vorticity magnitude as auxilliary variable + const su2double VorticityMag = max(GeometryToolbox::Norm(3, nodes->GetVorticity(iPoint)), 1e-12); + nodes->SetAuxVar(iPoint, 0, VorticityMag); + } + SU2_MPI::Allreduce(&VolumeSum_local, &VolumeSum_global, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); + const unsigned long nPointLocal = geometry->GetnPoint(); + unsigned long nPointGlobal = 0; + SU2_MPI::Allreduce(&nPointLocal, &nPointGlobal, 1, MPI_UNSIGNED_LONG, MPI_SUM, MPI_COMM_WORLD); + const su2double AvgVolume = VolumeSum_global / nPointGlobal; + second_numerics->SetAvgVolume_VC(AvgVolume); + + SetAuxVar_Gradient_GG(geometry, config); + + SU2_OMP_FOR_DYN(omp_chunk_size) + for (iPoint = 0; iPoint < nPointDomain; iPoint++) { + second_numerics->SetConservative(nodes->GetSolution(iPoint), nodes->GetSolution(iPoint)); + second_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), nodes->GetPrimitive(iPoint)); + second_numerics->SetVorticity(nodes->GetVorticity(iPoint), nodes->GetVorticity(iPoint)); + second_numerics->SetAuxVarGrad(nodes->GetAuxVarGradient(iPoint), nullptr); + second_numerics->SetWallDistance_Numerics_VC(geometry->nodes->GetWall_Distance(iPoint)); + second_numerics->SetVolume(geometry->nodes->GetVolume(iPoint)); + auto residual = second_numerics->ComputeResidual(config); + + LinSysRes.AddBlock(iPoint, residual); + + if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); + } + END_SU2_OMP_FOR + + } + /*--- Check if a verification solution is to be computed. ---*/ if ( VerificationSolution ) { diff --git a/SU2_CFD/src/variables/CEulerVariable.cpp b/SU2_CFD/src/variables/CEulerVariable.cpp index 0a9b173e83a..f7b4e17e1b4 100644 --- a/SU2_CFD/src/variables/CEulerVariable.cpp +++ b/SU2_CFD/src/variables/CEulerVariable.cpp @@ -72,6 +72,12 @@ CEulerVariable::CEulerVariable(su2double density, const su2double *velocity, su2 WindGust.resize(nPoint,nDim); WindGustDer.resize(nPoint,nDim+1); } + + if (config->GetVorticityConfinement()) { + nAuxVar = 1; + Grad_AuxVar.resize(nPoint, nAuxVar, nDim, 0.0); + AuxVar.resize(nPoint, nAuxVar) = su2double(0.0); + } } bool CEulerVariable::SetPrimVar(unsigned long iPoint, CFluidModel *FluidModel) { diff --git a/TestCases/rans/oneram6/turb_ONERAM6.cfg b/TestCases/rans/oneram6/turb_ONERAM6.cfg index acdf3f83ee4..301c8989270 100644 --- a/TestCases/rans/oneram6/turb_ONERAM6.cfg +++ b/TestCases/rans/oneram6/turb_ONERAM6.cfg @@ -25,6 +25,13 @@ FREESTREAM_TEMPERATURE= 288.15 REYNOLDS_NUMBER= 11.72E6 REYNOLDS_LENGTH= 0.64607 +% --------------------------- VORTICITY_CONFINEMENT ---------------------------% +% +% Enable vorticity confinement (YES/NO) +VORTICITY_CONFINEMENT = NO +% Set confinement parameter (0.00 by default) +CONFINEMENT_PARAM = 0.00 + % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % FLUID_MODEL= STANDARD_AIR diff --git a/config_template.cfg b/config_template.cfg index 724b3007b20..38f01f3cd3a 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -766,6 +766,13 @@ BODY_FORCE= NO % Vector of body force values (BodyForce_X, BodyForce_Y, BodyForce_Z) BODY_FORCE_VECTOR= ( 0.0, 0.0, 0.0 ) +% --------------------------- VORTICITY_CONFINEMENT ---------------------------% +% +% Enable vorticity confinement (YES/NO) +VORTICITY_CONFINEMENT = NO +% Set confinement parameter (0.00 by default) +CONFINEMENT_PARAM = 0.00 + % --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% % % Generally for streamwise periodictiy one has to set MARKER_PERIODIC= (, , ...) From 87631d03fd7fb5f3d11a5f95bc272c9f0b6f7b22 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sat, 24 Dec 2022 09:04:58 +0530 Subject: [PATCH 035/179] fix su2 codefactor issues: https://www.codefactor.io/repository/github/su2code/su2/pull/1854 --- SU2_CFD/src/numerics/flow/flow_sources.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index 17cb0cba6b8..da9c7b51256 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -647,10 +647,10 @@ CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CCo const su2double omega_abs_grad_y = AuxVar_Grad_i[0][1]; const su2double omega_abs_grad_z = AuxVar_Grad_i[0][2]; const su2double omega_abs_grad_abs2 - = omega_abs_grad_x * omega_abs_grad_x - + omega_abs_grad_y * omega_abs_grad_y - + omega_abs_grad_z * omega_abs_grad_z - ; + = omega_abs_grad_x * omega_abs_grad_x + + omega_abs_grad_y * omega_abs_grad_y + + omega_abs_grad_z * omega_abs_grad_z + ; const su2double omega_abs_grad_abs = sqrt(omega_abs_grad_abs2) + 1e-16; // avoid divide by zero From 9aef28fb621d5611b7b51327a1e3352c9deb397c Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" <119933136+josy-nal@users.noreply.github.com> Date: Sat, 24 Dec 2022 13:04:46 +0530 Subject: [PATCH 036/179] Update Common/src/CConfig.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- Common/src/CConfig.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index c6e44239dcb..cc29ba11623 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1131,7 +1131,7 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Add the gravity force */ addBoolOption("GRAVITY_FORCE", GravityForce, false); /* DESCRIPTION: Add the Vorticity Confinement term*/ - addBoolOption("VORTICITY_CONFINEMENT",VorticityConfinement, false); + addBoolOption("VORTICITY_CONFINEMENT", VorticityConfinement, false); /* DESCRIPTION: Apply a body force as a source term (NO, YES) */ addBoolOption("BODY_FORCE", Body_Force, false); body_force[0] = 0.0; body_force[1] = 0.0; body_force[2] = 0.0; From fdc26a3495bfc1c053aa4d7404e62603a2d54f66 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" <119933136+josy-nal@users.noreply.github.com> Date: Sat, 24 Dec 2022 13:16:00 +0530 Subject: [PATCH 037/179] Update SU2_CFD/include/numerics/CNumerics.hpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/include/numerics/CNumerics.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 13c4a2d4b28..9ab4a3a8b76 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -1016,7 +1016,7 @@ class CNumerics { * \brief Set the value of AvgVolume Variable. * \param[in] val_avgvolume AvgVolume Variable. */ - inline void SetAvgVolume_VC(su2double val_avgvolume) { AvgVolume = val_avgvolume; } + inline void SetAvgVolume(su2double val_avgvolume) { AvgVolume = val_avgvolume; } /*! * \brief Set the value of WallDistance Variable. From b88513806899adb72094dcf263018c29e2b11e66 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" <119933136+josy-nal@users.noreply.github.com> Date: Sat, 24 Dec 2022 13:17:42 +0530 Subject: [PATCH 038/179] Update SU2_CFD/include/numerics/CNumerics.hpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/include/numerics/CNumerics.hpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 9ab4a3a8b76..3faa48fcd72 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -1018,12 +1018,6 @@ class CNumerics { */ inline void SetAvgVolume(su2double val_avgvolume) { AvgVolume = val_avgvolume; } - /*! - * \brief Set the value of WallDistance Variable. - * \param[in] val_walldistance WallDistance Variable. - */ - inline void SetWallDistance_Numerics_VC(su2double val_walldistance) { WallDistance = val_walldistance; } - /*! * \brief Sets the values of the roe dissipation. * \param[in] diss_i - Dissipation value at node i From 5d97074d33efae0918cb5cc69d1a43d5ebf02762 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" <119933136+josy-nal@users.noreply.github.com> Date: Sat, 24 Dec 2022 13:30:48 +0530 Subject: [PATCH 039/179] Update SU2_CFD/src/numerics/flow/flow_sources.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/numerics/flow/flow_sources.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index da9c7b51256..5ad249c7556 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -714,7 +714,7 @@ CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CCo residual[4] = rho * S_E_rho; } - const bool implicit = (config->GetKind_TimeIntScheme_Flow()==EULER_IMPLICIT); + const bool implicit = (config->GetKind_TimeIntScheme()==EULER_IMPLICIT); if (implicit) { for (unsigned iVar = 0; iVar < nVar; iVar++) { for (unsigned jVar = 0; jVar < nVar; jVar++) { From 35e5b6fbcbce3472bf0c22a63fe7683f7b8672de Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" <119933136+josy-nal@users.noreply.github.com> Date: Sat, 24 Dec 2022 13:33:24 +0530 Subject: [PATCH 040/179] Update SU2_CFD/src/solvers/CEulerSolver.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/solvers/CEulerSolver.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 709db38f8c9..742c99eb2a4 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -2268,11 +2268,10 @@ void CEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_contain SU2_OMP_FOR_DYN(omp_chunk_size) for (iPoint = 0; iPoint < nPointDomain; iPoint++) { - second_numerics->SetConservative(nodes->GetSolution(iPoint), nodes->GetSolution(iPoint)); - second_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), nodes->GetPrimitive(iPoint)); - second_numerics->SetVorticity(nodes->GetVorticity(iPoint), nodes->GetVorticity(iPoint)); + second_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), nullptr); + second_numerics->SetVorticity(nodes->GetVorticity(iPoint), nullptr); second_numerics->SetAuxVarGrad(nodes->GetAuxVarGradient(iPoint), nullptr); - second_numerics->SetWallDistance_Numerics_VC(geometry->nodes->GetWall_Distance(iPoint)); + second_numerics->SetDistance(geometry->nodes->GetWall_Distance(iPoint), 0); second_numerics->SetVolume(geometry->nodes->GetVolume(iPoint)); auto residual = second_numerics->ComputeResidual(config); From 093bb82292c0ad49cb9edb674153c5a66a06a63e Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" <119933136+josy-nal@users.noreply.github.com> Date: Sat, 24 Dec 2022 13:33:44 +0530 Subject: [PATCH 041/179] Update SU2_CFD/src/numerics/flow/flow_sources.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/numerics/flow/flow_sources.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index 5ad249c7556..4cf76249971 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -672,7 +672,7 @@ CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CCo const su2double one_third = 0.33333333; // 1./3.; vc *= (1 + log10(pow((1+(Volume/AvgVolume)), one_third))); - // correction to vc near viscous wall + /*--- correction to vc near viscous wall ---*/ const bool viscous = config->GetViscous(); if (viscous) { const su2double U_infty_x = config->GetVelocity_FreeStream()[0]; From f2b27cc5f77708d4b59790ef515100eafb21c67f Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" <119933136+josy-nal@users.noreply.github.com> Date: Sat, 24 Dec 2022 13:47:13 +0530 Subject: [PATCH 042/179] Update SU2_CFD/src/numerics/flow/flow_sources.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/numerics/flow/flow_sources.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index 4cf76249971..94f877598f1 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -667,10 +667,7 @@ CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CCo // vorticity confinement parameter const su2double vc_config = config->GetConfinement_Param(); - su2double vc = vc_config; - - const su2double one_third = 0.33333333; // 1./3.; - vc *= (1 + log10(pow((1+(Volume/AvgVolume)), one_third))); + su2double vc = vc_config * (1 + log10(pow((1+(Volume/AvgVolume)), 1.0 / 3.0))); /*--- correction to vc near viscous wall ---*/ const bool viscous = config->GetViscous(); From cf75cab4d8e33e30128a65f8b46be15de26aeede Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sat, 24 Dec 2022 14:00:13 +0530 Subject: [PATCH 043/179] pcarruscag review suggestion to move the source description --- .../include/numerics/flow/flow_sources.hpp | 26 +++++++++++++++++- SU2_CFD/src/solvers/CEulerSolver.cpp | 27 ------------------- 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/SU2_CFD/include/numerics/flow/flow_sources.hpp b/SU2_CFD/include/numerics/flow/flow_sources.hpp index c24d1ea0c6c..e0f7234556e 100644 --- a/SU2_CFD/include/numerics/flow/flow_sources.hpp +++ b/SU2_CFD/include/numerics/flow/flow_sources.hpp @@ -310,7 +310,31 @@ class CSourceIncRotatingFrame_Flow final : public CSourceBase_Flow { * \class CSourceVorticityConfinement * \brief Class for a source term due to vorticity confinement. * \ingroup SourceDiscr - * \author Y Chandukrishna, Josy P Pullockara, T N Venkatesh + * \brief Vorticity Confinement (VC) technique to counter the numerical + * diffusion offered by the numerical scheme + * \author: Y Chandukrishna, Josy P Pullockara, T N Venkatesh. + * Computational and Theoretical Fluid Dynamics division, + * CSIR-National Aerospace Laboratories (NAL), Bangalore. + * Academy of Scientific and Innovative Research (AcSIR), Ghaziabad. + * First release date : 23 December 2022 + * modified on: + * + * VC technique introduces an additional term to the N-S equations that + * counters the numerical difusion offerd by the numerical schemes. The + * additional term is introduced as a source term. VC technique requires an + * input confinement parameter that controls the magnitude of the source + * term. A suitable Confinement parameter is problem, scheme and grid + * dependant. + * + * Required changes in config file - + * VORTICITY_CONFINEMENT = YES + * CONFINEMENT_PARAMETER = <0.0(default)> + * Currently have support for Viscous, Inviscid cases for both 2D and 3D + * problems. Can be used along with other source terms also. + * + * The current implementation follows, + * R. Loehner and C. Yang, Vorticity confinement on unstructured grids, 2002. + * N. Butsuntorn and A. Jameson, Time Spectral Method for Rotorcraft Flow, 2008. */ class CSourceVorticityConfinement final : public CSourceBase_Flow { public: diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 742c99eb2a4..f5b17949a69 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -2217,33 +2217,6 @@ void CEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_contain } if (vorticity_confinement) { - /*! - * \brief Vorticity Confinement (VC) technique to counter the numerical - * diffusion offered by the numerical scheme - * \author: Y Chandukrishna, Josy P Pullockara, T N Venkatesh. - * Computational and Theoretical Fluid Dynamics division, - * CSIR-National Aerospace Laboratories (NAL), Bangalore. - * Academy of Scientific and Innovative Research (AcSIR), Ghaziabad. - * First release date : 23 December 2022 - * modified on: - * - * VC technique introduces an additional term to the N-S equations that - * counters the numerical difusion offerd by the numerical schemes. The - * additional term is introduced as a source term. VC technique requires an - * input confinement parameter that controls the magnitude of the source - * term. A suitable Confinement parameter is problem, scheme and grid - * dependant. - * - * Required changes in config file - - * VORTICITY_CONFINEMENT = YES - * CONFINEMENT_PARAMETER = <0.0(default)> - * Currently have support for Viscous, Inviscid cases for both 2D and 3D - * problems. Can be used along with other source terms also. - * - * The current implementation follows, - * R. Loehner and C. Yang, Vorticity confinement on unstructured grids, 2002. - * N. Butsuntorn and A. Jameson, Time Spectral Method for Rotorcraft Flow, 2008. - */ CNumerics* second_numerics = numerics_container[SOURCE_SECOND_TERM + omp_get_thread_num()*MAX_TERMS]; From 2953510e356a2723143bf5baf6dedc9cfcf485c4 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" <119933136+josy-nal@users.noreply.github.com> Date: Sat, 24 Dec 2022 14:10:50 +0530 Subject: [PATCH 044/179] Update SU2_CFD/src/numerics/flow/flow_sources.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/numerics/flow/flow_sources.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index 94f877598f1..ca2fb7fa937 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -672,9 +672,9 @@ CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CCo /*--- correction to vc near viscous wall ---*/ const bool viscous = config->GetViscous(); if (viscous) { - const su2double U_infty_x = config->GetVelocity_FreeStream()[0]; - const su2double U_infty_y = config->GetVelocity_FreeStream()[1]; - const su2double U_infty_z = config->GetVelocity_FreeStream()[2]; + const su2double U_infty_x = config->GetVelocity_FreeStreamND()[0]; + const su2double U_infty_y = config->GetVelocity_FreeStreamND()[1]; + const su2double U_infty_z = config->GetVelocity_FreeStreamND()[2]; const su2double U_infty_abs2 = U_infty_x * U_infty_x + U_infty_y * U_infty_y From cdd1753bc9e53a13d9cbf239218642f491c08478 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sat, 24 Dec 2022 15:50:22 +0530 Subject: [PATCH 045/179] su2 pcarruscag review: use primitive variables V, GeometryToolbox Norm, Dot, Cross --- SU2_CFD/src/numerics/flow/flow_sources.cpp | 126 +++++++++------------ SU2_CFD/src/solvers/CEulerSolver.cpp | 2 +- 2 files changed, 53 insertions(+), 75 deletions(-) diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index ca2fb7fa937..574176c0bba 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -617,101 +617,80 @@ CNumerics::ResidualType<> CSourceIncRotatingFrame_Flow::ComputeResidual(const CC } /* Vorticity Confinement technique */ -CSourceVorticityConfinement::CSourceVorticityConfinement(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) : - CSourceBase_Flow(val_nDim, val_nVar, config) { - +CSourceVorticityConfinement::CSourceVorticityConfinement(unsigned short val_nDim, unsigned short val_nVar, + const CConfig* config) + : CSourceBase_Flow(val_nDim, val_nVar, config) { Gamma = config->GetGamma(); Gamma_Minus_One = Gamma - 1.0; - } CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CConfig* config) { + /*--- density, \rho ---*/ + const su2double rho = V_i[0]; - // density, \rho - const su2double rho = U_i[0]; - - // velocity, U = (u, v, w) - const su2double u = U_i[1] / rho; - const su2double v = (nDim >= 2) ? U_i[2] / rho : 0.0; - const su2double w = (nDim >= 3) ? U_i[3] / rho : 0.0; - const su2double U_abs2 = (u*u + v*v + w*w); - const su2double U_abs = sqrt(U_abs2); - - // vorticity, \omega - const su2double omega_x = Vorticity_i[0]; - const su2double omega_y = Vorticity_i[1]; - const su2double omega_z = Vorticity_i[2]; - - // gradient of the magnitude of vorticity, \nabla|\omega| - const su2double omega_abs_grad_x = AuxVar_Grad_i[0][0]; - const su2double omega_abs_grad_y = AuxVar_Grad_i[0][1]; - const su2double omega_abs_grad_z = AuxVar_Grad_i[0][2]; - const su2double omega_abs_grad_abs2 - = omega_abs_grad_x * omega_abs_grad_x - + omega_abs_grad_y * omega_abs_grad_y - + omega_abs_grad_z * omega_abs_grad_z - ; - const su2double omega_abs_grad_abs - = sqrt(omega_abs_grad_abs2) + 1e-16; // avoid divide by zero - - // unit vector, n along \nabla|\omega| - const su2double n_x = omega_abs_grad_x / omega_abs_grad_abs; - const su2double n_y = omega_abs_grad_y / omega_abs_grad_abs; - const su2double n_z = omega_abs_grad_z / omega_abs_grad_abs; - - // n \cross \omega - const su2double nXomega_x = (n_y * omega_z - n_z * omega_y); - const su2double nXomega_y = (n_z * omega_x - n_x * omega_z); - const su2double nXomega_z = (n_x * omega_y - n_y * omega_x); - const su2double nXomega_U = (nXomega_x *u) + (nXomega_y *v) + (nXomega_z *w); - - // vorticity confinement parameter - const su2double vc_config = config->GetConfinement_Param(); - su2double vc = vc_config * (1 + log10(pow((1+(Volume/AvgVolume)), 1.0 / 3.0))); + /*--- velocity, U = (u, v, w) ---*/ + su2double U[3] = {V_i[1], V_i[2], 0.0}; + if (nDim == 3) U[2] = V_i[3]; + const su2double U_abs = max(GeometryToolbox::Norm(3, U), 1e-12); + + /*--- vorticity, \omega ---*/ + const su2double omega[3] = {Vorticity_i[0], Vorticity_i[1], Vorticity_i[2]}; + /*--- grad of the mag of vorticity, \nabla|\omega| = AuxVar_Grad_i[0] ---*/ + const su2double omega_abs_grad_abs = max(GeometryToolbox::Norm(3, AuxVar_Grad_i[0]), 1e-12); + + /*--- unit vector, n along \nabla|\omega| ---*/ + const su2double n[3] = { + AuxVar_Grad_i[0][0] / omega_abs_grad_abs, + AuxVar_Grad_i[0][1] / omega_abs_grad_abs, + AuxVar_Grad_i[0][2] / omega_abs_grad_abs, + }; + + /*--- n \cross \omega ---*/ + su2double nXomega[3] = {0.0, 0.0, 0.0}; + GeometryToolbox::CrossProduct(n, omega, nXomega); + const su2double nXomega_U = GeometryToolbox::DotProduct(3, nXomega, U); + + /*--- vorticity confinement parameter ---*/ + const su2double vc_config = config->GetConfinement_Param(); + su2double vc = vc_config * (1 + log10(pow((1 + (Volume / AvgVolume)), 1.0 / 3.0))); /*--- correction to vc near viscous wall ---*/ const bool viscous = config->GetViscous(); if (viscous) { - const su2double U_infty_x = config->GetVelocity_FreeStreamND()[0]; - const su2double U_infty_y = config->GetVelocity_FreeStreamND()[1]; - const su2double U_infty_z = config->GetVelocity_FreeStreamND()[2]; - const su2double U_infty_abs2 - = U_infty_x * U_infty_x - + U_infty_y * U_infty_y - + U_infty_z * U_infty_z - ; - const su2double U_infty_abs = sqrt(U_infty_abs2); + su2double U_infty[3] = {config->GetVelocity_FreeStreamND()[0], config->GetVelocity_FreeStreamND()[1], 0.0}; + if (nDim == 3) U_infty[2] = config->GetVelocity_FreeStreamND()[2]; + const su2double U_infty_abs = max(GeometryToolbox::Norm(3, U_infty), 1e-12); const su2double L = config->GetLength_Reynolds(); - const su2double mu = V_i[nDim+5]; // viscosity - const su2double mu_t = V_i[nDim+6]; // turbulent or eddy viscosity - const su2double mu_eff = mu + mu_t; // effective or total viscosity - const su2double Re = rho * U_infty_abs * L / mu_eff; // Reynolds number - const su2double delta = 5*L/sqrt(Re); // boundary layer thickness + const su2double mu = V_i[nDim + 5]; // viscosity + const su2double mu_t = V_i[nDim + 6]; // turbulent or eddy viscosity + const su2double mu_eff = mu + mu_t; // effective or total viscosity + const su2double Re = rho * U_infty_abs * L / mu_eff; // Reynolds number + const su2double delta = 5 * L / sqrt(Re); // boundary layer thickness - if (WallDistance <= 4*delta) { + if (dist_i <= 4 * delta) { vc *= 0.0; } } // source terms: S / rho const su2double vc_Uabs_Volume = vc * U_abs * Volume; - const su2double S_u_rho = -nXomega_x * vc_Uabs_Volume; - const su2double S_v_rho = -nXomega_y * vc_Uabs_Volume; - const su2double S_w_rho = -nXomega_z * vc_Uabs_Volume; + const su2double S_u_rho = -nXomega[0] * vc_Uabs_Volume; + const su2double S_v_rho = -nXomega[1] * vc_Uabs_Volume; + const su2double S_w_rho = -nXomega[2] * vc_Uabs_Volume; const su2double S_E_rho = -nXomega_U * vc_Uabs_Volume; residual[0] = 0.0; residual[1] = rho * S_u_rho; residual[2] = rho * S_v_rho; if (nDim == 2) { - residual[3] = rho * S_E_rho; + residual[3] = rho * S_E_rho; } if (nDim == 3) { - residual[3] = rho * S_w_rho; - residual[4] = rho * S_E_rho; + residual[3] = rho * S_w_rho; + residual[4] = rho * S_E_rho; } - const bool implicit = (config->GetKind_TimeIntScheme()==EULER_IMPLICIT); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); if (implicit) { for (unsigned iVar = 0; iVar < nVar; iVar++) { for (unsigned jVar = 0; jVar < nVar; jVar++) { @@ -722,19 +701,18 @@ CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CCo jacobian[1][0] = S_u_rho; jacobian[2][0] = S_v_rho; if (nDim == 2) { - jacobian[3][1] = S_u_rho; - jacobian[3][2] = S_v_rho; + jacobian[3][1] = S_u_rho; + jacobian[3][2] = S_v_rho; } if (nDim == 3) { - jacobian[3][0] = S_w_rho; - jacobian[4][1] = S_u_rho; - jacobian[4][2] = S_v_rho; - jacobian[4][3] = S_w_rho; + jacobian[3][0] = S_w_rho; + jacobian[4][1] = S_u_rho; + jacobian[4][2] = S_v_rho; + jacobian[4][3] = S_w_rho; } } return ResidualType<>(residual, jacobian, nullptr); - } CSourceWindGust::CSourceWindGust(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) : diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index f5b17949a69..2388652901c 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -2235,7 +2235,7 @@ void CEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_contain unsigned long nPointGlobal = 0; SU2_MPI::Allreduce(&nPointLocal, &nPointGlobal, 1, MPI_UNSIGNED_LONG, MPI_SUM, MPI_COMM_WORLD); const su2double AvgVolume = VolumeSum_global / nPointGlobal; - second_numerics->SetAvgVolume_VC(AvgVolume); + second_numerics->SetAvgVolume(AvgVolume); SetAuxVar_Gradient_GG(geometry, config); From 087f2697e20870f162149427f660f39d7268d9e7 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sat, 24 Dec 2022 21:14:29 +0530 Subject: [PATCH 046/179] fix: missed solution and primitive variables --- SU2_CFD/src/numerics/flow/flow_sources.cpp | 3 ++- SU2_CFD/src/solvers/CEulerSolver.cpp | 21 +++++++++------------ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index 574176c0bba..989cd59c671 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -626,7 +626,7 @@ CSourceVorticityConfinement::CSourceVorticityConfinement(unsigned short val_nDim CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CConfig* config) { /*--- density, \rho ---*/ - const su2double rho = V_i[0]; + const su2double rho = U_i[0]; /*--- velocity, U = (u, v, w) ---*/ su2double U[3] = {V_i[1], V_i[2], 0.0}; @@ -654,6 +654,7 @@ CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CCo /*--- vorticity confinement parameter ---*/ const su2double vc_config = config->GetConfinement_Param(); su2double vc = vc_config * (1 + log10(pow((1 + (Volume / AvgVolume)), 1.0 / 3.0))); + /*--- correction to vc near viscous wall ---*/ const bool viscous = config->GetViscous(); if (viscous) { diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 2388652901c..d8babc3eb5f 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -2220,27 +2220,24 @@ void CEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_contain CNumerics* second_numerics = numerics_container[SOURCE_SECOND_TERM + omp_get_thread_num()*MAX_TERMS]; - su2double VolumeSum_global = 0.0; - su2double VolumeSum_local = 0.0; - for (iPoint = 0; iPoint < nPoint; iPoint++) { - // for calculating average cell volume - VolumeSum_local += geometry->nodes->GetVolume(iPoint); + /*--- calculate and set the average volume ---*/ + const su2double AvgVolume = config->GetDomainVolume() / geometry->GetGlobal_nPointDomain(); + second_numerics->SetAvgVolume(AvgVolume); - // set vorticity magnitude as auxilliary variable + /*--- set vorticity magnitude as auxilliary variable ---*/ + SU2_OMP_FOR_STAT(omp_chunk_size) + for (iPoint = 0; iPoint < nPoint; iPoint++) { const su2double VorticityMag = max(GeometryToolbox::Norm(3, nodes->GetVorticity(iPoint)), 1e-12); nodes->SetAuxVar(iPoint, 0, VorticityMag); } - SU2_MPI::Allreduce(&VolumeSum_local, &VolumeSum_global, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD); - const unsigned long nPointLocal = geometry->GetnPoint(); - unsigned long nPointGlobal = 0; - SU2_MPI::Allreduce(&nPointLocal, &nPointGlobal, 1, MPI_UNSIGNED_LONG, MPI_SUM, MPI_COMM_WORLD); - const su2double AvgVolume = VolumeSum_global / nPointGlobal; - second_numerics->SetAvgVolume(AvgVolume); + END_SU2_OMP_FOR + /*--- calculate the gradient of the vorticity magnitude (AuxVarGradient) ---*/ SetAuxVar_Gradient_GG(geometry, config); SU2_OMP_FOR_DYN(omp_chunk_size) for (iPoint = 0; iPoint < nPointDomain; iPoint++) { + second_numerics->SetConservative(nodes->GetSolution(iPoint), nullptr); second_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), nullptr); second_numerics->SetVorticity(nodes->GetVorticity(iPoint), nullptr); second_numerics->SetAuxVarGrad(nodes->GetAuxVarGradient(iPoint), nullptr); From 6dcae54b2e4a5bfb3695ca1a0478de4e424ba787 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sat, 24 Dec 2022 21:30:33 +0530 Subject: [PATCH 047/179] minor comment format --- SU2_CFD/src/numerics/flow/flow_sources.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index 989cd59c671..915ac6f436c 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -673,7 +673,7 @@ CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CCo } } - // source terms: S / rho + /*--- source terms: S / rho ---*/ const su2double vc_Uabs_Volume = vc * U_abs * Volume; const su2double S_u_rho = -nXomega[0] * vc_Uabs_Volume; const su2double S_v_rho = -nXomega[1] * vc_Uabs_Volume; From cde459b56b402d268b8c33226f2e087176a72c7d Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sat, 24 Dec 2022 21:47:28 +0530 Subject: [PATCH 048/179] remove recalculation of wall distance --- SU2_CFD/include/numerics/CNumerics.hpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 3faa48fcd72..9602b9bfec1 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -172,10 +172,8 @@ class CNumerics { su2double TimeStep, /*!< \brief Time step useful in dual time method. */ Area, /*!< \brief Area of the face i-j. */ - Volume; /*!< \brief Volume of the control volume around point i. */ - su2double - AvgVolume, /*!< \brief Average of the control Volume around point i for vorticity confinement parameter correction */ - WallDistance; /*!< \brief Wall distance for vorticity confinement parameter correction */ + Volume, /*!< \brief Volume of the control volume around point i. */ + AvgVolume; /*!< \brief Average of the control Volume around point i for vorticity confinement parameter correction */ su2double vel2_inf; /*!< \brief value of the square of freestream speed. */ const su2double *WindGust_i, /*!< \brief Wind gust at point i. */ From f0ae8493a665dfa3e3684f0905d41d3c984f105b Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sat, 24 Dec 2022 23:22:56 +0530 Subject: [PATCH 049/179] review suggestion regarding memory leak --- SU2_CFD/src/drivers/CDriver.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index 05a40d4186a..f1e48b5c14e 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -1910,13 +1910,12 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol else if ((incompressible && (config->GetKind_Streamwise_Periodic() != ENUM_STREAMWISE_PERIODIC::NONE)) && (config->GetEnergy_Equation() && !config->GetStreamwise_Periodic_Temperature())) numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceIncStreamwisePeriodic_Outlet(nDim, nVar_Flow, config); - else - numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceNothing(nDim, nVar_Flow, config); - - /* Vorticity Confinement term as a second source term to allow the use of VC along with other source terms*/ - if (config->GetVorticityConfinement() == YES) { + else if (config->GetVorticityConfinement() == YES) { + /*--- Vorticity Confinement term as a second source term to allow the use of VC along with other source terms ---*/ numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceVorticityConfinement(nDim, nVar_Flow, config); } + else + numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceNothing(nDim, nVar_Flow, config); } From 9c3c4dcf302e9f3d431ad888bda2c21a2bcab28c Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Sat, 24 Dec 2022 19:38:25 +0000 Subject: [PATCH 050/179] Apply suggestions from code review --- SU2_CFD/src/numerics/flow/flow_sources.cpp | 3 +-- SU2_CFD/src/solvers/CEulerSolver.cpp | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index 915ac6f436c..7b6d0a43021 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -616,7 +616,6 @@ CNumerics::ResidualType<> CSourceIncRotatingFrame_Flow::ComputeResidual(const CC return ResidualType<>(residual, jacobian, nullptr); } -/* Vorticity Confinement technique */ CSourceVorticityConfinement::CSourceVorticityConfinement(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) : CSourceBase_Flow(val_nDim, val_nVar, config) { @@ -626,7 +625,7 @@ CSourceVorticityConfinement::CSourceVorticityConfinement(unsigned short val_nDim CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CConfig* config) { /*--- density, \rho ---*/ - const su2double rho = U_i[0]; + const su2double rho = V_i[nDim + 2]; /*--- velocity, U = (u, v, w) ---*/ su2double U[3] = {V_i[1], V_i[2], 0.0}; diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index d8babc3eb5f..4f8a2cf07a2 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -2237,7 +2237,6 @@ void CEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_contain SU2_OMP_FOR_DYN(omp_chunk_size) for (iPoint = 0; iPoint < nPointDomain; iPoint++) { - second_numerics->SetConservative(nodes->GetSolution(iPoint), nullptr); second_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), nullptr); second_numerics->SetVorticity(nodes->GetVorticity(iPoint), nullptr); second_numerics->SetAuxVarGrad(nodes->GetAuxVarGradient(iPoint), nullptr); From 21a01d50145234f11d7c5eecfc2f6788b56da923 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sat, 24 Dec 2022 21:53:31 +0000 Subject: [PATCH 051/179] checkpoint --- Common/src/linear_algebra/CSysMatrix.cpp | 146 ++--------------------- 1 file changed, 11 insertions(+), 135 deletions(-) diff --git a/Common/src/linear_algebra/CSysMatrix.cpp b/Common/src/linear_algebra/CSysMatrix.cpp index 340ed831c5a..35d2f5af614 100644 --- a/Common/src/linear_algebra/CSysMatrix.cpp +++ b/Common/src/linear_algebra/CSysMatrix.cpp @@ -1048,7 +1048,13 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVector::ComputeLineletPreconditioner(const CSysVector::ComputeLineletPreconditioner(const CSysVector begin;) { - iPoint--; // because of unsigned type - if (LineletBool[iPoint]) continue; - const auto idx = iPoint*nVar; - DiagonalProduct(prod, iPoint, dia_prod); // Compute D.x* - UpperProduct(prod, iPoint, col_end, up_prod); // Compute U.x_(n+1) - VectorSubtraction(dia_prod, up_prod, &prod[idx]); // Compute y = D.x*-U.x_(n+1) - Gauss_Elimination(iPoint, &prod[idx]); // Solve D.x_(n+1) = y - } - } - END_SU2_OMP_FOR - - /*--- Linelets are solved last for the second part of LU-SGS ---*/ - - SU2_OMP_FOR_DYN(1) - for (auto iLinelet = 0ul; iLinelet < nLinelet; iLinelet++) { - - /*--- Get references to the working vectors allocated for this thread. ---*/ - - const int thread = omp_get_thread_num(); - vector& lineletUpper = LineletUpper[thread]; - vector& lineletInvDiag = LineletInvDiag[thread]; - vector& lineletVector = LineletVector[thread]; - - /*--- Initialize the solution vector with the D.x* - U.x_(1), - * where U excludes any linelet points. ---*/ - - const auto nElem = LineletPoint[iLinelet].size(); - - for (auto iElem = 0ul; iElem < nElem; iElem++) { - const auto iPoint = LineletPoint[iLinelet][iElem]; - - ScalarType up_prod[MAXNVAR]; - DiagonalProduct(prod, iPoint, up_prod); - - for (auto index = dia_ptr[iPoint]+1; index < row_ptr[iPoint+1]; index++) { - const auto jPoint = col_ind[index]; - if (LineletBool[jPoint]) continue; - MatrixVectorProductSub(&matrix[index*nVar*nVar], &prod[jPoint*nVar], up_prod); - } - - for (auto iVar = 0ul; iVar < nVar; iVar++) - lineletVector[iElem*nVar+iVar] = up_prod[iVar]; - } - - /*--- Forward pass, eliminate lower entries, modify diagonal and rhs. ---*/ - - /*--- Small temporaries. ---*/ - ScalarType aux_block[MAXNVAR*MAXNVAR], aux_vector[MAXNVAR]; - - /*--- Copy diagonal block for first point in this linelet. ---*/ - MatrixCopy(&matrix[dia_ptr[LineletPoint[iLinelet][0]]*nVar*nVar], - lineletInvDiag.data()); - - for (auto iElem = 1ul; iElem < nElem; iElem++) { - - /*--- Setup pointers to required matrices and vectors ---*/ - const auto im1Point = LineletPoint[iLinelet][iElem-1]; - const auto iPoint = LineletPoint[iLinelet][iElem]; - - const auto* d = &matrix[dia_ptr[iPoint]*nVar*nVar]; - const auto* l = GetBlock(iPoint, im1Point); - const auto* u = GetBlock(im1Point, iPoint); - - auto* inv_dm1 = &lineletInvDiag[(iElem-1)*nVar*nVar]; - auto* d_prime = &lineletInvDiag[iElem*nVar*nVar]; - auto* b_prime = &lineletVector[iElem*nVar]; - - /*--- Invert previous modified diagonal ---*/ - MatrixCopy(inv_dm1, aux_block); - MatrixInverse(aux_block, inv_dm1); - - /*--- Left-multiply by lower block to obtain the weight ---*/ - MatrixMatrixProduct(l, inv_dm1, aux_block); - - /*--- Multiply weight by upper block to modify current diagonal ---*/ - MatrixMatrixProduct(aux_block, u, d_prime); - MatrixSubtraction(d, d_prime, d_prime); - - /*--- Update the rhs ---*/ - MatrixVectorProduct(aux_block, &lineletVector[(iElem-1)*nVar], aux_vector); - VectorSubtraction(b_prime, aux_vector, b_prime); - - /*--- Cache upper block pointer for the backward substitution phase ---*/ - lineletUpper[iElem-1] = u; - } - - /*--- Backwards substitution, LineletVector becomes the solution ---*/ - - /*--- x_n = d_n^{-1} * b_n ---*/ - Gauss_Elimination(&lineletInvDiag[(nElem-1)*nVar*nVar], &lineletVector[(nElem-1)*nVar]); - - /*--- x_i = d_i^{-1}*(b_i - u_i*x_{i+1}) ---*/ - for (auto iElem = nElem-1; iElem > 0; --iElem) { - auto inv_dm1 = &lineletInvDiag[(iElem-1)*nVar*nVar]; - MatrixVectorProduct(lineletUpper[iElem-1], &lineletVector[iElem*nVar], aux_vector); - VectorSubtraction(&lineletVector[(iElem-1)*nVar], aux_vector, aux_vector); - MatrixVectorProduct(inv_dm1, aux_vector, &lineletVector[(iElem-1)*nVar]); + LowerProduct(prod, iPoint, begin, low_prod); // Compute L.x + VectorSubtraction(&vec[idx], low_prod, &prod[idx]); // Compute y = b - L.x + Gauss_Elimination(iPoint, &prod[idx]); // Solve D.x = y } - - /*--- Copy results to product vector ---*/ - - for (auto iElem = 0ul; iElem < nElem; iElem++) { - const auto iPoint = LineletPoint[iLinelet][iElem]; - for (auto iVar = 0ul; iVar < nVar; iVar++) - prod[iPoint*nVar+iVar] = lineletVector[iElem*nVar+iVar]; - } - } END_SU2_OMP_FOR From d87ff171fc17c38b722c40e77799bd203c1b90ac Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sat, 24 Dec 2022 22:01:51 +0000 Subject: [PATCH 052/179] update docker image --- .github/workflows/regression.yml | 18 +++++++++--------- .github/workflows/release-management.yml | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 8e2d4414353..146f748f3e4 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -52,12 +52,12 @@ jobs: key: ${{ matrix.config_set }}-${{ github.sha }} restore-keys: ${{ matrix.config_set }} - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2:221027-0442 + uses: docker://ghcr.io/su2code/su2/build-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} - name: Build - uses: docker://ghcr.io/su2code/su2/build-su2:221027-0442 + uses: docker://ghcr.io/su2code/su2/build-su2:221224-1158 with: args: -b ${{github.ref}} -f "${{matrix.flags}}" - name: Compress binaries @@ -68,7 +68,7 @@ jobs: name: ${{ matrix.config_set }} path: install_bin.tgz - name: Post Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2:221027-0442 + uses: docker://ghcr.io/su2code/su2/build-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -99,7 +99,7 @@ jobs: tag: OMP steps: - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -125,12 +125,12 @@ jobs: chmod a+x $BIN_FOLDER/* ls -lahR $BIN_FOLDER - name: Run Tests in Container - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: # -t -c args: -b ${{github.ref}} -t develop -c develop -s ${{matrix.testscript}} - name: Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -151,7 +151,7 @@ jobs: tag: MPI steps: - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -212,11 +212,11 @@ jobs: echo $PWD ls -lahR - name: Run Unit Tests - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: install/bin/${{matrix.testdriver}} - name: Post Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} diff --git a/.github/workflows/release-management.yml b/.github/workflows/release-management.yml index adba5b895b5..921724fcc9e 100644 --- a/.github/workflows/release-management.yml +++ b/.github/workflows/release-management.yml @@ -35,7 +35,7 @@ jobs: key: ${{ matrix.os_bin }}-${{ github.sha }} restore-keys: ${{ matrix.os_bin }} - name: Build - uses: docker://ghcr.io/su2code/su2/build-su2-cross:220716-1459 + uses: docker://ghcr.io/su2code/su2/build-su2-cross:221224-1158 with: args: -b ${{ github.sha }} -f "${{matrix.flags}}" - name: Create Archive From 76c9b4e5536d51d7b7f0fa8ee0b0cfb8d5aab998 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 25 Dec 2022 15:29:33 +0000 Subject: [PATCH 053/179] move linelets to CGeometry --- Common/include/geometry/CGeometry.hpp | 32 ++- .../linear_algebra/CPreconditioner.hpp | 2 +- Common/include/linear_algebra/CSysMatrix.hpp | 12 +- Common/src/geometry/CGeometry.cpp | 174 ++++++++++++++++ Common/src/linear_algebra/CSysMatrix.cpp | 191 ++++-------------- SU2_CFD/include/output/CFVMOutput.hpp | 8 +- SU2_CFD/src/output/CFVMOutput.cpp | 54 +---- SU2_CFD/src/output/CFlowCompOutput.cpp | 2 +- SU2_CFD/src/output/CFlowIncOutput.cpp | 2 +- SU2_CFD/src/output/CHeatOutput.cpp | 2 +- SU2_CFD/src/output/CNEMOCompOutput.cpp | 2 +- SU2_CFD/src/solvers/CAdjEulerSolver.cpp | 7 +- SU2_CFD/src/solvers/CAdjNSSolver.cpp | 7 +- SU2_CFD/src/solvers/CAdjTurbSolver.cpp | 8 - SU2_CFD/src/solvers/CEulerSolver.cpp | 8 +- SU2_CFD/src/solvers/CHeatSolver.cpp | 6 - SU2_CFD/src/solvers/CIncEulerSolver.cpp | 7 +- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 6 - SU2_CFD/src/solvers/CSpeciesSolver.cpp | 7 - SU2_CFD/src/solvers/CTransLMSolver.cpp | 7 - SU2_CFD/src/solvers/CTurbSASolver.cpp | 16 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 11 +- 22 files changed, 261 insertions(+), 310 deletions(-) diff --git a/Common/include/geometry/CGeometry.hpp b/Common/include/geometry/CGeometry.hpp index 7f7900af6c6..c5d7f5bccb5 100644 --- a/Common/include/geometry/CGeometry.hpp +++ b/Common/include/geometry/CGeometry.hpp @@ -28,6 +28,7 @@ #pragma once +#include #include "../parallelization/mpi_structure.hpp" #ifdef HAVE_METIS @@ -72,7 +73,7 @@ using namespace std; * \author F. Palacios */ class CGeometry { -protected: + protected: enum : size_t {OMP_MIN_SIZE = 32}; /*!< \brief Chunk size for small loops. */ enum : size_t {MAXNDIM = 3}; @@ -186,7 +187,29 @@ class CGeometry { ColMajorMatrix CoarseGridColor_; /*!< \brief Coarse grid levels, colorized. */ -public: + /*--- Linelets (mesh lines perpendicular to stretching direction). ---*/ + public: + struct CLineletInfo { + static constexpr passivedouble ALPHA_ISOTROPIC = 0.8; /*!< \brief Detect isotropic mesh region. */ + enum : unsigned long {MAX_LINELET_POINTS = 32}; /*!< \brief Maximum points per linelet. */ + + std::vector> linelets; /*!< \brief Point indices for each linelet. */ + + /*!< \brief Index of the linelet of each point ("linelets" transfered to points). */ + std::vector lineletIdx; + + /*!< \brief Signals that a point is not on a linelet. */ + enum : unsigned {NO_LINELET = std::numeric_limits::max()}; + + /*!< \brief Coloring for OpenMP parallelization, "linelets" is sorted by color. */ + std::vector colorOffsets; + + std::vector lineletColor; /*!< \brief Coloring transfered to points, for visualization. */ + }; + protected: + mutable CLineletInfo lineletInfo; + + public: /*--- Main geometric elements of the grid. ---*/ CPrimalGrid** elem{nullptr}; /*!< \brief Element vector (primal grid information). */ @@ -1658,6 +1681,11 @@ class CGeometry { */ inline unsigned long GetElementColorGroupSize() const { return elemColorGroupSize; } + /*! + * \brief Get the linelet definition, this function computes the linelets if that has not been done yet. + */ + const CLineletInfo& GetLineletInfo(const CConfig* config) const; + /*! * \brief Compute an ADT including the coordinates of all viscous markers * \param[in] config - Definition of the particular problem. diff --git a/Common/include/linear_algebra/CPreconditioner.hpp b/Common/include/linear_algebra/CPreconditioner.hpp index aee2243848a..2ca619c11dd 100644 --- a/Common/include/linear_algebra/CPreconditioner.hpp +++ b/Common/include/linear_algebra/CPreconditioner.hpp @@ -270,7 +270,7 @@ class CLineletPreconditioner final : public CPreconditioner { * \note Request the associated matrix to build the preconditioner. */ inline void Build() override { - sparse_matrix.BuildJacobiPreconditioner(); + sparse_matrix.BuildLineletPreconditioner(geometry, config); } }; diff --git a/Common/include/linear_algebra/CSysMatrix.hpp b/Common/include/linear_algebra/CSysMatrix.hpp index 743bfb0efb0..c05ff216f19 100644 --- a/Common/include/linear_algebra/CSysMatrix.hpp +++ b/Common/include/linear_algebra/CSysMatrix.hpp @@ -148,10 +148,6 @@ class CSysMatrix { ScalarType *invM; /*!< \brief Inverse of (Jacobi) preconditioner, or diagonal of ILU. */ - unsigned long nLinelet; /*!< \brief Number of Linelets in the system. */ - vector LineletBool; /*!< \brief Identify if a point belong to a Linelet. */ - vector > LineletPoint; /*!< \brief Linelet structure. */ - /*--- Temporary (hence mutable) working memory used in the Linelet preconditioner, outer vector is for threads ---*/ mutable vector > LineletUpper; /*!< \brief Pointers to the upper blocks of the tri-diag system (working memory). */ mutable vector > LineletInvDiag; /*!< \brief Inverse of the diagonal blocks of the tri-diag system (working memory). */ @@ -886,14 +882,8 @@ class CSysMatrix { * \brief Build the Linelet preconditioner. * \param[in] geometry - Geometrical definition of the problem. * \param[in] config - Definition of the particular problem. - * \return Average number of points per linelet. - */ - unsigned long BuildLineletPreconditioner(CGeometry *geometry, const CConfig *config); - - /*! - * \brief Returns the Linelet structure (point indices in each line). */ - const vector>& GetLinelets() const { return LineletPoint; } + void BuildLineletPreconditioner(const CGeometry *geometry, const CConfig *config); /*! * \brief Multiply CSysVector by the preconditioner diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index c942c71adb9..688d2635623 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -25,6 +25,8 @@ * License along with SU2. If not, see . */ +#include + #include "../../include/geometry/CGeometry.hpp" #include "../../include/geometry/elements/CElement.hpp" #include "../../include/parallelization/omp_structure.hpp" @@ -3859,6 +3861,178 @@ void CGeometry::ColorMGLevels(unsigned short nMGLevels, const CGeometry* const* } } +const CGeometry::CLineletInfo& CGeometry::GetLineletInfo(const CConfig* config) const { + auto& li = lineletInfo; + if (!li.linelets.empty() || nPoint == 0) return li; + + li.lineletIdx.resize(nPoint, CLineletInfo::NO_LINELET); + + /*--- Estimate number of linelets. ---*/ + + unsigned long nLinelet = 0; + for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { + if (config->GetSolid_Wall(iMarker) || config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY) { + nLinelet += nVertex[iMarker]; + } + } + + /*--- If the domain contains well defined Linelets ---*/ + + unsigned long maxNPoints = 0, sumNPoints = 0; + + if (nLinelet != 0) { + /*--- Define the basic linelets, starting from each vertex, preventing duplication of points. ---*/ + + li.linelets.resize(nLinelet); + nLinelet = 0; + for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { + if (config->GetSolid_Wall(iMarker) || config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY) { + for (auto iVertex = 0ul; iVertex < nVertex[iMarker]; iVertex++) { + const auto iPoint = vertex[iMarker][iVertex]->GetNode(); + if (li.lineletIdx[iPoint] == CLineletInfo::NO_LINELET && nodes->GetDomain(iPoint)) { + li.linelets[nLinelet].push_back(iPoint); + li.lineletIdx[iPoint] = nLinelet; + ++nLinelet; + } + } + } + } + li.linelets.resize(nLinelet); + + /*--- Create the linelet structure. ---*/ + + nLinelet = 0; + for (auto& linelet : li.linelets) { + while (linelet.size() < CLineletInfo::MAX_LINELET_POINTS) { + const auto iPoint = linelet.back(); + + /*--- Compute the value of the max and min weights to detect if this region is isotropic. ---*/ + + auto ComputeWeight = [&](unsigned long iEdge, unsigned long jPoint) { + const auto* normal = edges->GetNormal(iEdge); + const su2double area = GeometryToolbox::Norm(nDim, normal); + const su2double volume_iPoint = nodes->GetVolume(iPoint); + const su2double volume_jPoint = nodes->GetVolume(jPoint); + return 0.5 * area * (1.0 / volume_iPoint + 1.0 / volume_jPoint); + }; + + su2double max_weight = 0.0, min_weight = std::numeric_limits::max(); + for (auto iNode = 0u; iNode < nodes->GetnPoint(iPoint); iNode++) { + const auto jPoint = nodes->GetPoint(iPoint, iNode); + const auto iEdge = nodes->GetEdge(iPoint, iNode); + const auto weight = ComputeWeight(iEdge, jPoint); + max_weight = max(max_weight, weight); + min_weight = min(min_weight, weight); + } + + /*--- Isotropic, stop this linelet. ---*/ + if (min_weight / max_weight > CLineletInfo::ALPHA_ISOTROPIC) break; + + /*--- Otherwise, add the closest valid neighbor. ---*/ + + su2double min_dist2 = std::numeric_limits::max(); + auto next_Point = iPoint; + const auto* iCoord = nodes->GetCoord(iPoint); + + for (const auto jPoint : nodes->GetPoints(iPoint)) { + if (li.lineletIdx[jPoint] == CLineletInfo::NO_LINELET && nodes->GetDomain(jPoint)) { + const auto* jCoord = nodes->GetCoord(jPoint); + const su2double d2 = GeometryToolbox::SquaredDistance(nDim, iCoord, jCoord); + su2double cosTheta = 1; + if (linelet.size() > 1) { + const auto* kCoord = nodes->GetCoord(linelet[linelet.size() - 2]); + su2double dij[3] = {0.0}, dki[3] = {0.0}; + GeometryToolbox::Distance(nDim, iCoord, kCoord, dki); + GeometryToolbox::Distance(nDim, jCoord, iCoord, dij); + cosTheta = GeometryToolbox::DotProduct(3, dki, dij) / sqrt(d2 * GeometryToolbox::SquaredNorm(nDim, dki)); + } + if (d2 < min_dist2 && cosTheta > 0.7071) { + next_Point = jPoint; + min_dist2 = d2; + } + } + } + + /*--- Did not find a suitable point. ---*/ + if (next_Point == iPoint) break; + + linelet.push_back(next_Point); + li.lineletIdx[next_Point] = nLinelet; + } + ++nLinelet; + + maxNPoints = max(maxNPoints, linelet.size()); + sumNPoints += linelet.size(); + } + } + + /*--- Average linelet size over all ranks. ---*/ + + unsigned long globalNPoints, globalNLineLets; + SU2_MPI::Allreduce(&sumNPoints, &globalNPoints, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); + SU2_MPI::Allreduce(&nLinelet, &globalNLineLets, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); + + if (rank == MASTER_NODE) { + std::cout << "Computed linelet structure, " + << static_cast(passivedouble(globalNPoints) / globalNLineLets) + << " points in each line (average)." << std::endl; + } + + /*--- Color the linelets for OpenMP parallelization and visualization. ---*/ + + /*--- Adjacency between lines, computed from point neighbors. ---*/ + std::vector> adjacency(nLinelet); + for (auto iLine = 0ul; iLine < nLinelet; ++iLine) { + std::unordered_set neighbors; + for (const auto iPoint : li.linelets[iLine]) { + neighbors.insert(iPoint); + for (const auto jPoint : nodes->GetPoints(iPoint)) { + neighbors.insert(jPoint); + } + } + adjacency[iLine].reserve(neighbors.size()); + for (const auto iPoint : neighbors) { + adjacency[iLine].push_back(iPoint); + } + } + + const auto coloring = colorSparsePattern::max()>( + CCompressedSparsePatternUL(adjacency), 1, true); + const auto nColors = coloring.getOuterSize(); + + /*--- Sort linelets by color. ---*/ + std::vector> sortedLinelets; + sortedLinelets.reserve(nLinelet); + li.colorOffsets.reserve(nColors + 1); + li.colorOffsets.push_back(0); + + for (auto iColor = 0ul; iColor < nColors; ++iColor) { + for (const auto iLine : coloring.getInnerIter(iColor)) { + sortedLinelets.push_back(std::move(li.linelets[iLine])); + } + li.colorOffsets.push_back(sortedLinelets.size()); + } + li.linelets = std::move(sortedLinelets); + + /*--- For visualization, offset colors to avoid coloring across ranks. ---*/ + std::vector allNColors(size); + SU2_MPI::Allgather(&nColors, 1, MPI_UNSIGNED_LONG, allNColors.data(), 1, MPI_UNSIGNED_LONG, SU2_MPI::GetComm()); + unsigned long offset = 0; + for (int i = 0; i < rank; ++i) offset += allNColors[i]; + + /*--- Finally, transfer colors to points, using "0" as "no linelet". ---*/ + li.lineletColor.resize(nPoint, 0); + for (auto iColor = 0ul; iColor < nColors; ++iColor) { + for (auto iLine = li.colorOffsets[iColor]; iLine < li.colorOffsets[iColor + 1]; ++iLine) { + for (const auto iPoint : li.linelets[iLine]) { + li.lineletColor[iPoint] = 1 + offset + iColor; + } + } + } + + return li; +} + void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeometry ****geometry_container){ int nZone = config_container[ZONE_0]->GetnZone(); diff --git a/Common/src/linear_algebra/CSysMatrix.cpp b/Common/src/linear_algebra/CSysMatrix.cpp index 35d2f5af614..559c52f4e79 100644 --- a/Common/src/linear_algebra/CSysMatrix.cpp +++ b/Common/src/linear_algebra/CSysMatrix.cpp @@ -43,7 +43,6 @@ CSysMatrix::CSysMatrix() : nPoint = nPointDomain = nVar = nEqn = 0; nnz = nnz_ilu = 0; ilu_fill_in = 0; - nLinelet = 0; omp_partitions = nullptr; @@ -911,135 +910,32 @@ void CSysMatrix::ComputeLU_SGSPreconditioner(const CSysVector -unsigned long CSysMatrix::BuildLineletPreconditioner(CGeometry *geometry, const CConfig *config) { +void CSysMatrix::BuildLineletPreconditioner(const CGeometry *geometry, const CConfig *config) { - assert(omp_get_thread_num()==0 && "Linelet preconditioner cannot be built by multiple threads."); - const auto nDim = geometry->GetnDim(); + BuildJacobiPreconditioner(); - /*--- Stopping criteria. ---*/ + if (!LineletUpper.empty()) return; - const su2double alphaIsotropic = 0.9; - const unsigned long maxLineletPoints = 32; + const auto nThreads = omp_get_max_threads(); - LineletBool.clear(); - LineletBool.resize(nPoint, false); - - /*--- Estimate number of linelets. ---*/ - - nLinelet = 0; - for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { - if (config->GetSolid_Wall(iMarker) || - (config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY)) { - nLinelet += geometry->nVertex[iMarker]; - } - } - - /*--- If the domain contains well defined Linelets ---*/ - - if (nLinelet != 0) { - - LineletPoint.resize(nLinelet); - - /*--- Define the basic linelets, starting from each vertex, preventing duplication of points. ---*/ - - nLinelet = 0; - for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { - if (config->GetSolid_Wall(iMarker) || (config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY)) { - for (auto iVertex = 0ul; iVertex < geometry->nVertex[iMarker]; iVertex++) { - const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); - if (!LineletBool[iPoint] && geometry->nodes->GetDomain(iPoint)) { - LineletPoint[nLinelet].push_back(iPoint); - LineletBool[iPoint] = true; - ++nLinelet; - } - } - } + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS { + const auto& li = geometry->GetLineletInfo(config); + if (!li.linelets.empty()) { + LineletUpper.resize(nThreads); + LineletVector.resize(nThreads); + LineletInvDiag.resize(nThreads); } - LineletPoint.resize(nLinelet); - - /*--- Create the linelet structure. ---*/ - - for (auto& Linelet : LineletPoint) { - while (Linelet.size() < maxLineletPoints) { - const auto iPoint = Linelet.back(); - - /*--- Compute the value of the max and min weights to detect if this region is isotropic. ---*/ - - auto ComputeWeight = [&](unsigned long iEdge, unsigned long jPoint) { - const auto* normal = geometry->edges->GetNormal(iEdge); - const su2double area = GeometryToolbox::Norm(nDim, normal); - const su2double volume_iPoint = geometry->nodes->GetVolume(iPoint); - const su2double volume_jPoint = geometry->nodes->GetVolume(jPoint); - return 0.5 * area * (1.0 / volume_iPoint + 1.0 / volume_jPoint); - }; - - su2double max_weight = 0.0, min_weight = std::numeric_limits::max(); - for (auto iNode = 0u; iNode < geometry->nodes->GetnPoint(iPoint); iNode++) { - const auto jPoint = geometry->nodes->GetPoint(iPoint, iNode); - const auto iEdge = geometry->nodes->GetEdge(iPoint, iNode); - const auto weight = ComputeWeight(iEdge, jPoint); - max_weight = max(max_weight, weight); - min_weight = min(min_weight, weight); - } - - /*--- Isotropic, stop this linelet. ---*/ - if (min_weight / max_weight > alphaIsotropic) break; - - /*--- Otherwise, add the closest valid neighbor. ---*/ - - su2double min_dist2 = std::numeric_limits::max(); - auto next_Point = iPoint; - const auto* iCoord = geometry->nodes->GetCoord(iPoint); - - for (const auto jPoint : geometry->nodes->GetPoints(iPoint)) { - if (!LineletBool[jPoint] && geometry->nodes->GetDomain(jPoint)) { - const auto* jCoord = geometry->nodes->GetCoord(jPoint); - const su2double d2 = GeometryToolbox::SquaredDistance(nDim, iCoord, jCoord); - su2double cosTheta = 1; - if (Linelet.size() > 1) { - const auto* kCoord = geometry->nodes->GetCoord(Linelet[Linelet.size() - 2]); - su2double dij[3] = {0.0}, dki[3] = {0.0}; - GeometryToolbox::Distance(nDim, iCoord, kCoord, dki); - GeometryToolbox::Distance(nDim, jCoord, iCoord, dij); - cosTheta = GeometryToolbox::DotProduct(3, dki, dij) / sqrt(d2 * GeometryToolbox::SquaredNorm(nDim, dki)); - } - if (d2 < min_dist2 && cosTheta > 0.7071) { - next_Point = jPoint; - min_dist2 = d2; - } - } - } - - /*--- Did not find a suitable point. ---*/ - if (next_Point == iPoint) break; - - Linelet.push_back(next_Point); - LineletBool[next_Point] = true; - } - } - } + END_SU2_OMP_SAFE_GLOBAL_ACCESS - unsigned long max_nPoints = 0, sum_nPoints = 0; - for (const auto& Linelet : LineletPoint) { - max_nPoints = max(max_nPoints, Linelet.size()); - sum_nPoints += Linelet.size(); + SU2_OMP_FOR_STAT(1) + for (int iThread = 0; iThread < nThreads; ++iThread) { + const auto size = CGeometry::CLineletInfo::MAX_LINELET_POINTS; + LineletUpper[iThread].resize(size, nullptr); + LineletVector[iThread].resize(size * nVar, 0.0); + LineletInvDiag[iThread].resize(size * nVar * nVar, 0.0); } - - /*--- Memory allocation for the local max size. --*/ - - LineletUpper.resize(omp_get_max_threads(), vector(max_nPoints, nullptr)); - LineletVector.resize(omp_get_max_threads(), vector(max_nPoints * nVar, 0.0)); - LineletInvDiag.resize(omp_get_max_threads(), vector(max_nPoints * nVar * nVar, 0.0)); - - /*--- Average linelet size over all ranks. ---*/ - - unsigned long Global_nPoints, Global_nLineLets; - SU2_MPI::Allreduce(&sum_nPoints, &Global_nPoints, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); - SU2_MPI::Allreduce(&nLinelet, &Global_nLineLets, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); - - return static_cast(passivedouble(Global_nPoints) / Global_nLineLets); - + END_SU2_OMP_FOR } template @@ -1048,18 +944,20 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVectorGetLineletInfo(config); - // SU2_OMP_FOR_(schedule(dynamic,omp_heavy_size) SU2_NOWAIT) - // for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) - // if (!LineletBool[iPoint]) - // MatrixVectorProduct(&(invM[iPoint*nVar*nVar]), &vec[iPoint*nVar], &prod[iPoint*nVar]); - // END_SU2_OMP_FOR + /*--- Jacobi preconditioning where there are no linelets. ---*/ - /*--- Solve the linelets first. ---*/ + SU2_OMP_FOR_(schedule(dynamic,omp_heavy_size) SU2_NOWAIT) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) + if (li.lineletIdx[iPoint] == CGeometry::CLineletInfo::NO_LINELET) + MatrixVectorProduct(&(invM[iPoint*nVar*nVar]), &vec[iPoint*nVar], &prod[iPoint*nVar]); + END_SU2_OMP_FOR + + /*--- Solve the tridiagonal systems for the linelets. ---*/ SU2_OMP_FOR_DYN(1) - for (auto iLinelet = 0ul; iLinelet < nLinelet; iLinelet++) { + for (auto iLinelet = 0ul; iLinelet < li.linelets.size(); iLinelet++) { /*--- Get references to the working vectors allocated for this thread. ---*/ @@ -1070,10 +968,10 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVector::ComputeLineletPreconditioner(const CSysVector::ComputeLineletPreconditioner(const CSysVector::ComputeLineletPreconditioner(const CSysVector #include "COutput.hpp" class CFVMOutput : public COutput{ -protected: - std::vector lineletPointColor; - + protected: /*! * \brief Constructor of the class */ @@ -63,6 +60,5 @@ class CFVMOutput : public COutput{ /*! * \brief Load common FVM outputs. */ - void LoadCommonFVMOutputs(const CConfig* config, const CGeometry* geometry, const CSolver* solver, - unsigned long iPoint); + void LoadCommonFVMOutputs(const CConfig* config, const CGeometry* geometry, unsigned long iPoint); }; diff --git a/SU2_CFD/src/output/CFVMOutput.cpp b/SU2_CFD/src/output/CFVMOutput.cpp index 1019943055f..92bdf73e399 100644 --- a/SU2_CFD/src/output/CFVMOutput.cpp +++ b/SU2_CFD/src/output/CFVMOutput.cpp @@ -26,10 +26,6 @@ */ #include "../../include/output/CFVMOutput.hpp" -#include -#include -#include -#include "../../include/solvers/CSolver.hpp" #include "../../../Common/include/geometry/CGeometry.hpp" @@ -61,11 +57,12 @@ void CFVMOutput::AddCommonFVMOutputs(const CConfig *config) { AddVolumeOutput(key.str(), name.str(), "MULTIGRID", "Coarse mesh"); } - AddVolumeOutput("LINELET", "Linelet", "LINELET", "Mesh lines built for the line implicit preconditioner"); + if (config->GetKind_Linear_Solver_Prec() == LINELET) { + AddVolumeOutput("LINELET", "Linelet", "LINELET", "Mesh lines built for the line implicit preconditioner"); + } } -void CFVMOutput::LoadCommonFVMOutputs(const CConfig* config, const CGeometry* geometry, const CSolver* solver, - unsigned long iPoint) { +void CFVMOutput::LoadCommonFVMOutputs(const CConfig* config, const CGeometry* geometry, unsigned long iPoint) { // Mesh quality metrics, computed in CPhysicalGeometry::ComputeMeshQualityStatistics. if (config->GetWrt_MeshQuality()) { @@ -85,47 +82,6 @@ void CFVMOutput::LoadCommonFVMOutputs(const CConfig* config, const CGeometry* ge } if (config->GetKind_Linear_Solver_Prec() == LINELET) { - /*--- Lazy build. ---*/ - if (lineletPointColor.empty()) { - /*--- First color the lines based on connections between then. ---*/ - const auto& linelets = solver->Jacobian.GetLinelets(); - const auto nLine = linelets.size(); - - /*--- Adjacency between lines, computed from point neighbors. ---*/ - std::vector> adjacency(nLine); - for (auto iLine = 0ul; iLine < nLine; ++iLine) { - std::unordered_set neighbors; - for (const auto iPoint : linelets[iLine]) { - neighbors.insert(iPoint); - for (const auto jPoint : geometry->nodes->GetPoints(iPoint)) { - neighbors.insert(jPoint); - } - } - adjacency[iLine].reserve(neighbors.size()); - for (const auto iPoint : neighbors) { - adjacency[iLine].push_back(iPoint); - } - } - - std::vector lineletColor; - const unsigned long nColors = colorSparsePattern::max()>( - CCompressedSparsePatternUL(adjacency), 1, true, &lineletColor).getOuterSize(); - - /*--- Offset colors to avoid coloring across ranks. ---*/ - std::vector allNColors(size); - SU2_MPI::Allgather(&nColors, 1, MPI_UNSIGNED_LONG, allNColors.data(), 1, MPI_UNSIGNED_LONG, SU2_MPI::GetComm()); - unsigned long offset = 0; - for (int i = 0; i < rank; ++i) offset += allNColors[i]; - - /*--- Finally, transfer colors to points. ---*/ - lineletPointColor.resize(geometry->GetnPoint(), 0); - for (auto iLine = 0ul; iLine < nLine; ++iLine) { - for (const auto iPoint : linelets[iLine]) { - lineletPointColor[iPoint] = 1 + offset + lineletColor[iLine]; - } - } - } - - SetVolumeOutputValue("LINELET", iPoint, lineletPointColor[iPoint]); + SetVolumeOutputValue("LINELET", iPoint, geometry->GetLineletInfo(config).lineletColor[iPoint]); } } diff --git a/SU2_CFD/src/output/CFlowCompOutput.cpp b/SU2_CFD/src/output/CFlowCompOutput.cpp index d75e5edabea..896f0d4f03e 100644 --- a/SU2_CFD/src/output/CFlowCompOutput.cpp +++ b/SU2_CFD/src/output/CFlowCompOutput.cpp @@ -347,7 +347,7 @@ void CFlowCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolv LoadVolumeData_Scalar(config, solver, geometry, iPoint); - LoadCommonFVMOutputs(config, geometry, solver[FLOW_SOL], iPoint); + LoadCommonFVMOutputs(config, geometry, iPoint); if (config->GetTime_Domain()){ LoadTimeAveragedData(iPoint, Node_Flow); diff --git a/SU2_CFD/src/output/CFlowIncOutput.cpp b/SU2_CFD/src/output/CFlowIncOutput.cpp index cdf6eae8185..c98685c5058 100644 --- a/SU2_CFD/src/output/CFlowIncOutput.cpp +++ b/SU2_CFD/src/output/CFlowIncOutput.cpp @@ -437,7 +437,7 @@ void CFlowIncOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolve SetVolumeOutputValue("RECOVERED_TEMPERATURE", iPoint, Node_Flow->GetStreamwise_Periodic_RecoveredTemperature(iPoint)); } - LoadCommonFVMOutputs(config, geometry, solver[FLOW_SOL], iPoint); + LoadCommonFVMOutputs(config, geometry, iPoint); } bool CFlowIncOutput::SetInit_Residuals(const CConfig *config){ diff --git a/SU2_CFD/src/output/CHeatOutput.cpp b/SU2_CFD/src/output/CHeatOutput.cpp index 19b974209ed..dcbd2758f91 100644 --- a/SU2_CFD/src/output/CHeatOutput.cpp +++ b/SU2_CFD/src/output/CHeatOutput.cpp @@ -144,7 +144,7 @@ void CHeatOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolver * // Residuals SetVolumeOutputValue("RES_TEMPERATURE", iPoint, solver[HEAT_SOL]->LinSysRes(iPoint, 0)); - LoadCommonFVMOutputs(config, geometry, solver[HEAT_SOL], iPoint); + LoadCommonFVMOutputs(config, geometry, iPoint); } void CHeatOutput::LoadSurfaceData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint, unsigned short iMarker, unsigned long iVertex){ diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp index cb9c34ddf70..54b68bddfe8 100644 --- a/SU2_CFD/src/output/CNEMOCompOutput.cpp +++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp @@ -362,7 +362,7 @@ void CNEMOCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolv LoadVolumeData_Scalar(config, solver, geometry, iPoint); - LoadCommonFVMOutputs(config, geometry, solver[FLOW_SOL], iPoint); + LoadCommonFVMOutputs(config, geometry, iPoint); if (config->GetTime_Domain()) { LoadTimeAveragedData(iPoint, Node_Flow); diff --git a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp index 90a4144d340..3207ccc351c 100644 --- a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp @@ -51,7 +51,7 @@ CAdjEulerSolver::CAdjEulerSolver(void) : CSolver() { CAdjEulerSolver::CAdjEulerSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CSolver() { unsigned long iPoint, iVertex, iMarker, jMarker; string text_line, mesh_filename; - unsigned short iDim, iVar, nLineLets; + unsigned short iDim, iVar; ifstream restart_file; string filename, AdjExt; su2double myArea_Monitored, *Normal; @@ -170,11 +170,6 @@ CAdjEulerSolver::CAdjEulerSolver(CGeometry *geometry, CConfig *config, unsigned cout << "Initialize Jacobian structure (Adjoint Euler). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - if (axisymmetric) { Jacobian_Axisymmetric = new su2double* [nVar]; for (iVar = 0; iVar < nVar; iVar++) diff --git a/SU2_CFD/src/solvers/CAdjNSSolver.cpp b/SU2_CFD/src/solvers/CAdjNSSolver.cpp index 684b7c8f47d..651df0675c9 100644 --- a/SU2_CFD/src/solvers/CAdjNSSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjNSSolver.cpp @@ -35,7 +35,7 @@ CAdjNSSolver::CAdjNSSolver(void) : CAdjEulerSolver() { } CAdjNSSolver::CAdjNSSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CAdjEulerSolver() { unsigned long iPoint, iVertex; string text_line, mesh_filename; - unsigned short iDim, iVar, iMarker, nLineLets; + unsigned short iDim, iVar, iMarker; ifstream restart_file; string filename, AdjExt; @@ -141,11 +141,6 @@ CAdjNSSolver::CAdjNSSolver(CGeometry *geometry, CConfig *config, unsigned short cout << "Initialize Jacobian structure (Adjoint N-S). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - } else { if (rank == MASTER_NODE) cout << "Explicit scheme. No Jacobian structure (Adjoint N-S). MG level: " << iMesh <<"." << endl; diff --git a/SU2_CFD/src/solvers/CAdjTurbSolver.cpp b/SU2_CFD/src/solvers/CAdjTurbSolver.cpp index be00698a204..bc01707e4c2 100644 --- a/SU2_CFD/src/solvers/CAdjTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjTurbSolver.cpp @@ -32,8 +32,6 @@ CAdjTurbSolver::CAdjTurbSolver(void) : CSolver() {} CAdjTurbSolver::CAdjTurbSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CSolver() { - unsigned short nLineLets; - adjoint = true; nDim = geometry->GetnDim(); @@ -83,12 +81,6 @@ CAdjTurbSolver::CAdjTurbSolver(CGeometry *geometry, CConfig *config, unsigned sh /*--- Initialization of the structure of the whole Jacobian ---*/ Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - Jacobian.SetValZero(); LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 54bc9af2ff7..6f858710419 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -65,7 +65,7 @@ CEulerSolver::CEulerSolver(CGeometry *geometry, CConfig *config, int Unst_RestartIter = 0; unsigned long iPoint, iMarker, counter_local = 0, counter_global = 0; - unsigned short iDim, nLineLets; + unsigned short iDim; su2double StaticEnergy, Density, Velocity2, Pressure, Temperature; /*--- A grid is defined as dynamic if there's rigid grid movement or grid deformation AND the problem is time domain ---*/ @@ -161,12 +161,6 @@ CEulerSolver::CEulerSolver(CGeometry *geometry, CConfig *config, cout << "Initialize Jacobian structure (" << description << "). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) - cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } } else { if (rank == MASTER_NODE) diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index de0b2fe786c..9bada16eb30 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -80,12 +80,6 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (heat equation) MG level: " << iMesh << "." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - auto nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); diff --git a/SU2_CFD/src/solvers/CIncEulerSolver.cpp b/SU2_CFD/src/solvers/CIncEulerSolver.cpp index 3a26086201e..8ba501758d6 100644 --- a/SU2_CFD/src/solvers/CIncEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CIncEulerSolver.cpp @@ -45,7 +45,7 @@ CIncEulerSolver::CIncEulerSolver(CGeometry *geometry, CConfig *config, unsigned * being called by itself, or by its derived class CIncNSSolver. ---*/ const string description = navier_stokes? "Navier-Stokes" : "Euler"; - unsigned short iMarker, nLineLets; + unsigned short iMarker; ifstream restart_file; unsigned short nZone = geometry->GetnZone(); bool restart = (config->GetRestart() || config->GetRestart_Flow()); @@ -161,11 +161,6 @@ CIncEulerSolver::CIncEulerSolver(CGeometry *geometry, CConfig *config, unsigned cout << "Initialize Jacobian structure (" << description << "). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } } else { if (rank == MASTER_NODE) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 67dd51ae200..147def267fa 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -57,7 +57,6 @@ CNEMOEulerSolver::CNEMOEulerSolver(CGeometry *geometry, CConfig *config, int Unst_RestartIter = 0; unsigned long iMarker; - unsigned short nLineLets; su2double *Mvec_Inf, Alpha, Beta; /*--- A grid is defined as dynamic if there's rigid grid movement or grid deformation AND the problem is time domain ---*/ @@ -137,11 +136,6 @@ CNEMOEulerSolver::CNEMOEulerSolver(CGeometry *geometry, CConfig *config, /*--- Jacobians and vector structures for implicit computations ---*/ if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (" << description << "). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } } else { if (rank == MASTER_NODE) cout<< "Explicit Scheme. No Jacobian structure (" << description << "). MG level: " << iMesh <<"."<GetKind_Linear_Solver_Prec() == LINELET) { - const auto nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) - cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); System.SetxIsZero(true); diff --git a/SU2_CFD/src/solvers/CTransLMSolver.cpp b/SU2_CFD/src/solvers/CTransLMSolver.cpp index 5fd884d4f0d..af4ef1317e2 100644 --- a/SU2_CFD/src/solvers/CTransLMSolver.cpp +++ b/SU2_CFD/src/solvers/CTransLMSolver.cpp @@ -40,7 +40,6 @@ CTransLMSolver::CTransLMSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CTurbSolver(geometry, config, true) { - unsigned short nLineLets; unsigned long iPoint; ifstream restart_file; string text_line; @@ -81,12 +80,6 @@ CTransLMSolver::CTransLMSolver(CGeometry *geometry, CConfig *config, unsigned sh if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (LM transition model)." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); System.SetxIsZero(true); diff --git a/SU2_CFD/src/solvers/CTurbSASolver.cpp b/SU2_CFD/src/solvers/CTurbSASolver.cpp index f0b45b480c9..30d7308cd2e 100644 --- a/SU2_CFD/src/solvers/CTurbSASolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSASolver.cpp @@ -34,8 +34,6 @@ CTurbSASolver::CTurbSASolver(CGeometry *geometry, CConfig *config, unsigned short iMesh, CFluidModel* FluidModel) : CTurbSolver(geometry, config, false) { - - unsigned short nLineLets; unsigned long iPoint; su2double Density_Inf, Viscosity_Inf, Factor_nu_Inf, Factor_nu_Engine, Factor_nu_ActDisk; @@ -71,12 +69,6 @@ CTurbSASolver::CTurbSASolver(CGeometry *geometry, CConfig *config, unsigned shor if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (SA model)." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); System.SetxIsZero(true); @@ -267,8 +259,8 @@ void CTurbSASolver::Postprocessing(CGeometry *geometry, CSolver **solver_contain const auto jPoint = geometry->vertex[iMarker][iVertex]->GetNormal_Neighbor(); su2double FrictionVelocity = 0.0; - /*--- Formulation varies for 2D and 3D problems: in 3D the friction velocity is assumed to be sqrt(mu * |Omega|) - (provided by the reference paper https://doi.org/10.2514/6.1992-439), whereas in 2D we have to use the + /*--- Formulation varies for 2D and 3D problems: in 3D the friction velocity is assumed to be sqrt(mu * |Omega|) + (provided by the reference paper https://doi.org/10.2514/6.1992-439), whereas in 2D we have to use the standard definition sqrt(c_f / rho) since Omega = 0. ---*/ if(nDim == 2){ su2double shearStress = 0.0; @@ -385,8 +377,8 @@ void CTurbSASolver::Source_Residual(CGeometry *geometry, CSolver **solver_contai } /*--- Effective Intermittency ---*/ - - if (config->GetKind_Trans_Model() != TURB_TRANS_MODEL::NONE) { + + if (config->GetKind_Trans_Model() != TURB_TRANS_MODEL::NONE) { numerics->SetIntermittencyEff(solver_container[TRANS_SOL]->GetNodes()->GetIntermittencyEff(iPoint)); numerics->SetIntermittency(solver_container[TRANS_SOL]->GetNodes()->GetSolution(iPoint, 0)); } diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 027c967e7c9..c2f1983cd73 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -34,7 +34,6 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CTurbSolver(geometry, config, true) { - unsigned short nLineLets; unsigned long iPoint; ifstream restart_file; string text_line; @@ -72,12 +71,6 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (SST model)." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); System.SetxIsZero(true); @@ -355,8 +348,8 @@ void CTurbSSTSolver::Source_Residual(CGeometry *geometry, CSolver **solver_conta numerics->SetCrossDiff(nodes->GetCrossDiff(iPoint)); - /*--- Effective Intermittency ---*/ - if (config->GetKind_Trans_Model() == TURB_TRANS_MODEL::LM) { + /*--- Effective Intermittency ---*/ + if (config->GetKind_Trans_Model() == TURB_TRANS_MODEL::LM) { numerics->SetIntermittencyEff(solver_container[TRANS_SOL]->GetNodes()->GetIntermittencyEff(iPoint)); } From 0baf213b04bd59e86b8ecaa783b4c83e4a97c76f Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 25 Dec 2022 17:10:47 +0000 Subject: [PATCH 054/179] cleanup --- Common/include/linear_algebra/CSysMatrix.inl | 3 ++- Common/src/linear_algebra/CSysMatrix.cpp | 15 ++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Common/include/linear_algebra/CSysMatrix.inl b/Common/include/linear_algebra/CSysMatrix.inl index 15f8b2750b2..435a6ba2675 100644 --- a/Common/include/linear_algebra/CSysMatrix.inl +++ b/Common/include/linear_algebra/CSysMatrix.inl @@ -192,7 +192,8 @@ FORCEINLINE void CSysMatrix::UpperProduct(const CSysVector= nPointDomain) MatrixVectorProductAdd(&matrix[index*nVar*nEqn], &vec[col_j*nEqn], prod); } } diff --git a/Common/src/linear_algebra/CSysMatrix.cpp b/Common/src/linear_algebra/CSysMatrix.cpp index 559c52f4e79..8fa6f7ffe97 100644 --- a/Common/src/linear_algebra/CSysMatrix.cpp +++ b/Common/src/linear_algebra/CSysMatrix.cpp @@ -885,17 +885,13 @@ void CSysMatrix::ComputeLU_SGSPreconditioner(const CSysVector begin;) { iPoint--; // because of unsigned type auto idx = iPoint*nVar; DiagonalProduct(prod, iPoint, dia_prod); // Compute D.x* - UpperProduct(prod, iPoint, col_end, up_prod); // Compute U.x_(n+1) + UpperProduct(prod, iPoint, row_end, up_prod); // Compute U.x_(n+1) VectorSubtraction(dia_prod, up_prod, &prod[idx]); // Compute y = D.x*-U.x_(n+1) Gauss_Elimination(iPoint, &prod[idx]); // Solve D.x* = y } @@ -914,6 +910,7 @@ void CSysMatrix::BuildLineletPreconditioner(const CGeometry *geometr BuildJacobiPreconditioner(); + /*--- Allocate working vectors if not done yet. ---*/ if (!LineletUpper.empty()) return; const auto nThreads = omp_get_max_threads(); @@ -962,13 +959,13 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVector& lineletUpper = LineletUpper[thread]; - vector& lineletInvDiag = LineletInvDiag[thread]; - vector& lineletVector = LineletVector[thread]; + auto& lineletUpper = LineletUpper[thread]; + auto& lineletInvDiag = LineletInvDiag[thread]; + auto& lineletVector = LineletVector[thread]; /*--- Initialize the solution vector with the rhs ---*/ - auto nElem = li.linelets[iLinelet].size(); + const auto nElem = li.linelets[iLinelet].size(); for (auto iElem = 0ul; iElem < nElem; iElem++) { const auto iPoint = li.linelets[iLinelet][iElem]; From 4ffc32eb5e60e2e43119c60f6b7d0f8799cee316 Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Sun, 25 Dec 2022 17:25:45 +0000 Subject: [PATCH 055/179] Apply suggestions from code review --- Common/include/geometry/CGeometry.hpp | 2 +- Common/src/linear_algebra/CSysMatrix.cpp | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/Common/include/geometry/CGeometry.hpp b/Common/include/geometry/CGeometry.hpp index c5d7f5bccb5..380fd86c7a5 100644 --- a/Common/include/geometry/CGeometry.hpp +++ b/Common/include/geometry/CGeometry.hpp @@ -187,8 +187,8 @@ class CGeometry { ColMajorMatrix CoarseGridColor_; /*!< \brief Coarse grid levels, colorized. */ - /*--- Linelets (mesh lines perpendicular to stretching direction). ---*/ public: + /*!< \brief Linelets (mesh lines perpendicular to stretching direction). */ struct CLineletInfo { static constexpr passivedouble ALPHA_ISOTROPIC = 0.8; /*!< \brief Detect isotropic mesh region. */ enum : unsigned long {MAX_LINELET_POINTS = 32}; /*!< \brief Maximum points per linelet. */ diff --git a/Common/src/linear_algebra/CSysMatrix.cpp b/Common/src/linear_algebra/CSysMatrix.cpp index 8fa6f7ffe97..c6616cdd368 100644 --- a/Common/src/linear_algebra/CSysMatrix.cpp +++ b/Common/src/linear_algebra/CSysMatrix.cpp @@ -29,11 +29,8 @@ #include "../../include/geometry/CGeometry.hpp" #include "../../include/toolboxes/allocation_toolbox.hpp" -#include "../../include/toolboxes/geometry_toolbox.hpp" -#include #include -#include template CSysMatrix::CSysMatrix() : From 56ed18ce61fdbb5f45f66094ed4248b0d46a3aa0 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 25 Dec 2022 17:59:06 +0000 Subject: [PATCH 056/179] didn't save --- Common/src/geometry/CGeometry.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 688d2635623..305427a33b2 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -4008,6 +4008,10 @@ const CGeometry::CLineletInfo& CGeometry::GetLineletInfo(const CConfig* config) for (auto iColor = 0ul; iColor < nColors; ++iColor) { for (const auto iLine : coloring.getInnerIter(iColor)) { + /*--- Store the new linelet index for its points. ---*/ + for (const auto iPoint : li.linelets[iLine]) { + li.lineletIdx[iPoint] = sortedLinelets.size(); + } sortedLinelets.push_back(std::move(li.linelets[iLine])); } li.colorOffsets.push_back(sortedLinelets.size()); From f3ccf6b0fe9c31fe17d86ef56afeb5046031ec23 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 25 Dec 2022 18:06:31 +0000 Subject: [PATCH 057/179] try to fix AD compiler warning --- Common/src/geometry/CGeometry.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 305427a33b2..49a7c0e7a40 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -3911,8 +3911,9 @@ const CGeometry::CLineletInfo& CGeometry::GetLineletInfo(const CConfig* config) auto ComputeWeight = [&](unsigned long iEdge, unsigned long jPoint) { const auto* normal = edges->GetNormal(iEdge); const su2double area = GeometryToolbox::Norm(nDim, normal); - const su2double volume_iPoint = nodes->GetVolume(iPoint); - const su2double volume_jPoint = nodes->GetVolume(jPoint); + su2double volume_iPoint{}, volume_jPoint{}; + volume_iPoint = nodes->GetVolume(iPoint); + volume_jPoint = nodes->GetVolume(jPoint); return 0.5 * area * (1.0 / volume_iPoint + 1.0 / volume_jPoint); }; From 119444657aa2dfd5920b06413c9c7ba0ed47ed36 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 25 Dec 2022 18:29:12 +0000 Subject: [PATCH 058/179] fix compilation? --- Common/src/geometry/CGeometry.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 49a7c0e7a40..4f2f85e88a9 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -3908,20 +3908,15 @@ const CGeometry::CLineletInfo& CGeometry::GetLineletInfo(const CConfig* config) /*--- Compute the value of the max and min weights to detect if this region is isotropic. ---*/ - auto ComputeWeight = [&](unsigned long iEdge, unsigned long jPoint) { - const auto* normal = edges->GetNormal(iEdge); - const su2double area = GeometryToolbox::Norm(nDim, normal); - su2double volume_iPoint{}, volume_jPoint{}; - volume_iPoint = nodes->GetVolume(iPoint); - volume_jPoint = nodes->GetVolume(jPoint); - return 0.5 * area * (1.0 / volume_iPoint + 1.0 / volume_jPoint); - }; - su2double max_weight = 0.0, min_weight = std::numeric_limits::max(); for (auto iNode = 0u; iNode < nodes->GetnPoint(iPoint); iNode++) { const auto jPoint = nodes->GetPoint(iPoint, iNode); const auto iEdge = nodes->GetEdge(iPoint, iNode); - const auto weight = ComputeWeight(iEdge, jPoint); + const auto* normal = edges->GetNormal(iEdge); + const su2double area = GeometryToolbox::Norm(nDim, normal); + const su2double volume_iPoint = nodes->GetVolume(iPoint); + const su2double volume_jPoint = nodes->GetVolume(jPoint); + const su2double weight = 0.5 * area * (1.0 / volume_iPoint + 1.0 / volume_jPoint); max_weight = max(max_weight, weight); min_weight = min(min_weight, weight); } From 7da5838bf60e61db5fdfb34c1ff69944d23fd788 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Thu, 29 Dec 2022 19:46:16 +0000 Subject: [PATCH 059/179] fix usage of std::max, test turning on OpenBLAS --- .github/workflows/regression.yml | 22 +++++++++++----------- Common/src/geometry/CGeometry.cpp | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 146f748f3e4..e749e661e70 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -6,7 +6,7 @@ on: - 'develop' - 'master' pull_request: - branches: + branches: - 'develop' - 'master' workflow_call: @@ -22,7 +22,7 @@ jobs: name: Build SU2 strategy: fail-fast: false - matrix: + matrix: config_set: [BaseMPI, ReverseMPI, ForwardMPI, BaseNoMPI, ReverseNoMPI, ForwardNoMPI, BaseOMP, ReverseOMP, ForwardOMP] include: - config_set: BaseMPI @@ -32,7 +32,7 @@ jobs: - config_set: ForwardMPI flags: '-Denable-directdiff=true -Denable-normal=false -Denable-tests=true --warnlevel=3 --werror' - config_set: BaseNoMPI - flags: '-Denable-pywrapper=true -Dwith-mpi=disabled -Denable-tests=true --warnlevel=3 --werror' + flags: '-Denable-pywrapper=true -Denable-openblas=true -Dwith-mpi=disabled -Denable-tests=true --warnlevel=3 --werror' - config_set: ReverseNoMPI flags: '-Denable-autodiff=true -Denable-normal=false -Dwith-mpi=disabled -Denable-pywrapper=true -Denable-tests=true --warnlevel=3 --werror' - config_set: ForwardNoMPI @@ -51,18 +51,18 @@ jobs: path: ccache key: ${{ matrix.config_set }}-${{ github.sha }} restore-keys: ${{ matrix.config_set }} - - name: Pre Cleanup + - name: Pre Cleanup uses: docker://ghcr.io/su2code/su2/build-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} - - name: Build + - name: Build uses: docker://ghcr.io/su2code/su2/build-su2:221224-1158 with: args: -b ${{github.ref}} -f "${{matrix.flags}}" - name: Compress binaries run: tar -zcvf install_bin.tgz install/bin - - name: Upload Binaries + - name: Upload Binaries uses: actions/upload-artifact@v3 with: name: ${{ matrix.config_set }} @@ -78,7 +78,7 @@ jobs: needs: build strategy: fail-fast: false - matrix: + matrix: testscript: ['vandv.py', 'tutorials.py', 'parallel_regression.py', 'parallel_regression_AD.py', 'serial_regression.py', 'serial_regression_AD.py', 'hybrid_regression.py', 'hybrid_regression_AD.py'] include: - testscript: 'vandv.py' @@ -119,7 +119,7 @@ jobs: tar -zxvf install_bin.tgz ls -lah install/bin/ cp -r install/bin/* $BIN_FOLDER; - popd; + popd; fi done chmod a+x $BIN_FOLDER/* @@ -150,7 +150,7 @@ jobs: - testdriver: 'test_driver_DD' tag: MPI steps: - - name: Pre Cleanup + - name: Pre Cleanup uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: /bin/rm @@ -196,8 +196,8 @@ jobs: branch="${{github.ref}}" name="SU2" SRC_FOLDER="$PWD/src" - mkdir -p $SRC_FOLDER - cd $SRC_FOLDER + mkdir -p $SRC_FOLDER + cd $SRC_FOLDER git clone --recursive --depth=1 --shallow-submodules https://github.com/su2code/SU2 $name cd $name git config --add remote.origin.fetch '+refs/pull/*/merge:refs/remotes/origin/refs/pull/*/merge' diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 4f2f85e88a9..fd276f8eb39 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -3957,7 +3957,7 @@ const CGeometry::CLineletInfo& CGeometry::GetLineletInfo(const CConfig* config) } ++nLinelet; - maxNPoints = max(maxNPoints, linelet.size()); + maxNPoints = max(maxNPoints, linelet.size()); sumNPoints += linelet.size(); } } From cd07747890915c847276b0b08cfe6c6c78e7fda7 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Thu, 29 Dec 2022 22:09:54 +0000 Subject: [PATCH 060/179] update airfoilRBF case --- TestCases/serial_regression.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index a3b05ed5d15..9ff934437db 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -1132,7 +1132,7 @@ def main(): airfoilRBF.cfg_dir = "fea_fsi/Airfoil_RBF" airfoilRBF.cfg_file = "config.cfg" airfoilRBF.test_iter = 1 - airfoilRBF.test_vals = [1.000000, -2.786185, -4.977948] + airfoilRBF.test_vals = [1.000000, -2.786183, -4.977959] airfoilRBF.multizone = True test_list.append(airfoilRBF) From b22b4919f9a1dbfe46390c9758ae7c637ef8c4ca Mon Sep 17 00:00:00 2001 From: jtneedels Date: Fri, 30 Dec 2022 12:30:17 -0800 Subject: [PATCH 061/179] initial commit Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 147def267fa..9e18da6fe47 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2148,6 +2148,7 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container } +// NECESSARY? void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { From b78e02009306e7a611123e2648f5ae9577e05ccf Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 1 Jan 2023 15:32:56 +0000 Subject: [PATCH 062/179] viscous numerics and residual --- SU2_CFD/include/numerics/CNumerics.hpp | 17 +---- SU2_CFD/include/numerics/heat.hpp | 38 ++++++---- .../numerics/scalar/scalar_diffusion.hpp | 35 ++++++--- .../turbulent/transition/trans_diffusion.hpp | 8 +- .../numerics/turbulent/turb_diffusion.hpp | 9 ++- SU2_CFD/include/solvers/CHeatSolver.hpp | 4 + SU2_CFD/include/solvers/CScalarSolver.hpp | 7 +- SU2_CFD/src/drivers/CDriver.cpp | 4 +- SU2_CFD/src/numerics/heat.cpp | 40 ---------- SU2_CFD/src/solvers/CHeatSolver.cpp | 74 ++++++------------- 10 files changed, 92 insertions(+), 144 deletions(-) diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index f8568a2533d..8cf4d7edab8 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -71,9 +71,6 @@ class CNumerics { Thermal_Conductivity_j, /*!< \brief Thermal conductivity at point j. */ Thermal_Conductivity_ve_i, /*!< \brief vibrational-electronic Thermal conductivity at point i. */ Thermal_Conductivity_ve_j, /*!< \brief vibrational-electronic Thermal conductivity at point j. */ - Thermal_Diffusivity_i, /*!< \brief Thermal diffusivity at point i. */ - Thermal_Diffusivity_j; /*!< \brief Thermal diffusivity at point j. */ - su2double Cp_i, /*!< \brief Cp at point i. */ Cp_j; /*!< \brief Cp at point j. */ su2double @@ -158,7 +155,7 @@ class CNumerics { TurbPsi_Grad_j, /*!< \brief Gradient of adjoint turbulent variables at point j. */ AuxVar_Grad_i, /*!< \brief Gradient of an auxiliary variable at point i. */ AuxVar_Grad_j; /*!< \brief Gradient of an auxiliary variable at point i. */ - su2double + su2double LocalGridLength_i; /*!< \brief Local grid length at point i. */ const su2double *RadVar_Source; /*!< \brief Source term from the radiative heat transfer equation. */ const su2double @@ -793,18 +790,6 @@ class CNumerics { Thermal_Conductivity_ve_j = val_thermal_conductivity_ve_j; } - /*! - * \brief Set the thermal diffusivity (translational/rotational) - * \param[in] val_thermal_diffusivity_i - Value of the thermal diffusivity at point i. - * \param[in] val_thermal_diffusivity_j - Value of the thermal diffusivity at point j. - * \param[in] iSpecies - Value of the species. - */ - inline void SetThermalDiffusivity(su2double val_thermal_diffusivity_i, - su2double val_thermal_diffusivity_j) { - Thermal_Diffusivity_i = val_thermal_diffusivity_i; - Thermal_Diffusivity_j = val_thermal_diffusivity_j; - } - /*! * \brief Set the specifc heat c_p. * \param[in] val_specific_heat_i - Value of the specific heat at point i. diff --git a/SU2_CFD/include/numerics/heat.hpp b/SU2_CFD/include/numerics/heat.hpp index 2713c5906e6..f5076a434be 100644 --- a/SU2_CFD/include/numerics/heat.hpp +++ b/SU2_CFD/include/numerics/heat.hpp @@ -27,7 +27,7 @@ #pragma once -#include "CNumerics.hpp" +#include "scalar/scalar_diffusion.hpp" /*! * \class CCentSca_Heat @@ -100,26 +100,36 @@ class CUpwSca_Heat : public CNumerics { * \author O. Burghardt. * \version 7.5.0 "Blackbird" */ -class CAvgGrad_Heat : public CNumerics { -private: - bool implicit, correct; - -public: +class CAvgGrad_Heat final : public CAvgGrad_Scalar { + public: /*! * \brief Constructor of the class. * \param[in] val_nDim - Number of dimensions of the problem. - * \param[in] val_nVar - Number of variables of the problem. * \param[in] config - Definition of the particular problem. - * \param[in] correct - Correct the gradient. + * \param[in] correct - Whether to correct the gradient. */ - CAvgGrad_Heat(unsigned short val_nDim, unsigned short val_nVar, const CConfig *config, bool correct); + CAvgGrad_Heat(unsigned short val_nDim, const CConfig *config, bool correct) + : CAvgGrad_Scalar(val_nDim, 1, correct, config) {} + private: /*! - * \brief Compute the viscous heat residual using an average of gradients with correction. - * \param[out] val_residual - Pointer to the total residual. - * \param[out] Jacobian_i - Jacobian of the numerical method at node i (implicit computation). - * \param[out] Jacobian_j - Jacobian of the numerical method at node j (implicit computation). + * \brief Adds extra variables to AD + */ + void ExtraADPreaccIn(void) override { + AD::SetPreaccIn(*Diffusion_Coeff_i, *Diffusion_Coeff_j); + } + + /*! + * \brief Heat-specific specific steps in the ComputeResidual method * \param[in] config - Definition of the particular problem. */ - void ComputeResidual(su2double *val_residual, su2double **Jacobian_i, su2double **Jacobian_j, CConfig *config) override; + void FinishResidualCalc(const CConfig* config) override { + const su2double Thermal_Diffusivity_Mean = 0.5 * (*Diffusion_Coeff_i + *Diffusion_Coeff_j); + + Flux[0] = Thermal_Diffusivity_Mean * Proj_Mean_GradScalarVar[0]; + + /*--- Use TSL for Jacobians. ---*/ + Jacobian_i[0][0] = -Thermal_Diffusivity_Mean * proj_vector_ij; + Jacobian_j[0][0] = Thermal_Diffusivity_Mean * proj_vector_ij; + } }; diff --git a/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp b/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp index 318f6281a18..82793741241 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp @@ -30,6 +30,18 @@ #include "../CNumerics.hpp" +/*! + * \class CNoFlowIndices + * \brief Dummy flow indices class to use CAvgGrad_Scalar when flow variables are not available. + * For example, solid heat transfer problems. + */ +struct CNoFlowIndices { + CNoFlowIndices(int, int) {} + inline int Density() const { return 0; } + inline int LaminarViscosity() const { return 0; } + inline int EddyViscosity() const { return 0; } +}; + /*! * \class CAvgGrad_Scalar * \brief Template class for computing viscous residual of scalar values @@ -57,7 +69,7 @@ class CAvgGrad_Scalar : public CNumerics { su2double* Jacobian_j[MAXNVAR]; /*!< \brief Flux Jacobian w.r.t. node j. */ su2double JacobianBuffer[2*MAXNVAR*MAXNVAR];/*!< \brief Static storage for the two Jacobians. */ - const bool correct_gradient = false, implicit = false, incompressible = false; + const bool correct_gradient = false, incompressible = false; /*! * \brief A pure virtual function; Adds any extra variables to AD @@ -84,7 +96,6 @@ class CAvgGrad_Scalar : public CNumerics { : CNumerics(val_nDim, val_nVar, config), idx(val_nDim, config->GetnSpecies()), correct_gradient(correct_grad), - implicit(config->GetKind_TimeIntScheme_Turb() == EULER_IMPLICIT), incompressible(config->GetKind_Regime() == ENUM_REGIME::INCOMPRESSIBLE) { if (nVar > MAXNVAR) { SU2_MPI::Error("Static arrays are too small.", CURRENT_FUNCTION); @@ -116,15 +127,17 @@ class CAvgGrad_Scalar : public CNumerics { AD::SetPreaccIn(ScalarVar_i, nVar); AD::SetPreaccIn(ScalarVar_j, nVar); } - AD::SetPreaccIn(V_i[idx.Density()], V_i[idx.LaminarViscosity()], V_i[idx.EddyViscosity()]); - AD::SetPreaccIn(V_j[idx.Density()], V_j[idx.LaminarViscosity()], V_j[idx.EddyViscosity()]); - - Density_i = V_i[idx.Density()]; - Density_j = V_j[idx.Density()]; - Laminar_Viscosity_i = V_i[idx.LaminarViscosity()]; - Laminar_Viscosity_j = V_j[idx.LaminarViscosity()]; - Eddy_Viscosity_i = V_i[idx.EddyViscosity()]; - Eddy_Viscosity_j = V_j[idx.EddyViscosity()]; + if (!std::is_same::value) { + AD::SetPreaccIn(V_i[idx.Density()], V_i[idx.LaminarViscosity()], V_i[idx.EddyViscosity()]); + AD::SetPreaccIn(V_j[idx.Density()], V_j[idx.LaminarViscosity()], V_j[idx.EddyViscosity()]); + + Density_i = V_i[idx.Density()]; + Density_j = V_j[idx.Density()]; + Laminar_Viscosity_i = V_i[idx.LaminarViscosity()]; + Laminar_Viscosity_j = V_j[idx.LaminarViscosity()]; + Eddy_Viscosity_i = V_i[idx.EddyViscosity()]; + Eddy_Viscosity_j = V_j[idx.EddyViscosity()]; + } ExtraADPreaccIn(); diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp index d42a757c2b7..0ad86cf349d 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp @@ -50,10 +50,9 @@ class CAvgGrad_TransLM final : public CAvgGrad_Scalar { using Base::ScalarVar_j; using Base::Proj_Mean_GradScalarVar; using Base::proj_vector_ij; - using Base::implicit; using Base::Flux; using Base::Jacobian_i; - using Base::Jacobian_j; + using Base::Jacobian_j; /*! * \brief Adds any extra variables to AD @@ -65,7 +64,8 @@ class CAvgGrad_TransLM final : public CAvgGrad_Scalar { * \param[in] config - Definition of the particular problem. */ void FinishResidualCalc(const CConfig* config) override { - + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + /*--- Compute mean effective dynamic viscosity ---*/ const su2double diff_i_gamma = Laminar_Viscosity_i + Eddy_Viscosity_i; const su2double diff_j_gamma = Laminar_Viscosity_j + Eddy_Viscosity_j; @@ -101,5 +101,5 @@ class CAvgGrad_TransLM final : public CAvgGrad_Scalar { CAvgGrad_TransLM(unsigned short val_nDim, unsigned short val_nVar, bool correct_grad, const CConfig* config) : CAvgGrad_Scalar(val_nDim, val_nVar, correct_grad, config){ } - + }; diff --git a/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp b/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp index c31e72f2bf9..f871588c47c 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp @@ -47,7 +47,6 @@ class CAvgGrad_TurbSA final : public CAvgGrad_Scalar { using Base::ScalarVar_j; using Base::Proj_Mean_GradScalarVar; using Base::proj_vector_ij; - using Base::implicit; using Base::Flux; using Base::Jacobian_i; using Base::Jacobian_j; @@ -64,6 +63,8 @@ class CAvgGrad_TurbSA final : public CAvgGrad_Scalar { * \param[in] config - Definition of the particular problem. */ void FinishResidualCalc(const CConfig* config) override { + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + /*--- Compute mean effective viscosity ---*/ const su2double nu_i = Laminar_Viscosity_i/Density_i; @@ -111,7 +112,6 @@ class CAvgGrad_TurbSA_Neg final : public CAvgGrad_Scalar { using Base::ScalarVar_j; using Base::Proj_Mean_GradScalarVar; using Base::proj_vector_ij; - using Base::implicit; using Base::Flux; using Base::Jacobian_i; using Base::Jacobian_j; @@ -129,6 +129,8 @@ class CAvgGrad_TurbSA_Neg final : public CAvgGrad_Scalar { * \param[in] config - Definition of the particular problem. */ void FinishResidualCalc(const CConfig* config) override { + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + /*--- Compute mean effective viscosity ---*/ const su2double nu_i = Laminar_Viscosity_i/Density_i; @@ -191,7 +193,6 @@ class CAvgGrad_TurbSST final : public CAvgGrad_Scalar { using Base::ScalarVar_j; using Base::Proj_Mean_GradScalarVar; using Base::proj_vector_ij; - using Base::implicit; using Base::Flux; using Base::Jacobian_i; using Base::Jacobian_j; @@ -215,6 +216,8 @@ class CAvgGrad_TurbSST final : public CAvgGrad_Scalar { * \param[in] config - Definition of the particular problem. */ void FinishResidualCalc(const CConfig* config) override { + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + /*--- Compute the blended constant for the viscous terms ---*/ const su2double sigma_kine_i = F1_i*sigma_k1 + (1.0 - F1_i)*sigma_k2; const su2double sigma_kine_j = F1_j*sigma_k1 + (1.0 - F1_j)*sigma_k2; diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index 7dd73cfbc48..707bca5192c 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -361,4 +361,8 @@ class CHeatSolver final : public CScalarSolver { */ inline su2double GetHeatFlux(unsigned short val_marker, unsigned long val_vertex) const override { return HeatFlux[val_marker][val_vertex]; } + /*! + * \brief Does not support OpenMP+MPI yet. + */ + inline bool GetHasHybridParallel() const override { return false; } }; diff --git a/SU2_CFD/include/solvers/CScalarSolver.hpp b/SU2_CFD/include/solvers/CScalarSolver.hpp index 256388e601f..e7ec30d5900 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.hpp +++ b/SU2_CFD/include/solvers/CScalarSolver.hpp @@ -103,7 +103,8 @@ class CScalarSolver : public CSolver { CGeometry* geometry, CSolver** solver_container, CNumerics* numerics, CConfig* config) { const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - auto* flowNodes = su2staticcast_p(solver_container[FLOW_SOL]->GetNodes()); + CFlowVariable* flowNodes = solver_container[FLOW_SOL] ? + su2staticcast_p(solver_container[FLOW_SOL]->GetNodes()) : nullptr; /*--- Points in edge ---*/ @@ -117,7 +118,9 @@ class CScalarSolver : public CSolver { /*--- Conservative variables w/o reconstruction ---*/ - numerics->SetPrimitive(flowNodes->GetPrimitive(iPoint), flowNodes->GetPrimitive(jPoint)); + if (flowNodes) { + numerics->SetPrimitive(flowNodes->GetPrimitive(iPoint), flowNodes->GetPrimitive(jPoint)); + } /*--- Turbulent variables w/o reconstruction, and its gradients ---*/ diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index 8b1667aad50..b2d1f2e519e 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -2114,8 +2114,8 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol /*--- Definition of the viscous scheme for each equation and mesh level ---*/ for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { - numerics[iMGlevel][HEAT_SOL][visc_term] = new CAvgGrad_Heat(nDim, nVar_Heat, config, true); - numerics[iMGlevel][HEAT_SOL][visc_bound_term] = new CAvgGrad_Heat(nDim, nVar_Heat, config, false); + numerics[iMGlevel][HEAT_SOL][visc_term] = new CAvgGrad_Heat(nDim, config, true); + numerics[iMGlevel][HEAT_SOL][visc_bound_term] = new CAvgGrad_Heat(nDim, config, false); switch (config->GetKind_ConvNumScheme_Heat()) { diff --git a/SU2_CFD/src/numerics/heat.cpp b/SU2_CFD/src/numerics/heat.cpp index 177fc0b452f..f18c2a69b62 100644 --- a/SU2_CFD/src/numerics/heat.cpp +++ b/SU2_CFD/src/numerics/heat.cpp @@ -160,43 +160,3 @@ void CUpwSca_Heat::ComputeResidual(su2double *val_residual, su2double **val_Jaco AD::EndPreacc(); } - -CAvgGrad_Heat::CAvgGrad_Heat(unsigned short val_nDim, unsigned short val_nVar, - const CConfig *config, bool correct_) : - CNumerics(val_nDim, val_nVar, config) { - - implicit = (config->GetKind_TimeIntScheme_Heat() == EULER_IMPLICIT); - correct = correct_; -} - -void CAvgGrad_Heat::ComputeResidual(su2double *val_residual, su2double **Jacobian_i, - su2double **Jacobian_j, CConfig *config) { - constexpr int nVar = 1; - - AD::StartPreacc(); - AD::SetPreaccIn(Coord_i, nDim); AD::SetPreaccIn(Coord_j, nDim); - AD::SetPreaccIn(Normal, nDim); - AD::SetPreaccIn(Temp_i); AD::SetPreaccIn(Temp_j); - AD::SetPreaccIn(ConsVar_Grad_i[0],nDim); AD::SetPreaccIn(ConsVar_Grad_j[0],nDim); - AD::SetPreaccIn(Thermal_Diffusivity_i); AD::SetPreaccIn(Thermal_Conductivity_j); - - su2double NormalGrad[nVar], CorrectedGrad[nVar]; - - auto proj_vector_ij = ComputeProjectedGradient(nDim, nVar, Normal, Coord_i, Coord_j, ConsVar_Grad_i, - ConsVar_Grad_j, correct, &Temp_i, &Temp_j, - NormalGrad, CorrectedGrad); - - const su2double Thermal_Diffusivity_Mean = 0.5*(Thermal_Diffusivity_i + Thermal_Diffusivity_j); - - val_residual[0] = Thermal_Diffusivity_Mean*CorrectedGrad[0]; - - /*--- For Jacobians -> Use of TSL approx. to compute derivatives of the gradients ---*/ - if (implicit) { - Jacobian_i[0][0] = -Thermal_Diffusivity_Mean*proj_vector_ij; - Jacobian_j[0][0] = Thermal_Diffusivity_Mean*proj_vector_ij; - } - - AD::SetPreaccOut(val_residual, nVar); - AD::EndPreacc(); - -} diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 353a76250f1..ec3cdae337f 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -37,6 +37,9 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM : CScalarSolver(geometry, config, false), flow(config->GetFluidProblem()), heat_equation(config->GetHeatProblem()) { + /*--- This solver will not run with OpenMP yet so force this to false. ---*/ + ReducerStrategy = false; + /*--- Dimension of the problem --> temperature is the only conservative variable ---*/ nVar = 1; @@ -441,63 +444,30 @@ void CHeatSolver::Viscous_Residual(CGeometry *geometry, CSolver **solver_contain CNumerics* numerics = numerics_container[VISC_TERM]; - su2double laminar_viscosity, Prandtl_Lam, Prandtl_Turb, eddy_viscosity_i, eddy_viscosity_j, - thermal_diffusivity_i, thermal_diffusivity_j, Temp_i, Temp_j; + const CVariable* flow_nodes = flow ? solver_container[FLOW_SOL]->GetNodes() : nullptr; - const bool turb = ((config->GetKind_Solver() == MAIN_SOLVER::INC_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_INC_RANS)); - - eddy_viscosity_i = 0.0; - eddy_viscosity_j = 0.0; - laminar_viscosity = config->GetMu_ConstantND(); - Prandtl_Lam = config->GetPrandtl_Lam(); - Prandtl_Turb = config->GetPrandtl_Turb(); + const su2double const_diffusivity = config->GetThermalDiffusivity(); + const su2double pr_lam = config->GetPrandtl_Lam(); + const su2double pr_turb = config->GetPrandtl_Turb(); for (auto iEdge = 0ul; iEdge < geometry->GetnEdge(); iEdge++) { + su2double thermal_diffusivity_i{}, thermal_diffusivity_j{}; - const auto iPoint = geometry->edges->GetNode(iEdge,0); - const auto jPoint = geometry->edges->GetNode(iEdge,1); - - /*--- Points coordinates, and normal vector ---*/ - - numerics->SetCoord(geometry->nodes->GetCoord(iPoint), - geometry->nodes->GetCoord(jPoint)); - numerics->SetNormal(geometry->edges->GetNormal(iEdge)); - - const auto Temp_i_Grad = nodes->GetGradient(iPoint); - const auto Temp_j_Grad = nodes->GetGradient(jPoint); - numerics->SetConsVarGradient(Temp_i_Grad, Temp_j_Grad); - - /*--- Primitive variables w/o reconstruction ---*/ - Temp_i = nodes->GetTemperature(iPoint); - Temp_j = nodes->GetTemperature(jPoint); - numerics->SetTemperature(Temp_i, Temp_j); - - /*--- Eddy viscosity to compute thermal conductivity ---*/ - if (flow) { - if (turb) { - eddy_viscosity_i = solver_container[TURB_SOL]->GetNodes()->GetmuT(iPoint); - eddy_viscosity_j = solver_container[TURB_SOL]->GetNodes()->GetmuT(jPoint); + /*--- Computes the thermal diffusivity to use in the viscous numerics. ---*/ + auto compute_thermal_diffusivity = [&](unsigned long iPoint, unsigned long jPoint) { + if (flow) { + thermal_diffusivity_i = flow_nodes->GetLaminarViscosity(iPoint) / pr_lam + + flow_nodes->GetEddyViscosity(iPoint) / pr_turb; + thermal_diffusivity_j = flow_nodes->GetLaminarViscosity(jPoint) / pr_lam + + flow_nodes->GetEddyViscosity(jPoint) / pr_turb; + numerics->SetDiffusionCoeff(&thermal_diffusivity_i, &thermal_diffusivity_j); } - thermal_diffusivity_i = (laminar_viscosity/Prandtl_Lam) + (eddy_viscosity_i/Prandtl_Turb); - thermal_diffusivity_j = (laminar_viscosity/Prandtl_Lam) + (eddy_viscosity_j/Prandtl_Turb); - } - else { - thermal_diffusivity_i = config->GetThermalDiffusivity(); - thermal_diffusivity_j = config->GetThermalDiffusivity(); - } - - numerics->SetThermalDiffusivity(thermal_diffusivity_i,thermal_diffusivity_j); - - /*--- Compute residual, and Jacobians ---*/ - - numerics->ComputeResidual(Residual, Jacobian_i, Jacobian_j, config); - - /*--- Add and subtract residual, and update Jacobians ---*/ - - LinSysRes.SubtractBlock(iPoint, Residual); - LinSysRes.AddBlock(jPoint, Residual); - - Jacobian.UpdateBlocksSub(iEdge, iPoint, jPoint, Jacobian_i, Jacobian_j); + else { + numerics->SetDiffusionCoeff(&const_diffusivity, &const_diffusivity); + } + }; + /*--- Compute residual and Jacobians. ---*/ + Viscous_Residual_impl(compute_thermal_diffusivity, iEdge, geometry, solver_container, numerics, config); } } From 1b14ca1471efc078158ca4274c908b2fd2522fa3 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 1 Jan 2023 16:00:58 +0000 Subject: [PATCH 063/179] fix non OpenMP build --- SU2_CFD/src/solvers/CHeatSolver.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index ec3cdae337f..854f87c261c 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -38,7 +38,9 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM flow(config->GetFluidProblem()), heat_equation(config->GetHeatProblem()) { /*--- This solver will not run with OpenMP yet so force this to false. ---*/ +#ifdef HAVE_OMP ReducerStrategy = false; +#endif /*--- Dimension of the problem --> temperature is the only conservative variable ---*/ From 46f437a8ec2fbed7cc0a0eeb839e56df5d7c2a85 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 2 Jan 2023 19:12:24 +0000 Subject: [PATCH 064/179] cleanup some bcs --- SU2_CFD/include/solvers/CHeatSolver.hpp | 36 +++++++ SU2_CFD/src/solvers/CHeatSolver.cpp | 135 ++++-------------------- 2 files changed, 55 insertions(+), 116 deletions(-) diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index 707bca5192c..5668af4243f 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -61,6 +61,42 @@ class CHeatSolver final : public CScalarSolver { su2double Total_HeatFlux_Areas_Monitor; vector ConjugateVar; + /*! + * \brief Applies an isothermal condition to a vertex of a marker. + */ + void IsothermalBoundaryCondition(CGeometry *geometry, CSolver *flow_solver, const CConfig *config, + unsigned short iMarker, unsigned long iVertex, const su2double& temperature) { + + const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); + if (!geometry->nodes->GetDomain(iPoint)) return; + + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + const su2double prandtl_lam = config->GetPrandtl_Lam(); + const su2double const_diffusivity = config->GetThermalDiffusivity(); + + const auto Point_Normal = geometry->vertex[iMarker][iVertex]->GetNormal_Neighbor(); + + const auto* Normal = geometry->vertex[iMarker][iVertex]->GetNormal(); + const su2double Area = GeometryToolbox::Norm(nDim, Normal); + + const auto* Coord_i = geometry->nodes->GetCoord(iPoint); + const auto* Coord_j = geometry->nodes->GetCoord(Point_Normal); + const su2double dist_ij = GeometryToolbox::Distance(nDim, Coord_i, Coord_j); + + const su2double dTdn = -(nodes->GetTemperature(Point_Normal) - temperature) / dist_ij; + + su2double thermal_diffusivity = const_diffusivity; + if (flow) { + thermal_diffusivity = flow_solver->GetNodes()->GetLaminarViscosity(iPoint) / prandtl_lam; + } + LinSysRes(iPoint, 0) -= thermal_diffusivity * dTdn * Area; + + if (implicit) { + su2double Jacobian_i[] = {-thermal_diffusivity / dist_ij * Area}; + Jacobian.SubtractBlock2Diag(iPoint, &Jacobian_i); + } + } + public: /*! diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 854f87c261c..d4f385f4a6c 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -197,27 +197,7 @@ void CHeatSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, SetUndivided_Laplacian(geometry, config); } - for (auto iPoint = 0ul; iPoint < nPoint; iPoint ++) { - - /*--- Initialize the residual vector ---*/ - - LinSysRes.SetBlock_Zero(iPoint); - } - - /*--- Initialize the Jacobian matrices ---*/ - - Jacobian.SetValZero(); - - if (config->GetReconstructionGradientRequired()) { - if (config->GetKind_Gradient_Method_Recon() == GREEN_GAUSS) - SetSolution_Gradient_GG(geometry, config, true); - if (config->GetKind_Gradient_Method_Recon() == LEAST_SQUARES) - SetSolution_Gradient_LS(geometry, config, true); - if (config->GetKind_Gradient_Method_Recon() == WEIGHTED_LEAST_SQUARES) - SetSolution_Gradient_LS(geometry, config, true); - } - if (config->GetKind_Gradient_Method() == GREEN_GAUSS) SetSolution_Gradient_GG(geometry, config); - if (config->GetKind_Gradient_Method() == WEIGHTED_LEAST_SQUARES) SetSolution_Gradient_LS(geometry, config); + CommonPreprocessing(geometry, config, Output); } void CHeatSolver::Postprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh) { } @@ -528,52 +508,14 @@ void CHeatSolver::Set_Heatflux_Areas(CGeometry *geometry, CConfig *config) { delete[] Local_Surface_Areas; } -void CHeatSolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, - unsigned short val_marker) { +void CHeatSolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, + CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - unsigned long iPoint, Point_Normal; - su2double *Normal, *Coord_i, *Coord_j, Area, dist_ij, Twall, dTdn; - const bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); - - const su2double laminar_viscosity = config->GetMu_ConstantND(); - const su2double Prandtl_Lam = config->GetPrandtl_Lam(); - const su2double thermal_diffusivity = flow ? laminar_viscosity/Prandtl_Lam : config->GetThermalDiffusivity(); - - //su2double Prandtl_Turb = config->GetPrandtl_Turb(); - //laminar_viscosity = config->GetViscosity_FreeStreamND(); // TDE check for consistency for CHT - - string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - - Twall = config->GetIsothermal_Temperature(Marker_Tag)/config->GetTemperature_Ref(); + const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); + const su2double Twall = config->GetIsothermal_Temperature(Marker_Tag) / config->GetTemperature_Ref(); for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { - - iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - - if (geometry->nodes->GetDomain(iPoint)) { - - Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); - - Normal = geometry->vertex[val_marker][iVertex]->GetNormal(); - Area = GeometryToolbox::Norm(nDim, Normal); - - Coord_i = geometry->nodes->GetCoord(iPoint); - Coord_j = geometry->nodes->GetCoord(Point_Normal); - dist_ij = 0; - for (auto iDim = 0u; iDim < nDim; iDim++) - dist_ij += (Coord_j[iDim]-Coord_i[iDim])*(Coord_j[iDim]-Coord_i[iDim]); - dist_ij = sqrt(dist_ij); - - dTdn = -(nodes->GetTemperature(Point_Normal) - Twall)/dist_ij; - - Res_Visc[0] = thermal_diffusivity*dTdn*Area; - - if(implicit) - Jacobian_i[0][0] = -thermal_diffusivity/dist_ij * Area; - - LinSysRes.SubtractBlock(iPoint, Res_Visc); - Jacobian.SubtractBlock2Diag(iPoint, Jacobian_i); - } + IsothermalBoundaryCondition(geometry, solver_container[FLOW_SOL], config, val_marker, iVertex, Twall); } } @@ -588,19 +530,13 @@ void CHeatSolver::BC_HeatFlux_Wall(CGeometry* geometry, CSolver** solver_contain for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + if (!geometry->nodes->GetDomain(iPoint)) continue; - if (geometry->nodes->GetDomain(iPoint)) { - const auto Normal = geometry->vertex[val_marker][iVertex]->GetNormal(); - const auto Area = GeometryToolbox::Norm(nDim, Normal); - - Res_Visc[0] = 0.0; - - Res_Visc[0] = Wall_HeatFlux * Area; - - /*--- Viscous contribution to the residual at the wall ---*/ - - LinSysRes.SubtractBlock(iPoint, Res_Visc); - } + /*--- Viscous contribution to the residual at the wall. ---*/ + const auto* Normal = geometry->vertex[val_marker][iVertex]->GetNormal(); + const su2double Area = GeometryToolbox::Norm(nDim, Normal); + const su2double flux = Wall_HeatFlux * Area; + LinSysRes(iPoint, 0) -= flux; } } @@ -608,23 +544,16 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { unsigned short iDim; - unsigned long iVertex, iPoint, Point_Normal; + unsigned long iVertex, iPoint; su2double Vel_Mag, *V_inlet, *V_domain; - bool viscous = config->GetViscous(); - bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); - string Marker_Tag = config->GetMarker_All_TagBound(val_marker); + const bool viscous = config->GetViscous(); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); su2double Normal[MAXNDIM]; - su2double *Coord_i, *Coord_j, Area, dist_ij, laminar_viscosity, thermal_diffusivity, Twall, dTdn, Prandtl_Lam; - //su2double Prandtl_Turb; - Prandtl_Lam = config->GetPrandtl_Lam(); -// Prandtl_Turb = config->GetPrandtl_Turb(); - laminar_viscosity = config->GetMu_ConstantND(); - //laminar_viscosity = config->GetViscosity_FreeStreamND(); //TDE check for consistency with CHT - - Twall = config->GetTemperature_FreeStreamND(); + const su2double Twall = config->GetTemperature_FreeStreamND(); for (iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { @@ -635,7 +564,7 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, geometry->vertex[val_marker][iVertex]->GetNormal(Normal); for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; - if(flow) { + if (flow) { /*--- Normal vector for this vertex (negate for outward convention) ---*/ @@ -679,33 +608,7 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, /*--- Viscous contribution ---*/ if (viscous) { - - Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); - - geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - Area = GeometryToolbox::Norm(nDim, Normal); - - Coord_i = geometry->nodes->GetCoord(iPoint); - Coord_j = geometry->nodes->GetCoord(Point_Normal); - dist_ij = 0; - for (iDim = 0; iDim < nDim; iDim++) - dist_ij += (Coord_j[iDim]-Coord_i[iDim])*(Coord_j[iDim]-Coord_i[iDim]); - dist_ij = sqrt(dist_ij); - - dTdn = -(nodes->GetTemperature(Point_Normal) - Twall)/dist_ij; - - thermal_diffusivity = laminar_viscosity/Prandtl_Lam; - - Res_Visc[0] = thermal_diffusivity*dTdn*Area; - - if(implicit) { - - Jacobian_i[0][0] = -thermal_diffusivity/dist_ij * Area; - } - /*--- Viscous contribution to the residual at the wall ---*/ - - LinSysRes.SubtractBlock(iPoint, Res_Visc); - Jacobian.SubtractBlock2Diag(iPoint, Jacobian_i); + IsothermalBoundaryCondition(geometry, solver_container[FLOW_SOL], config, val_marker, iVertex, Twall); } } } From 6f83468f2ff9ce0ef0320ce5e09b0ea7ee186cd0 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Tue, 3 Jan 2023 08:15:33 +0100 Subject: [PATCH 065/179] Add my name in AUTHORS.md --- AUTHORS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS.md b/AUTHORS.md index 53a02f26eb3..cd87c268ba1 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -43,6 +43,7 @@ in collaboration with the following main contributors and research teams: Copyright holders might be the individual person or their respective employer. If no real name is available, the Github user name is listed. ``` +Aidan Jungo Akshay.K.R Alejandro Alessandro Gastaldi From 01dfdd247b4dfc9cee91b421045fa2a3f71cc8b5 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 3 Jan 2023 10:27:15 -0800 Subject: [PATCH 066/179] fixes to supersonic inlet, with some TODOs remaining Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 401 +++++++++++------------ 1 file changed, 195 insertions(+), 206 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 9e18da6fe47..bac7441a917 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2148,215 +2148,204 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container } -// NECESSARY? void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { -SU2_MPI::Error("BC_SUPERSONIC_INLET: Not operational in NEMO.", CURRENT_FUNCTION); - -// unsigned short iDim, iVar; -// unsigned long iVertex, iPoint, Point_Normal; -// su2double Density, Pressure, Temperature, Temperature_ve, Energy, *Velocity, Velocity2, soundspeed; -// su2double Gas_Constant = config->GetGas_ConstantND(); -// -// bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); -// bool dynamic_grid = config->GetGrid_Movement(); -// bool viscous = config->GetViscous(); -// string Marker_Tag = config->GetMarker_All_TagBound(val_marker); -// -// su2double RuSI = UNIVERSAL_GAS_CONSTANT; -// su2double Ru = 1000.0*RuSI; -// -// su2double *U_inlet = new su2double[nVar]; su2double *U_domain = new su2double[nVar]; -// su2double *V_inlet = new su2double[nPrimVar]; su2double *V_domain = new su2double[nPrimVar]; -// su2double *Normal = new su2double[nDim]; - -/* ----------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------- */ -/* The block of code commented below needs to be updated to use Fluidmodel class */ -/* ----------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------- */ - -// /*--- Supersonic inlet flow: there are no outgoing characteristics, -// so all flow variables can be imposed at the inlet. -// First, retrieve the specified values for the primitive variables. ---*/ -// //ASSUME TVE = T for the time being -// auto Mass_Frac = config->GetInlet_MassFrac(Marker_Tag); -// Temperature = config->GetInlet_Temperature(Marker_Tag); -// Pressure = config->GetInlet_Pressure(Marker_Tag); -// Velocity = config->GetInlet_Velocity(Marker_Tag); -// Temperature_ve = Temperature; -// -// /*--- Compute Density and Species Densities ---*/ -// for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) -// denom += Mass_Frac[iSpecies] * (Ru/Ms[iSpecies]) * Temperature; -// for (iSpecies = 0; iSpecies < nEl; iSpecies++) -// denom += Mass_Frac[nSpecies-1] * (Ru/Ms[nSpecies-1]) * Temperature_ve; -// Density = Pressure / denom; -// -// /*--- Compute Soundspeed and Velocity squared ---*/ -// for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) { -// conc += Mass_Frac[iSpecies]*Density/Ms[iSpecies]; -// rhoCvtr += Density*Mass_Frac[iSpecies] * (3.0/2.0 + xi[iSpecies]/2.0) * Ru/Ms[iSpecies]; -// } -// soundspeed = sqrt((1.0 + Ru/rhoCvtr*conc) * Pressure/Density); -// -// Velocity2 = 0.0; -// for (iDim = 0; iDim < nDim; iDim++) -// Velocity2 += Velocity[iDim]*Velocity[iDim]; -// -// /*--- Non-dim. the inputs if necessary. ---*/ -// // Need to update this portion -// //Temperature = Temperature/config->GetTemperature_Ref(); -// //Pressure = Pressure/config->GetPressure_Ref(); -// //Density = Density/config->GetDensity_Ref(); -// //for (iDim = 0; iDim < nDim; iDim++) -// // Velocity[iDim] = Velocity[iDim]/config->GetVelocity_Ref(); -// -// /*--- Compute energy (RRHO) from supplied primitive quanitites ---*/ -// for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) { -// -// // Species density -// rhos = Mass_Frac[iSpecies]*Density; -// -// // Species formation energy -// Ef = hf[iSpecies] - Ru/Ms[iSpecies]*Tref[iSpecies]; -// -// // Species vibrational energy -// if (thetav[iSpecies] != 0.0) -// Ev = Ru/Ms[iSpecies] * thetav[iSpecies] / (exp(thetav[iSpecies]/Temperature_ve)-1.0); -// else -// Ev = 0.0; -// -// // Species electronic energy -// num = 0.0; -// denom = g[iSpecies][0] * exp(thetae[iSpecies][0]/Temperature_ve); -// for (iEl = 1; iEl < nElStates[iSpecies]; iEl++) { -// num += g[iSpecies][iEl] * thetae[iSpecies][iEl] * exp(-thetae[iSpecies][iEl]/Temperature_ve); -// denom += g[iSpecies][iEl] * exp(-thetae[iSpecies][iEl]/Temperature_ve); -// } -// Ee = Ru/Ms[iSpecies] * (num/denom); -// -// // Mixture total energy -// rhoE += rhos * ((3.0/2.0+xi[iSpecies]/2.0) * Ru/Ms[iSpecies] * (Temperature-Tref[iSpecies]) -// + Ev + Ee + Ef + 0.5*Velocity2); -// -// // Mixture vibrational-electronic energy -// rhoEve += rhos * (Ev + Ee); -// } -// -// /*--- Setting Conservative Variables ---*/ -// for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) -// U_inlet[iSpecies] = Mass_Frac[iSpecies]*Density; -// for (iDim = 0; iDim < nDim; iDim++) -// U_inlet[nSpecies+iDim] = Density*Velocity[iDim]; -// U_inlet[nVar-2] = rhoE; -// U_inlet[nVar-1] = rhoEve; -// -// /*--- Setting Primitive Vaariables ---*/ -// for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) -// V_inlet[iSpecies] = Mass_Frac[iSpecies]*Density; -// V_inlet[nSpecies] = Temperature; -// V_inlet[nSpecies+1] = Temperature_ve; -// for (iDim = 0; iDim < nDim; iDim++) -// V_inlet[nSpecies+2+iDim] = Velocity[iDim]; -// V_inlet[nSpecies+2+nDim] = Pressure; -// V_inlet[nSpecies+3+nDim] = Density; -// V_inlet[nSpecies+4+nDim] = rhoE+Pressure/Density; -// V_inlet[nSpecies+5+nDim] = soundspeed; -// V_inlet[nSpecies+6+nDim] = rhoCvtr; - -/* ----------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------- */ -/* The block of code that needs to be updated to use Fluidmodel class end here */ -/* ----------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------- */ - -// //This requires Newtown Raphson.....So this is not currently operational (See Deathstar) -// //V_inlet[nSpecies+7+nDim] = rhoCvve; -// -// /*--- Loop over all the vertices on this boundary marker ---*/ -// for(iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { -// iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); -// -// /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ -// if (geometry->nodes->GetDomain(iPoint)) { -// -// /*--- Index of the closest interior node ---*/ -// Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); -// -// /*--- Current solution at this boundary node ---*/ -// for (iVar = 0; iVar < nVar; iVar++) U_domain[iVar] = nodes->GetSolution(iPoint,iVar); -// for (iVar = 0; iVar < nPrimVar; iVar++) V_domain[iVar] = nodes->GetPrimitive(iPoint,iVar); -// -// /*--- Normal vector for this vertex (negate for outward convention) ---*/ -// geometry->vertex[val_marker][iVertex]->GetNormal(Normal); -// for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; -// -// su2double Area = 0.0; -// for (iDim = 0; iDim < nDim; iDim++) -// Area += Normal[iDim]*Normal[iDim]; -// Area = sqrt (Area); -// -// /*--- Set various quantities in the solver class ---*/ -// conv_numerics->SetNormal(Normal); -// conv_numerics->SetConservative(U_domain, U_inlet); -// conv_numerics->SetPrimitive(V_domain, V_inlet); -// -// /*--- Pass supplementary info to CNumerics ---*/ -// conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_infty->GetdPdU(0)); -// conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_infty->GetdTdU(0)); -// conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_infty->GetdTvedU(0)); -// conv_numerics->SetEve(nodes->GetEve(iPoint), node_infty->GetEve(0)); -// conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_infty->GetCvve(0)); -// -// if (dynamic_grid) -// conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), -// geometry->nodes->GetGridVel(iPoint)); -// -// /*--- Compute the residual using an upwind scheme ---*/ -// auto residual = conv_numerics->ComputeResidual(config); -// LinSysRes.AddBlock(iPoint, residual); -// -// /*--- Jacobian contribution for implicit integration ---*/ -// //if (implicit) -// // Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); -// -// /*--- Viscous contribution ---*/ -// if (viscous) { -// -// /*--- Set the normal vector and the coordinates ---*/ -// visc_numerics->SetNormal(Normal); -// su2double Coord_Reflected[MAXNDIM]; -// GeometryToolbox::PointPointReflect(nDim, geometry->nodes->GetCoord(Point_Normal), -// geometry->nodes->GetCoord(iPoint), Coord_Reflected); -// visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected); -// -// /*--- Primitive variables, and gradient ---*/ -// visc_numerics->SetPrimitive(V_domain, V_inlet); -// visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), nodes->GetGradient_Primitive(iPoint)); -// -// /*--- Laminar viscosity ---*/ -// visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), nodes->GetLaminarViscosity(iPoint)); -// -// /*--- Compute and update residual ---*/ -// auto residual = visc_numerics->ComputeResidual(config); -// LinSysRes.SubtractBlock(iPoint, residual); -// -// /*--- Jacobian contribution for implicit integration ---*/ -// //if (implicit) -// // Jacobian.SubtractBlock2Diag(iPoint, residual.Jacobian_i); -// } -// -// } -// } -// -// /*--- Free locally allocated memory ---*/ -// delete [] U_domain; -// delete [] U_inlet; -// delete [] V_domain; -// delete [] V_inlet; -// delete [] Normal; + unsigned short iDim, iVar; + unsigned long iVertex, iPoint, Point_Normal; + + bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + bool dynamic_grid = config->GetGrid_Movement(); + bool viscous = config->GetViscous(); + string Marker_Tag = config->GetMarker_All_TagBound(val_marker); + + su2double RuSI = UNIVERSAL_GAS_CONSTANT; + su2double Ru = 1000.0*RuSI; + + su2double *U_inlet = new su2double[nVar]; su2double *U_domain = new su2double[nVar]; + su2double *V_inlet = new su2double[nPrimVar]; su2double *V_domain = new su2double[nPrimVar]; + su2double *Normal = new su2double[nDim]; + + /*--- Supersonic inlet flow: there are no outgoing characteristics, + so all flow variables can be imposed at the inlet. + First, retrieve the specified values for the primitive variables. ---*/ + //ASSUME TVE = T for the time being + + auto Mass_Frac = config->GetInlet_MassFrac(Marker_Tag); + su2double Temperature = config->GetInlet_Temperature(Marker_Tag); + su2double Pressure = config->GetInlet_Pressure(Marker_Tag); + su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); + su2double Temperature_ve = Temperature; // TODO : add/check for second function for Tve, check what inputs are in config + + /*--- Compute Density and Species Densities ---*/ + su2double denom = 0; + auto& Ms = FluidModel->GetSpeciesMolarMass(); + for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) + denom += Mass_Frac[iSpecies] * (Ru/Ms[iSpecies]) * Temperature; + for (iSpecies = 0; iSpecies < nEl; iSpecies++) + denom += Mass_Frac[nSpecies-1] * (Ru/Ms[nSpecies-1]) * Temperature_ve; + su2double Density = Pressure / denom; + + /*--- Compute Soundspeed and Velocity squared ---*/ + su2double conc = 0, rhoCvtr = 0; + for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) { + conc += Mass_Frac[iSpecies]*Density/Ms[iSpecies]; + rhoCvtr += Density*Mass_Frac[iSpecies] * (3.0/2.0 + xi[iSpecies]/2.0) * Ru/Ms[iSpecies]; + } + su2double soundspeed = sqrt((1.0 + Ru/rhoCvtr*conc) * Pressure/Density); + + su2double Velocity2 = 0.0; + for (iDim = 0; iDim < nDim; iDim++) + Velocity2 += Velocity[iDim]*Velocity[iDim]; + + // TODO: Necessary? + /*--- Non-dim. the inputs if necessary. ---*/ + // Need to update this portion + //Temperature = Temperature/config->GetTemperature_Ref(); + //Pressure = Pressure/config->GetPressure_Ref(); + //Density = Density/config->GetDensity_Ref(); + //for (iDim = 0; iDim < nDim; iDim++) + // Velocity[iDim] = Velocity[iDim]/config->GetVelocity_Ref(); + + /*--- Compute energy (RRHO) from supplied primitive quanitites ---*/ + for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) { + + // Species density + su2double rhos = Mass_Frac[iSpecies]*Density; + + // Species formation energy + su2double Ef = hf[iSpecies] - Ru/Ms[iSpecies]*Tref[iSpecies]; + + // Species vibrational energy + if (thetav[iSpecies] != 0.0) + su2double Ev = Ru/Ms[iSpecies] * thetav[iSpecies] / (exp(thetav[iSpecies]/Temperature_ve)-1.0); + else + su2double Ev = 0.0; + + // Species electronic energy + su2double num = 0.0; + su2double denom = g[iSpecies][0] * exp(thetae[iSpecies][0]/Temperature_ve); + for (iEl = 1; iEl < nElStates[iSpecies]; iEl++) { + num += g[iSpecies][iEl] * thetae[iSpecies][iEl] * exp(-thetae[iSpecies][iEl]/Temperature_ve); + denom += g[iSpecies][iEl] * exp(-thetae[iSpecies][iEl]/Temperature_ve); + } + su2double Ee = Ru/Ms[iSpecies] * (num/denom); + + // Mixture total energy + su2double rhoE += rhos * ((3.0/2.0+xi[iSpecies]/2.0) * Ru/Ms[iSpecies] * (Temperature-Tref[iSpecies]) + + Ev + Ee + Ef + 0.5*Velocity2); + + // Mixture vibrational-electronic energy + su2double rhoEve += rhos * (Ev + Ee); + } + + /*--- Setting Conservative Variables ---*/ + for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) + U_inlet[iSpecies] = Mass_Frac[iSpecies]*Density; + for (iDim = 0; iDim < nDim; iDim++) + U_inlet[nSpecies+iDim] = Density*Velocity[iDim]; + U_inlet[nVar-2] = rhoE; + U_inlet[nVar-1] = rhoEve; + + /*--- Setting Primitive Vaariables ---*/ + for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) + V_inlet[iSpecies] = Mass_Frac[iSpecies]*Density; + V_inlet[nSpecies] = Temperature; + V_inlet[nSpecies+1] = Temperature_ve; + for (iDim = 0; iDim < nDim; iDim++) + V_inlet[nSpecies+2+iDim] = Velocity[iDim]; + V_inlet[nSpecies+2+nDim] = Pressure; + V_inlet[nSpecies+3+nDim] = Density; + V_inlet[nSpecies+4+nDim] = rhoE+Pressure/Density; + V_inlet[nSpecies+5+nDim] = soundspeed; + V_inlet[nSpecies+6+nDim] = rhoCvtr; + + // TODO: Newton-Rhapson + //This requires Newtown Raphson.....So this is not currently operational (See Deathstar) + //V_inlet[nSpecies+7+nDim] = rhoCvve; + + /*--- Loop over all the vertices on this boundary marker ---*/ + for(iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { + iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + + /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ + if (geometry->nodes->GetDomain(iPoint)) { + + /*--- Index of the closest interior node ---*/ + Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); + + /*--- Current solution at this boundary node ---*/ + for (iVar = 0; iVar < nVar; iVar++) U_domain[iVar] = nodes->GetSolution(iPoint,iVar); + for (iVar = 0; iVar < nPrimVar; iVar++) V_domain[iVar] = nodes->GetPrimitive(iPoint,iVar); + + /*--- Normal vector for this vertex (negate for outward convention) ---*/ + geometry->vertex[val_marker][iVertex]->GetNormal(Normal); + for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; + + su2double Area = 0.0; + for (iDim = 0; iDim < nDim; iDim++) + Area += Normal[iDim]*Normal[iDim]; + Area = sqrt (Area); + + /*--- Set various quantities in the solver class ---*/ + conv_numerics->SetNormal(Normal); + conv_numerics->SetConservative(U_domain, U_inlet); + conv_numerics->SetPrimitive(V_domain, V_inlet); + + /*--- Pass supplementary info to CNumerics ---*/ + conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_infty->GetdPdU(0)); + conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_infty->GetdTdU(0)); + conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_infty->GetdTvedU(0)); + conv_numerics->SetEve(nodes->GetEve(iPoint), node_infty->GetEve(0)); + conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_infty->GetCvve(0)); + + if (dynamic_grid) + conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), + geometry->nodes->GetGridVel(iPoint)); + + /*--- Compute the residual using an upwind scheme ---*/ + auto residual = conv_numerics->ComputeResidual(config); + LinSysRes.AddBlock(iPoint, residual); + + /*--- Jacobian contribution for implicit integration ---*/ + if (implicit) + Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); + + /*--- Viscous contribution ---*/ + if (viscous) { + + /*--- Set the normal vector and the coordinates ---*/ + visc_numerics->SetNormal(Normal); + su2double Coord_Reflected[MAXNDIM]; + GeometryToolbox::PointPointReflect(nDim, geometry->nodes->GetCoord(Point_Normal), + geometry->nodes->GetCoord(iPoint), Coord_Reflected); + visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected); + + /*--- Primitive variables, and gradient ---*/ + visc_numerics->SetPrimitive(V_domain, V_inlet); + visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), nodes->GetGradient_Primitive(iPoint)); + + /*--- Laminar viscosity ---*/ + visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), nodes->GetLaminarViscosity(iPoint)); + + /*--- Compute and update residual ---*/ + auto residual = visc_numerics->ComputeResidual(config); + LinSysRes.SubtractBlock(iPoint, residual); + + /*--- Jacobian contribution for implicit integration ---*/ + if (implicit) + Jacobian.SubtractBlock2Diag(iPoint, residual.Jacobian_i); + } + + } + } + + /*--- Free locally allocated memory ---*/ + delete [] U_domain; + delete [] U_inlet; + delete [] V_domain; + delete [] V_inlet; + delete [] Normal; } From ae165936e578cd3746931ef21c62b3f5cbf51db1 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 3 Jan 2023 10:42:03 -0800 Subject: [PATCH 067/179] fix undeclared and some typos Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index bac7441a917..818475fdfdf 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2207,6 +2207,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver //for (iDim = 0; iDim < nDim; iDim++) // Velocity[iDim] = Velocity[iDim]/config->GetVelocity_Ref(); + su2double rhoE = 0.0, rhoEve = 0.0; /*--- Compute energy (RRHO) from supplied primitive quanitites ---*/ for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) { @@ -2232,11 +2233,11 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver su2double Ee = Ru/Ms[iSpecies] * (num/denom); // Mixture total energy - su2double rhoE += rhos * ((3.0/2.0+xi[iSpecies]/2.0) * Ru/Ms[iSpecies] * (Temperature-Tref[iSpecies]) + rhoE += rhos * ((3.0/2.0+xi[iSpecies]/2.0) * Ru/Ms[iSpecies] * (Temperature-Tref[iSpecies]) + Ev + Ee + Ef + 0.5*Velocity2); // Mixture vibrational-electronic energy - su2double rhoEve += rhos * (Ev + Ee); + rhoEve += rhos * (Ev + Ee); } /*--- Setting Conservative Variables ---*/ @@ -2260,7 +2261,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver V_inlet[nSpecies+5+nDim] = soundspeed; V_inlet[nSpecies+6+nDim] = rhoCvtr; - // TODO: Newton-Rhapson + // TODO: Newton-Rhapson, or can we just call cons2primvar? //This requires Newtown Raphson.....So this is not currently operational (See Deathstar) //V_inlet[nSpecies+7+nDim] = rhoCvve; @@ -2334,7 +2335,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Jacobian contribution for implicit integration ---*/ if (implicit) - Jacobian.SubtractBlock2Diag(iPoint, residual.Jacobian_i); + Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); } } From ebd3e2156f2817651282925cd4bc343f8b382992 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 3 Jan 2023 12:36:41 -0800 Subject: [PATCH 068/179] major update with set TDState in fluid model Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 96 +++++------------------- 1 file changed, 19 insertions(+), 77 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 818475fdfdf..bd446ef7b59 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -1,7 +1,7 @@ /*! * \file CNEMOEulerSolver.cpp * \brief Headers of the CNEMOEulerSolver class - * \author S. R. Copeland, F. Palacios, W. Maier, C. Garbacz + * \author S. R. Copeland, F. Palacios, W. Maier, C. Garbacz, J. Needels * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io @@ -2149,7 +2149,7 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container } void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container, - CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { + CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, CNEMOGas *fluidmodel, unsigned short val_marker) { unsigned short iDim, iVar; unsigned long iVertex, iPoint, Point_Normal; @@ -2169,7 +2169,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Supersonic inlet flow: there are no outgoing characteristics, so all flow variables can be imposed at the inlet. First, retrieve the specified values for the primitive variables. ---*/ - //ASSUME TVE = T for the time being auto Mass_Frac = config->GetInlet_MassFrac(Marker_Tag); su2double Temperature = config->GetInlet_Temperature(Marker_Tag); @@ -2177,93 +2176,36 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); su2double Temperature_ve = Temperature; // TODO : add/check for second function for Tve, check what inputs are in config - /*--- Compute Density and Species Densities ---*/ - su2double denom = 0; - auto& Ms = FluidModel->GetSpeciesMolarMass(); - for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) - denom += Mass_Frac[iSpecies] * (Ru/Ms[iSpecies]) * Temperature; - for (iSpecies = 0; iSpecies < nEl; iSpecies++) - denom += Mass_Frac[nSpecies-1] * (Ru/Ms[nSpecies-1]) * Temperature_ve; - su2double Density = Pressure / denom; - - /*--- Compute Soundspeed and Velocity squared ---*/ - su2double conc = 0, rhoCvtr = 0; - for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) { - conc += Mass_Frac[iSpecies]*Density/Ms[iSpecies]; - rhoCvtr += Density*Mass_Frac[iSpecies] * (3.0/2.0 + xi[iSpecies]/2.0) * Ru/Ms[iSpecies]; - } - su2double soundspeed = sqrt((1.0 + Ru/rhoCvtr*conc) * Pressure/Density); - - su2double Velocity2 = 0.0; - for (iDim = 0; iDim < nDim; iDim++) - Velocity2 += Velocity[iDim]*Velocity[iDim]; - - // TODO: Necessary? - /*--- Non-dim. the inputs if necessary. ---*/ - // Need to update this portion - //Temperature = Temperature/config->GetTemperature_Ref(); - //Pressure = Pressure/config->GetPressure_Ref(); - //Density = Density/config->GetDensity_Ref(); - //for (iDim = 0; iDim < nDim; iDim++) - // Velocity[iDim] = Velocity[iDim]/config->GetVelocity_Ref(); - - su2double rhoE = 0.0, rhoEve = 0.0; - /*--- Compute energy (RRHO) from supplied primitive quanitites ---*/ - for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) { - - // Species density - su2double rhos = Mass_Frac[iSpecies]*Density; - - // Species formation energy - su2double Ef = hf[iSpecies] - Ru/Ms[iSpecies]*Tref[iSpecies]; - - // Species vibrational energy - if (thetav[iSpecies] != 0.0) - su2double Ev = Ru/Ms[iSpecies] * thetav[iSpecies] / (exp(thetav[iSpecies]/Temperature_ve)-1.0); - else - su2double Ev = 0.0; - - // Species electronic energy - su2double num = 0.0; - su2double denom = g[iSpecies][0] * exp(thetae[iSpecies][0]/Temperature_ve); - for (iEl = 1; iEl < nElStates[iSpecies]; iEl++) { - num += g[iSpecies][iEl] * thetae[iSpecies][iEl] * exp(-thetae[iSpecies][iEl]/Temperature_ve); - denom += g[iSpecies][iEl] * exp(-thetae[iSpecies][iEl]/Temperature_ve); - } - su2double Ee = Ru/Ms[iSpecies] * (num/denom); + /*--- Set mixture state ---*/ + fluidmodel->SetTDStatePTTv(Pressure, Mass_Frac, Temperature, Temperature_ve); - // Mixture total energy - rhoE += rhos * ((3.0/2.0+xi[iSpecies]/2.0) * Ru/Ms[iSpecies] * (Temperature-Tref[iSpecies]) - + Ev + Ee + Ef + 0.5*Velocity2); - - // Mixture vibrational-electronic energy - rhoEve += rhos * (Ev + Ee); - } + /*--- Compute necessary quantities ---*/ + const su2double rho = fluidmodel->GetDensity(); + const su2double soundspeed = fluidmodel->ComputeSoundSpeed(); + const su2double sqvel = GeometryToolbox::SquaredNorm(nDim, Velocity); + const auto& energies = fluidmodel->ComputeMixtureEnergies(); /*--- Setting Conservative Variables ---*/ for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - U_inlet[iSpecies] = Mass_Frac[iSpecies]*Density; + U_inlet[iSpecies] = rho*Mass_Frac[iSpecies]; for (iDim = 0; iDim < nDim; iDim++) - U_inlet[nSpecies+iDim] = Density*Velocity[iDim]; - U_inlet[nVar-2] = rhoE; - U_inlet[nVar-1] = rhoEve; + U_inlet[nSpecies+iDim] = rho*Velocity[iDim]; + U_inlet[nVar-2] = rho*(energies[0]+0.5*sqvel); + U_inlet[nVar-1] = rho*(energies[1]); - /*--- Setting Primitive Vaariables ---*/ + /*--- Setting Primitive Vaariables ---*/ for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - V_inlet[iSpecies] = Mass_Frac[iSpecies]*Density; + V_inlet[iSpecies] = Mass_Frac[iSpecies]*rho; V_inlet[nSpecies] = Temperature; V_inlet[nSpecies+1] = Temperature_ve; for (iDim = 0; iDim < nDim; iDim++) V_inlet[nSpecies+2+iDim] = Velocity[iDim]; V_inlet[nSpecies+2+nDim] = Pressure; - V_inlet[nSpecies+3+nDim] = Density; - V_inlet[nSpecies+4+nDim] = rhoE+Pressure/Density; + V_inlet[nSpecies+3+nDim] = rho; + V_inlet[nSpecies+4+nDim] = U_inlet[nVar-2]+Pressure/Density; V_inlet[nSpecies+5+nDim] = soundspeed; - V_inlet[nSpecies+6+nDim] = rhoCvtr; - - // TODO: Newton-Rhapson, or can we just call cons2primvar? - //This requires Newtown Raphson.....So this is not currently operational (See Deathstar) - //V_inlet[nSpecies+7+nDim] = rhoCvve; + V_inlet[nSpecies+6+nDim] = U_inlet[nVar-2]/Temperature; + V_inlet[nSpecies+7+nDim] = U_inlet[nVar-1]/Temperature_ve; /*--- Loop over all the vertices on this boundary marker ---*/ for(iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { From e45b02d25421df4c9f6383fd939ea9cf6f59291f Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 3 Jan 2023 13:21:58 -0800 Subject: [PATCH 069/179] minor fixes Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index bd446ef7b59..f79fc551777 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2149,9 +2149,9 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container } void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container, - CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, CNEMOGas *fluidmodel, unsigned short val_marker) { + CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - unsigned short iDim, iVar; + unsigned short iDim, iVar, iSpecies; unsigned long iVertex, iPoint, Point_Normal; bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); @@ -2235,7 +2235,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver conv_numerics->SetConservative(U_domain, U_inlet); conv_numerics->SetPrimitive(V_domain, V_inlet); - /*--- Pass supplementary info to CNumerics ---*/ + /*--- Pass supplementary info to CNumerics ---*/ //TODO: why pass node infty? conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_infty->GetdPdU(0)); conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_infty->GetdTdU(0)); conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_infty->GetdTvedU(0)); From 8bf06d65e0ab7fa4c329181228909e667df957df Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 3 Jan 2023 15:45:00 -0800 Subject: [PATCH 070/179] fix fluidmodel Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index f79fc551777..a9b6f7ee1d9 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2170,20 +2170,20 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver so all flow variables can be imposed at the inlet. First, retrieve the specified values for the primitive variables. ---*/ - auto Mass_Frac = config->GetInlet_MassFrac(Marker_Tag); + auto Mass_Frac = config->GetInlet_MassFrac(Marker_Tag); //TODO: add get inlet mass_frac function su2double Temperature = config->GetInlet_Temperature(Marker_Tag); su2double Pressure = config->GetInlet_Pressure(Marker_Tag); su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); su2double Temperature_ve = Temperature; // TODO : add/check for second function for Tve, check what inputs are in config /*--- Set mixture state ---*/ - fluidmodel->SetTDStatePTTv(Pressure, Mass_Frac, Temperature, Temperature_ve); + FluidModel->SetTDStatePTTv(Pressure, Mass_Frac, Temperature, Temperature_ve); /*--- Compute necessary quantities ---*/ - const su2double rho = fluidmodel->GetDensity(); - const su2double soundspeed = fluidmodel->ComputeSoundSpeed(); + const su2double rho = FluidModel->GetDensity(); + const su2double soundspeed = FluidModel->ComputeSoundSpeed(); const su2double sqvel = GeometryToolbox::SquaredNorm(nDim, Velocity); - const auto& energies = fluidmodel->ComputeMixtureEnergies(); + const auto& energies = FluidModel->ComputeMixtureEnergies(); /*--- Setting Conservative Variables ---*/ for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) @@ -2202,7 +2202,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver V_inlet[nSpecies+2+iDim] = Velocity[iDim]; V_inlet[nSpecies+2+nDim] = Pressure; V_inlet[nSpecies+3+nDim] = rho; - V_inlet[nSpecies+4+nDim] = U_inlet[nVar-2]+Pressure/Density; + V_inlet[nSpecies+4+nDim] = U_inlet[nVar-2]+Pressure/rho; V_inlet[nSpecies+5+nDim] = soundspeed; V_inlet[nSpecies+6+nDim] = U_inlet[nVar-2]/Temperature; V_inlet[nSpecies+7+nDim] = U_inlet[nVar-1]/Temperature_ve; From 149e9bea5da8d54d104860614bfd928701f34c1a Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 3 Jan 2023 16:01:15 -0800 Subject: [PATCH 071/179] removing unused code, fixing declarations Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index a9b6f7ee1d9..394a062bb13 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2159,9 +2159,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver bool viscous = config->GetViscous(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - su2double RuSI = UNIVERSAL_GAS_CONSTANT; - su2double Ru = 1000.0*RuSI; - su2double *U_inlet = new su2double[nVar]; su2double *U_domain = new su2double[nVar]; su2double *V_inlet = new su2double[nPrimVar]; su2double *V_domain = new su2double[nPrimVar]; su2double *Normal = new su2double[nDim]; @@ -2171,10 +2168,10 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver First, retrieve the specified values for the primitive variables. ---*/ auto Mass_Frac = config->GetInlet_MassFrac(Marker_Tag); //TODO: add get inlet mass_frac function - su2double Temperature = config->GetInlet_Temperature(Marker_Tag); - su2double Pressure = config->GetInlet_Pressure(Marker_Tag); - su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); - su2double Temperature_ve = Temperature; // TODO : add/check for second function for Tve, check what inputs are in config + const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); + const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); + const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); + const su2double Temperature_ve = Temperature; // TODO : add/check for second function for Tve, check what inputs are in config /*--- Set mixture state ---*/ FluidModel->SetTDStatePTTv(Pressure, Mass_Frac, Temperature, Temperature_ve); From d4f9b80f5fd73b83e02d1d7ca2bccf27b9864403 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 3 Jan 2023 16:16:03 -0800 Subject: [PATCH 072/179] adding method to get inlet mass fraction Signed-off-by: jtneedels --- Common/include/CConfig.hpp | 7 +++++++ Common/src/CConfig.cpp | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 20fbcb08129..e35b40bcb99 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -6672,6 +6672,13 @@ class CConfig { */ const su2double* GetInlet_Velocity(string val_index) const; + /*! + * \brief Get the mass fraction vector at a NEMO supersonic inlet boundary. + * \param[in] val_index - Index corresponding to the inlet boundary. + * \return The inlet velocity vector. + */ + const su2double* GetInlet_MassFrac(string val_index) const; + /*! * \brief Get the total pressure at an inlet boundary. * \param[in] val_index - Index corresponding to the inlet boundary. diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index bf9792eb3ad..dafd3ecbd56 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -8854,6 +8854,13 @@ const su2double* CConfig::GetInlet_Velocity(string val_marker) const { return Inlet_Velocity[iMarker_Supersonic_Inlet]; } +const su2double* CConfig::GetInlet_MassFrac(string val_marker) const { + unsigned short iMarker_Supersonic_Inlet; + for (iMarker_Supersonic_Inlet = 0; iMarker_Supersonic_Inlet < nMarker_Supersonic_Inlet; iMarker_Supersonic_Inlet++) + if (Marker_Supersonic_Inlet[iMarker_Supersonic_Inlet] == val_marker) break; + return Inlet_MassFrac[iMarker_Supersonic_Inlet]; +} + const su2double* CConfig::GetInlet_SpeciesVal(string val_marker) const { unsigned short iMarker_Inlet_Species; for (iMarker_Inlet_Species = 0; iMarker_Inlet_Species < nMarker_Inlet_Species; iMarker_Inlet_Species++) From dd41743b1d15052dec72f50c15dab28931e5b587 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Wed, 4 Jan 2023 09:44:19 +0530 Subject: [PATCH 073/179] @pcarruscag suggestion for multigrid fix --- Common/src/geometry/CMultiGridGeometry.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Common/src/geometry/CMultiGridGeometry.cpp b/Common/src/geometry/CMultiGridGeometry.cpp index 8ac38e8d98a..06cb35d0c9f 100644 --- a/Common/src/geometry/CMultiGridGeometry.cpp +++ b/Common/src/geometry/CMultiGridGeometry.cpp @@ -511,6 +511,8 @@ CMultiGridGeometry::CMultiGridGeometry(CGeometry *fine_grid, CConfig *config, un SU2_MPI::Allreduce(&nPoint, &Global_nPointCoarse, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); SU2_MPI::Allreduce(&nPointFine, &Global_nPointFine, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); + SetGlobal_nPointDomain(Global_nPointCoarse); + if (iMesh != MESH_0) { const su2double factor = 1.5; const su2double Coeff = pow(su2double(Global_nPointFine) / Global_nPointCoarse, 1.0 / nDim); From 4531f6abd05a4b6e630fd454b30b59100f869995 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Wed, 4 Jan 2023 09:56:51 +0530 Subject: [PATCH 074/179] update contributor list --- AUTHORS.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/AUTHORS.md b/AUTHORS.md index 53a02f26eb3..3b6a816f833 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -152,5 +152,8 @@ sravya91 srcopela tobadavid vfrancesmolla +Y Chandukrishna +Josy P Pullockara +T N Venkatesh ``` From dd74f466a928716b797603311c631b2390a51ad6 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Wed, 4 Jan 2023 11:32:19 +0530 Subject: [PATCH 075/179] Vorticity confinement feature currently not supported for incompressible or non-equilibrium model or axisymmetric flows --- Common/src/CConfig.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index cc29ba11623..45b2b45e759 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -4903,6 +4903,18 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } } + /*--- Vorticity confinement feature currently not supported for incompressible or non-equilibrium model or axisymmetric flows. ---*/ + + if ((Kind_Solver == MAIN_SOLVER::INC_EULER + || Kind_Solver == MAIN_SOLVER::INC_NAVIER_STOKES + || Kind_Solver == MAIN_SOLVER::INC_RANS + || Kind_Solver == MAIN_SOLVER::NEMO_EULER + || Kind_Solver == MAIN_SOLVER::NEMO_NAVIER_STOKES + || Axisymmetric) + && VorticityConfinement) { + SU2_MPI::Error("Vorticity confinement feature currently not supported for incompressible or non-equilibrium model or axisymmetric flows.", CURRENT_FUNCTION); + } + /*--- Check the coefficients for the polynomial models. ---*/ if (Kind_Solver != MAIN_SOLVER::INC_EULER && Kind_Solver != MAIN_SOLVER::INC_NAVIER_STOKES && Kind_Solver != MAIN_SOLVER::INC_RANS) { From 8555028c6a0929de9cc18eb5c5d7f08faed67572 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Wed, 4 Jan 2023 14:20:09 +0530 Subject: [PATCH 076/179] contributor git alphabetical order --- AUTHORS.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index 3b6a816f833..0413260bd35 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -90,6 +90,7 @@ Jessie Lauzon João Loureiro Johannes Blühdorn JonathanSmith1936 +Josy P. Pullockara Kedar Naik LaSerpe Lennaert Tol @@ -121,6 +122,7 @@ Scott Imlay Steffen Schotthöfer Steven Endres Sunoh Kang +T. N. Venkatesh Teus van der Stelt Thomas D. Economon Tim Albring @@ -128,6 +130,7 @@ TobiKattmann Trent Lukaczyk VivaanKhatri Wally Maier +Y. Chandukrishna Zan Xu aaronyicongfu aeroamit @@ -152,8 +155,5 @@ sravya91 srcopela tobadavid vfrancesmolla -Y Chandukrishna -Josy P Pullockara -T N Venkatesh ``` From a5d08603b35fb40ee91656584de1f52f6ad78293 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Thu, 5 Jan 2023 15:28:21 +0000 Subject: [PATCH 077/179] fix undefined reference --- Common/include/geometry/CGeometry.hpp | 3 ++- Common/src/geometry/CGeometry.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Common/include/geometry/CGeometry.hpp b/Common/include/geometry/CGeometry.hpp index 380fd86c7a5..c5ffdb5cf7b 100644 --- a/Common/include/geometry/CGeometry.hpp +++ b/Common/include/geometry/CGeometry.hpp @@ -190,7 +190,8 @@ class CGeometry { public: /*!< \brief Linelets (mesh lines perpendicular to stretching direction). */ struct CLineletInfo { - static constexpr passivedouble ALPHA_ISOTROPIC = 0.8; /*!< \brief Detect isotropic mesh region. */ + /*!< \brief Detect isotropic mesh region. */ + static passivedouble ALPHA_ISOTROPIC() { return 0.8; } enum : unsigned long {MAX_LINELET_POINTS = 32}; /*!< \brief Maximum points per linelet. */ std::vector> linelets; /*!< \brief Point indices for each linelet. */ diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index fd276f8eb39..87ed7214f60 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -3922,7 +3922,7 @@ const CGeometry::CLineletInfo& CGeometry::GetLineletInfo(const CConfig* config) } /*--- Isotropic, stop this linelet. ---*/ - if (min_weight / max_weight > CLineletInfo::ALPHA_ISOTROPIC) break; + if (min_weight / max_weight > CLineletInfo::ALPHA_ISOTROPIC()) break; /*--- Otherwise, add the closest valid neighbor. ---*/ From e499e56327fc85b36fb70c2164c279e7d148bae6 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Thu, 5 Jan 2023 11:55:38 -0800 Subject: [PATCH 078/179] add variable structure for computing inlet gradients Signed-off-by: jtneedels --- SU2_CFD/include/solvers/CNEMOEulerSolver.hpp | 1 + SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 24 +++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp index 84d17dfeb88..ffca4c0abe7 100644 --- a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp @@ -62,6 +62,7 @@ class CNEMOEulerSolver : public CFVMFlowSolverBaseGetInlet_MassFrac(Marker_Tag); //TODO: add get inlet mass_frac function + const auto Mass_Frac = config->GetInlet_MassFrac(Marker_Tag); //TODO: add get inlet mass_frac function const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); @@ -2204,6 +2204,17 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver V_inlet[nSpecies+6+nDim] = U_inlet[nVar-2]/Temperature; V_inlet[nSpecies+7+nDim] = U_inlet[nVar-1]/Temperature_ve; + su2double* Mvec = new su2double[nDim]; + + for (iDim = 0; iDim < nDim; iDim++) + Mvec[iDim] = Velocity[iDim] * soundspeed; + + /*--- Allocate inlet node to compute gradients for numerics ---*/ + node_inlet = new CNEMOEulerVariable(Pressure, Mass_Frac, Mvec, + Temperature, Temperature_ve, + 1, nDim, nVar, nPrimVar, nPrimVarGrad, + config, FluidModel); + /*--- Loop over all the vertices on this boundary marker ---*/ for(iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); @@ -2233,11 +2244,11 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver conv_numerics->SetPrimitive(V_domain, V_inlet); /*--- Pass supplementary info to CNumerics ---*/ //TODO: why pass node infty? - conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_infty->GetdPdU(0)); - conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_infty->GetdTdU(0)); - conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_infty->GetdTvedU(0)); - conv_numerics->SetEve(nodes->GetEve(iPoint), node_infty->GetEve(0)); - conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_infty->GetCvve(0)); + conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet->GetdPdU(0)); + conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet->GetdTdU(0)); + conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet->GetdTvedU(0)); + conv_numerics->SetEve(nodes->GetEve(iPoint), node_inlet->GetEve(0)); + conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_inlet->GetCvve(0)); if (dynamic_grid) conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), @@ -2286,6 +2297,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver delete [] V_domain; delete [] V_inlet; delete [] Normal; + delete [] Mvec; } From e5cbe6704815039c961b388dc33a5353f1dd5e65 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Thu, 5 Jan 2023 15:22:18 -0800 Subject: [PATCH 079/179] remove TODO Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 7c0f6a33c38..dc9a4944e9a 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2243,7 +2243,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver conv_numerics->SetConservative(U_domain, U_inlet); conv_numerics->SetPrimitive(V_domain, V_inlet); - /*--- Pass supplementary info to CNumerics ---*/ //TODO: why pass node infty? + /*--- Pass supplementary info to CNumerics ---*/ conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet->GetdPdU(0)); conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet->GetdTdU(0)); conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet->GetdTvedU(0)); From 85d94de471515d00d876860f25cfe9c55ed502a8 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Fri, 6 Jan 2023 18:20:41 +0000 Subject: [PATCH 080/179] problem with SetGlobalParam --- Common/src/CConfig.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index bf9792eb3ad..4c2d7f089f2 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -6093,14 +6093,14 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { switch (Kind_Trans_Model) { case TURB_TRANS_MODEL::NONE: break; case TURB_TRANS_MODEL::LM: { - cout << "Transition model: Langtry and Menter's 4 equation model"; + cout << "Transition model: Langtry and Menter's 4 equation model"; if (lmParsedOptions.LM2015) { cout << " w/ cross-flow corrections (2015)" << endl; } else { cout << " (2009)" << endl; } - break; - } + break; + } } if (Kind_Trans_Model == TURB_TRANS_MODEL::LM) { @@ -6113,7 +6113,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_TRANS_CORRELATION::MEDIDA_BAEDER: cout << "Medida and Baeder (2011)" << endl; break; case TURB_TRANS_CORRELATION::MEDIDA: cout << "Medida PhD (2014)" << endl; break; case TURB_TRANS_CORRELATION::MENTER_LANGTRY: cout << "Menter and Langtry (2009)" << endl; break; - case TURB_TRANS_CORRELATION::DEFAULT: + case TURB_TRANS_CORRELATION::DEFAULT: switch (Kind_Turb_Model) { case TURB_MODEL::SA: cout << "Malan et al. (2009)" << endl; break; case TURB_MODEL::SST: cout << "Menter and Langtry (2009)" << endl; break; @@ -8465,6 +8465,7 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, } break; case MAIN_SOLVER::HEAT_EQUATION: + case MAIN_SOLVER::DISC_ADJ_HEAT: if (val_system == RUNTIME_HEAT_SYS) { SetKind_ConvNumScheme(NONE, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, NONE, NONE); SetKind_TimeIntScheme(Kind_TimeIntScheme_Heat); From 612fdcb76ef02a4e424f9dc99df28c1c4b692d6a Mon Sep 17 00:00:00 2001 From: jtneedels Date: Fri, 6 Jan 2023 16:23:04 -0800 Subject: [PATCH 081/179] add config option for nemo supersonic inlet mass fraction Signed-off-by: jtneedels --- Common/include/CConfig.hpp | 6 +++--- Common/include/option_structure.hpp | 1 + Common/src/CConfig.cpp | 9 ++------ SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 26 ++++++++++++------------ 4 files changed, 19 insertions(+), 23 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index e35b40bcb99..f67314a3916 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -284,7 +284,6 @@ class CConfig { su2double *Inlet_Temperature; /*!< \brief Specified temperatures for a supersonic inlet boundaries. */ su2double *Inlet_Pressure; /*!< \brief Specified static pressures for supersonic inlet boundaries. */ su2double **Inlet_Velocity; /*!< \brief Specified flow velocity vectors for supersonic inlet boundaries. */ - su2double **Inlet_MassFrac; /*!< \brief Specified Mass fraction vectors for supersonic inlet boundaries (NEMO solver). */ su2double **Inlet_SpeciesVal; /*!< \brief Specified species vector for inlet boundaries. */ su2double **Inlet_TurbVal; /*!< \brief Specified turbulent intensity and viscosity ratio for inlet boundaries. */ su2double *EngineInflow_Target; /*!< \brief Specified fan face targets for nacelle boundaries. */ @@ -1202,6 +1201,7 @@ class CConfig { *Wall_Catalytic; /*!< \brief Pointer to catalytic walls. */ TRANSCOEFFMODEL Kind_TransCoeffModel; /*!< \brief Transport coefficient Model for NEMO solver. */ su2double CatalyticEfficiency; /*!< \brief Wall catalytic efficiency. */ + su2double *Inlet_MassFrac; /*!< \brief Specified Mass fraction vectors for supersonic inlet boundaries (NEMO solver). */ /*--- Additional species solver options ---*/ bool Species_Clipping; /*!< \brief Boolean that activates solution clipping for scalar transport. */ @@ -6673,11 +6673,11 @@ class CConfig { const su2double* GetInlet_Velocity(string val_index) const; /*! - * \brief Get the mass fraction vector at a NEMO supersonic inlet boundary. + * \brief Get the mass fraction vector for a NEMO supersonic inlet boundary. * \param[in] val_index - Index corresponding to the inlet boundary. * \return The inlet velocity vector. */ - const su2double* GetInlet_MassFrac(string val_index) const; + const su2double* GetInlet_MassFrac(void) const { return Inlet_MassFrac; }; /*! * \brief Get the total pressure at an inlet boundary. diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 994bc308799..588ad929eb6 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -1542,6 +1542,7 @@ enum BC_TYPE { DAMPER_BOUNDARY = 41, /*!< \brief Damper. */ CHT_WALL_INTERFACE = 50, /*!< \brief Domain interface definition. */ SMOLUCHOWSKI_MAXWELL = 55, /*!< \brief Smoluchoski/Maxwell wall boundary condition. */ + NEMO_SUPERSONIC_INLET = 56, /*!< \brief NEMO supersonic inlet condition */ SEND_RECEIVE = 99, /*!< \brief Boundary send-receive definition. */ }; diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index dafd3ecbd56..1477d7b6765 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1191,6 +1191,8 @@ void CConfig::SetConfig_Options() { addEnumOption("TRANSPORT_COEFF_MODEL", Kind_TransCoeffModel, TransCoeffModel_Map, TRANSCOEFFMODEL::WILKE); /* DESCRIPTION: Specify mass fraction of each species */ addDoubleListOption("GAS_COMPOSITION", nSpecies, Gas_Composition); + /* DESCRIPTION: Specify mass fraction of each species for NEMO supersonic inlet*/ + addDoubleListOption("INLET_GAS_COMPOSITION", nSpecies, Inlet_MassFrac); /* DESCRIPTION: Specify if mixture is frozen */ addBoolOption("FROZEN_MIXTURE", frozen, false); /* DESCRIPTION: Specify if there is ionization */ @@ -8854,13 +8856,6 @@ const su2double* CConfig::GetInlet_Velocity(string val_marker) const { return Inlet_Velocity[iMarker_Supersonic_Inlet]; } -const su2double* CConfig::GetInlet_MassFrac(string val_marker) const { - unsigned short iMarker_Supersonic_Inlet; - for (iMarker_Supersonic_Inlet = 0; iMarker_Supersonic_Inlet < nMarker_Supersonic_Inlet; iMarker_Supersonic_Inlet++) - if (Marker_Supersonic_Inlet[iMarker_Supersonic_Inlet] == val_marker) break; - return Inlet_MassFrac[iMarker_Supersonic_Inlet]; -} - const su2double* CConfig::GetInlet_SpeciesVal(string val_marker) const { unsigned short iMarker_Inlet_Species; for (iMarker_Inlet_Species = 0; iMarker_Inlet_Species < nMarker_Inlet_Species; iMarker_Inlet_Species++) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index dc9a4944e9a..e6aaad895d8 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2167,39 +2167,39 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver so all flow variables can be imposed at the inlet. First, retrieve the specified values for the primitive variables. ---*/ - const auto Mass_Frac = config->GetInlet_MassFrac(Marker_Tag); //TODO: add get inlet mass_frac function - const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); - const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); - const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); - const su2double Temperature_ve = Temperature; // TODO : add/check for second function for Tve, check what inputs are in config + const su2double* Mass_Frac = config->GetInlet_MassFrac(); + const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); + const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); + const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); + const su2double Temperature_ve = Temperature; //TODO add option? /*--- Set mixture state ---*/ FluidModel->SetTDStatePTTv(Pressure, Mass_Frac, Temperature, Temperature_ve); /*--- Compute necessary quantities ---*/ - const su2double rho = FluidModel->GetDensity(); + const su2double Density = FluidModel->GetDensity(); const su2double soundspeed = FluidModel->ComputeSoundSpeed(); const su2double sqvel = GeometryToolbox::SquaredNorm(nDim, Velocity); const auto& energies = FluidModel->ComputeMixtureEnergies(); /*--- Setting Conservative Variables ---*/ for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - U_inlet[iSpecies] = rho*Mass_Frac[iSpecies]; + U_inlet[iSpecies] = Density*Mass_Frac[iSpecies]; for (iDim = 0; iDim < nDim; iDim++) - U_inlet[nSpecies+iDim] = rho*Velocity[iDim]; - U_inlet[nVar-2] = rho*(energies[0]+0.5*sqvel); - U_inlet[nVar-1] = rho*(energies[1]); + U_inlet[nSpecies+iDim] = Density*Velocity[iDim]; + U_inlet[nVar-2] = Density*(energies[0]+0.5*sqvel); + U_inlet[nVar-1] = Density*(energies[1]); /*--- Setting Primitive Vaariables ---*/ for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - V_inlet[iSpecies] = Mass_Frac[iSpecies]*rho; + V_inlet[iSpecies] = Mass_Frac[iSpecies]*Density; V_inlet[nSpecies] = Temperature; V_inlet[nSpecies+1] = Temperature_ve; for (iDim = 0; iDim < nDim; iDim++) V_inlet[nSpecies+2+iDim] = Velocity[iDim]; V_inlet[nSpecies+2+nDim] = Pressure; - V_inlet[nSpecies+3+nDim] = rho; - V_inlet[nSpecies+4+nDim] = U_inlet[nVar-2]+Pressure/rho; + V_inlet[nSpecies+3+nDim] = Density; + V_inlet[nSpecies+4+nDim] = U_inlet[nVar-2]+Pressure/Density; V_inlet[nSpecies+5+nDim] = soundspeed; V_inlet[nSpecies+6+nDim] = U_inlet[nVar-2]/Temperature; V_inlet[nSpecies+7+nDim] = U_inlet[nVar-1]/Temperature_ve; From 099ebc8b219d88a707a8f0f6cfacd4a5d99f9064 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Fri, 6 Jan 2023 17:33:27 -0800 Subject: [PATCH 082/179] fix issue with nspecies Signed-off-by: jtneedels --- Common/include/CConfig.hpp | 1 + Common/src/CConfig.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index f67314a3916..ba6d0aeb781 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -1187,6 +1187,7 @@ class CConfig { /* other NEMO configure options*/ unsigned short nSpecies_Cat_Wall, /*!< \brief No. of species for a catalytic wall. */ + nSpecies_inlet, iWall_Catalytic, /*!< \brief Iterator over catalytic walls. */ nWall_Catalytic; /*!< \brief No. of catalytic walls. */ su2double *Gas_Composition, /*!< \brief Initial mass fractions of flow [dimensionless]. */ diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 1477d7b6765..010595e68f5 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1192,7 +1192,7 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Specify mass fraction of each species */ addDoubleListOption("GAS_COMPOSITION", nSpecies, Gas_Composition); /* DESCRIPTION: Specify mass fraction of each species for NEMO supersonic inlet*/ - addDoubleListOption("INLET_GAS_COMPOSITION", nSpecies, Inlet_MassFrac); + addDoubleListOption("INLET_GAS_COMPOSITION", nSpecies_inlet, Inlet_MassFrac); /* DESCRIPTION: Specify if mixture is frozen */ addBoolOption("FROZEN_MIXTURE", frozen, false); /* DESCRIPTION: Specify if there is ionization */ From 1ec1dfc3b9c0a758ecfdf65d698f391db0278903 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Fri, 6 Jan 2023 19:53:42 -0800 Subject: [PATCH 083/179] remove line from option_structure Signed-off-by: jtneedels --- Common/include/option_structure.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 588ad929eb6..994bc308799 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -1542,7 +1542,6 @@ enum BC_TYPE { DAMPER_BOUNDARY = 41, /*!< \brief Damper. */ CHT_WALL_INTERFACE = 50, /*!< \brief Domain interface definition. */ SMOLUCHOWSKI_MAXWELL = 55, /*!< \brief Smoluchoski/Maxwell wall boundary condition. */ - NEMO_SUPERSONIC_INLET = 56, /*!< \brief NEMO supersonic inlet condition */ SEND_RECEIVE = 99, /*!< \brief Boundary send-receive definition. */ }; From d21fe6ad0ab26518aab5c185222b1717e8353a9a Mon Sep 17 00:00:00 2001 From: jtneedels Date: Sat, 7 Jan 2023 00:50:36 -0800 Subject: [PATCH 084/179] minor fix to enthalpy, minor fix to Mach, tested and working with 1st order, issues with 2nd order and dPdU etc need fix Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index e6aaad895d8..0f0cdc5db57 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2181,7 +2181,10 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver const su2double soundspeed = FluidModel->ComputeSoundSpeed(); const su2double sqvel = GeometryToolbox::SquaredNorm(nDim, Velocity); const auto& energies = FluidModel->ComputeMixtureEnergies(); + + cout << Density << endl; + // TODO: CHECK THE FORMULATIONS HERE /*--- Setting Conservative Variables ---*/ for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) U_inlet[iSpecies] = Density*Mass_Frac[iSpecies]; @@ -2190,7 +2193,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver U_inlet[nVar-2] = Density*(energies[0]+0.5*sqvel); U_inlet[nVar-1] = Density*(energies[1]); - /*--- Setting Primitive Vaariables ---*/ + /*--- Setting Primitive Variables ---*/ for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) V_inlet[iSpecies] = Mass_Frac[iSpecies]*Density; V_inlet[nSpecies] = Temperature; @@ -2199,15 +2202,15 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver V_inlet[nSpecies+2+iDim] = Velocity[iDim]; V_inlet[nSpecies+2+nDim] = Pressure; V_inlet[nSpecies+3+nDim] = Density; - V_inlet[nSpecies+4+nDim] = U_inlet[nVar-2]+Pressure/Density; + V_inlet[nSpecies+4+nDim] = (U_inlet[nVar-2]+Pressure)/Density; V_inlet[nSpecies+5+nDim] = soundspeed; - V_inlet[nSpecies+6+nDim] = U_inlet[nVar-2]/Temperature; - V_inlet[nSpecies+7+nDim] = U_inlet[nVar-1]/Temperature_ve; + V_inlet[nSpecies+6+nDim] = FluidModel->ComputerhoCvtr(); + V_inlet[nSpecies+7+nDim] = FluidModel->ComputerhoCvve(); su2double* Mvec = new su2double[nDim]; for (iDim = 0; iDim < nDim; iDim++) - Mvec[iDim] = Velocity[iDim] * soundspeed; + Mvec[iDim] = Velocity[iDim] / soundspeed; /*--- Allocate inlet node to compute gradients for numerics ---*/ node_inlet = new CNEMOEulerVariable(Pressure, Mass_Frac, Mvec, @@ -2243,6 +2246,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver conv_numerics->SetConservative(U_domain, U_inlet); conv_numerics->SetPrimitive(V_domain, V_inlet); + // dPdU is zero, need to set these with flud model /*--- Pass supplementary info to CNumerics ---*/ conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet->GetdPdU(0)); conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet->GetdTdU(0)); From 011890bfd453d42a3a2b249e34b788deb9eca3c2 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sat, 7 Jan 2023 23:31:48 +0530 Subject: [PATCH 085/179] regression test --- TestCases/parallel_regression.py | 9 ++ TestCases/rans/oneram6/turb_ONERAM6.cfg | 7 -- TestCases/rans/oneram6/turb_ONERAM6_vc.cfg | 130 +++++++++++++++++++++ 3 files changed, 139 insertions(+), 7 deletions(-) create mode 100644 TestCases/rans/oneram6/turb_ONERAM6_vc.cfg diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index e1d8c358fb6..31ac214a1fe 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -302,6 +302,15 @@ def main(): turb_oneram6.timeout = 3200 test_list.append(turb_oneram6) + # ONERA M6 Wing - vorticity confinement + turb_oneram6_vc = TestCase('turb_oneram6_vc') + turb_oneram6_vc.cfg_dir = "rans/oneram6" + turb_oneram6_vc.cfg_file = "turb_ONERAM6_vc.cfg" + turb_oneram6_vc.test_iter = 15 + turb_oneram6_vc.test_vals = [-2.262387, -6.626467, 0.228393, 0.140799, -2.7107e+04] + turb_oneram6_vc.timeout = 3200 + test_list.append(turb_oneram6_vc) + # ONERA M6 Wing - Newton-Krylov turb_oneram6_nk = TestCase('turb_oneram6_nk') turb_oneram6_nk.cfg_dir = "rans/oneram6" diff --git a/TestCases/rans/oneram6/turb_ONERAM6.cfg b/TestCases/rans/oneram6/turb_ONERAM6.cfg index 301c8989270..acdf3f83ee4 100644 --- a/TestCases/rans/oneram6/turb_ONERAM6.cfg +++ b/TestCases/rans/oneram6/turb_ONERAM6.cfg @@ -25,13 +25,6 @@ FREESTREAM_TEMPERATURE= 288.15 REYNOLDS_NUMBER= 11.72E6 REYNOLDS_LENGTH= 0.64607 -% --------------------------- VORTICITY_CONFINEMENT ---------------------------% -% -% Enable vorticity confinement (YES/NO) -VORTICITY_CONFINEMENT = NO -% Set confinement parameter (0.00 by default) -CONFINEMENT_PARAM = 0.00 - % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % FLUID_MODEL= STANDARD_AIR diff --git a/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg b/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg new file mode 100644 index 00000000000..4bfe6dfbdf5 --- /dev/null +++ b/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg @@ -0,0 +1,130 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Turbulent flow past the ONERA M6 wing % +% Author: Thomas D. Economon % +% Institution: Stanford University % +% Date: 2014.06.14 % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= RANS +KIND_TURB_MODEL= SA +MATH_PROBLEM= DIRECT +RESTART_SOL= NO + +% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% +% +MACH_NUMBER= 0.8395 +AOA= 3.06 +SIDESLIP_ANGLE= 0.0 +FREESTREAM_TEMPERATURE= 288.15 +REYNOLDS_NUMBER= 11.72E6 +REYNOLDS_LENGTH= 0.64607 + +% --------------------------- VORTICITY_CONFINEMENT ---------------------------% +% +% Enable vorticity confinement (YES/NO) +VORTICITY_CONFINEMENT = YES +% Set confinement parameter (0.00 by default) +CONFINEMENT_PARAM = 0.05 + +% ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +% +FLUID_MODEL= STANDARD_AIR +GAMMA_VALUE= 1.4 +GAS_CONSTANT= 287.058 +CRITICAL_TEMPERATURE= 131.00 +CRITICAL_PRESSURE= 3588550.0 +CRITICAL_DENSITY= 263.0 +ACENTRIC_FACTOR= 0.035 + +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= SUTHERLAND +MU_CONSTANT= 1.716E-5 +MU_REF= 1.716E-5 +MU_T_REF= 273.15 +SUTHERLAND_CONSTANT= 110.4 + +% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% +% +REF_ORIGIN_MOMENT_X = 0.25 +REF_ORIGIN_MOMENT_Y = 0.00 +REF_ORIGIN_MOMENT_Z = 0.00 +REF_LENGTH= 0.64607 +REF_AREA= 0 + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( WING, 0.0 ) +MARKER_FAR= ( FARFIELD ) +MARKER_SYM= ( SYMMETRY ) +MARKER_PLOTTING= ( WING ) +MARKER_MONITORING= ( WING ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 4.0 +CFL_ADAPT= NO +CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) +ITER= 20 + +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= LU_SGS +LINEAR_SOLVER_ERROR= 1E-4 +LINEAR_SOLVER_ITER= 5 + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= ROE +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= VENKATAKRISHNAN +VENKAT_LIMITER_COEFF= 1.0 +JST_SENSOR_COEFF= ( 0.5, 0.02 ) +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= VENKATAKRISHNAN +TIME_DISCRE_TURB= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +CONV_RESIDUAL_MINVAL= -10 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-6 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +% These settings are just to reproduce test results, comment them out +% or delete them to use best practice values. +PARMETIS_TOLERANCE= 0.05 +PARMETIS_EDGE_WEIGHT= 0 +PARMETIS_POINT_WEIGHT= 1 +MESH_FILENAME= mesh_ONERAM6_turb_hexa_43008.su2 +MESH_FORMAT= SU2 +MESH_OUT_FILENAME= mesh_out.su2 +SOLUTION_FILENAME= restart_flow.dat +SOLUTION_ADJ_FILENAME= solution_adj.dat +OUTPUT_FILES=(RESTART, STL_ASCII, PARAVIEW, SURFACE_PARAVIEW) +TABULAR_FORMAT= CSV +CONV_FILENAME= history +RESTART_FILENAME= restart_flow.dat +RESTART_ADJ_FILENAME= restart_adj.dat +VOLUME_FILENAME= flow +VOLUME_ADJ_FILENAME= adjoint +GRAD_OBJFUNC_FILENAME= of_grad.dat +SURFACE_FILENAME= surface_flow +SURFACE_ADJ_FILENAME= surface_adjoint +OUTPUT_WRT_FREQ= 250 +SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG, TOTAL_HEATFLUX) From 7a81b2670c0b5701f72836eb3e76daf8728671a7 Mon Sep 17 00:00:00 2001 From: "Josy P. Pullockara" Date: Sun, 8 Jan 2023 09:59:47 +0530 Subject: [PATCH 086/179] codefactor issue fix! --- TestCases/parallel_regression.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 31ac214a1fe..d2027ee1d1c 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -303,12 +303,12 @@ def main(): test_list.append(turb_oneram6) # ONERA M6 Wing - vorticity confinement - turb_oneram6_vc = TestCase('turb_oneram6_vc') - turb_oneram6_vc.cfg_dir = "rans/oneram6" - turb_oneram6_vc.cfg_file = "turb_ONERAM6_vc.cfg" + turb_oneram6_vc = TestCase('turb_oneram6_vc') + turb_oneram6_vc.cfg_dir = "rans/oneram6" + turb_oneram6_vc.cfg_file = "turb_ONERAM6_vc.cfg" turb_oneram6_vc.test_iter = 15 turb_oneram6_vc.test_vals = [-2.262387, -6.626467, 0.228393, 0.140799, -2.7107e+04] - turb_oneram6_vc.timeout = 3200 + turb_oneram6_vc.timeout = 3200 test_list.append(turb_oneram6_vc) # ONERA M6 Wing - Newton-Krylov From 9aa06c10faf9e3223a5d1246040bbda3b1dfea3f Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 9 Jan 2023 14:38:54 +0000 Subject: [PATCH 087/179] cleanup used of SetGlobalParam --- Common/src/CConfig.cpp | 15 +++++--- SU2_CFD/src/iteration/CAdjFluidIteration.cpp | 29 ++++++++------- SU2_CFD/src/iteration/CFEMFluidIteration.cpp | 25 +++++++------ SU2_CFD/src/iteration/CFluidIteration.cpp | 38 +++----------------- SU2_CFD/src/solvers/CSpeciesSolver.cpp | 2 +- SU2_CFD/src/solvers/CTransLMSolver.cpp | 2 +- 6 files changed, 46 insertions(+), 65 deletions(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index bf9792eb3ad..42aee9c12e5 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -6093,14 +6093,14 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { switch (Kind_Trans_Model) { case TURB_TRANS_MODEL::NONE: break; case TURB_TRANS_MODEL::LM: { - cout << "Transition model: Langtry and Menter's 4 equation model"; + cout << "Transition model: Langtry and Menter's 4 equation model"; if (lmParsedOptions.LM2015) { cout << " w/ cross-flow corrections (2015)" << endl; } else { cout << " (2009)" << endl; } - break; - } + break; + } } if (Kind_Trans_Model == TURB_TRANS_MODEL::LM) { @@ -6113,7 +6113,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { case TURB_TRANS_CORRELATION::MEDIDA_BAEDER: cout << "Medida and Baeder (2011)" << endl; break; case TURB_TRANS_CORRELATION::MEDIDA: cout << "Medida PhD (2014)" << endl; break; case TURB_TRANS_CORRELATION::MENTER_LANGTRY: cout << "Menter and Langtry (2009)" << endl; break; - case TURB_TRANS_CORRELATION::DEFAULT: + case TURB_TRANS_CORRELATION::DEFAULT: switch (Kind_Turb_Model) { case TURB_MODEL::SA: cout << "Malan et al. (2009)" << endl; break; case TURB_MODEL::SST: cout << "Menter and Langtry (2009)" << endl; break; @@ -8410,9 +8410,11 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, switch (val_solver) { case MAIN_SOLVER::EULER: case MAIN_SOLVER::INC_EULER: case MAIN_SOLVER::NEMO_EULER: + case MAIN_SOLVER::DISC_ADJ_EULER: case MAIN_SOLVER::DISC_ADJ_INC_EULER: SetFlowParam(); break; case MAIN_SOLVER::NAVIER_STOKES: case MAIN_SOLVER::INC_NAVIER_STOKES: case MAIN_SOLVER::NEMO_NAVIER_STOKES: + case MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES: case MAIN_SOLVER::DISC_ADJ_INC_NAVIER_STOKES: SetFlowParam(); SetSpeciesParam(); @@ -8422,6 +8424,7 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, } break; case MAIN_SOLVER::RANS: case MAIN_SOLVER::INC_RANS: + case MAIN_SOLVER::DISC_ADJ_RANS: case MAIN_SOLVER::DISC_ADJ_INC_RANS: SetFlowParam(); SetTurbParam(); SetSpeciesParam(); @@ -8439,7 +8442,11 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, break; case MAIN_SOLVER::FEM_EULER: case MAIN_SOLVER::FEM_NAVIER_STOKES: + case MAIN_SOLVER::FEM_RANS: case MAIN_SOLVER::FEM_LES: + case MAIN_SOLVER::DISC_ADJ_FEM_EULER: + case MAIN_SOLVER::DISC_ADJ_FEM_NS: + case MAIN_SOLVER::DISC_ADJ_FEM_RANS: if (val_system == RUNTIME_FLOW_SYS) { SetKind_ConvNumScheme(Kind_ConvNumScheme_FEM_Flow, Kind_Centered_Flow, Kind_Upwind_Flow, Kind_SlopeLimit_Flow, diff --git a/SU2_CFD/src/iteration/CAdjFluidIteration.cpp b/SU2_CFD/src/iteration/CAdjFluidIteration.cpp index e0d339bfe80..022e8fba2a2 100644 --- a/SU2_CFD/src/iteration/CAdjFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CAdjFluidIteration.cpp @@ -51,11 +51,16 @@ void CAdjFluidIteration::Preprocess(COutput* output, CIntegration**** integratio /*--- Continuous adjoint Euler, Navier-Stokes or Reynolds-averaged Navier-Stokes (RANS) equations ---*/ if ((InnerIter == 0) || (config[val_iZone]->GetTime_Marching() != TIME_MARCHING::STEADY)) { - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::ADJ_EULER) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_EULER, RUNTIME_FLOW_SYS); - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::ADJ_NAVIER_STOKES) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_NAVIER_STOKES, RUNTIME_FLOW_SYS); - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::ADJ_RANS) config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_RANS, RUNTIME_FLOW_SYS); + const auto kind_solver = config[val_iZone]->GetKind_Solver(); + switch (kind_solver) { + case MAIN_SOLVER::ADJ_EULER: + case MAIN_SOLVER::ADJ_NAVIER_STOKES: + case MAIN_SOLVER::ADJ_RANS: + config[val_iZone]->SetGlobalParam(kind_solver, RUNTIME_FLOW_SYS); + break; + default: + break; + } /*--- Solve the Euler, Navier-Stokes or Reynolds-averaged Navier-Stokes (RANS) equations (one iteration) ---*/ @@ -78,7 +83,7 @@ void CAdjFluidIteration::Preprocess(COutput* output, CIntegration**** integratio /*--- Solve transition model ---*/ if (config[val_iZone]->GetKind_Trans_Model() == TURB_TRANS_MODEL::LM) { - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::RANS, RUNTIME_TRANS_SYS); + config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_RANS, RUNTIME_TRANS_SYS); integration[val_iZone][val_iInst][TRANS_SOL]->SingleGrid_Iteration(geometry, solver, numerics, config, RUNTIME_TRANS_SYS, val_iZone, val_iInst); } @@ -127,19 +132,13 @@ void CAdjFluidIteration::Iterate(COutput* output, CIntegration**** integration, CSolver***** solver, CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement, CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone, unsigned short val_iInst) { - switch (config[val_iZone]->GetKind_Solver()) { + const auto kind_solver = config[val_iZone]->GetKind_Solver(); + switch (kind_solver) { case MAIN_SOLVER::ADJ_EULER: - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_EULER, RUNTIME_ADJFLOW_SYS); - break; - case MAIN_SOLVER::ADJ_NAVIER_STOKES: - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_NAVIER_STOKES, RUNTIME_ADJFLOW_SYS); - break; - case MAIN_SOLVER::ADJ_RANS: - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_RANS, RUNTIME_ADJFLOW_SYS); + config[val_iZone]->SetGlobalParam(kind_solver, RUNTIME_ADJFLOW_SYS); break; - default: break; } diff --git a/SU2_CFD/src/iteration/CFEMFluidIteration.cpp b/SU2_CFD/src/iteration/CFEMFluidIteration.cpp index fabf2241461..499f1740bd2 100644 --- a/SU2_CFD/src/iteration/CFEMFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFEMFluidIteration.cpp @@ -47,17 +47,20 @@ void CFEMFluidIteration::Iterate(COutput* output, CIntegration**** integration, CFreeFormDefBox*** FFDBox, unsigned short val_iZone, unsigned short val_iInst) { /*--- Update global parameters ---*/ - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::FEM_EULER || config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_FEM_EULER) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::FEM_EULER, RUNTIME_FLOW_SYS); - - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::FEM_NAVIER_STOKES || - config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_FEM_NS) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::FEM_NAVIER_STOKES, RUNTIME_FLOW_SYS); - - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::FEM_RANS || config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_FEM_RANS) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::FEM_RANS, RUNTIME_FLOW_SYS); - - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::FEM_LES) config[val_iZone]->SetGlobalParam(MAIN_SOLVER::FEM_LES, RUNTIME_FLOW_SYS); + const auto kind_solver = config[val_iZone]->GetKind_Solver(); + switch (kind_solver) { + case MAIN_SOLVER::FEM_EULER: + case MAIN_SOLVER::DISC_ADJ_FEM_EULER: + case MAIN_SOLVER::FEM_NAVIER_STOKES: + case MAIN_SOLVER::DISC_ADJ_FEM_NS: + case MAIN_SOLVER::FEM_RANS: + case MAIN_SOLVER::DISC_ADJ_FEM_RANS: + case MAIN_SOLVER::FEM_LES: + config[val_iZone]->SetGlobalParam(kind_solver, RUNTIME_FLOW_SYS); + break; + default: + break; + } /*--- Solve the Euler, Navier-Stokes, RANS or LES equations (one iteration) ---*/ diff --git a/SU2_CFD/src/iteration/CFluidIteration.cpp b/SU2_CFD/src/iteration/CFluidIteration.cpp index b04a81b7875..a39031ae6ee 100644 --- a/SU2_CFD/src/iteration/CFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFluidIteration.cpp @@ -71,35 +71,7 @@ void CFluidIteration::Iterate(COutput* output, CIntegration**** integration, CGe /*--- Update global parameters ---*/ - MAIN_SOLVER main_solver = MAIN_SOLVER::NONE; - - switch (config[val_iZone]->GetKind_Solver()) { - case MAIN_SOLVER::EULER: - case MAIN_SOLVER::DISC_ADJ_EULER: - case MAIN_SOLVER::INC_EULER: - case MAIN_SOLVER::DISC_ADJ_INC_EULER: - case MAIN_SOLVER::NEMO_EULER: - main_solver = MAIN_SOLVER::EULER; - break; - - case MAIN_SOLVER::NAVIER_STOKES: - case MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES: - case MAIN_SOLVER::INC_NAVIER_STOKES: - case MAIN_SOLVER::DISC_ADJ_INC_NAVIER_STOKES: - case MAIN_SOLVER::NEMO_NAVIER_STOKES: - main_solver = MAIN_SOLVER::NAVIER_STOKES; - break; - - case MAIN_SOLVER::RANS: - case MAIN_SOLVER::DISC_ADJ_RANS: - case MAIN_SOLVER::INC_RANS: - case MAIN_SOLVER::DISC_ADJ_INC_RANS: - main_solver = MAIN_SOLVER::RANS; - break; - - default: - break; - } + const auto main_solver = config[val_iZone]->GetKind_Solver(); config[val_iZone]->SetGlobalParam(main_solver, RUNTIME_FLOW_SYS); /*--- Solve the Euler, Navier-Stokes or Reynolds-averaged Navier-Stokes (RANS) equations (one iteration) ---*/ @@ -109,8 +81,8 @@ void CFluidIteration::Iterate(COutput* output, CIntegration**** integration, CGe /*--- If the flow integration is not fully coupled, run the various single grid integrations. ---*/ - if ((main_solver == MAIN_SOLVER::RANS) && !frozen_visc) { - + if (config[val_iZone]->GetKind_Turb_Model() != TURB_MODEL::NONE && !frozen_visc) { + /*--- Solve transition model ---*/ if (config[val_iZone]->GetKind_Trans_Model() == TURB_TRANS_MODEL::LM) { @@ -118,12 +90,12 @@ void CFluidIteration::Iterate(COutput* output, CIntegration**** integration, CGe integration[val_iZone][val_iInst][TRANS_SOL]->SingleGrid_Iteration(geometry, solver, numerics, config, RUNTIME_TRANS_SYS, val_iZone, val_iInst); } - + /*--- Solve the turbulence model ---*/ config[val_iZone]->SetGlobalParam(main_solver, RUNTIME_TURB_SYS); integration[val_iZone][val_iInst][TURB_SOL]->SingleGrid_Iteration(geometry, solver, numerics, config, - RUNTIME_TURB_SYS, val_iZone, val_iInst); + RUNTIME_TURB_SYS, val_iZone, val_iInst); } if (config[val_iZone]->GetKind_Species_Model() != SPECIES_MODEL::NONE){ diff --git a/SU2_CFD/src/solvers/CSpeciesSolver.cpp b/SU2_CFD/src/solvers/CSpeciesSolver.cpp index 9c428777629..2b2dddba029 100644 --- a/SU2_CFD/src/solvers/CSpeciesSolver.cpp +++ b/SU2_CFD/src/solvers/CSpeciesSolver.cpp @@ -285,7 +285,7 @@ void CSpeciesSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfi void CSpeciesSolver::Preprocessing(CGeometry* geometry, CSolver** solver_container, CConfig* config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) { - config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem); + SU2_OMP_SAFE_GLOBAL_ACCESS(config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem);) /*--- Set the laminar mass Diffusivity for the species solver. ---*/ SU2_OMP_FOR_STAT(omp_chunk_size) diff --git a/SU2_CFD/src/solvers/CTransLMSolver.cpp b/SU2_CFD/src/solvers/CTransLMSolver.cpp index af4ef1317e2..01a254e98b7 100644 --- a/SU2_CFD/src/solvers/CTransLMSolver.cpp +++ b/SU2_CFD/src/solvers/CTransLMSolver.cpp @@ -174,7 +174,7 @@ CTransLMSolver::CTransLMSolver(CGeometry *geometry, CConfig *config, unsigned sh void CTransLMSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) { - config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem); + SU2_OMP_SAFE_GLOBAL_ACCESS(config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem);) /*--- Upwind second order reconstruction and gradients ---*/ CommonPreprocessing(geometry, config, Output); From 9204acdcb76e289b1702ea79f6220a13d9ad1cde Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 9 Jan 2023 14:42:35 +0000 Subject: [PATCH 088/179] did not save --- Common/src/CConfig.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 42aee9c12e5..db1e7e27fd2 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -8472,6 +8472,7 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, } break; case MAIN_SOLVER::HEAT_EQUATION: + case MAIN_SOLVER::DISC_ADJ_HEAT: if (val_system == RUNTIME_HEAT_SYS) { SetKind_ConvNumScheme(NONE, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, NONE, NONE); SetKind_TimeIntScheme(Kind_TimeIntScheme_Heat); @@ -8479,6 +8480,7 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, break; case MAIN_SOLVER::FEM_ELASTICITY: + case MAIN_SOLVER::DISC_ADJ_FEM: Current_DynTime = static_cast(TimeIter)*Delta_DynTime; From ebf0ff14337397fec1530f48db1e7c88ced82154 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 9 Jan 2023 15:57:24 +0000 Subject: [PATCH 089/179] update regressions --- .../chtPinArray_2d/of_grad_findiff.csv.ref | 2 +- TestCases/parallel_regression.py | 10 ++-- TestCases/parallel_regression_AD.py | 60 +++++++++---------- TestCases/serial_regression_AD.py | 38 ++++++------ 4 files changed, 55 insertions(+), 55 deletions(-) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref index 51f3fad3680..82730a5fe1e 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref @@ -1,2 +1,2 @@ "VARIABLE" , "AVG_DENSITY[0]", "AVG_ENTHALPY[0]", "AVG_NORMALVEL[0]", "DRAG[0]" , "EFFICIENCY[0]" , "FORCE_X[0]" , "FORCE_Y[0]" , "FORCE_Z[0]" , "LIFT[0]" , "MOMENT_X[0]" , "MOMENT_Y[0]" , "MOMENT_Z[0]" , "SIDEFORCE[0]" , "SURFACE_MACH[0]", "SURFACE_MASSFLOW[0]", "SURFACE_MOM_DISTORTION[0]", "SURFACE_PRESSURE_DROP[0]", "SURFACE_SECONDARY[0]", "SURFACE_SECOND_OVER_UNIFORM[0]", "SURFACE_STATIC_PRESSURE[0]", "SURFACE_STATIC_TEMPERATURE[0]", "SURFACE_TOTAL_PRESSURE[0]", "SURFACE_TOTAL_TEMPERATURE[0]", "SURFACE_UNIFORMITY[0]", "AVG_TEMPERATURE[1]", "MAXIMUM_HEATFLUX[1]", "TOTAL_HEATFLUX[1]", "FINDIFF_STEP" -0 , 0.0 , -100000.01639127731, -1.1101999999881826e-08, 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , -0.0399999991462785, 0.0 , -2.1099999997220564 , 0.0 , 2.1799999999627673 , 3.8000000007754053 , 319.9999980552093 , -39.999997625272954 , 318.0000007318995 , -39.999997625272954 , -1.400000004814217 , -139.99999737279722, 0.0 , -540.0000077315781, 1e-08 +0 , 0.0 , -100000.01639127731, -1.1103000000496327e-08, 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , -0.0399999991462785, 3.3309999998872306e-08, -2.1099999997220564 , 0.0 , 2.1799999999627673 , 3.8000000007754053 , 319.9999980552093 , -39.999997625272954 , 318.0000007318995 , -39.999997625272954 , -1.400000004814217 , -139.99999737279722, 0.0 , -540.0000077315781, 1e-08 diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index e1d8c358fb6..eb26cf3d6d8 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -1146,7 +1146,7 @@ def main(): solid_periodic_pins.cfg_dir = "solid_heat_conduction/periodic_pins" solid_periodic_pins.cfg_file = "configSolid.cfg" solid_periodic_pins.test_iter = 750 - solid_periodic_pins.test_vals = [-15.878958, -14.569206, 300.900000, 425.320000, 0.000000, 5.000000, -1.672714] #last 7 lines + solid_periodic_pins.test_vals = [-15.878977, -14.569206, 300.900000, 425.320000, 0.000000, 5.000000, -1.672737] #last 7 lines solid_periodic_pins.test_vals_aarch64 = [-15.879010, -14.569206, 300.900000, 425.320000, 0.000000, 5.000000, -1.672630] #last 7 lines test_list.append(solid_periodic_pins) @@ -1359,7 +1359,7 @@ def main(): species2_primitiveVenturi_mixingmodel_viscosity.test_vals = [-4.738778, -4.325766, -4.610914, -5.834431, 0.521730, -4.934375, 5.000000, -1.887191, 5.000000, -5.499917, 5.000000, -1.770845, 2.292904, 0.971941, 0.608500, 0.712464] species2_primitiveVenturi_mixingmodel_viscosity.new_output = True test_list.append(species2_primitiveVenturi_mixingmodel_viscosity) - + # 2 species (1 eq) primitive venturi mixing using mixing model including heat capacity and mass diffusivity species2_primitiveVenturi_mixingmodel_heatcapacity_H2 = TestCase('species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg') species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg_dir = "species_transport/venturi_primitive_3species" @@ -1371,7 +1371,7 @@ def main(): species2_primitiveVenturi_mixingmodel_heatcapacity_H2.new_output = True species2_primitiveVenturi_mixingmodel_heatcapacity_H2.tol = 0.00001 test_list.append(species2_primitiveVenturi_mixingmodel_heatcapacity_H2) - + # 2 species (1 eq) primitive venturi mixing using mixing model including heat capacity and mass diffusivity NonDimensional case species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND = TestCase('species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg') species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg_dir = "species_transport/venturi_primitive_3species" @@ -1383,7 +1383,7 @@ def main(): species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.new_output = True species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.tol = 0.00001 test_list.append(species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND) - + # 2 species (1 eq) primitive venturi mixing species2_primitiveVenturi = TestCase('species2_primitiveVenturi') species2_primitiveVenturi.cfg_dir = "species_transport/venturi_primitive_3species" @@ -1401,7 +1401,7 @@ def main(): species_primitiveVenturi_boundedscalar.test_vals = [-5.297585, -4.397797, -4.377086, -5.593131, -1.011782, -5.623540, 5.000000, -1.775123, 5.000000, -4.086339, 5.000000, -2.080187, 0.000424, 0.000424, 0.000000, 0.000000] species_primitiveVenturi_boundedscalar.new_output = True test_list.append(species_primitiveVenturi_boundedscalar) - + # 2 species (1 eq) primitive venturi mixing using mixing model including inlet markers for turbulent intensity and viscosity ratios species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS = TestCase('species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg') species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg_dir = "species_transport/venturi_primitive_3species" diff --git a/TestCases/parallel_regression_AD.py b/TestCases/parallel_regression_AD.py index 0ab26a2dad3..1e7e82189df 100644 --- a/TestCases/parallel_regression_AD.py +++ b/TestCases/parallel_regression_AD.py @@ -6,8 +6,8 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # # Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) @@ -16,7 +16,7 @@ # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -29,11 +29,11 @@ from __future__ import print_function import sys -from TestCase import TestCase +from TestCase import TestCase def main(): - '''This program runs SU2 and ensures that the output matches specified values. - This will be used to do checks when code is pushed to github + '''This program runs SU2 and ensures that the output matches specified values. + This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] @@ -49,7 +49,7 @@ def main(): discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.561506, -8.926634, -0.000000, 0.005587] test_list.append(discadj_naca0012) - + # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" @@ -65,7 +65,7 @@ def main(): discadj_arina2k.test_iter = 20 discadj_arina2k.test_vals = [-3.111181, -3.501516, 6.8705e-02, 0] test_list.append(discadj_arina2k) - + # Equivalent area NACA64-206 ea_naca64206 = TestCase('ea_naca64206') ea_naca64206.cfg_dir = "optimization_euler/equivalentarea_naca64206" @@ -157,16 +157,16 @@ def main(): ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### - + # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder.cfg" + discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746909, -1.544883, -0.008321, 0.000014] #last 4 columns discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) - + ############################################################## ### Unsteady Disc. adj. compressible RANS Windowed Average ### ############################################################## @@ -174,12 +174,12 @@ def main(): # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder_windowed_average_AD') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder_Windowing_AD.cfg" + discadj_cylinder.cfg_file = "cylinder_Windowing_AD.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.004406] #last column discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) - + ############################################################## ### Unsteady Disc. adj. compressible RANS Windowed Average ### ############################################################## @@ -187,14 +187,14 @@ def main(): # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder_windowed_average') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder_Windowing.cfg" + discadj_cylinder.cfg_file = "cylinder_Windowing.cfg" discadj_cylinder.test_iter = 6 discadj_cylinder.test_vals = [0.202349, -0.000119, 1.899933, -0.000050, 1.067900] discadj_cylinder.tol = 0.0001 discadj_cylinder.command = TestCase.Command("mpirun -n 2", "SU2_CFD_DIRECTDIFF") discadj_cylinder.unsteady = True - test_list.append(discadj_cylinder) - + test_list.append(discadj_cylinder) + ########################################################################## ### Unsteady Disc. adj. compressible RANS DualTimeStepping 1st order ### ########################################################################## @@ -224,27 +224,27 @@ def main(): ####################################################### ### Disc. adj. turbomachinery ### ####################################################### - + # Transonic Stator 2D discadj_trans_stator = TestCase('transonic_stator') discadj_trans_stator.cfg_dir = "disc_adj_turbomachinery/transonic_stator_2D" - discadj_trans_stator.cfg_file = "transonic_stator.cfg" + discadj_trans_stator.cfg_file = "transonic_stator.cfg" discadj_trans_stator.test_iter = 79 discadj_trans_stator.test_vals = [79.000000, -1.941681, -1.984570] test_list.append(discadj_trans_stator) - + ################################### ### Structural Adjoint ### ################################### - + # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" - discadj_fea.cfg_file = "configAD_fem.cfg" + discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 4 discadj_fea.test_vals = [-2.849774, -3.238669, -0.000364, -8.708700] #last 4 columns discadj_fea.test_vals_aarch64 = [-2.849726, -3.238594, -0.000364, -8.708700] #last 4 columns - test_list.append(discadj_fea) + test_list.append(discadj_fea) ################################### ### Disc. adj. heat ### @@ -255,14 +255,14 @@ def main(): discadj_heat.cfg_dir = "disc_adj_heat" discadj_heat.cfg_file = "disc_adj_heat.cfg" discadj_heat.test_iter = 10 - discadj_heat.test_vals = [-2.280433, 0.714828, -0.743730, -6.767300] - discadj_heat.test_vals_aarch64 = [-2.280428, 0.714835, -0.743730, -6.767300] + discadj_heat.test_vals = [-2.344307, 0.721551, -0.507470, -5.612700] + discadj_heat.test_vals_aarch64 = [-2.344307, 0.721551, -0.507470, -5.612700] test_list.append(discadj_heat) ################################### ### Coupled FSI Adjoint ### ################################### - + # Legacy driver discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" @@ -316,8 +316,8 @@ def main(): da_unsteadyCHT_cylinder.cfg_dir = "coupled_cht/disc_adj_unsteadyCHT_cylinder" da_unsteadyCHT_cylinder.cfg_file = "chtMaster.cfg" da_unsteadyCHT_cylinder.test_iter = 2 - da_unsteadyCHT_cylinder.test_vals = [-3.521358, -4.312658, -4.271025, -9.846075, -7.967741, 0.000000, 3.684000, 2.9483e-01] - da_unsteadyCHT_cylinder.test_vals_aarch64 = [-3.521358, -4.312658, -4.271025, -9.846075, -7.967741, 0.000000, 3.684000, 2.9483e-01] + da_unsteadyCHT_cylinder.test_vals = [-3.508906, -4.317739, -4.241558, -11.836892, -12.862650, 0.000000, 3.688000, 0.295190] + da_unsteadyCHT_cylinder.test_vals_aarch64 = [-3.508906, -4.317739, -4.241558, -11.836892, -12.862650, 0.000000, 3.688000, 0.295190] da_unsteadyCHT_cylinder.unsteady = True da_unsteadyCHT_cylinder.multizone = True test_list.append(da_unsteadyCHT_cylinder) @@ -364,7 +364,7 @@ def main(): # NACA0012 Airfoil unsteady_naca0012 = TestCase('unsteady_NACA0012_restart_adjoint') unsteady_naca0012.cfg_dir = "disc_adj_rans/naca0012" - unsteady_naca0012.cfg_file = "naca0012.cfg" + unsteady_naca0012.cfg_file = "naca0012.cfg" unsteady_naca0012.test_iter = 14 unsteady_naca0012.command = TestCase.Command(exec = "discrete_adjoint.py", param = "-f") unsteady_naca0012.timeout = 1600 @@ -373,7 +373,7 @@ def main(): unsteady_naca0012.unsteady = True pass_list.append(unsteady_naca0012.run_filediff()) test_list.append(unsteady_naca0012) - + #################################################################################### ### Unsteady Disc. adj. compressible RANS Windowed Average only adjoint ### #################################################################################### @@ -381,7 +381,7 @@ def main(): # NACA0012 Airfoil (Test depends on results of "unsteady_NACA0012_restart_adjoint") unsteady_naca0012 = TestCase('unsteady_NACA0012_adjoint_only') unsteady_naca0012.cfg_dir = "disc_adj_rans/naca0012" - unsteady_naca0012.cfg_file = "naca0012.cfg" + unsteady_naca0012.cfg_file = "naca0012.cfg" unsteady_naca0012.test_iter = 14 unsteady_naca0012.command = TestCase.Command(exec = "discrete_adjoint.py", param = "-m adj -f") unsteady_naca0012.timeout = 1600 diff --git a/TestCases/serial_regression_AD.py b/TestCases/serial_regression_AD.py index 536727c2d6c..092c102d191 100644 --- a/TestCases/serial_regression_AD.py +++ b/TestCases/serial_regression_AD.py @@ -6,8 +6,8 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # # Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) @@ -16,7 +16,7 @@ # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -32,8 +32,8 @@ from TestCase import TestCase def main(): - '''This program runs SU2 and ensures that the output matches specified values. - This will be used to do checks when code is pushed to github + '''This program runs SU2 and ensures that the output matches specified values. + This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] @@ -58,7 +58,7 @@ def main(): discadj_cylinder3D.test_vals = [-3.737675, -3.842311, -0.000000, 0.000000] test_list.append(discadj_cylinder3D) - # Arina nozzle 2D + # Arina nozzle 2D discadj_arina2k = TestCase('discadj_arina2k') discadj_arina2k.cfg_dir = "disc_adj_euler/arina2k" discadj_arina2k.cfg_file = "Arina2KRS.cfg" @@ -69,7 +69,7 @@ def main(): ####################################################### ### Disc. adj. compressible RANS ### ####################################################### - + # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" @@ -133,16 +133,16 @@ def main(): ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### - + # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder.cfg" + discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746909, -1.544883, -0.008321, 0.000014] #last 4 columns discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) - + ########################################################################## ### Unsteady Disc. adj. compressible RANS DualTimeStepping 1st order ### ########################################################################## @@ -181,15 +181,15 @@ def main(): ################################### ### Structural Adjoint ### ################################### - + # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" - discadj_fea.cfg_file = "configAD_fem.cfg" + discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 4 discadj_fea.test_vals = [-2.849531, -3.238474, -3.6413e-04, -8.7087] #last 4 columns discadj_fea.test_vals_aarch64 = [-2.849570, -3.238519, -3.6413e-04, -8.7087] #last 4 columns - test_list.append(discadj_fea) + test_list.append(discadj_fea) ################################### ### Disc. adj. heat ### @@ -200,13 +200,13 @@ def main(): discadj_heat.cfg_dir = "disc_adj_heat" discadj_heat.cfg_file = "disc_adj_heat.cfg" discadj_heat.test_iter = 10 - discadj_heat.test_vals = [-2.271569, 0.671288, -3.172000, -8.231500] #last 4 columns + discadj_heat.test_vals = [-2.350284, 0.665882, -2.649900, -7.006800] #last 4 columns test_list.append(discadj_heat) ################################### ### Coupled FSI Adjoint ### ################################### - + # Structural model discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" @@ -244,7 +244,7 @@ def main(): test.tol = 0.00001 pass_list = [ test.run_test() for test in test_list ] - + ################################### ### Coupled RHT-CFD Adjoint ### ################################### @@ -265,7 +265,7 @@ def main(): ###################################### ### RUN PYTHON TESTS ### ###################################### - + # test discrete_adjoint.py discadj_euler_py = TestCase('discadj_euler_py') discadj_euler_py.cfg_dir = "cont_adj_euler/naca0012" @@ -278,7 +278,7 @@ def main(): discadj_euler_py.test_file = "of_grad_cd.dat" pass_list.append(discadj_euler_py.run_filediff()) test_list.append(discadj_euler_py) - + # test discrete_adjoint with multiple ffd boxes discadj_multiple_ffd_py = TestCase('discadj_multiple_ffd_py') discadj_multiple_ffd_py.cfg_dir = "multiple_ffd/naca0012" @@ -382,7 +382,7 @@ def main(): print(' passed - %s'%test.tag) else: print('* FAILED - %s'%test.tag) - + if all(pass_list): sys.exit(0) else: From 89a3578eb4264b27593da1f3f7ac668311e795ac Mon Sep 17 00:00:00 2001 From: jtneedels Date: Mon, 9 Jan 2023 08:33:40 -0800 Subject: [PATCH 090/179] adding comment Signed-off-by: jtneedels --- Common/include/CConfig.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index ba6d0aeb781..5f0a6c9fed4 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -1187,7 +1187,7 @@ class CConfig { /* other NEMO configure options*/ unsigned short nSpecies_Cat_Wall, /*!< \brief No. of species for a catalytic wall. */ - nSpecies_inlet, + nSpecies_inlet, /*!< \brief No. of species for NEMO supersonic inlet. */ iWall_Catalytic, /*!< \brief Iterator over catalytic walls. */ nWall_Catalytic; /*!< \brief No. of catalytic walls. */ su2double *Gas_Composition, /*!< \brief Initial mass fractions of flow [dimensionless]. */ From 3314255094dc39999840d2f89c0d49a18b9d971d Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 9 Jan 2023 19:19:49 +0000 Subject: [PATCH 091/179] remove unused options --- Common/include/option_structure.hpp | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 994bc308799..d39d6abde86 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -272,22 +272,8 @@ static const MapType Solver_Map = { MakePair("FEM_LES", MAIN_SOLVER::FEM_LES) MakePair("NEMO_EULER",MAIN_SOLVER::NEMO_EULER) MakePair("NEMO_NAVIER_STOKES",MAIN_SOLVER::NEMO_NAVIER_STOKES) - MakePair("ADJ_EULER", MAIN_SOLVER::ADJ_EULER) - MakePair("ADJ_NAVIER_STOKES", MAIN_SOLVER::ADJ_NAVIER_STOKES) - MakePair("ADJ_RANS", MAIN_SOLVER::ADJ_RANS ) MakePair("HEAT_EQUATION", MAIN_SOLVER::HEAT_EQUATION) MakePair("ELASTICITY", MAIN_SOLVER::FEM_ELASTICITY) - MakePair("DISC_ADJ_EULER", MAIN_SOLVER::DISC_ADJ_EULER) - MakePair("DISC_ADJ_RANS", MAIN_SOLVER::DISC_ADJ_RANS) - MakePair("DISC_ADJ_NAVIERSTOKES", MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES) - MakePair("DISC_ADJ_INC_EULER", MAIN_SOLVER::DISC_ADJ_INC_EULER) - MakePair("DISC_ADJ_INC_RANS", MAIN_SOLVER::DISC_ADJ_INC_RANS) - MakePair("DISC_ADJ_INC_NAVIERSTOKES", MAIN_SOLVER::DISC_ADJ_INC_NAVIER_STOKES) - MakePair("DISC_ADJ_HEAT_EQUATION", MAIN_SOLVER::DISC_ADJ_HEAT) - MakePair("DISC_ADJ_FEM_EULER", MAIN_SOLVER::DISC_ADJ_FEM_EULER) - MakePair("DISC_ADJ_FEM_RANS", MAIN_SOLVER::DISC_ADJ_FEM_RANS) - MakePair("DISC_ADJ_FEM_NS", MAIN_SOLVER::DISC_ADJ_FEM_NS) - MakePair("DISC_ADJ_FEM", MAIN_SOLVER::DISC_ADJ_FEM) MakePair("TEMPLATE_SOLVER", MAIN_SOLVER::TEMPLATE_SOLVER) MakePair("MULTIPHYSICS", MAIN_SOLVER::MULTIPHYSICS) }; @@ -689,7 +675,7 @@ enum class MIXINGVISCOSITYMODEL { DAVIDSON, /*!< \brief Davidson mixing viscosity model. */ }; static const MapType MixingViscosityModel_Map = { - MakePair("WILKE", MIXINGVISCOSITYMODEL::WILKE) + MakePair("WILKE", MIXINGVISCOSITYMODEL::WILKE) MakePair("DAVIDSON", MIXINGVISCOSITYMODEL::DAVIDSON) }; @@ -1249,7 +1235,7 @@ inline LM_ParsedOptions ParseLMOptions(const LM_OPTIONS *LM_Options, unsigned sh }; LMParsedOptions.LM2015 = IsPresent(LM_OPTIONS::LM2015); - + int NFoundCorrelations = 0; if (IsPresent(LM_OPTIONS::MALAN)) { LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::MALAN; From f177610d36223fe78f0b6b3570e443cfc5599c1c Mon Sep 17 00:00:00 2001 From: jtneedels Date: Mon, 9 Jan 2023 23:00:16 -0800 Subject: [PATCH 092/179] add Tve option Signed-off-by: jtneedels --- Common/include/CConfig.hpp | 8 +++++++ Common/src/CConfig.cpp | 2 ++ SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 28 +++++++++++++++++++----- 3 files changed, 33 insertions(+), 5 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 5f0a6c9fed4..07a1bf595cc 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -1203,6 +1203,7 @@ class CConfig { TRANSCOEFFMODEL Kind_TransCoeffModel; /*!< \brief Transport coefficient Model for NEMO solver. */ su2double CatalyticEfficiency; /*!< \brief Wall catalytic efficiency. */ su2double *Inlet_MassFrac; /*!< \brief Specified Mass fraction vectors for supersonic inlet boundaries (NEMO solver). */ + su2double Inlet_Temperature_ve; /*!< \brief Specified Tve for supersonic inlet boundaries (NEMO solver). */ /*--- Additional species solver options ---*/ bool Species_Clipping; /*!< \brief Boolean that activates solution clipping for scalar transport. */ @@ -6680,6 +6681,13 @@ class CConfig { */ const su2double* GetInlet_MassFrac(void) const { return Inlet_MassFrac; }; + /*! + * \brief Get the Tve value for a NEMO supersonic inlet boundary. + * \param[in] val_index - Index corresponding to the inlet boundary. + * \return The inlet velocity vector. + */ + const su2double GetInlet_Temperature_ve(void) const { return Inlet_Temperature_ve; }; + /*! * \brief Get the total pressure at an inlet boundary. * \param[in] val_index - Index corresponding to the inlet boundary. diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 67ebe7b565e..0bf70ad7129 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1193,6 +1193,8 @@ void CConfig::SetConfig_Options() { addDoubleListOption("GAS_COMPOSITION", nSpecies, Gas_Composition); /* DESCRIPTION: Specify mass fraction of each species for NEMO supersonic inlet*/ addDoubleListOption("INLET_GAS_COMPOSITION", nSpecies_inlet, Inlet_MassFrac); + /*!\brief INLET_TEMPERATURE_VE \n DESCRIPTION: NEMO supersonic inlet temperature_ve (K), if left 0 K, set to Ttr value \ingroup Config*/ + addDoubleOption("INLET_TEMPERATURE_VE", Inlet_Temperature_ve, 0.0); /* DESCRIPTION: Specify if mixture is frozen */ addBoolOption("FROZEN_MIXTURE", frozen, false); /* DESCRIPTION: Specify if there is ionization */ diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 0f0cdc5db57..bc8eb195c9d 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2171,7 +2171,10 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); - const su2double Temperature_ve = Temperature; //TODO add option? + su2double Temperature_ve = config->GetInlet_Temperature_ve(); + + /*--- If no value given, set to Ttr value ---*/ + if (Temperature_ve == 0.0) {Temperature_ve = Temperature;} /*--- Set mixture state ---*/ FluidModel->SetTDStatePTTv(Pressure, Mass_Frac, Temperature, Temperature_ve); @@ -2181,10 +2184,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver const su2double soundspeed = FluidModel->ComputeSoundSpeed(); const su2double sqvel = GeometryToolbox::SquaredNorm(nDim, Velocity); const auto& energies = FluidModel->ComputeMixtureEnergies(); - - cout << Density << endl; - // TODO: CHECK THE FORMULATIONS HERE /*--- Setting Conservative Variables ---*/ for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) U_inlet[iSpecies] = Density*Mass_Frac[iSpecies]; @@ -2207,6 +2207,24 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver V_inlet[nSpecies+6+nDim] = FluidModel->ComputerhoCvtr(); V_inlet[nSpecies+7+nDim] = FluidModel->ComputerhoCvve(); + // su2double *dPdU_temp = new su2double[nVar]; + // su2double *dTdU_temp = new su2double[nVar]; + // su2double *dTvedU_temp = new su2double[nVar]; + // su2double *eves_temp = new su2double[nSpecies]; + // su2double *cvve_temp = new su2double[nSpecies]; + + // const auto& cvves = FluidModel->ComputeSpeciesCvVibEle(V_inlet[nSpecies+7+nDim]); + // vector eves = FluidModel->ComputeSpeciesEve(V_inlet[nSpecies+7+nDim]); + + // for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { + // eves_temp[iSpecies] = eves[iSpecies]; + // cvve_temp[iSpecies] = cvves[iSpecies]; + // } + + // FluidModel->ComputedPdU (V_inlet, eves_temp, dPdU_temp ); + // FluidModel->ComputedTdU (V_inlet, dTdU_temp ); + // FluidModel->ComputedTvedU(V_inlet, eves_temp, dTvedU_temp ); + su2double* Mvec = new su2double[nDim]; for (iDim = 0; iDim < nDim; iDim++) @@ -2246,7 +2264,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver conv_numerics->SetConservative(U_domain, U_inlet); conv_numerics->SetPrimitive(V_domain, V_inlet); - // dPdU is zero, need to set these with flud model + // TODO: dPdU is zero, need to set these with flud model, fix eve and cvve values /*--- Pass supplementary info to CNumerics ---*/ conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet->GetdPdU(0)); conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet->GetdTdU(0)); From cfbd15377ba633a74fa1f1ad985c927227eae6ad Mon Sep 17 00:00:00 2001 From: jtneedels Date: Mon, 9 Jan 2023 23:20:57 -0800 Subject: [PATCH 093/179] fix computation of gradients, free memory Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index bc8eb195c9d..1b6a07984c5 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2156,7 +2156,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); bool dynamic_grid = config->GetGrid_Movement(); - bool viscous = config->GetViscous(); + bool viscous = config->GetViscous(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); su2double *U_inlet = new su2double[nVar]; su2double *U_domain = new su2double[nVar]; @@ -2207,24 +2207,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver V_inlet[nSpecies+6+nDim] = FluidModel->ComputerhoCvtr(); V_inlet[nSpecies+7+nDim] = FluidModel->ComputerhoCvve(); - // su2double *dPdU_temp = new su2double[nVar]; - // su2double *dTdU_temp = new su2double[nVar]; - // su2double *dTvedU_temp = new su2double[nVar]; - // su2double *eves_temp = new su2double[nSpecies]; - // su2double *cvve_temp = new su2double[nSpecies]; - - // const auto& cvves = FluidModel->ComputeSpeciesCvVibEle(V_inlet[nSpecies+7+nDim]); - // vector eves = FluidModel->ComputeSpeciesEve(V_inlet[nSpecies+7+nDim]); - - // for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - // eves_temp[iSpecies] = eves[iSpecies]; - // cvve_temp[iSpecies] = cvves[iSpecies]; - // } - - // FluidModel->ComputedPdU (V_inlet, eves_temp, dPdU_temp ); - // FluidModel->ComputedTdU (V_inlet, dTdU_temp ); - // FluidModel->ComputedTvedU(V_inlet, eves_temp, dTvedU_temp ); - su2double* Mvec = new su2double[nDim]; for (iDim = 0; iDim < nDim; iDim++) @@ -2236,6 +2218,8 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver 1, nDim, nVar, nPrimVar, nPrimVarGrad, config, FluidModel); + node_inlet->SetPrimVar(0, FluidModel); + /*--- Loop over all the vertices on this boundary marker ---*/ for(iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); @@ -2320,7 +2304,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver delete [] V_inlet; delete [] Normal; delete [] Mvec; - + delete node_inlet; } void CNEMOEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_container, From bd897e9fb46a3df5e83cedb9be2b0d98bf4fd894 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 10 Jan 2023 09:51:03 -0800 Subject: [PATCH 094/179] fix viscous Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 34 ++++++++++++++++++++---- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 1b6a07984c5..359d845dafe 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2173,7 +2173,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); su2double Temperature_ve = config->GetInlet_Temperature_ve(); - /*--- If no value given, set to Ttr value ---*/ + /*--- If no Tve value specified (left as 0 K default), set to Ttr value ---*/ if (Temperature_ve == 0.0) {Temperature_ve = Temperature;} /*--- Set mixture state ---*/ @@ -2248,7 +2248,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver conv_numerics->SetConservative(U_domain, U_inlet); conv_numerics->SetPrimitive(V_domain, V_inlet); - // TODO: dPdU is zero, need to set these with flud model, fix eve and cvve values /*--- Pass supplementary info to CNumerics ---*/ conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet->GetdPdU(0)); conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet->GetdTdU(0)); @@ -2279,11 +2278,36 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected); /*--- Primitive variables, and gradient ---*/ + visc_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet->GetSolution(0)); visc_numerics->SetPrimitive(V_domain, V_inlet); - visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), nodes->GetGradient_Primitive(iPoint)); + visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), node_inlet->GetGradient_Primitive(0)); - /*--- Laminar viscosity ---*/ - visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), nodes->GetLaminarViscosity(iPoint)); + /*--- Pass supplementary information to CNumerics ---*/ + visc_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_inlet->GetdPdU(0)); + visc_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_inlet->GetdTdU(0)); + visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet->GetdTvedU(0)); + visc_numerics->SetEve (nodes->GetEve(iPoint), node_inlet->GetEve(0)); + visc_numerics->SetCvve (nodes->GetCvve(iPoint), node_inlet->GetCvve(0)); + + /*--- Species diffusion coefficients ---*/ + visc_numerics->SetDiffusionCoeff(nodes->GetDiffusionCoeff(iPoint), + nodes->GetDiffusionCoeff(iPoint)); + + /*--- Laminar viscosity ---*/ + visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), + nodes->GetLaminarViscosity(iPoint)); + + /*--- Eddy viscosity ---*/ + visc_numerics->SetEddyViscosity(nodes->GetEddyViscosity(iPoint), + nodes->GetEddyViscosity(iPoint)); + + /*--- Thermal conductivity ---*/ + visc_numerics->SetThermalConductivity(nodes->GetThermalConductivity(iPoint), + nodes->GetThermalConductivity(iPoint)); + + /*--- Vib-el. thermal conductivity ---*/ + visc_numerics->SetThermalConductivity_ve(nodes->GetThermalConductivity_ve(iPoint), + nodes->GetThermalConductivity_ve(iPoint)); /*--- Compute and update residual ---*/ auto residual = visc_numerics->ComputeResidual(config); From 8db26f15e133a8a03baa80c51583e22ca6d09e57 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 10 Jan 2023 10:04:05 -0800 Subject: [PATCH 095/179] remove local heap allocations Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 38 ++---------------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 359d845dafe..32a075ed3ee 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2159,8 +2159,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver bool viscous = config->GetViscous(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - su2double *U_inlet = new su2double[nVar]; su2double *U_domain = new su2double[nVar]; - su2double *V_inlet = new su2double[nPrimVar]; su2double *V_domain = new su2double[nPrimVar]; su2double *Normal = new su2double[nDim]; /*--- Supersonic inlet flow: there are no outgoing characteristics, @@ -2185,28 +2183,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver const su2double sqvel = GeometryToolbox::SquaredNorm(nDim, Velocity); const auto& energies = FluidModel->ComputeMixtureEnergies(); - /*--- Setting Conservative Variables ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - U_inlet[iSpecies] = Density*Mass_Frac[iSpecies]; - for (iDim = 0; iDim < nDim; iDim++) - U_inlet[nSpecies+iDim] = Density*Velocity[iDim]; - U_inlet[nVar-2] = Density*(energies[0]+0.5*sqvel); - U_inlet[nVar-1] = Density*(energies[1]); - - /*--- Setting Primitive Variables ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - V_inlet[iSpecies] = Mass_Frac[iSpecies]*Density; - V_inlet[nSpecies] = Temperature; - V_inlet[nSpecies+1] = Temperature_ve; - for (iDim = 0; iDim < nDim; iDim++) - V_inlet[nSpecies+2+iDim] = Velocity[iDim]; - V_inlet[nSpecies+2+nDim] = Pressure; - V_inlet[nSpecies+3+nDim] = Density; - V_inlet[nSpecies+4+nDim] = (U_inlet[nVar-2]+Pressure)/Density; - V_inlet[nSpecies+5+nDim] = soundspeed; - V_inlet[nSpecies+6+nDim] = FluidModel->ComputerhoCvtr(); - V_inlet[nSpecies+7+nDim] = FluidModel->ComputerhoCvve(); - su2double* Mvec = new su2double[nDim]; for (iDim = 0; iDim < nDim; iDim++) @@ -2230,10 +2206,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Index of the closest interior node ---*/ Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); - /*--- Current solution at this boundary node ---*/ - for (iVar = 0; iVar < nVar; iVar++) U_domain[iVar] = nodes->GetSolution(iPoint,iVar); - for (iVar = 0; iVar < nPrimVar; iVar++) V_domain[iVar] = nodes->GetPrimitive(iPoint,iVar); - /*--- Normal vector for this vertex (negate for outward convention) ---*/ geometry->vertex[val_marker][iVertex]->GetNormal(Normal); for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; @@ -2245,8 +2217,8 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Set various quantities in the solver class ---*/ conv_numerics->SetNormal(Normal); - conv_numerics->SetConservative(U_domain, U_inlet); - conv_numerics->SetPrimitive(V_domain, V_inlet); + conv_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet->GetSolution(0)); + conv_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet->GetPrimitive(0)); /*--- Pass supplementary info to CNumerics ---*/ conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet->GetdPdU(0)); @@ -2279,7 +2251,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Primitive variables, and gradient ---*/ visc_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet->GetSolution(0)); - visc_numerics->SetPrimitive(V_domain, V_inlet); + visc_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet->GetPrimitive(0)); visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), node_inlet->GetGradient_Primitive(0)); /*--- Pass supplementary information to CNumerics ---*/ @@ -2322,10 +2294,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver } /*--- Free locally allocated memory ---*/ - delete [] U_domain; - delete [] U_inlet; - delete [] V_domain; - delete [] V_inlet; delete [] Normal; delete [] Mvec; delete node_inlet; From 69227e7ca6bb44c344d7e6db51106a98d97369e9 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 10 Jan 2023 10:15:33 -0800 Subject: [PATCH 096/179] remove unused vars Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 32a075ed3ee..1d37518f173 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2151,7 +2151,7 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - unsigned short iDim, iVar, iSpecies; + unsigned short iDim; unsigned long iVertex, iPoint, Point_Normal; bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); @@ -2181,7 +2181,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver const su2double Density = FluidModel->GetDensity(); const su2double soundspeed = FluidModel->ComputeSoundSpeed(); const su2double sqvel = GeometryToolbox::SquaredNorm(nDim, Velocity); - const auto& energies = FluidModel->ComputeMixtureEnergies(); su2double* Mvec = new su2double[nDim]; From 55e757470f46fb73af7b63c95c4952bd52158576 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 10 Jan 2023 10:31:44 -0800 Subject: [PATCH 097/179] remove more unused vars, geometry toolbox Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 1d37518f173..5d1c6fa0a51 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2177,10 +2177,8 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Set mixture state ---*/ FluidModel->SetTDStatePTTv(Pressure, Mass_Frac, Temperature, Temperature_ve); - /*--- Compute necessary quantities ---*/ - const su2double Density = FluidModel->GetDensity(); + /*--- Compute Ma vector for flow direction ---*/ const su2double soundspeed = FluidModel->ComputeSoundSpeed(); - const su2double sqvel = GeometryToolbox::SquaredNorm(nDim, Velocity); su2double* Mvec = new su2double[nDim]; @@ -2209,10 +2207,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver geometry->vertex[val_marker][iVertex]->GetNormal(Normal); for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; - su2double Area = 0.0; - for (iDim = 0; iDim < nDim; iDim++) - Area += Normal[iDim]*Normal[iDim]; - Area = sqrt (Area); + su2double Area = GeometryToolbox:Norm(nDim, Normal) /*--- Set various quantities in the solver class ---*/ conv_numerics->SetNormal(Normal); From 846f0cf54a8c70891cb226f72ce507daa0f5e517 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 10 Jan 2023 10:42:59 -0800 Subject: [PATCH 098/179] yet more unused vars Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 5d1c6fa0a51..a5b0be46305 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2207,8 +2207,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver geometry->vertex[val_marker][iVertex]->GetNormal(Normal); for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; - su2double Area = GeometryToolbox:Norm(nDim, Normal) - /*--- Set various quantities in the solver class ---*/ conv_numerics->SetNormal(Normal); conv_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet->GetSolution(0)); From 28db95d9b925293af49bdd54432d3867f72d49c1 Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Tue, 10 Jan 2023 10:43:56 -0800 Subject: [PATCH 099/179] Update Common/include/CConfig.hpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- Common/include/CConfig.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 2160c02a64c..0011c3faf18 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -6693,14 +6693,14 @@ class CConfig { * \param[in] val_index - Index corresponding to the inlet boundary. * \return The inlet velocity vector. */ - const su2double* GetInlet_MassFrac(void) const { return Inlet_MassFrac; }; + const su2double* GetInlet_MassFrac() const { return Inlet_MassFrac; } - /*! + /*! * \brief Get the Tve value for a NEMO supersonic inlet boundary. * \param[in] val_index - Index corresponding to the inlet boundary. * \return The inlet velocity vector. */ - const su2double GetInlet_Temperature_ve(void) const { return Inlet_Temperature_ve; }; + const su2double GetInlet_Temperature_ve() const { return Inlet_Temperature_ve; } /*! * \brief Get the total pressure at an inlet boundary. From e0c26cb50ff6bd182e79f9639a48e50fcfac5013 Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Tue, 10 Jan 2023 15:23:04 -0800 Subject: [PATCH 100/179] Update SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index a5b0be46305..940c0c10392 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2159,7 +2159,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver bool viscous = config->GetViscous(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - su2double *Normal = new su2double[nDim]; + su2double Normal[MAXNDIM] = {0.0}; /*--- Supersonic inlet flow: there are no outgoing characteristics, so all flow variables can be imposed at the inlet. From 73808d0331ceed2e011280e41e1386706774a714 Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Tue, 10 Jan 2023 15:28:18 -0800 Subject: [PATCH 101/179] Update SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 940c0c10392..7715d2c4cf9 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2186,7 +2186,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver Mvec[iDim] = Velocity[iDim] / soundspeed; /*--- Allocate inlet node to compute gradients for numerics ---*/ - node_inlet = new CNEMOEulerVariable(Pressure, Mass_Frac, Mvec, + CNEMOEulerVariable node_inlet(Pressure, Mass_Frac, Mvec, Temperature, Temperature_ve, 1, nDim, nVar, nPrimVar, nPrimVarGrad, config, FluidModel); From 80d419ae15d6bc08d9edf46c9b9f8f4518a0b466 Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Tue, 10 Jan 2023 15:28:27 -0800 Subject: [PATCH 102/179] Update SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 7715d2c4cf9..de46b33d93e 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2198,7 +2198,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ - if (geometry->nodes->GetDomain(iPoint)) { + if (!geometry->nodes->GetDomain(iPoint)) continue; /*--- Index of the closest interior node ---*/ Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); From 6e05807048ee0d6064e3bdaa9f4af16b486ca71c Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Tue, 10 Jan 2023 15:28:35 -0800 Subject: [PATCH 103/179] Update SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index de46b33d93e..26f248d5a44 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2165,11 +2165,11 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver so all flow variables can be imposed at the inlet. First, retrieve the specified values for the primitive variables. ---*/ - const su2double* Mass_Frac = config->GetInlet_MassFrac(); - const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); - const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); - const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); - su2double Temperature_ve = config->GetInlet_Temperature_ve(); + const su2double* Mass_Frac = config->GetInlet_MassFrac(); + const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); + const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); + const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); + const su2double Temperature_ve = config->GetInlet_Temperature_ve(); /*--- If no Tve value specified (left as 0 K default), set to Ttr value ---*/ if (Temperature_ve == 0.0) {Temperature_ve = Temperature;} From f1ea96fc6ed96bdc7d3846fce304e0200d8d5325 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 10 Jan 2023 15:42:15 -0800 Subject: [PATCH 104/179] fixing declarations Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 45 +++++++++++------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 26f248d5a44..400127564d7 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2154,9 +2154,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver unsigned short iDim; unsigned long iVertex, iPoint, Point_Normal; - bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - bool dynamic_grid = config->GetGrid_Movement(); - bool viscous = config->GetViscous(); string Marker_Tag = config->GetMarker_All_TagBound(val_marker); su2double Normal[MAXNDIM] = {0.0}; @@ -2169,7 +2166,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); - const su2double Temperature_ve = config->GetInlet_Temperature_ve(); + su2double Temperature_ve = config->GetInlet_Temperature_ve(); /*--- If no Tve value specified (left as 0 K default), set to Ttr value ---*/ if (Temperature_ve == 0.0) {Temperature_ve = Temperature;} @@ -2191,7 +2188,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver 1, nDim, nVar, nPrimVar, nPrimVarGrad, config, FluidModel); - node_inlet->SetPrimVar(0, FluidModel); + node_inlet.SetPrimVar(0, FluidModel); /*--- Loop over all the vertices on this boundary marker ---*/ for(iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { @@ -2202,23 +2199,24 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Index of the closest interior node ---*/ Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); - + /*--- Normal vector for this vertex (negate for outward convention) ---*/ geometry->vertex[val_marker][iVertex]->GetNormal(Normal); for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; /*--- Set various quantities in the solver class ---*/ conv_numerics->SetNormal(Normal); - conv_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet->GetSolution(0)); - conv_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet->GetPrimitive(0)); + conv_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet.GetSolution(0)); + conv_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet.GetPrimitive(0)); /*--- Pass supplementary info to CNumerics ---*/ - conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet->GetdPdU(0)); - conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet->GetdTdU(0)); - conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet->GetdTvedU(0)); - conv_numerics->SetEve(nodes->GetEve(iPoint), node_inlet->GetEve(0)); - conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_inlet->GetCvve(0)); + conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); + conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); + conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); + conv_numerics->SetEve(nodes->GetEve(iPoint), node_inlet.GetEve(0)); + conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); + bool dynamic_grid = config->GetGrid_Movement(); if (dynamic_grid) conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); @@ -2228,10 +2226,12 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver LinSysRes.AddBlock(iPoint, residual); /*--- Jacobian contribution for implicit integration ---*/ + bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); /*--- Viscous contribution ---*/ + bool viscous = config->GetViscous(); if (viscous) { /*--- Set the normal vector and the coordinates ---*/ @@ -2242,16 +2242,16 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected); /*--- Primitive variables, and gradient ---*/ - visc_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet->GetSolution(0)); - visc_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet->GetPrimitive(0)); - visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), node_inlet->GetGradient_Primitive(0)); + visc_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet.GetSolution(0)); + visc_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet.GetPrimitive(0)); + visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), node_inlet.GetGradient_Primitive(0)); /*--- Pass supplementary information to CNumerics ---*/ - visc_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_inlet->GetdPdU(0)); - visc_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_inlet->GetdTdU(0)); - visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet->GetdTvedU(0)); - visc_numerics->SetEve (nodes->GetEve(iPoint), node_inlet->GetEve(0)); - visc_numerics->SetCvve (nodes->GetCvve(iPoint), node_inlet->GetCvve(0)); + visc_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); + visc_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); + visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); + visc_numerics->SetEve (nodes->GetEve(iPoint), node_inlet.GetEve(0)); + visc_numerics->SetCvve (nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); /*--- Species diffusion coefficients ---*/ visc_numerics->SetDiffusionCoeff(nodes->GetDiffusionCoeff(iPoint), @@ -2283,12 +2283,9 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver } } - } /*--- Free locally allocated memory ---*/ - delete [] Normal; delete [] Mvec; - delete node_inlet; } void CNEMOEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_container, From 5d13fea408c6c56f22c1c7a0502893788feb5055 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Tue, 10 Jan 2023 21:33:33 -0800 Subject: [PATCH 105/179] spacing Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 400127564d7..6521613d5e6 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2231,7 +2231,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); /*--- Viscous contribution ---*/ - bool viscous = config->GetViscous(); + bool viscous = config->GetViscous(); if (viscous) { /*--- Set the normal vector and the coordinates ---*/ @@ -2281,7 +2281,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver if (implicit) Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); } - } /*--- Free locally allocated memory ---*/ From a5d4ab417b4b5a0fe2a7d602d3c63e320f4a9364 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Wed, 11 Jan 2023 11:43:04 -0500 Subject: [PATCH 106/179] update to develop --- .github/release.yml | 20 + .github/workflows/codeql.yml | 56 ++ .github/workflows/regression.yml | 40 +- .github/workflows/release-management.yml | 2 +- AUTHORS.md | 3 + Common/include/CConfig.hpp | 137 ++- Common/include/adt/CADTBaseClass.hpp | 2 +- Common/include/adt/CADTComparePointClass.hpp | 2 +- Common/include/adt/CADTElemClass.hpp | 4 +- Common/include/adt/CADTNodeClass.hpp | 2 +- Common/include/adt/CADTPointsOnlyClass.hpp | 2 +- Common/include/adt/CBBoxTargetClass.hpp | 4 +- Common/include/basic_types/ad_structure.hpp | 2 +- .../basic_types/datatype_structure.hpp | 2 +- Common/include/code_config.hpp | 2 +- Common/include/containers/C2DContainer.hpp | 2 +- .../containers/CFastFindAndEraseQueue.hpp | 2 +- Common/include/containers/CFileReaderLUT.hpp | 2 +- Common/include/containers/CLookUpTable.hpp | 2 +- Common/include/containers/CTrapezoidalMap.hpp | 4 +- Common/include/containers/CVertexMap.hpp | 2 +- .../containers/container_decorators.hpp | 2 +- Common/include/fem/fem_cgns_elements.hpp | 2 +- .../fem/fem_gauss_jacobi_quadrature.hpp | 4 +- Common/include/fem/fem_geometry_structure.hpp | 24 +- Common/include/fem/fem_standard_element.hpp | 10 +- .../fem/geometry_structure_fem_part.hpp | 2 +- Common/include/geometry/CDummyGeometry.hpp | 2 +- Common/include/geometry/CGeometry.hpp | 35 +- .../include/geometry/CMultiGridGeometry.hpp | 2 +- Common/include/geometry/CMultiGridQueue.hpp | 2 +- Common/include/geometry/CPhysicalGeometry.hpp | 2 +- .../include/geometry/dual_grid/CDualGrid.hpp | 2 +- Common/include/geometry/dual_grid/CEdge.hpp | 2 +- Common/include/geometry/dual_grid/CPoint.hpp | 2 +- .../geometry/dual_grid/CTurboVertex.hpp | 2 +- Common/include/geometry/dual_grid/CVertex.hpp | 2 +- Common/include/geometry/elements/CElement.hpp | 4 +- .../geometry/elements/CElementProperty.hpp | 6 +- .../geometry/elements/CGaussVariable.hpp | 4 +- .../geometry/meshreader/CBoxMeshReaderFVM.hpp | 2 +- .../meshreader/CCGNSMeshReaderFVM.hpp | 2 +- .../geometry/meshreader/CMeshReaderFVM.hpp | 2 +- .../meshreader/CRectangularMeshReaderFVM.hpp | 2 +- .../meshreader/CSU2ASCIIMeshReaderFVM.hpp | 2 +- .../geometry/primal_grid/CHexahedron.hpp | 2 +- Common/include/geometry/primal_grid/CLine.hpp | 2 +- .../geometry/primal_grid/CPrimalGrid.hpp | 2 +- .../primal_grid/CPrimalGridBoundFEM.hpp | 4 +- .../geometry/primal_grid/CPrimalGridFEM.hpp | 4 +- .../include/geometry/primal_grid/CPrism.hpp | 2 +- .../include/geometry/primal_grid/CPyramid.hpp | 2 +- .../geometry/primal_grid/CQuadrilateral.hpp | 2 +- .../geometry/primal_grid/CTetrahedron.hpp | 2 +- .../geometry/primal_grid/CTriangle.hpp | 2 +- .../geometry/primal_grid/CVertexMPI.hpp | 2 +- Common/include/graph_coloring_structure.hpp | 4 +- .../grid_movement/CBSplineBlending.hpp | 2 +- .../include/grid_movement/CBezierBlending.hpp | 2 +- .../grid_movement/CFreeFormBlending.hpp | 2 +- .../include/grid_movement/CFreeFormDefBox.hpp | 2 +- .../include/grid_movement/CGridMovement.hpp | 2 +- .../grid_movement/CSurfaceMovement.hpp | 2 +- .../grid_movement/CVolumetricMovement.hpp | 2 +- .../interface_interpolation/CInterpolator.hpp | 2 +- .../CInterpolatorFactory.hpp | 2 +- .../CIsoparametric.hpp | 2 +- .../interface_interpolation/CMirror.hpp | 2 +- .../CNearestNeighbor.hpp | 2 +- .../CRadialBasisFunction.hpp | 2 +- .../interface_interpolation/CSlidingMesh.hpp | 2 +- .../linear_algebra/CMatrixVectorProduct.hpp | 2 +- .../include/linear_algebra/CPastixWrapper.hpp | 2 +- .../linear_algebra/CPreconditioner.hpp | 6 +- Common/include/linear_algebra/CSysMatrix.hpp | 9 +- Common/include/linear_algebra/CSysMatrix.inl | 5 +- Common/include/linear_algebra/CSysSolve.hpp | 2 +- Common/include/linear_algebra/CSysSolve_b.hpp | 2 +- Common/include/linear_algebra/CSysVector.hpp | 2 +- .../include/linear_algebra/blas_structure.hpp | 4 +- .../linear_algebra/vector_expressions.hpp | 2 +- Common/include/option_structure.hpp | 249 ++++-- Common/include/option_structure.inl | 16 +- .../include/parallelization/mpi_structure.cpp | 2 +- .../include/parallelization/mpi_structure.hpp | 2 +- .../include/parallelization/omp_structure.cpp | 2 +- .../include/parallelization/omp_structure.hpp | 2 +- .../parallelization/special_vectorization.hpp | 2 +- .../include/parallelization/vectorization.hpp | 2 +- Common/include/toolboxes/C1DInterpolation.hpp | 2 +- .../include/toolboxes/CLinearPartitioner.hpp | 2 +- .../toolboxes/CQuasiNewtonInvLeastSquares.hpp | 2 +- Common/include/toolboxes/CSquareMatrixCM.hpp | 2 +- Common/include/toolboxes/CSymmetricMatrix.hpp | 2 +- .../include/toolboxes/MMS/CIncTGVSolution.hpp | 2 +- .../toolboxes/MMS/CInviscidVortexSolution.hpp | 2 +- .../toolboxes/MMS/CMMSIncEulerSolution.hpp | 2 +- .../toolboxes/MMS/CMMSIncNSSolution.hpp | 2 +- .../MMS/CMMSNSTwoHalfCirclesSolution.hpp | 2 +- .../MMS/CMMSNSTwoHalfSpheresSolution.hpp | 2 +- .../toolboxes/MMS/CMMSNSUnitQuadSolution.hpp | 2 +- .../MMS/CMMSNSUnitQuadSolutionWallBC.hpp | 2 +- .../toolboxes/MMS/CNSUnitQuadSolution.hpp | 2 +- .../toolboxes/MMS/CRinglebSolution.hpp | 2 +- Common/include/toolboxes/MMS/CTGVSolution.hpp | 2 +- .../toolboxes/MMS/CUserDefinedSolution.hpp | 2 +- .../toolboxes/MMS/CVerificationSolution.hpp | 2 +- .../include/toolboxes/allocation_toolbox.hpp | 2 +- Common/include/toolboxes/geometry_toolbox.hpp | 2 +- Common/include/toolboxes/graph_toolbox.hpp | 6 +- Common/include/toolboxes/ndflattener.hpp | 2 +- Common/include/toolboxes/printing_toolbox.hpp | 2 +- Common/include/wall_model.hpp | 4 +- Common/lib/Makefile.am | 2 +- Common/src/CConfig.cpp | 212 +++-- Common/src/adt/CADTBaseClass.cpp | 2 +- Common/src/adt/CADTElemClass.cpp | 2 +- Common/src/adt/CADTPointsOnlyClass.cpp | 2 +- Common/src/basic_types/ad_structure.cpp | 2 +- Common/src/containers/CFileReaderLUT.cpp | 2 +- Common/src/containers/CLookUpTable.cpp | 2 +- Common/src/containers/CTrapezoidalMap.cpp | 2 +- Common/src/fem/fem_cgns_elements.cpp | 2 +- .../src/fem/fem_gauss_jacobi_quadrature.cpp | 2 +- Common/src/fem/fem_geometry_structure.cpp | 2 +- Common/src/fem/fem_integration_rules.cpp | 2 +- Common/src/fem/fem_standard_element.cpp | 2 +- Common/src/fem/fem_wall_distance.cpp | 2 +- Common/src/fem/fem_work_estimate_metis.cpp | 2 +- .../src/fem/geometry_structure_fem_part.cpp | 2 +- Common/src/geometry/CDummyGeometry.cpp | 2 +- Common/src/geometry/CGeometry.cpp | 178 +++- Common/src/geometry/CMultiGridGeometry.cpp | 4 +- Common/src/geometry/CMultiGridQueue.cpp | 2 +- Common/src/geometry/CPhysicalGeometry.cpp | 2 +- Common/src/geometry/dual_grid/CDualGrid.cpp | 2 +- Common/src/geometry/dual_grid/CEdge.cpp | 2 +- Common/src/geometry/dual_grid/CPoint.cpp | 2 +- .../src/geometry/dual_grid/CTurboVertex.cpp | 2 +- Common/src/geometry/dual_grid/CVertex.cpp | 2 +- Common/src/geometry/elements/CElement.cpp | 2 +- Common/src/geometry/elements/CHEXA8.cpp | 2 +- Common/src/geometry/elements/CLINE.cpp | 2 +- Common/src/geometry/elements/CPRISM6.cpp | 2 +- Common/src/geometry/elements/CPYRAM5.cpp | 2 +- Common/src/geometry/elements/CPYRAM6.cpp | 2 +- Common/src/geometry/elements/CQUAD4.cpp | 2 +- Common/src/geometry/elements/CTETRA1.cpp | 2 +- Common/src/geometry/elements/CTETRA4.cpp | 2 +- Common/src/geometry/elements/CTRIA1.cpp | 2 +- Common/src/geometry/elements/CTRIA3.cpp | 2 +- .../geometry/meshreader/CBoxMeshReaderFVM.cpp | 2 +- .../meshreader/CCGNSMeshReaderFVM.cpp | 2 +- .../geometry/meshreader/CMeshReaderFVM.cpp | 2 +- .../meshreader/CRectangularMeshReaderFVM.cpp | 2 +- .../meshreader/CSU2ASCIIMeshReaderFVM.cpp | 2 +- .../src/geometry/primal_grid/CHexahedron.cpp | 2 +- Common/src/geometry/primal_grid/CLine.cpp | 2 +- .../src/geometry/primal_grid/CPrimalGrid.cpp | 2 +- .../primal_grid/CPrimalGridBoundFEM.cpp | 2 +- .../geometry/primal_grid/CPrimalGridFEM.cpp | 2 +- Common/src/geometry/primal_grid/CPrism.cpp | 2 +- Common/src/geometry/primal_grid/CPyramid.cpp | 2 +- .../geometry/primal_grid/CQuadrilateral.cpp | 2 +- .../src/geometry/primal_grid/CTetrahedron.cpp | 2 +- Common/src/geometry/primal_grid/CTriangle.cpp | 2 +- .../src/geometry/primal_grid/CVertexMPI.cpp | 2 +- Common/src/graph_coloring_structure.cpp | 2 +- Common/src/grid_movement/CBSplineBlending.cpp | 2 +- Common/src/grid_movement/CBezierBlending.cpp | 2 +- .../src/grid_movement/CFreeFormBlending.cpp | 2 +- Common/src/grid_movement/CFreeFormDefBox.cpp | 2 +- Common/src/grid_movement/CGridMovement.cpp | 2 +- Common/src/grid_movement/CSurfaceMovement.cpp | 2 +- .../src/grid_movement/CVolumetricMovement.cpp | 2 +- .../interface_interpolation/CInterpolator.cpp | 2 +- .../CInterpolatorFactory.cpp | 2 +- .../CIsoparametric.cpp | 2 +- .../src/interface_interpolation/CMirror.cpp | 2 +- .../CNearestNeighbor.cpp | 2 +- .../CRadialBasisFunction.cpp | 2 +- .../interface_interpolation/CSlidingMesh.cpp | 2 +- Common/src/linear_algebra/CPastixWrapper.cpp | 2 +- Common/src/linear_algebra/CSysMatrix.cpp | 226 +---- Common/src/linear_algebra/CSysSolve.cpp | 2 +- Common/src/linear_algebra/CSysSolve_b.cpp | 2 +- Common/src/linear_algebra/CSysVector.cpp | 2 +- Common/src/linear_algebra/blas_structure.cpp | 2 +- Common/src/toolboxes/C1DInterpolation.cpp | 2 +- Common/src/toolboxes/CLinearPartitioner.cpp | 2 +- Common/src/toolboxes/CSquareMatrixCM.cpp | 2 +- Common/src/toolboxes/CSymmetricMatrix.cpp | 2 +- Common/src/toolboxes/MMS/CIncTGVSolution.cpp | 2 +- .../toolboxes/MMS/CInviscidVortexSolution.cpp | 2 +- .../toolboxes/MMS/CMMSIncEulerSolution.cpp | 2 +- .../src/toolboxes/MMS/CMMSIncNSSolution.cpp | 2 +- .../MMS/CMMSNSTwoHalfCirclesSolution.cpp | 2 +- .../MMS/CMMSNSTwoHalfSpheresSolution.cpp | 2 +- .../toolboxes/MMS/CMMSNSUnitQuadSolution.cpp | 2 +- .../MMS/CMMSNSUnitQuadSolutionWallBC.cpp | 2 +- .../src/toolboxes/MMS/CNSUnitQuadSolution.cpp | 2 +- Common/src/toolboxes/MMS/CRinglebSolution.cpp | 2 +- Common/src/toolboxes/MMS/CTGVSolution.cpp | 2 +- .../toolboxes/MMS/CUserDefinedSolution.cpp | 2 +- .../toolboxes/MMS/CVerificationSolution.cpp | 2 +- .../CMMSIncEulerSolution.py | 2 +- .../CreateMMSSourceTerms/CMMSIncNSSolution.py | 2 +- Common/src/toolboxes/printing_toolbox.cpp | 2 +- Common/src/wall_model.cpp | 2 +- Docs/docmain.hpp | 4 +- QuickStart/inv_NACA0012.cfg | 2 +- README.md | 2 +- SU2_CFD/include/CMarkerProfileReaderFVM.hpp | 2 +- SU2_CFD/include/SU2_CFD.hpp | 2 +- SU2_CFD/include/definition_structure.hpp | 2 +- .../drivers/CDiscAdjMultizoneDriver.hpp | 2 +- .../drivers/CDiscAdjSinglezoneDriver.hpp | 4 +- SU2_CFD/include/drivers/CDriver.hpp | 2 +- SU2_CFD/include/drivers/CDummyDriver.hpp | 2 +- SU2_CFD/include/drivers/CMultizoneDriver.hpp | 4 +- SU2_CFD/include/drivers/CSinglezoneDriver.hpp | 4 +- SU2_CFD/include/fluid/CConductivityModel.hpp | 2 +- .../include/fluid/CConstantConductivity.hpp | 2 +- .../fluid/CConstantConductivityRANS.hpp | 2 +- SU2_CFD/include/fluid/CConstantDensity.hpp | 2 +- .../include/fluid/CConstantDiffusivity.hpp | 2 +- .../fluid/CConstantLewisDiffusivity.hpp | 2 +- SU2_CFD/include/fluid/CConstantPrandtl.hpp | 2 +- .../include/fluid/CConstantPrandtlRANS.hpp | 2 +- SU2_CFD/include/fluid/CConstantSchmidt.hpp | 2 +- SU2_CFD/include/fluid/CConstantViscosity.hpp | 2 +- SU2_CFD/include/fluid/CCoolProp.hpp | 3 +- .../include/fluid/CCoolPropConductivity.hpp | 86 ++ SU2_CFD/include/fluid/CCoolPropViscosity.hpp | 141 +++ SU2_CFD/include/fluid/CDiffusivityModel.hpp | 2 +- SU2_CFD/include/fluid/CFluidModel.hpp | 2 +- SU2_CFD/include/fluid/CFluidScalar.hpp | 2 +- SU2_CFD/include/fluid/CIdealGas.hpp | 2 +- SU2_CFD/include/fluid/CIncIdealGas.hpp | 2 +- .../include/fluid/CIncIdealGasPolynomial.hpp | 2 +- SU2_CFD/include/fluid/CMutationTCLib.hpp | 2 +- SU2_CFD/include/fluid/CNEMOGas.hpp | 2 +- SU2_CFD/include/fluid/CPengRobinson.hpp | 2 +- .../include/fluid/CPolynomialConductivity.hpp | 2 +- .../fluid/CPolynomialConductivityRANS.hpp | 2 +- .../include/fluid/CPolynomialViscosity.hpp | 2 +- SU2_CFD/include/fluid/CSU2TCLib.hpp | 2 +- SU2_CFD/include/fluid/CSutherland.hpp | 2 +- SU2_CFD/include/fluid/CVanDerWaalsGas.hpp | 2 +- SU2_CFD/include/fluid/CViscosityModel.hpp | 2 +- .../gradients/computeGradientsGreenGauss.hpp | 2 +- .../computeGradientsLeastSquares.hpp | 2 +- .../integration/CFEM_DG_Integration.hpp | 4 +- SU2_CFD/include/integration/CIntegration.hpp | 2 +- .../integration/CIntegrationFactory.hpp | 2 +- .../integration/CMultiGridIntegration.hpp | 2 +- .../integration/CNewtonIntegration.hpp | 2 +- .../integration/CSingleGridIntegration.hpp | 2 +- .../integration/CStructuralIntegration.hpp | 2 +- SU2_CFD/include/interfaces/CInterface.hpp | 4 +- .../cfd/CConservativeVarsInterface.hpp | 2 +- .../interfaces/cfd/CMixingPlaneInterface.hpp | 2 +- .../interfaces/cfd/CSlidingInterface.hpp | 2 +- .../cht/CConjugateHeatInterface.hpp | 2 +- .../fsi/CDiscAdjFlowTractionInterface.hpp | 2 +- .../fsi/CDisplacementsInterface.hpp | 2 +- .../interfaces/fsi/CFlowTractionInterface.hpp | 2 +- .../include/iteration/CAdjFluidIteration.hpp | 2 +- .../iteration/CDiscAdjFEAIteration.hpp | 2 +- .../iteration/CDiscAdjFluidIteration.hpp | 2 +- .../iteration/CDiscAdjHeatIteration.hpp | 2 +- SU2_CFD/include/iteration/CFEAIteration.hpp | 4 +- .../include/iteration/CFEMFluidIteration.hpp | 4 +- SU2_CFD/include/iteration/CFluidIteration.hpp | 2 +- SU2_CFD/include/iteration/CHeatIteration.hpp | 2 +- SU2_CFD/include/iteration/CIteration.hpp | 2 +- .../include/iteration/CIterationFactory.hpp | 2 +- SU2_CFD/include/iteration/CTurboIteration.hpp | 2 +- SU2_CFD/include/limiters/CLimiterDetails.hpp | 2 +- SU2_CFD/include/limiters/computeLimiters.hpp | 2 +- .../include/limiters/computeLimiters_impl.hpp | 2 +- SU2_CFD/include/numerics/CGradSmoothing.hpp | 2 +- SU2_CFD/include/numerics/CNumerics.hpp | 68 +- .../include/numerics/NEMO/CNEMONumerics.hpp | 2 +- .../include/numerics/NEMO/NEMO_diffusion.hpp | 6 +- .../include/numerics/NEMO/NEMO_sources.hpp | 4 +- .../include/numerics/NEMO/convection/ausm.hpp | 2 +- .../numerics/NEMO/convection/ausmplusm.hpp | 2 +- .../numerics/NEMO/convection/ausmplusup2.hpp | 2 +- .../numerics/NEMO/convection/ausmpwplus.hpp | 2 +- .../include/numerics/NEMO/convection/lax.hpp | 2 +- .../include/numerics/NEMO/convection/msw.hpp | 4 +- .../include/numerics/NEMO/convection/roe.hpp | 4 +- .../continuous_adjoint/adj_convection.hpp | 2 +- .../continuous_adjoint/adj_diffusion.hpp | 2 +- .../continuous_adjoint/adj_sources.hpp | 2 +- .../numerics/elasticity/CFEAElasticity.hpp | 4 +- .../elasticity/CFEALinearElasticity.hpp | 6 +- .../elasticity/CFEANonlinearElasticity.hpp | 4 +- .../numerics/elasticity/nonlinear_models.hpp | 10 +- .../numerics/flow/convection/ausm_slau.hpp | 2 +- .../numerics/flow/convection/centered.hpp | 2 +- .../include/numerics/flow/convection/cusp.hpp | 2 +- .../include/numerics/flow/convection/fds.hpp | 2 +- .../include/numerics/flow/convection/fvs.hpp | 2 +- .../include/numerics/flow/convection/hllc.hpp | 6 +- .../include/numerics/flow/convection/roe.hpp | 6 +- .../include/numerics/flow/flow_diffusion.hpp | 2 +- .../include/numerics/flow/flow_sources.hpp | 54 +- SU2_CFD/include/numerics/heat.hpp | 46 +- SU2_CFD/include/numerics/radiation.hpp | 2 +- .../numerics/scalar/scalar_convection.hpp | 33 +- .../numerics/scalar/scalar_diffusion.hpp | 37 +- .../numerics/scalar/scalar_sources.hpp | 2 +- .../numerics/species/species_convection.hpp | 10 +- .../numerics/species/species_diffusion.hpp | 2 +- .../numerics/species/species_sources.hpp | 2 +- SU2_CFD/include/numerics/template.hpp | 2 +- .../turbulent/transition/trans_convection.hpp | 2 +- .../transition/trans_correlations.hpp | 192 +++++ .../turbulent/transition/trans_diffusion.hpp | 10 +- .../turbulent/transition/trans_sources.hpp | 412 +++++---- .../numerics/turbulent/turb_convection.hpp | 14 +- .../numerics/turbulent/turb_diffusion.hpp | 11 +- .../numerics/turbulent/turb_sources.hpp | 46 +- .../include/numerics_simd/CNumericsSIMD.cpp | 20 +- .../include/numerics_simd/CNumericsSIMD.hpp | 2 +- .../flow/convection/centered.hpp | 2 +- .../numerics_simd/flow/convection/common.hpp | 2 +- .../numerics_simd/flow/convection/roe.hpp | 4 +- .../numerics_simd/flow/diffusion/common.hpp | 2 +- .../flow/diffusion/viscous_fluxes.hpp | 2 +- .../include/numerics_simd/flow/variables.hpp | 2 +- SU2_CFD/include/numerics_simd/util.hpp | 2 +- .../include/output/CAdjElasticityOutput.hpp | 2 +- SU2_CFD/include/output/CAdjFlowCompOutput.hpp | 2 +- SU2_CFD/include/output/CAdjFlowIncOutput.hpp | 2 +- SU2_CFD/include/output/CAdjFlowOutput.hpp | 2 +- SU2_CFD/include/output/CAdjHeatOutput.hpp | 2 +- SU2_CFD/include/output/CBaselineOutput.hpp | 2 +- SU2_CFD/include/output/CElasticityOutput.hpp | 2 +- SU2_CFD/include/output/CFVMOutput.hpp | 4 +- SU2_CFD/include/output/CFlowCompFEMOutput.hpp | 2 +- SU2_CFD/include/output/CFlowCompOutput.hpp | 2 +- SU2_CFD/include/output/CFlowIncOutput.hpp | 2 +- SU2_CFD/include/output/CFlowOutput.hpp | 2 +- SU2_CFD/include/output/CHeatOutput.hpp | 2 +- SU2_CFD/include/output/CMeshOutput.hpp | 2 +- SU2_CFD/include/output/CMultizoneOutput.hpp | 2 +- SU2_CFD/include/output/CNEMOCompOutput.hpp | 2 +- SU2_CFD/include/output/COutput.hpp | 2 +- SU2_CFD/include/output/COutputFactory.hpp | 2 +- SU2_CFD/include/output/COutputLegacy.hpp | 2 +- .../output/filewriter/CCGNSFileWriter.hpp | 2 +- .../output/filewriter/CCSVFileWriter.hpp | 2 +- .../output/filewriter/CFEMDataSorter.hpp | 2 +- .../output/filewriter/CFVMDataSorter.hpp | 2 +- .../include/output/filewriter/CFileWriter.hpp | 2 +- .../output/filewriter/CParallelDataSorter.hpp | 2 +- .../filewriter/CParaviewBinaryFileWriter.hpp | 2 +- .../output/filewriter/CParaviewFileWriter.hpp | 2 +- .../filewriter/CParaviewVTMFileWriter.hpp | 2 +- .../filewriter/CParaviewXMLFileWriter.hpp | 2 +- .../output/filewriter/CSTLFileWriter.hpp | 4 +- .../filewriter/CSU2BinaryFileWriter.hpp | 2 +- .../output/filewriter/CSU2FileWriter.hpp | 2 +- .../output/filewriter/CSU2MeshFileWriter.hpp | 2 +- .../filewriter/CSurfaceFEMDataSorter.hpp | 2 +- .../filewriter/CSurfaceFVMDataSorter.hpp | 2 +- .../filewriter/CTecplotBinaryFileWriter.hpp | 2 +- .../output/filewriter/CTecplotFileWriter.hpp | 2 +- .../include/output/tools/CWindowingTools.hpp | 2 +- SU2_CFD/include/sgs_model.hpp | 10 +- SU2_CFD/include/sgs_model.inl | 2 +- SU2_CFD/include/solvers/CAdjEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CAdjNSSolver.hpp | 2 +- SU2_CFD/include/solvers/CAdjTurbSolver.hpp | 2 +- SU2_CFD/include/solvers/CBaselineSolver.hpp | 2 +- .../include/solvers/CBaselineSolver_FEM.hpp | 4 +- SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp | 2 +- .../include/solvers/CDiscAdjMeshSolver.hpp | 2 +- SU2_CFD/include/solvers/CDiscAdjSolver.hpp | 2 +- SU2_CFD/include/solvers/CEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CFEASolver.hpp | 2 +- SU2_CFD/include/solvers/CFEASolverBase.hpp | 2 +- .../include/solvers/CFEM_DG_EulerSolver.hpp | 4 +- SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp | 4 +- .../include/solvers/CFVMFlowSolverBase.hpp | 10 +- .../include/solvers/CFVMFlowSolverBase.inl | 27 +- .../solvers/CGradientSmoothingSolver.hpp | 2 +- SU2_CFD/include/solvers/CHeatSolver.hpp | 89 +- SU2_CFD/include/solvers/CIncEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CIncNSSolver.hpp | 2 +- SU2_CFD/include/solvers/CMeshSolver.hpp | 2 +- SU2_CFD/include/solvers/CNEMOEulerSolver.hpp | 4 +- SU2_CFD/include/solvers/CNEMONSSolver.hpp | 2 +- SU2_CFD/include/solvers/CNSSolver.hpp | 2 +- SU2_CFD/include/solvers/CRadP1Solver.hpp | 4 +- SU2_CFD/include/solvers/CRadSolver.hpp | 2 +- SU2_CFD/include/solvers/CScalarSolver.hpp | 276 +++++- SU2_CFD/include/solvers/CScalarSolver.inl | 151 +++- SU2_CFD/include/solvers/CSolver.hpp | 40 +- SU2_CFD/include/solvers/CSolverFactory.hpp | 2 +- SU2_CFD/include/solvers/CSpeciesSolver.hpp | 23 +- SU2_CFD/include/solvers/CTemplateSolver.hpp | 2 +- SU2_CFD/include/solvers/CTransLMSolver.hpp | 26 +- SU2_CFD/include/solvers/CTurbSASolver.hpp | 18 +- SU2_CFD/include/solvers/CTurbSSTSolver.hpp | 38 +- SU2_CFD/include/solvers/CTurbSolver.hpp | 90 +- SU2_CFD/include/task_definition.hpp | 4 +- SU2_CFD/include/task_definition.inl | 2 +- .../include/variables/CAdjEulerVariable.hpp | 2 +- SU2_CFD/include/variables/CAdjNSVariable.hpp | 2 +- .../include/variables/CAdjTurbVariable.hpp | 2 +- .../include/variables/CBaselineVariable.hpp | 2 +- .../variables/CDiscAdjFEABoundVariable.hpp | 4 +- .../variables/CDiscAdjMeshBoundVariable.hpp | 2 +- .../include/variables/CDiscAdjVariable.hpp | 2 +- SU2_CFD/include/variables/CEulerVariable.hpp | 2 +- .../include/variables/CFEABoundVariable.hpp | 4 +- SU2_CFD/include/variables/CFEAVariable.hpp | 4 +- SU2_CFD/include/variables/CFlowVariable.hpp | 2 +- SU2_CFD/include/variables/CHeatVariable.hpp | 35 +- .../include/variables/CIncEulerVariable.hpp | 2 +- SU2_CFD/include/variables/CIncNSVariable.hpp | 2 +- .../include/variables/CMeshBoundVariable.hpp | 2 +- SU2_CFD/include/variables/CMeshElement.hpp | 2 +- SU2_CFD/include/variables/CMeshVariable.hpp | 2 +- .../include/variables/CNEMOEulerVariable.hpp | 2 +- SU2_CFD/include/variables/CNEMONSVariable.hpp | 2 +- SU2_CFD/include/variables/CNSVariable.hpp | 2 +- .../include/variables/CPrimitiveIndices.hpp | 2 +- SU2_CFD/include/variables/CRadP1Variable.hpp | 2 +- SU2_CFD/include/variables/CRadVariable.hpp | 2 +- SU2_CFD/include/variables/CScalarVariable.hpp | 2 +- .../variables/CSobolevSmoothingVariable.hpp | 2 +- .../include/variables/CSpeciesVariable.hpp | 2 +- .../include/variables/CTransLMVariable.hpp | 2 +- SU2_CFD/include/variables/CTurbSAVariable.hpp | 17 +- .../include/variables/CTurbSSTVariable.hpp | 2 +- SU2_CFD/include/variables/CTurbVariable.hpp | 32 +- SU2_CFD/include/variables/CVariable.hpp | 50 +- SU2_CFD/obj/Makefile.am | 2 +- SU2_CFD/src/CMarkerProfileReaderFVM.cpp | 2 +- SU2_CFD/src/SU2_CFD.cpp | 4 +- SU2_CFD/src/definition_structure.cpp | 2 +- .../src/drivers/CDiscAdjMultizoneDriver.cpp | 2 +- .../src/drivers/CDiscAdjSinglezoneDriver.cpp | 2 +- SU2_CFD/src/drivers/CDriver.cpp | 98 ++- SU2_CFD/src/drivers/CDummyDriver.cpp | 2 +- SU2_CFD/src/drivers/CMultizoneDriver.cpp | 80 +- SU2_CFD/src/drivers/CSinglezoneDriver.cpp | 2 +- SU2_CFD/src/fluid/CCoolProp.cpp | 3 +- SU2_CFD/src/fluid/CFluidModel.cpp | 16 +- SU2_CFD/src/fluid/CFluidScalar.cpp | 2 +- SU2_CFD/src/fluid/CIdealGas.cpp | 2 +- SU2_CFD/src/fluid/CMutationTCLib.cpp | 2 +- SU2_CFD/src/fluid/CNEMOGas.cpp | 2 +- SU2_CFD/src/fluid/CPengRobinson.cpp | 2 +- SU2_CFD/src/fluid/CSU2TCLib.cpp | 2 +- SU2_CFD/src/fluid/CVanDerWaalsGas.cpp | 2 +- .../src/integration/CFEM_DG_Integration.cpp | 2 +- SU2_CFD/src/integration/CIntegration.cpp | 2 +- .../src/integration/CIntegrationFactory.cpp | 2 +- .../src/integration/CMultiGridIntegration.cpp | 43 +- .../src/integration/CNewtonIntegration.cpp | 2 +- .../integration/CSingleGridIntegration.cpp | 41 +- .../integration/CStructuralIntegration.cpp | 2 +- SU2_CFD/src/interfaces/CInterface.cpp | 2 +- .../cfd/CConservativeVarsInterface.cpp | 2 +- .../interfaces/cfd/CMixingPlaneInterface.cpp | 2 +- .../src/interfaces/cfd/CSlidingInterface.cpp | 2 +- .../cht/CConjugateHeatInterface.cpp | 5 +- .../fsi/CDiscAdjFlowTractionInterface.cpp | 2 +- .../fsi/CDisplacementsInterface.cpp | 2 +- .../interfaces/fsi/CFlowTractionInterface.cpp | 2 +- SU2_CFD/src/iteration/CAdjFluidIteration.cpp | 31 +- .../src/iteration/CDiscAdjFEAIteration.cpp | 2 +- .../src/iteration/CDiscAdjFluidIteration.cpp | 2 +- .../src/iteration/CDiscAdjHeatIteration.cpp | 2 +- SU2_CFD/src/iteration/CFEAIteration.cpp | 2 +- SU2_CFD/src/iteration/CFEMFluidIteration.cpp | 27 +- SU2_CFD/src/iteration/CFluidIteration.cpp | 40 +- SU2_CFD/src/iteration/CHeatIteration.cpp | 2 +- SU2_CFD/src/iteration/CIteration.cpp | 2 +- SU2_CFD/src/iteration/CIterationFactory.cpp | 2 +- SU2_CFD/src/iteration/CTurboIteration.cpp | 2 +- SU2_CFD/src/limiters/CLimiterDetails.cpp | 2 +- SU2_CFD/src/numerics/CGradSmoothing.cpp | 2 +- SU2_CFD/src/numerics/CNumerics.cpp | 2 +- SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp | 2 +- SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp | 2 +- SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/ausm.cpp | 2 +- .../numerics/NEMO/convection/ausmplusm.cpp | 2 +- .../numerics/NEMO/convection/ausmplusup2.cpp | 2 +- .../numerics/NEMO/convection/ausmpwplus.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/lax.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/msw.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/roe.cpp | 2 +- .../continuous_adjoint/adj_convection.cpp | 2 +- .../continuous_adjoint/adj_diffusion.cpp | 2 +- .../continuous_adjoint/adj_sources.cpp | 2 +- .../numerics/elasticity/CFEAElasticity.cpp | 2 +- .../elasticity/CFEALinearElasticity.cpp | 2 +- .../elasticity/CFEANonlinearElasticity.cpp | 2 +- .../numerics/elasticity/nonlinear_models.cpp | 2 +- .../numerics/flow/convection/ausm_slau.cpp | 2 +- .../src/numerics/flow/convection/centered.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/cusp.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/fds.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/fvs.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/hllc.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/roe.cpp | 2 +- SU2_CFD/src/numerics/flow/flow_diffusion.cpp | 2 +- SU2_CFD/src/numerics/flow/flow_sources.cpp | 101 ++- SU2_CFD/src/numerics/heat.cpp | 42 +- SU2_CFD/src/numerics/radiation.cpp | 2 +- .../src/numerics/scalar/scalar_sources.cpp | 2 +- .../src/numerics/species/species_sources.cpp | 36 +- SU2_CFD/src/numerics/template.cpp | 2 +- SU2_CFD/src/output/CAdjElasticityOutput.cpp | 2 +- SU2_CFD/src/output/CAdjFlowCompOutput.cpp | 2 +- SU2_CFD/src/output/CAdjFlowIncOutput.cpp | 2 +- SU2_CFD/src/output/CAdjFlowOutput.cpp | 2 +- SU2_CFD/src/output/CAdjHeatOutput.cpp | 2 +- SU2_CFD/src/output/CBaselineOutput.cpp | 2 +- SU2_CFD/src/output/CElasticityOutput.cpp | 2 +- SU2_CFD/src/output/CFVMOutput.cpp | 10 +- SU2_CFD/src/output/CFlowCompFEMOutput.cpp | 2 +- SU2_CFD/src/output/CFlowCompOutput.cpp | 2 +- SU2_CFD/src/output/CFlowIncOutput.cpp | 2 +- SU2_CFD/src/output/CFlowOutput.cpp | 36 +- SU2_CFD/src/output/CHeatOutput.cpp | 2 +- SU2_CFD/src/output/CMeshOutput.cpp | 2 +- SU2_CFD/src/output/CMultizoneOutput.cpp | 4 +- SU2_CFD/src/output/CNEMOCompOutput.cpp | 2 +- SU2_CFD/src/output/COutput.cpp | 2 +- SU2_CFD/src/output/COutputFactory.cpp | 2 +- .../src/output/filewriter/CCGNSFileWriter.cpp | 2 +- .../src/output/filewriter/CCSVFileWriter.cpp | 2 +- .../src/output/filewriter/CFEMDataSorter.cpp | 2 +- .../src/output/filewriter/CFVMDataSorter.cpp | 2 +- .../output/filewriter/CParallelDataSorter.cpp | 2 +- .../output/filewriter/CParallelFileWriter.cpp | 2 +- .../filewriter/CParaviewBinaryFileWriter.cpp | 2 +- .../output/filewriter/CParaviewFileWriter.cpp | 2 +- .../filewriter/CParaviewVTMFileWriter.cpp | 2 +- .../filewriter/CParaviewXMLFileWriter.cpp | 2 +- .../src/output/filewriter/CSTLFileWriter.cpp | 2 +- .../filewriter/CSU2BinaryFileWriter.cpp | 2 +- .../src/output/filewriter/CSU2FileWriter.cpp | 2 +- .../output/filewriter/CSU2MeshFileWriter.cpp | 2 +- .../filewriter/CSurfaceFEMDataSorter.cpp | 2 +- .../filewriter/CSurfaceFVMDataSorter.cpp | 2 +- .../filewriter/CTecplotBinaryFileWriter.cpp | 2 +- .../output/filewriter/CTecplotFileWriter.cpp | 2 +- SU2_CFD/src/output/output_physics.cpp | 2 +- .../src/output/output_structure_legacy.cpp | 18 +- SU2_CFD/src/output/tools/CWindowingTools.cpp | 2 +- SU2_CFD/src/python_wrapper_structure.cpp | 2 +- SU2_CFD/src/solvers/CAdjEulerSolver.cpp | 63 +- SU2_CFD/src/solvers/CAdjNSSolver.cpp | 11 +- SU2_CFD/src/solvers/CAdjTurbSolver.cpp | 10 +- SU2_CFD/src/solvers/CBaselineSolver.cpp | 2 +- SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp | 2 +- SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp | 2 +- SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp | 2 +- SU2_CFD/src/solvers/CDiscAdjSolver.cpp | 19 +- SU2_CFD/src/solvers/CEulerSolver.cpp | 82 +- SU2_CFD/src/solvers/CFEASolver.cpp | 2 +- SU2_CFD/src/solvers/CFEASolverBase.cpp | 2 +- SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp | 23 +- SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp | 2 +- .../src/solvers/CGradientSmoothingSolver.cpp | 2 +- SU2_CFD/src/solvers/CHeatSolver.cpp | 812 ++++++------------ SU2_CFD/src/solvers/CIncEulerSolver.cpp | 59 +- SU2_CFD/src/solvers/CIncNSSolver.cpp | 6 +- SU2_CFD/src/solvers/CMeshSolver.cpp | 2 +- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 22 +- SU2_CFD/src/solvers/CNEMONSSolver.cpp | 2 +- SU2_CFD/src/solvers/CNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CRadP1Solver.cpp | 2 +- SU2_CFD/src/solvers/CRadSolver.cpp | 2 +- SU2_CFD/src/solvers/CSolver.cpp | 2 +- SU2_CFD/src/solvers/CSolverFactory.cpp | 3 +- SU2_CFD/src/solvers/CSpeciesSolver.cpp | 87 +- SU2_CFD/src/solvers/CTemplateSolver.cpp | 2 +- SU2_CFD/src/solvers/CTransLMSolver.cpp | 186 ++-- SU2_CFD/src/solvers/CTurbSASolver.cpp | 136 +-- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 130 ++- SU2_CFD/src/solvers/CTurbSolver.cpp | 132 +-- SU2_CFD/src/variables/CAdjEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CAdjNSVariable.cpp | 2 +- SU2_CFD/src/variables/CAdjTurbVariable.cpp | 2 +- SU2_CFD/src/variables/CBaselineVariable.cpp | 2 +- .../variables/CDiscAdjFEABoundVariable.cpp | 2 +- .../variables/CDiscAdjMeshBoundVariable.cpp | 2 +- SU2_CFD/src/variables/CDiscAdjVariable.cpp | 2 +- SU2_CFD/src/variables/CEulerVariable.cpp | 8 +- SU2_CFD/src/variables/CFEABoundVariable.cpp | 2 +- SU2_CFD/src/variables/CFEAVariable.cpp | 2 +- SU2_CFD/src/variables/CFlowVariable.cpp | 2 +- SU2_CFD/src/variables/CHeatVariable.cpp | 37 +- SU2_CFD/src/variables/CIncEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CIncNSVariable.cpp | 2 +- SU2_CFD/src/variables/CMeshBoundVariable.cpp | 2 +- SU2_CFD/src/variables/CMeshElement.cpp | 2 +- SU2_CFD/src/variables/CMeshVariable.cpp | 2 +- SU2_CFD/src/variables/CNEMOEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CNEMONSVariable.cpp | 2 +- SU2_CFD/src/variables/CNSVariable.cpp | 2 +- SU2_CFD/src/variables/CRadP1Variable.cpp | 2 +- SU2_CFD/src/variables/CRadVariable.cpp | 2 +- SU2_CFD/src/variables/CScalarVariable.cpp | 2 +- .../variables/CSobolevSmoothingVariable.cpp | 2 +- SU2_CFD/src/variables/CSpeciesVariable.cpp | 2 +- SU2_CFD/src/variables/CTransLMVariable.cpp | 2 +- SU2_CFD/src/variables/CTurbSAVariable.cpp | 2 +- SU2_CFD/src/variables/CTurbSSTVariable.cpp | 2 +- SU2_CFD/src/variables/CTurbVariable.cpp | 2 +- SU2_CFD/src/variables/CVariable.cpp | 2 +- SU2_DEF/include/SU2_DEF.hpp | 2 +- SU2_DEF/obj/Makefile.am | 2 +- SU2_DEF/src/SU2_DEF.cpp | 2 +- SU2_DOT/include/SU2_DOT.hpp | 2 +- SU2_DOT/obj/Makefile.am | 2 +- SU2_DOT/src/SU2_DOT.cpp | 2 +- SU2_GEO/include/SU2_GEO.hpp | 2 +- SU2_GEO/obj/Makefile.am | 2 +- SU2_GEO/src/SU2_GEO.cpp | 2 +- SU2_PY/FSI_tools/FSIInterface.py | 2 +- SU2_PY/FSI_tools/FSI_config.py | 2 +- SU2_PY/Makefile.am | 2 +- SU2_PY/OptimalPropeller.py | 2 +- SU2_PY/SU2/eval/design.py | 2 +- SU2_PY/SU2/eval/functions.py | 2 +- SU2_PY/SU2/eval/gradients.py | 2 +- SU2_PY/SU2/io/config.py | 2 +- SU2_PY/SU2/io/config_options.py | 2 +- SU2_PY/SU2/io/data.py | 2 +- SU2_PY/SU2/io/filelock.py | 2 +- SU2_PY/SU2/io/redirect.py | 2 +- SU2_PY/SU2/io/state.py | 2 +- SU2_PY/SU2/io/tools.py | 2 +- SU2_PY/SU2/opt/project.py | 2 +- SU2_PY/SU2/opt/scipy_tools.py | 2 +- SU2_PY/SU2/run/adjoint.py | 2 +- SU2_PY/SU2/run/deform.py | 2 +- SU2_PY/SU2/run/direct.py | 2 +- SU2_PY/SU2/run/geometry.py | 2 +- SU2_PY/SU2/run/interface.py | 2 +- SU2_PY/SU2/run/merge.py | 2 +- SU2_PY/SU2/run/projection.py | 2 +- SU2_PY/SU2/util/filter_adjoint.py | 2 +- SU2_PY/SU2/util/plot.py | 2 +- SU2_PY/SU2/util/polarSweepLib.py | 2 +- SU2_PY/SU2/util/which.py | 2 +- SU2_PY/SU2_CFD.py | 2 +- SU2_PY/SU2_Nastran/pysu2_nastran.py | 2 +- SU2_PY/change_version_number.py | 6 +- SU2_PY/compute_multipoint.py | 2 +- SU2_PY/compute_polar.py | 2 +- SU2_PY/compute_stability.py | 2 +- SU2_PY/compute_uncertainty.py | 2 +- SU2_PY/config_gui.py | 2 +- SU2_PY/continuous_adjoint.py | 2 +- SU2_PY/convert_to_csv.py | 2 +- SU2_PY/direct_differentiation.py | 2 +- SU2_PY/discrete_adjoint.py | 2 +- SU2_PY/finite_differences.py | 2 +- SU2_PY/fsi_computation.py | 2 +- SU2_PY/merge_solution.py | 2 +- SU2_PY/mesh_deformation.py | 2 +- SU2_PY/package_tests.py | 2 +- SU2_PY/parallel_computation.py | 2 +- SU2_PY/parallel_computation_fsi.py | 2 +- SU2_PY/parse_config.py | 2 +- SU2_PY/profiling.py | 2 +- SU2_PY/pySU2/Makefile.am | 2 +- SU2_PY/pySU2/pySU2.i | 2 +- SU2_PY/pySU2/pySU2ad.i | 2 +- SU2_PY/set_ffd_design_var.py | 2 +- SU2_PY/shape_optimization.py | 4 +- SU2_PY/topology_optimization.py | 2 +- SU2_PY/updateHistoryMap.py | 2 +- SU2_SOL/include/SU2_SOL.hpp | 2 +- SU2_SOL/obj/Makefile.am | 2 +- SU2_SOL/src/SU2_SOL.cpp | 2 +- TestCases/TestCase.py | 2 +- .../aeroelastic/aeroelastic_NACA64A010.cfg | 147 +--- .../air_nozzle/air_nozzle_restart.cfg | 31 +- .../cont_adj_euler/naca0012/inv_NACA0012.cfg | 223 +---- .../naca0012/inv_NACA0012_FD.cfg | 221 +---- .../naca0012/inv_NACA0012_discadj.cfg | 211 +---- .../cont_adj_euler/oneram6/inv_ONERAM6.cfg | 258 +----- .../cont_adj_euler/wedge/inv_wedge_ROE.cfg | 247 +----- .../wedge/inv_wedge_ROE_multiobj.cfg | 265 +----- .../cylinder/lam_cylinder.cfg | 197 +---- .../naca0012_sub/lam_NACA0012.cfg | 206 +---- .../naca0012_trans/lam_NACA0012.cfg | 214 +---- .../cont_adj_rans/naca0012/turb_nasa.cfg | 193 +---- .../naca0012/turb_nasa_binary.cfg | 192 +---- .../cont_adj_rans/oneram6/turb_ONERAM6.cfg | 231 +---- .../cont_adj_rans/rae2822/turb_SA_RAE2822.cfg | 209 +---- .../control_surface/inv_ONERAM6_moving.cfg | 221 +---- .../control_surface/inv_ONERAM6_setting.cfg | 221 +---- .../coupled_cht/comp_2d/cht_2d_3cylinders.cfg | 55 +- .../coupled_cht/comp_2d/flow_cylinder.cfg | 115 +-- .../coupled_cht/comp_2d/solid_cylinder1.cfg | 97 +-- .../coupled_cht/comp_2d/solid_cylinder2.cfg | 107 +-- .../coupled_cht/comp_2d/solid_cylinder3.cfg | 108 +-- .../disc_adj_incomp_2d/cht_2d_3cylinders.cfg | 55 +- .../disc_adj_incomp_2d/flow_cylinder.cfg | 148 +--- .../disc_adj_incomp_2d/solid_cylinder1.cfg | 97 +-- .../disc_adj_incomp_2d/solid_cylinder2.cfg | 107 +-- .../disc_adj_incomp_2d/solid_cylinder3.cfg | 105 --- .../chtMaster.cfg | 46 +- .../disc_adj_unsteadyCHT_cylinder/fluid.cfg | 28 +- .../disc_adj_unsteadyCHT_cylinder/solid.cfg | 22 +- .../incomp_2d/cht_2d_3cylinders.cfg | 57 +- .../coupled_cht/incomp_2d/flow_cylinder.cfg | 143 --- .../coupled_cht/incomp_2d/solid_cylinder1.cfg | 94 -- .../coupled_cht/incomp_2d/solid_cylinder2.cfg | 104 --- .../coupled_cht/incomp_2d/solid_cylinder3.cfg | 104 --- .../incomp_2d_unsteady/cht_2d_3cylinders.cfg | 39 +- .../incomp_2d_unsteady/flow_cylinder.cfg | 134 --- .../incomp_2d_unsteady/solid_cylinder1.cfg | 86 -- .../incomp_2d_unsteady/solid_cylinder2.cfg | 89 +- .../incomp_2d_unsteady/solid_cylinder3.cfg | 89 +- TestCases/ddes/flatplate/ddes_flatplate.cfg | 127 +-- .../deformation/brick_hex/def_brick_hex.cfg | 146 +--- .../brick_hex_rans/def_brick_hex_rans.cfg | 150 +--- .../brick_prism/def_brick_prism.cfg | 147 +--- .../brick_prism_rans/def_brick_prism_rans.cfg | 147 +--- .../deformation/brick_pyra/def_brick_pyra.cfg | 149 +--- .../deformation/brick_tets/def_brick_tets.cfg | 149 +--- .../cylindrical_ffd/def_cylindrical.cfg | 176 +--- .../intersection_prevention/def_intersect.cfg | 264 +----- .../deformation/naca0012/def_NACA0012.cfg | 215 +---- .../naca0012/surface_file_NACA0012.cfg | 223 +---- .../deformation/naca4412/def_NACA4412.cfg | 202 +---- TestCases/deformation/rae2822/def_RAE2822.cfg | 245 +----- .../spherical_ffd/def_spherical.cfg | 178 +--- .../spherical_ffd/def_spherical_bspline.cfg | 183 +--- .../disc_adj_euler/arina2k/Arina2KRS.cfg | 401 +-------- .../cylinder3D/inv_cylinder3D.cfg | 197 +---- .../inv_NACA0012_pitching.cfg | 194 +---- .../disc_adj_euler/oneram6/inv_ONERAM6.cfg | 139 +-- TestCases/disc_adj_fea/configAD_fem.cfg | 2 +- .../disc_adj_fsi/Airfoil_2d/configFEA.cfg | 19 +- .../disc_adj_fsi/Airfoil_2d/configFlow.cfg | 27 +- TestCases/disc_adj_fsi/configFEA.cfg | 2 +- TestCases/disc_adj_fsi/configFlow.cfg | 2 +- TestCases/disc_adj_fsi/dyn_fsi/configFEA.cfg | 20 +- TestCases/disc_adj_fsi/dyn_fsi/configFlow.cfg | 25 +- TestCases/disc_adj_heat/disc_adj_heat.cfg | 9 +- .../naca0012/incomp_NACA0012_disc.cfg | 145 +--- .../cylinder/heated_cylinder.cfg | 336 +------- .../naca0012/turb_naca0012_sa.cfg | 211 +---- .../naca0012/turb_naca0012_sst.cfg | 210 +---- TestCases/disc_adj_rans/cylinder/cylinder.cfg | 248 +----- .../cylinder/cylinder_Windowing.cfg | 218 +---- .../cylinder/cylinder_Windowing_AD.cfg | 155 +--- .../cylinder_DT_1ST/cylinder.cfg | 245 +----- TestCases/disc_adj_rans/naca0012/naca0012.cfg | 76 +- .../naca0012/turb_NACA0012_sa.cfg | 138 +-- .../naca0012/turb_NACA0012_sst.cfg | 140 +-- .../transonic_stator_2D/transonic_stator.cfg | 282 +----- TestCases/euler/CRM/inv_CRM_JST.cfg | 140 +-- TestCases/euler/biparabolic/BIPARABOLIC.cfg | 159 +--- TestCases/euler/bluntbody/blunt.cfg | 119 +-- TestCases/euler/channel/inv_channel.cfg | 117 +-- TestCases/euler/channel/inv_channel_RK.cfg | 121 +-- TestCases/euler/naca0012/inv_NACA0012.cfg | 214 +---- TestCases/euler/naca0012/inv_NACA0012_Roe.cfg | 113 +-- TestCases/euler/oneram6/inv_ONERAM6.cfg | 262 +----- TestCases/euler/wedge/inv_wedge_HLLC.cfg | 150 +--- TestCases/fea_fsi/Airfoil_RBF/config.cfg | 3 +- TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg | 3 +- TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg | 3 +- .../fea_fsi/DynBeam_2d/configBeam_2d.cfg | 2 +- TestCases/fea_fsi/MixElemsKnowles/config.cfg | 2 +- TestCases/fea_fsi/SquareCyl_Beam/config.cfg | 157 +--- .../fea_fsi/StatBeam_3d/configBeam_3d.cfg | 2 +- .../fea_fsi/WallChannel_2d/configFEA.cfg | 1 - .../fea_fsi/WallChannel_2d/configFSI.cfg | 1 - .../fea_fsi/WallChannel_2d/configFlow.cfg | 1 - TestCases/fea_fsi/dyn_fsi/configFlow.cfg | 1 - TestCases/fea_fsi/stat_fsi/config.cfg | 1 - TestCases/fea_fsi/stat_fsi/configFEA.cfg | 7 +- TestCases/fea_fsi/stat_fsi/configFlow.cfg | 9 - TestCases/fea_topology/config.cfg | 5 +- .../quick_start/settings_compliance.cfg | 1 - .../quick_start/settings_volfrac.cfg | 3 +- TestCases/fixed_cl/naca0012/inv_NACA0012.cfg | 219 +---- .../naca0012/inv_NACA0012_ContAdj.cfg | 223 +---- .../naca0012/inv_NACA0012_gradsmooth.cfg | 5 +- .../oneram6/ONERAM6_gradsmooth.cfg | 3 +- TestCases/gust/inv_gust_NACA0012.cfg | 134 +-- TestCases/harmonic_balance/HB.cfg | 257 +----- .../hb_rans_preconditioning/davis.cfg | 144 +--- .../2D/Quad32X32_nPoly4/InviscidVortex.cfg | 99 +-- .../3D/nPoly2_Tets/InviscidVortex.cfg | 98 +-- .../3D/nPoly4_Tets/InviscidVortex.cfg | 99 +-- .../fem_NACA0012.cfg | 92 +- .../NACA0012_5thOrder/fem_NACA0012.cfg | 97 +-- .../NACA0012_5thOrder/fem_NACA0012_reg.cfg | 100 +-- .../Ringleb/Quad100X50_nPoly3/Ringleb.cfg | 95 +- .../Quad100X50_nPoly3/Ringleb_WallBC.cfg | 95 +- .../Ringleb/Quad100X50_nPoly4/Ringleb.cfg | 96 +-- .../Quad100X50_nPoly4/Ringleb_WallBC.cfg | 95 +- .../Ringleb/Quad200X100_nPoly4/Ringleb.cfg | 96 +-- .../Quad200X100_nPoly4/Ringleb_WallBC.cfg | 95 +- .../Quad50X50_HalfGeom_nPoly4/Ringleb.cfg | 96 +-- .../Ringleb_WallBC.cfg | 95 +- .../Ringleb.cfg | 96 +-- .../Ringleb_WallBC.cfg | 95 +- .../Triangle50X50_HalfGeom_nPoly4/Ringleb.cfg | 96 +-- .../Ringleb_WallBC.cfg | 95 +- .../Sphere_4thOrder_Hexa/fem_Sphere.cfg | 92 +- .../Sphere_4thOrder_Tet/fem_Sphere.cfg | 96 +-- .../nPoly1/fem_SubsonicChannel.cfg | 102 +-- .../nPoly1/fem_SubsonicChannel_Farfield.cfg | 96 +-- .../nPoly2/fem_SubsonicChannel.cfg | 101 +-- .../nPoly2/fem_SubsonicChannel_Farfield.cfg | 97 +-- .../nPoly4/fem_SubsonicChannel.cfg | 102 +-- .../nPoly4/fem_SubsonicChannel_Farfield.cfg | 98 +-- .../nPoly3/fem_Cylinder_reg.cfg | 98 +-- .../FlatPlate/nPoly4/lam_flatplate_reg.cfg | 105 +-- .../nPoly3_QuadDominant/fem_Sphere_reg.cfg | 100 +-- .../fem_Sphere_reg_ADER.cfg | 108 +-- .../nPoly4/fem_unst_cylinder.cfg | 104 +-- .../nPoly4/fem_unst_cylinder_ADER.cfg | 115 +-- TestCases/hybrid_regression.py | 4 +- TestCases/hybrid_regression_AD.py | 2 +- .../incomp_euler/naca0012/incomp_NACA0012.cfg | 106 +-- TestCases/incomp_euler/nozzle/inv_nozzle.cfg | 121 +-- .../incomp_navierstokes/bend/lam_bend.cfg | 155 ---- .../buoyancy_cavity/lam_buoyancy_cavity.cfg | 152 +--- .../cylinder/incomp_cylinder.cfg | 100 +-- .../cylinder/poly_cylinder.cfg | 173 +--- .../chtPinArray_2d/BC_HeatTransfer.cfg | 2 +- .../chtPinArray_2d/DA_configMaster.cfg | 32 +- .../chtPinArray_2d/FD_configMaster.cfg | 40 +- .../chtPinArray_2d/configFluid.cfg | 2 +- .../chtPinArray_2d/configMaster.cfg | 36 +- .../chtPinArray_2d/configSolid.cfg | 2 +- .../chtPinArray_2d/of_grad_findiff.csv.ref | 2 +- .../chtPinArray_3d/configFluid.cfg | 2 +- .../chtPinArray_3d/configMaster.cfg | 4 +- .../chtPinArray_3d/configSolid.cfg | 2 +- .../dp-adjoint_chtPinArray_2d/configFluid.cfg | 2 +- .../configMaster.cfg | 31 +- .../dp-adjoint_chtPinArray_2d/configSolid.cfg | 2 +- .../pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg | 6 +- .../incomp_rans/AhmedBody/turb_ahmed.cfg | 193 ----- TestCases/incomp_rans/naca0012/naca0012.cfg | 138 +-- .../naca0012/naca0012_SST_SUST.cfg | 137 +-- .../rough_flatplate_incomp.cfg | 174 +--- TestCases/mms/dg_navierstokes/lam_mms_dg.cfg | 103 +-- .../mms/dg_navierstokes_3d/lam_mms_dg_3d.cfg | 117 +-- TestCases/mms/dg_ringleb/ringleb_dg.cfg | 106 +-- .../mms/fvm_incomp_euler/inv_mms_jst.cfg | 130 +-- .../fvm_incomp_navierstokes/lam_mms_fds.cfg | 141 +-- .../mms/fvm_navierstokes/lam_mms_roe.cfg | 152 +--- TestCases/moving_wall/cavity/lam_cavity.cfg | 132 +-- .../spinning_cylinder/spinning_cylinder.cfg | 140 +-- .../naca0012/inv_NACA0012_ffd.cfg | 242 +----- .../cylinder/cylinder_lowmach.cfg | 121 +-- .../navierstokes/cylinder/lam_cylinder.cfg | 118 +-- .../navierstokes/flatplate/lam_flatplate.cfg | 3 +- .../flatplate/lam_flatplate_unst.cfg | 4 +- .../navierstokes/naca0012/lam_NACA0012.cfg | 115 +-- TestCases/navierstokes/periodic2D/config.cfg | 1 - .../poiseuille/lam_poiseuille.cfg | 142 +-- .../poiseuille/profile_poiseuille.cfg | 163 +--- TestCases/nicf/LS89/turb_SA_PR.cfg | 186 +--- TestCases/nicf/LS89/turb_SST_PR.cfg | 185 +--- .../{coolprop_nozzle.cfg => fluidModel.cfg} | 32 +- TestCases/nicf/coolprop/transportModel.cfg | 86 ++ TestCases/nicf/edge/edge_PPR.cfg | 132 +-- TestCases/nicf/edge/edge_VW.cfg | 130 +-- .../nonequilibrium/invwedge/invwedge.cfg | 74 +- .../finitechemistry/thermalbath.cfg | 96 +-- .../finitechemistry/weakly_ionized.cfg | 4 +- .../thermalbath/frozen/thermalbath_frozen.cfg | 97 +-- .../nonequilibrium/viscous/axi_visccone.cfg | 2 +- .../nonequilibrium/viscous/partial_cat.cfg | 3 +- .../nonequilibrium/viscous/super_cat.cfg | 3 +- .../viscwedge_mpp/viscwedge_mpp.cfg | 78 +- .../equivalentarea_naca64206/NACA64206.cfg | 21 +- .../inv_wedge_ROE_2surf_1obj.cfg | 263 +----- .../inv_wedge_ROE_multiobj.cfg | 262 +----- .../inv_wedge_ROE_multiobj_1surf.cfg | 263 +----- .../inv_wedge_ROE_multiobj_combo.cfg | 262 +----- .../inv_NACA0012_multipoint.cfg | 224 +---- .../pitching_NACA64A010.cfg | 223 +---- .../pitching_oneram6/pitching_ONERAM6.cfg | 238 +---- .../rotating_naca0012/rotating_NACA0012.cfg | 210 +---- .../steady_inverse_design/inv_NACA0012.cfg | 214 +---- .../steady_naca0012/inv_NACA0012_adv.cfg | 231 +---- .../steady_naca0012/inv_NACA0012_basic.cfg | 216 +---- .../steady_oneram6/inv_ONERAM6_adv.cfg | 247 +----- .../steady_oneram6/inv_ONERAM6_basic.cfg | 249 +----- .../optimization_rans/naca0012/naca0012.cfg | 77 +- .../pitching_naca64a010/turb_NACA64A010.cfg | 241 +----- .../pitching_oneram6/turb_ONERAM6.cfg | 259 +----- .../steady_oneram6/turb_ONERAM6.cfg | 226 +---- .../steady_rae2822/turb_SA_RAE2822.cfg | 216 +---- TestCases/parallel_regression.py | 91 +- TestCases/parallel_regression_AD.py | 62 +- TestCases/pastix_support/config.cfg | 3 +- TestCases/pastix_support/readme.txt | 2 +- TestCases/polar/naca0012/inv_NACA0012.cfg | 225 +---- .../flow_load_sens/run_adjoint.py | 2 +- .../mesh_disp_sens/configAD_flow.cfg | 37 - .../mesh_disp_sens/run_adjoint.py | 2 +- .../flatPlate_rigidMotion_Conf.cfg | 145 +--- .../launch_flatPlate_rigidMotion.py | 2 +- .../launch_unsteady_CHT_FlatPlate.py | 2 +- .../unsteady_CHT_FlatPlate_Conf.cfg | 301 +------ .../translating_NACA0012/config.cfg | 1 - .../radiation/p1adjoint/configp1adjoint.cfg | 2 +- TestCases/radiation/p1model/configp1.cfg | 3 +- .../propeller_variable_load.cfg | 169 +--- .../rans/flatplate/turb_SA_flatplate.cfg | 134 +-- .../flatplate/turb_SA_flatplate_species.cfg | 114 +-- .../rans/flatplate/turb_SST_flatplate.cfg | 132 +-- TestCases/rans/naca0012/turb_NACA0012_sa.cfg | 139 +-- TestCases/rans/naca0012/turb_NACA0012_sst.cfg | 141 +-- .../naca0012/turb_NACA0012_sst_1994-KLm.cfg | 3 +- .../naca0012/turb_NACA0012_sst_2003-Vm.cfg | 3 +- .../rans/naca0012/turb_NACA0012_sst_2003m.cfg | 3 +- .../turb_NACA0012_sst_expliciteuler.cfg | 5 +- .../turb_NACA0012_sst_fixedvalues.cfg | 6 +- .../turb_NACA0012_sst_multigrid_restart.cfg | 244 +----- .../rans/naca0012/turb_NACA0012_sst_sust.cfg | 104 +-- TestCases/rans/oneram6/turb_ONERAM6.cfg | 165 +--- TestCases/rans/oneram6/turb_ONERAM6_nk.cfg | 5 +- TestCases/rans/oneram6/turb_ONERAM6_vc.cfg | 130 +++ TestCases/rans/propeller/propeller.cfg | 158 +--- TestCases/rans/rae2822/turb_SA_RAE2822.cfg | 222 +---- TestCases/rans/rae2822/turb_SST_RAE2822.cfg | 130 +-- .../rans/rae2822/turb_SST_SUST_RAE2822.cfg | 130 +-- .../rans/restart_directdiff_naca/naca0012.cfg | 76 +- TestCases/rans/s809/trans_s809.cfg | 127 +-- TestCases/rans/s809/turb_S809.cfg | 142 +-- TestCases/rans/vki_turbine/turb_vki.cfg | 150 +--- .../rans_uq/naca0012/turb_NACA0012_uq.cfg | 138 +-- .../rans_uq/naca0012/turb_NACA0012_uq_1c.cfg | 144 +--- .../rans_uq/naca0012/turb_NACA0012_uq_2c.cfg | 141 +-- .../rans_uq/naca0012/turb_NACA0012_uq_3c.cfg | 140 +-- .../naca0012/turb_NACA0012_uq_p1c1.cfg | 142 +-- .../naca0012/turb_NACA0012_uq_p1c2.cfg | 140 +-- .../caradonna_tung/rot_caradonna_tung.cfg | 121 +-- TestCases/rotating/naca0012/rot_NACA0012.cfg | 232 +---- TestCases/serial_regression.py | 6 +- TestCases/serial_regression_AD.py | 40 +- .../sliding_interface/bars_SST_2D/bars.cfg | 199 +---- .../sliding_interface/bars_SST_2D/zone_1.cfg | 11 +- .../sliding_interface/bars_SST_2D/zone_2.cfg | 10 +- .../sliding_interface/bars_SST_2D/zone_3.cfg | 11 +- .../channel_2D/channel_2D_NN.cfg | 136 +-- .../channel_2D/channel_2D_WA.cfg | 131 +-- .../sliding_interface/channel_2D/zone_1.cfg | 9 - .../sliding_interface/channel_2D/zone_2.cfg | 13 +- .../sliding_interface/channel_2D/zone_3.cfg | 11 +- .../channel_3D/channel_3D_NN.cfg | 136 +-- .../channel_3D/channel_3D_WA.cfg | 133 +-- .../sliding_interface/channel_3D/zone_1.cfg | 5 +- .../sliding_interface/channel_3D/zone_2.cfg | 12 +- .../sliding_interface/channel_3D/zone_3.cfg | 11 +- .../incompressible_steady/config.cfg | 2 +- .../incompressible_steady/configCircle.cfg | 21 +- .../incompressible_steady/configOut.cfg | 18 +- .../incompressible_unsteady/config.cfg | 2 +- .../incompressible_unsteady/configCircle.cfg | 19 +- .../incompressible_unsteady/configOut.cfg | 21 +- TestCases/sliding_interface/pipe/pipe_NN.cfg | 141 +-- TestCases/sliding_interface/pipe/pipe_WA.cfg | 140 +-- TestCases/sliding_interface/pipe/zone_1.cfg | 12 +- TestCases/sliding_interface/pipe/zone_2.cfg | 13 +- TestCases/sliding_interface/pipe/zone_3.cfg | 12 +- TestCases/sliding_interface/pipe/zone_4.cfg | 14 +- TestCases/sliding_interface/pipe/zone_5.cfg | 14 +- .../rotating_cylinders/rot_cylinders_NN.cfg | 137 +-- .../rotating_cylinders/rot_cylinders_WA.cfg | 138 +-- .../rotating_cylinders/zone_1.cfg | 9 - .../rotating_cylinders/zone_2.cfg | 10 - .../rotating_cylinders/zone_3.cfg | 9 - .../single_stage/single_stage_NN.cfg | 168 +--- .../single_stage/single_stage_WA.cfg | 165 +--- .../sliding_interface/single_stage/zone_1.cfg | 11 +- .../sliding_interface/single_stage/zone_2.cfg | 12 +- .../sup_vor_shed_NN.cfg | 141 +-- .../sup_vor_shed_WA.cfg | 139 +-- .../supersonic_vortex_shedding/zone_1.cfg | 12 +- .../supersonic_vortex_shedding/zone_2.cfg | 12 +- .../uniform_flow/uniform_NN.cfg | 135 +-- .../uniform_flow/uniform_WA.cfg | 135 +-- .../sliding_interface/uniform_flow/zone_1.cfg | 11 +- .../sliding_interface/uniform_flow/zone_2.cfg | 11 +- .../periodic_pins/configSolid.cfg | 8 +- .../multizone/configMaster.cfg | 72 ++ .../species_transport/multizone/zone1.cfg | 48 ++ .../species_transport/multizone/zone2.cfg | 48 ++ .../passive_transport.cfg | 5 +- .../DAspecies3_primitiveVenturi.cfg | 9 +- .../species2_primitiveVenturi.cfg | 5 +- ...pecies2_primitiveVenturi_boundedscalar.cfg | 131 +++ .../species2_primitiveVenturi_mixingmodel.cfg | 7 +- ...eVenturi_mixingmodel_TURBULENT_MARKERS.cfg | 153 ++++ ...itiveVenturi_mixingmodel_boundedscalar.cfg | 143 +++ ...iveVenturi_mixingmodel_heatcapacity_H2.cfg | 7 +- ...Venturi_mixingmodel_heatcapacity_H2_ND.cfg | 7 +- ...primitiveVenturi_mixingmodel_viscosity.cfg | 7 +- .../species3_primitiveVenturi.cfg | 5 +- .../species3_primitiveVenturi_inletFile.cfg | 5 +- .../transitional_BC_model_ConfigFile.cfg | 139 +-- .../transitional_BC_model_ConfigFile.cfg | 158 +--- .../transitional_BC_model_ConfigFile.cfg | 155 +--- .../APU_turbocharger/Jones_restart.cfg | 12 +- .../turbomachinery/APU_turbocharger/rotor.cfg | 11 - .../APU_turbocharger/rotor_restart.cfg | 11 - .../APU_turbocharger/stator.cfg | 4 - .../axial_stage_2D/Axial_stage2D.cfg | 179 +--- .../turbomachinery/axial_stage_2D/zone_1.cfg | 7 +- .../turbomachinery/axial_stage_2D/zone_2.cfg | 10 +- .../centrifugal_blade/centrifugal_blade.cfg | 214 +---- .../centrifugal_stage/centrifugal_stage.cfg | 217 +---- .../transonic_stator_restart.cfg | 8 +- .../sa/rae2822/turb_SA_BSL_RAE2822.cfg | 89 +- .../sa/rae2822/turb_SA_COMP_EDW_RAE2822.cfg | 88 -- .../sa/rae2822/turb_SA_COMP_RAE2822.cfg | 89 +- .../sa/rae2822/turb_SA_EDW_RAE2822.cfg | 89 +- .../sa/rae2822/turb_SA_NEG_RAE2822.cfg | 106 +-- .../sa/rae2822/turb_SA_QCR_RAE2822.cfg | 88 -- TestCases/tutorials.py | 20 +- .../config_incomp_turb_sa.cfg | 15 +- .../pitching_NACA64A010.cfg | 221 +---- .../turb_NACA64A010.cfg | 239 +----- .../plunging_naca0012/plunging_NACA0012.cfg | 129 +-- .../unsteady/square_cylinder/turb_square.cfg | 149 +--- .../user_defined_functions/lam_flatplate.cfg | 2 +- TestCases/vandv.py | 2 +- TestCases/vandv/rans/30p30n/config.cfg | 2 +- .../compressible_SA/turb_SA_flatplate.cfg | 9 +- .../compressible_SST/turb_SST_flatplate.cfg | 9 +- .../incompressible_SA/turb_SA_flatplate.cfg | 9 +- .../incompressible_SST/turb_SST_flatplate.cfg | 13 +- .../Common/containers/CLookupTable_tests.cpp | 2 +- UnitTests/Common/geometry/CGeometry_test.cpp | 2 +- .../geometry/dual_grid/CDualGrid_tests.cpp | 2 +- .../primal_grid/CPrimalGrid_tests.cpp | 2 +- UnitTests/Common/simple_ad_test.cpp | 2 +- UnitTests/Common/simple_directdiff_test.cpp | 2 +- .../toolboxes/C1DInterpolation_tests.cpp | 2 +- .../CQuasiNewtonInvLeastSquares_tests.cpp | 2 +- .../Common/toolboxes/ndflattener_tests.cpp | 2 +- UnitTests/Common/vectorization.cpp | 2 +- UnitTests/SU2_CFD/gradients.cpp | 2 +- .../SU2_CFD/numerics/CNumerics_tests.cpp | 2 +- UnitTests/SU2_CFD/windowing.cpp | 2 +- UnitTests/UnitQuadTestCase.hpp | 2 +- UnitTests/test_driver.cpp | 2 +- config_template.cfg | 24 +- externals/Makefile.am | 2 +- externals/tecio/Makefile.am | 2 +- legacy/Makefile.am | 2 +- legacy/configure.ac | 4 +- legacy/preconfigure.py | 4 +- meson.build | 32 +- meson.py | 2 +- meson_scripts/init.py | 2 +- su2omp.syntax.json | 2 +- 1076 files changed, 5851 insertions(+), 37986 deletions(-) create mode 100644 .github/release.yml create mode 100644 .github/workflows/codeql.yml create mode 100644 SU2_CFD/include/fluid/CCoolPropConductivity.hpp create mode 100644 SU2_CFD/include/fluid/CCoolPropViscosity.hpp create mode 100644 SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp rename TestCases/nicf/coolprop/{coolprop_nozzle.cfg => fluidModel.cfg} (84%) create mode 100644 TestCases/nicf/coolprop/transportModel.cfg create mode 100644 TestCases/rans/oneram6/turb_ONERAM6_vc.cfg create mode 100644 TestCases/species_transport/multizone/configMaster.cfg create mode 100644 TestCases/species_transport/multizone/zone1.cfg create mode 100644 TestCases/species_transport/multizone/zone2.cfg create mode 100644 TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_boundedscalar.cfg create mode 100644 TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg create mode 100644 TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_boundedscalar.cfg diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 00000000000..4ec929fc17c --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,20 @@ +# .github/release.yml + +changelog: + exclude: + labels: + - 'changelog:none' + categories: + - title: ':rocket: Experimental Features' + labels: + - 'changelog:feature' + - title: ':pill: Bug Fixes' + labels: + - 'changelog:fix' + - title: ':wrench: Maintenance' + labels: + - 'changelog:chore' + - title: 'Other Changes' + labels: + - "*" + diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 00000000000..5d2607bab67 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,56 @@ +name: "CodeQL" + +on: + push: + branches: [ "master", "develop" ] + pull_request: + branches: [ "master", "develop" ] + schedule: + - cron: "37 1 * * 1" + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ python, cpp ] + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Install Packages (cpp) + if: ${{ matrix.language == 'cpp' }} + run: | + sudo apt-get update --fix-missing + sudo apt-get install --yes libboost-all-dev + + - name: Configure (cpp) + if: ${{ matrix.language == 'cpp' }} + run: ./meson.py build --optimization=1 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + queries: +security-and-quality + + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + if: ${{ matrix.language == 'python' }} + + - name: Build cpp + if: ${{ matrix.language == 'cpp' }} + run: ./ninja -C build + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 + with: + category: "/language:${{ matrix.language }}" diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 8e2d4414353..e749e661e70 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -6,7 +6,7 @@ on: - 'develop' - 'master' pull_request: - branches: + branches: - 'develop' - 'master' workflow_call: @@ -22,7 +22,7 @@ jobs: name: Build SU2 strategy: fail-fast: false - matrix: + matrix: config_set: [BaseMPI, ReverseMPI, ForwardMPI, BaseNoMPI, ReverseNoMPI, ForwardNoMPI, BaseOMP, ReverseOMP, ForwardOMP] include: - config_set: BaseMPI @@ -32,7 +32,7 @@ jobs: - config_set: ForwardMPI flags: '-Denable-directdiff=true -Denable-normal=false -Denable-tests=true --warnlevel=3 --werror' - config_set: BaseNoMPI - flags: '-Denable-pywrapper=true -Dwith-mpi=disabled -Denable-tests=true --warnlevel=3 --werror' + flags: '-Denable-pywrapper=true -Denable-openblas=true -Dwith-mpi=disabled -Denable-tests=true --warnlevel=3 --werror' - config_set: ReverseNoMPI flags: '-Denable-autodiff=true -Denable-normal=false -Dwith-mpi=disabled -Denable-pywrapper=true -Denable-tests=true --warnlevel=3 --werror' - config_set: ForwardNoMPI @@ -51,24 +51,24 @@ jobs: path: ccache key: ${{ matrix.config_set }}-${{ github.sha }} restore-keys: ${{ matrix.config_set }} - - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2:221027-0442 + - name: Pre Cleanup + uses: docker://ghcr.io/su2code/su2/build-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} - - name: Build - uses: docker://ghcr.io/su2code/su2/build-su2:221027-0442 + - name: Build + uses: docker://ghcr.io/su2code/su2/build-su2:221224-1158 with: args: -b ${{github.ref}} -f "${{matrix.flags}}" - name: Compress binaries run: tar -zcvf install_bin.tgz install/bin - - name: Upload Binaries + - name: Upload Binaries uses: actions/upload-artifact@v3 with: name: ${{ matrix.config_set }} path: install_bin.tgz - name: Post Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2:221027-0442 + uses: docker://ghcr.io/su2code/su2/build-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -78,7 +78,7 @@ jobs: needs: build strategy: fail-fast: false - matrix: + matrix: testscript: ['vandv.py', 'tutorials.py', 'parallel_regression.py', 'parallel_regression_AD.py', 'serial_regression.py', 'serial_regression_AD.py', 'hybrid_regression.py', 'hybrid_regression_AD.py'] include: - testscript: 'vandv.py' @@ -99,7 +99,7 @@ jobs: tag: OMP steps: - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -119,18 +119,18 @@ jobs: tar -zxvf install_bin.tgz ls -lah install/bin/ cp -r install/bin/* $BIN_FOLDER; - popd; + popd; fi done chmod a+x $BIN_FOLDER/* ls -lahR $BIN_FOLDER - name: Run Tests in Container - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: # -t -c args: -b ${{github.ref}} -t develop -c develop -s ${{matrix.testscript}} - name: Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -150,8 +150,8 @@ jobs: - testdriver: 'test_driver_DD' tag: MPI steps: - - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + - name: Pre Cleanup + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -196,8 +196,8 @@ jobs: branch="${{github.ref}}" name="SU2" SRC_FOLDER="$PWD/src" - mkdir -p $SRC_FOLDER - cd $SRC_FOLDER + mkdir -p $SRC_FOLDER + cd $SRC_FOLDER git clone --recursive --depth=1 --shallow-submodules https://github.com/su2code/SU2 $name cd $name git config --add remote.origin.fetch '+refs/pull/*/merge:refs/remotes/origin/refs/pull/*/merge' @@ -212,11 +212,11 @@ jobs: echo $PWD ls -lahR - name: Run Unit Tests - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: install/bin/${{matrix.testdriver}} - name: Post Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:220614-1237 + uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} diff --git a/.github/workflows/release-management.yml b/.github/workflows/release-management.yml index adba5b895b5..921724fcc9e 100644 --- a/.github/workflows/release-management.yml +++ b/.github/workflows/release-management.yml @@ -35,7 +35,7 @@ jobs: key: ${{ matrix.os_bin }}-${{ github.sha }} restore-keys: ${{ matrix.os_bin }} - name: Build - uses: docker://ghcr.io/su2code/su2/build-su2-cross:220716-1459 + uses: docker://ghcr.io/su2code/su2/build-su2-cross:221224-1158 with: args: -b ${{ github.sha }} -f "${{matrix.flags}}" - name: Create Archive diff --git a/AUTHORS.md b/AUTHORS.md index 53a02f26eb3..0413260bd35 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -90,6 +90,7 @@ Jessie Lauzon João Loureiro Johannes Blühdorn JonathanSmith1936 +Josy P. Pullockara Kedar Naik LaSerpe Lennaert Tol @@ -121,6 +122,7 @@ Scott Imlay Steffen Schotthöfer Steven Endres Sunoh Kang +T. N. Venkatesh Teus van der Stelt Thomas D. Economon Tim Albring @@ -128,6 +130,7 @@ TobiKattmann Trent Lukaczyk VivaanKhatri Wally Maier +Y. Chandukrishna Zan Xu aaronyicongfu aeroamit diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 23439191717..f3f7ac316a8 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -3,7 +3,7 @@ * \brief All the information about the definition of the physical problem. * The subroutines and functions are in the CConfig.cpp file. * \author F. Palacios, T. Economon, B. Tracey - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -125,6 +125,7 @@ class CConfig { Low_Mach_Precon, /*!< \brief Flag to know if we are using a low Mach number preconditioner. */ Low_Mach_Corr, /*!< \brief Flag to know if we are using a low Mach number correction. */ GravityForce, /*!< \brief Flag to know if the gravity force is incuded in the formulation. */ + VorticityConfinement, /*!< \brief Flag to know if the Vorticity Confinement is included in the formulation. */ SubsonicEngine, /*!< \brief Engine intake subsonic region. */ Frozen_Visc_Cont, /*!< \brief Flag for cont. adjoint problem with/without frozen viscosity. */ Frozen_Visc_Disc, /*!< \brief Flag for disc. adjoint problem with/without frozen viscosity. */ @@ -147,6 +148,7 @@ class CConfig { su2double dCMy_dCL; /*!< \brief Fixed Cl mode derivate. */ su2double dCMz_dCL; /*!< \brief Fixed Cl mode derivate. */ su2double CL_Target; /*!< \brief Fixed Cl mode Target Cl. */ + su2double Confinement_Param; /*!< \brief Confinement paramenter for Vorticity Confinement method. */ TIME_MARCHING TimeMarching; /*!< \brief Steady or unsteady (time stepping or dual time stepping) computation. */ unsigned short Dynamic_Analysis; /*!< \brief Static or dynamic structural analysis. */ su2double FixAzimuthalLine; /*!< \brief Fix an azimuthal line due to misalignments of the nearfield. */ @@ -194,6 +196,8 @@ class CConfig { nMarker_Inlet, /*!< \brief Number of inlet flow markers. */ nMarker_Inlet_Species, /*!< \brief Number of inlet species markers. */ nSpecies_per_Inlet, /*!< \brief Number of species defined per inlet markers. */ + nMarker_Inlet_Turb, /*!< \brief Number of inlet turbulent markers. */ + nTurb_Properties, /*!< \brief Number of turbulent properties per inlet markers. */ nMarker_Riemann, /*!< \brief Number of Riemann flow markers. */ nMarker_Giles, /*!< \brief Number of Giles flow markers. */ nRelaxFactor_Giles, /*!< \brief Number of relaxation factors for Giles markers. */ @@ -244,6 +248,7 @@ class CConfig { *Marker_ActDiskOutlet, /*!< \brief Actuator disk outlet markers. */ *Marker_Inlet, /*!< \brief Inlet flow markers. */ *Marker_Inlet_Species, /*!< \brief Inlet species markers. */ + *Marker_Inlet_Turb, /*!< \brief Inlet turbulent markers. */ *Marker_Riemann, /*!< \brief Riemann markers. */ *Marker_Giles, /*!< \brief Giles markers. */ *Marker_Shroud, /*!< \brief Shroud markers. */ @@ -283,6 +288,7 @@ class CConfig { su2double **Inlet_Velocity; /*!< \brief Specified flow velocity vectors for supersonic inlet boundaries. */ su2double **Inlet_MassFrac; /*!< \brief Specified Mass fraction vectors for supersonic inlet boundaries (NEMO solver). */ su2double **Inlet_SpeciesVal; /*!< \brief Specified species vector for inlet boundaries. */ + su2double **Inlet_TurbVal; /*!< \brief Specified turbulent intensity and viscosity ratio for inlet boundaries. */ su2double *EngineInflow_Target; /*!< \brief Specified fan face targets for nacelle boundaries. */ su2double *Inflow_Mach; /*!< \brief Specified fan face mach for nacelle boundaries. */ su2double *Inflow_Pressure; /*!< \brief Specified fan face pressure for nacelle boundaries. */ @@ -531,28 +537,34 @@ class CConfig { Kind_ConvNumScheme_AdjTurb, /*!< \brief Centered or upwind scheme for the adjoint turbulence model. */ Kind_ConvNumScheme_Species, /*!< \brief Centered or upwind scheme for the species model. */ Kind_ConvNumScheme_Template, /*!< \brief Centered or upwind scheme for the level set equation. */ + Kind_FEM, /*!< \brief Finite element scheme for the flow equations. */ + Kind_FEM_Flow, /*!< \brief Finite element scheme for the flow equations. */ + Kind_Matrix_Coloring; /*!< \brief Type of matrix coloring for sparse Jacobian computation. */ + + CENTERED Kind_Centered, /*!< \brief Centered scheme. */ Kind_Centered_Flow, /*!< \brief Centered scheme for the flow equations. */ Kind_Centered_AdjFlow, /*!< \brief Centered scheme for the adjoint flow equations. */ Kind_Centered_Turb, /*!< \brief Centered scheme for the turbulence model. */ Kind_Centered_AdjTurb, /*!< \brief Centered scheme for the adjoint turbulence model. */ Kind_Centered_Species, /*!< \brief Centered scheme for the species model. */ - Kind_Centered_Template, /*!< \brief Centered scheme for the template model. */ + Kind_Centered_Template; /*!< \brief Centered scheme for the template model. */ + + + FEM_SHOCK_CAPTURING_DG Kind_FEM_Shock_Capturing_DG; /*!< \brief Shock capturing method for the FEM DG solver. */ + BGS_RELAXATION Kind_BGS_RelaxMethod; /*!< \brief Kind of relaxation method for Block Gauss Seidel method in FSI problems. */ + bool ReconstructionGradientRequired; /*!< \brief Enable or disable a second gradient calculation for upwind reconstruction only. */ + bool LeastSquaresRequired; /*!< \brief Enable or disable memory allocation for least-squares gradient methods. */ + bool Energy_Equation; /*!< \brief Solve the energy equation for incompressible flows. */ + + UPWIND Kind_Upwind, /*!< \brief Upwind scheme. */ Kind_Upwind_Flow, /*!< \brief Upwind scheme for the flow equations. */ Kind_Upwind_AdjFlow, /*!< \brief Upwind scheme for the adjoint flow equations. */ Kind_Upwind_Turb, /*!< \brief Upwind scheme for the turbulence model. */ Kind_Upwind_AdjTurb, /*!< \brief Upwind scheme for the adjoint turbulence model. */ Kind_Upwind_Species, /*!< \brief Upwind scheme for the species model. */ - Kind_Upwind_Template, /*!< \brief Upwind scheme for the template model. */ - Kind_FEM, /*!< \brief Finite element scheme for the flow equations. */ - Kind_FEM_Flow, /*!< \brief Finite element scheme for the flow equations. */ - Kind_Matrix_Coloring; /*!< \brief Type of matrix coloring for sparse Jacobian computation. */ - FEM_SHOCK_CAPTURING_DG Kind_FEM_Shock_Capturing_DG; /*!< \brief Shock capturing method for the FEM DG solver. */ - BGS_RELAXATION Kind_BGS_RelaxMethod; /*!< \brief Kind of relaxation method for Block Gauss Seidel method in FSI problems. */ - bool ReconstructionGradientRequired; /*!< \brief Enable or disable a second gradient calculation for upwind reconstruction only. */ - bool LeastSquaresRequired; /*!< \brief Enable or disable memory allocation for least-squares gradient methods. */ - bool Energy_Equation; /*!< \brief Solve the energy equation for incompressible flows. */ + Kind_Upwind_Template; /*!< \brief Upwind scheme for the template model. */ bool MUSCL, /*!< \brief MUSCL scheme .*/ MUSCL_Flow, /*!< \brief MUSCL scheme for the flow equations.*/ @@ -579,6 +591,8 @@ class CConfig { SPECIES_MODEL Kind_Species_Model; /*!< \brief Species model definition. */ TURB_SGS_MODEL Kind_SGS_Model; /*!< \brief LES SGS model definition. */ TURB_TRANS_MODEL Kind_Trans_Model; /*!< \brief Transition model definition. */ + TURB_TRANS_CORRELATION Kind_Trans_Correlation; /*!< \brief Transition correlation model definition. */ + su2double hRoughness; /*!< \brief RMS roughness for Transition model. */ unsigned short Kind_ActDisk, Kind_Engine_Inflow, *Kind_Data_Riemann, *Kind_Data_Giles; /*!< \brief Kind of inlet boundary treatment. */ @@ -705,8 +719,10 @@ class CConfig { string *Config_Filenames; /*!< \brief List of names for configuration files. */ SST_OPTIONS *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/ SA_OPTIONS *SA_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model.*/ + LM_OPTIONS *LM_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model.*/ unsigned short nSST_Options; /*!< \brief Number of SST options specified. */ unsigned short nSA_Options; /*!< \brief Number of SA options specified. */ + unsigned short nLM_Options; /*!< \brief Number of SA options specified. */ WALL_FUNCTIONS *Kind_WallFunctions; /*!< \brief The kind of wall function to use for the corresponding markers. */ unsigned short **IntInfo_WallFunctions; /*!< \brief Additional integer information for the wall function markers. */ su2double **DoubleInfo_WallFunctions; /*!< \brief Additional double information for the wall function markers. */ @@ -842,6 +858,7 @@ class CConfig { array CpPolyCoefficientsND{{0.0}}; /*!< \brief Definition of the non-dimensional temperature polynomial coefficients for specific heat Cp. */ array MuPolyCoefficientsND{{0.0}}; /*!< \brief Definition of the non-dimensional temperature polynomial coefficients for viscosity. */ array KtPolyCoefficientsND{{0.0}}; /*!< \brief Definition of the non-dimensional temperature polynomial coefficients for thermal conductivity. */ + su2double TurbIntensityAndViscRatioFreeStream[2]; /*!< \brief Freestream turbulent intensity and viscosity ratio for turbulence and transition models. */ su2double Energy_FreeStream, /*!< \brief Free-stream total energy of the fluid. */ ModVel_FreeStream, /*!< \brief Magnitude of the free-stream velocity of the fluid. */ ModVel_FreeStreamND, /*!< \brief Non-dimensional magnitude of the free-stream velocity of the fluid. */ @@ -850,8 +867,6 @@ class CConfig { Tke_FreeStream, /*!< \brief Total turbulent kinetic energy of the fluid. */ Intermittency_FreeStream, /*!< \brief Freestream intermittency (for sagt transition model) of the fluid. */ ReThetaT_FreeStream, /*!< \brief Freestream Transition Momentum Thickness Reynolds Number (for LM transition model) of the fluid. */ - TurbulenceIntensity_FreeStream, /*!< \brief Freestream turbulent intensity (for sagt transition model) of the fluid. */ - Turb2LamViscRatio_FreeStream, /*!< \brief Ratio of turbulent to laminar viscosity. */ NuFactor_FreeStream, /*!< \brief Ratio of turbulent to laminar viscosity. */ NuFactor_Engine, /*!< \brief Ratio of turbulent to laminar viscosity at the engine. */ SecondaryFlow_ActDisk, /*!< \brief Ratio of turbulent to laminar viscosity at the actuator disk. */ @@ -1103,7 +1118,7 @@ class CConfig { hs_axes[3], /*!< \brief principal axes (x, y, z) of the ellipsoid containing the heat source. */ hs_center[3]; /*!< \brief position of the center of the heat source. */ - unsigned short Riemann_Solver_FEM; /*!< \brief Riemann solver chosen for the DG method. */ + UPWIND Riemann_Solver_FEM; /*!< \brief Riemann solver chosen for the DG method. */ su2double Quadrature_Factor_Straight; /*!< \brief Factor applied during quadrature of elements with a constant Jacobian. */ su2double Quadrature_Factor_Curved; /*!< \brief Factor applied during quadrature of elements with a non-constant Jacobian. */ su2double Quadrature_Factor_Time_ADER_DG; /*!< \brief Factor applied during quadrature in time for ADER-DG. */ @@ -1146,6 +1161,7 @@ class CConfig { bool Multizone_Residual; /*!< \brief Determines if memory should be allocated for the multizone residual. */ SST_ParsedOptions sstParsedOptions; /*!< \brief Additional parameters for the SST turbulence model. */ SA_ParsedOptions saParsedOptions; /*!< \brief Additional parameters for the SA turbulence model. */ + LM_ParsedOptions lmParsedOptions; /*!< \brief Additional parameters for the LM transition model. */ su2double uq_delta_b; /*!< \brief Parameter used to perturb eigenvalues of Reynolds Stress Matrix */ unsigned short eig_val_comp; /*!< \brief Parameter used to determine type of eigenvalue perturbation */ su2double uq_urlx; /*!< \brief Under-relaxation factor */ @@ -1274,7 +1290,7 @@ class CConfig { void addStringListOption(const string name, unsigned short & num_marker, string* & option_field); - void addConvectOption(const string name, unsigned short & space_field, unsigned short & centered_field, unsigned short & upwind_field); + void addConvectOption(const string name, unsigned short & space_field, CENTERED & centered_field, UPWIND & upwind_field); void addConvectFEMOption(const string name, unsigned short & space_field, unsigned short & fem_field); @@ -1301,6 +1317,9 @@ class CConfig { void addInletSpeciesOption(const string name, unsigned short & nMarker_Inlet_Species, string * & Marker_Inlet_Species, su2double** & inlet_species_val, unsigned short & nSpecies_per_Inlet); + void addInletTurbOption(const string name, unsigned short& nMarker_Inlet_Turb, string*& Marker_Inlet_Turb, + su2double** & Turb_Properties, unsigned short & nTurb_Properties); + template void addRiemannOption(const string name, unsigned short & nMarker_Riemann, string * & Marker_Riemann, unsigned short* & option_field, const map & enum_map, su2double* & var1, su2double* & var2, su2double** & FlowDir); @@ -1566,6 +1585,12 @@ class CConfig { */ su2double GetGamma(void) const { return Gamma; } + /*! + * \brief Get the value of the Confinement Parameter. + * \return Value of the constant: Confinement Parameter + */ + su2double GetConfinement_Param(void) const { return Confinement_Param; } + /*! * \brief Get the values of the CFL adaption parameters. * \return Value of CFL adaption parameter @@ -1938,7 +1963,7 @@ class CConfig { * \brief Get the value of the non-dimensionalized freestream turbulence intensity. * \return Non-dimensionalized freestream intensity. */ - su2double GetTurbulenceIntensity_FreeStream(void) const { return TurbulenceIntensity_FreeStream; } + su2double GetTurbulenceIntensity_FreeStream(void) const { return TurbIntensityAndViscRatioFreeStream[0]; } /*! * \brief Get the value of the non-dimensionalized freestream turbulence intensity. @@ -1974,7 +1999,7 @@ class CConfig { * \brief Get the value of the turbulent to laminar viscosity ratio. * \return Ratio of turbulent to laminar viscosity ratio. */ - su2double GetTurb2LamViscRatio_FreeStream(void) const { return Turb2LamViscRatio_FreeStream;} + su2double GetTurb2LamViscRatio_FreeStream(void) const { return TurbIntensityAndViscRatioFreeStream[1]; } /*! * \brief Get the value of the Reynolds length. @@ -2300,8 +2325,8 @@ class CConfig { * \param[in] val_muscl - Define if we apply a MUSCL scheme or not. * \param[in] val_kind_fem - If FEM, what kind of FEM discretization. */ - void SetKind_ConvNumScheme(unsigned short val_kind_convnumscheme, unsigned short val_kind_centered, - unsigned short val_kind_upwind, LIMITER val_kind_slopelimit, + void SetKind_ConvNumScheme(unsigned short val_kind_convnumscheme, CENTERED val_kind_centered, + UPWIND val_kind_upwind, LIMITER val_kind_slopelimit, bool val_muscl, unsigned short val_kind_fem); /*! @@ -3688,7 +3713,7 @@ class CConfig { */ bool GetAUSMMethod(void) const { switch (Kind_Upwind_Flow) { - case AUSM : case AUSMPLUSUP: case AUSMPLUSUP2: case AUSMPWPLUS: case AUSMPLUSM: + case UPWIND::AUSM : case UPWIND::AUSMPLUSUP: case UPWIND::AUSMPLUSUP2: case UPWIND::AUSMPWPLUS: case UPWIND::AUSMPLUSM return true; default: return false; @@ -4304,6 +4329,18 @@ class CConfig { */ TURB_TRANS_MODEL GetKind_Trans_Model(void) const { return Kind_Trans_Model; } + /*! + * \brief Get the kind of the transition correlations. + * \return Kind of the transition correlation. + */ + TURB_TRANS_CORRELATION GetKind_Trans_Correlation(void) const { return Kind_Trans_Correlation; } + + /*! + * \brief Get RMS roughness for Transtion model from config + * \return Value of roughness. + */ + su2double GethRoughness(void) const { return hRoughness; } + /*! * \brief Get the kind of the species model. * \return Kind of the species model. @@ -4341,7 +4378,7 @@ class CConfig { * linearized) that is being solved. * \return Kind of center scheme for the convective terms. */ - unsigned short GetKind_Centered(void) const { return Kind_Centered; } + CENTERED GetKind_Centered(void) const { return Kind_Centered; } /*! * \brief Get kind of upwind scheme for the convective terms. @@ -4350,7 +4387,7 @@ class CConfig { * linearized) that is being solved. * \return Kind of upwind scheme for the convective terms. */ - unsigned short GetKind_Upwind(void) const { return Kind_Upwind; } + UPWIND GetKind_Upwind(void) const { return Kind_Upwind; } /*! * \brief Get if the upwind scheme used MUSCL or not. @@ -4521,7 +4558,7 @@ class CConfig { * during the computation. * \return Kind of center convective numerical scheme for the flow equations. */ - ENUM_CENTERED GetKind_Centered_Flow(void) const { return static_cast(Kind_Centered_Flow); } + CENTERED GetKind_Centered_Flow(void) const { return Kind_Centered_Flow; } /*! * \brief Get the kind of center convective numerical scheme for the plasma equations. @@ -4537,7 +4574,7 @@ class CConfig { * during the computation. * \return Kind of upwind convective numerical scheme for the flow equations. */ - unsigned short GetKind_Upwind_Flow(void) const { return Kind_Upwind_Flow; } + UPWIND GetKind_Upwind_Flow(void) const { return Kind_Upwind_Flow; } /*! * \brief Get the kind of finite element convective numerical scheme for the flow equations. @@ -4666,7 +4703,7 @@ class CConfig { * during the computation. * \return Kind of center convective numerical scheme for the adjoint flow equations. */ - unsigned short GetKind_Centered_AdjFlow(void) const { return Kind_Centered_AdjFlow; } + CENTERED GetKind_Centered_AdjFlow(void) const { return Kind_Centered_AdjFlow; } /*! * \brief Get the kind of upwind convective numerical scheme for the adjoint flow equations. @@ -4674,7 +4711,7 @@ class CConfig { * during the computation. * \return Kind of upwind convective numerical scheme for the adjoint flow equations. */ - unsigned short GetKind_Upwind_AdjFlow(void) const { return Kind_Upwind_AdjFlow; } + UPWIND GetKind_Upwind_AdjFlow(void) const { return Kind_Upwind_AdjFlow; } /*! * \brief Value of the calibrated constant for the high order method (center scheme). @@ -4718,7 +4755,7 @@ class CConfig { * during the computation. * \return Kind of center convective numerical scheme for the turbulence equations. */ - unsigned short GetKind_Centered_Turb(void) const { return Kind_Centered_Turb; } + CENTERED GetKind_Centered_Turb(void) const { return Kind_Centered_Turb; } /*! * \brief Get the kind of upwind convective numerical scheme for the turbulence equations. @@ -4726,7 +4763,7 @@ class CConfig { * during the computation. * \return Kind of upwind convective numerical scheme for the turbulence equations. */ - unsigned short GetKind_Upwind_Turb(void) const { return Kind_Upwind_Turb; } + UPWIND GetKind_Upwind_Turb(void) const { return Kind_Upwind_Turb; } /*! * \brief Get the kind of integration scheme (explicit or implicit) @@ -4770,7 +4807,7 @@ class CConfig { * during the computation. * \return Kind of center convective numerical scheme for the Species equations. */ - unsigned short GetKind_Centered_Species() const { return Kind_Centered_Species; } + CENTERED GetKind_Centered_Species() const { return Kind_Centered_Species; } /*! * \brief Get the kind of upwind convective numerical scheme for the Species equations. @@ -4778,7 +4815,22 @@ class CConfig { * during the computation. * \return Kind of upwind convective numerical scheme for the Species equations. */ - unsigned short GetKind_Upwind_Species() const { return Kind_Upwind_Species; } + UPWIND GetKind_Upwind_Species() const { return Kind_Upwind_Species; } + + /*! + * \brief Returns true if bounded scalar mode is on for species transport. + */ + bool GetBounded_Species() const { return (Kind_Upwind_Species == UPWIND::BOUNDED_SCALAR); } + + /*! + * \brief Returns true if bounded scalar mode is on for turbulence transport. + */ + bool GetBounded_Turb() const { return (Kind_Upwind_Turb == UPWIND::BOUNDED_SCALAR); } + + /*! + * \brief Returns true if bounded scalar mode is used for any equation. + */ + bool GetBounded_Scalar() const { return GetBounded_Species() || GetBounded_Turb(); } /*! * \brief Get the kind of convective numerical scheme for the heat equation. @@ -4794,7 +4846,7 @@ class CConfig { * during the computation. * \return Kind of center convective numerical scheme for the adjoint turbulence equations. */ - unsigned short GetKind_Centered_AdjTurb(void) const { return Kind_Centered_AdjTurb; } + CENTERED GetKind_Centered_AdjTurb(void) const { return Kind_Centered_AdjTurb; } /*! * \brief Get the kind of upwind convective numerical scheme for the adjoint turbulence equations. @@ -4802,7 +4854,7 @@ class CConfig { * during the computation. * \return Kind of upwind convective numerical scheme for the adjoint turbulence equations. */ - unsigned short GetKind_Upwind_AdjTurb(void) const { return Kind_Upwind_AdjTurb; } + UPWIND GetKind_Upwind_AdjTurb(void) const { return Kind_Upwind_AdjTurb; } /*! * \brief Provides information about the way in which the turbulence will be treated by the @@ -5959,6 +6011,12 @@ class CConfig { */ bool GetGravityForce(void) const { return GravityForce; } + /*! + * \brief Get information about the Vorticity Confinement. + * \return TRUE if it uses Vorticity Confinement; otherwise FALSE. + */ + bool GetVorticityConfinement(void) const { return VorticityConfinement; } + /*! * \brief Get information about the body force. * \return TRUE if it uses a body force; otherwise FALSE. @@ -6649,6 +6707,13 @@ class CConfig { */ const su2double* GetInlet_SpeciesVal(string val_index) const; + /*! + * \brief Get the turbulent properties values at an inlet boundary + * \param[in] val_index - Index corresponding to the inlet boundary. + * \return The inlet turbulent values. + */ + const su2double* GetInlet_TurbVal(string val_index) const; + /*! * \brief Get the total pressure at an nacelle boundary. * \param[in] val_index - Index corresponding to the inlet boundary. @@ -8898,7 +8963,7 @@ class CConfig { * \note This value is obtained from the config file, and it is constant during the computation. * \return Kind of Riemann solver for the DG method (FEM flow solver). */ - unsigned short GetRiemann_Solver_FEM(void) const { return Riemann_Solver_FEM; } + UPWIND GetRiemann_Solver_FEM(void) const { return Riemann_Solver_FEM; } /*! * \brief Get the factor applied during quadrature of straight elements. @@ -9651,4 +9716,10 @@ class CConfig { */ SA_ParsedOptions GetSAParsedOptions() const { return saParsedOptions; } + /*! + * \brief Get parsed LM option data structure. + * \return LM option data structure. + */ + LM_ParsedOptions GetLMParsedOptions() const { return lmParsedOptions; } + }; diff --git a/Common/include/adt/CADTBaseClass.hpp b/Common/include/adt/CADTBaseClass.hpp index 92f7977a748..b9ad331cdbc 100644 --- a/Common/include/adt/CADTBaseClass.hpp +++ b/Common/include/adt/CADTBaseClass.hpp @@ -2,7 +2,7 @@ * \file CADTBaseClass.hpp * \brief Base class for storing an ADT in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/adt/CADTComparePointClass.hpp b/Common/include/adt/CADTComparePointClass.hpp index f1b5ffc1662..e405a7a3aa6 100644 --- a/Common/include/adt/CADTComparePointClass.hpp +++ b/Common/include/adt/CADTComparePointClass.hpp @@ -2,7 +2,7 @@ * \file CADTComparePointClass.hpp * \brief subroutines for comparing two points in an alternating digital tree (ADT). * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/adt/CADTElemClass.hpp b/Common/include/adt/CADTElemClass.hpp index 8fbb97b8696..5acd203af22 100644 --- a/Common/include/adt/CADTElemClass.hpp +++ b/Common/include/adt/CADTElemClass.hpp @@ -2,7 +2,7 @@ * \file CADTElemClass.hpp * \brief Class for storing an ADT of (linear) elements in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -36,7 +36,7 @@ * \ingroup ADT * \brief Class for storing an ADT of (linear) elements in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CADTElemClass : public CADTBaseClass { private: diff --git a/Common/include/adt/CADTNodeClass.hpp b/Common/include/adt/CADTNodeClass.hpp index c6f5a565628..ac311b9e2c0 100644 --- a/Common/include/adt/CADTNodeClass.hpp +++ b/Common/include/adt/CADTNodeClass.hpp @@ -2,7 +2,7 @@ * \file CADTNodeClass.hpp * \brief Class for storing the information needed in a node of an ADT. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/adt/CADTPointsOnlyClass.hpp b/Common/include/adt/CADTPointsOnlyClass.hpp index 7d73582b6a5..8157a9c92d9 100644 --- a/Common/include/adt/CADTPointsOnlyClass.hpp +++ b/Common/include/adt/CADTPointsOnlyClass.hpp @@ -2,7 +2,7 @@ * \file CADTPointsOnlyClass.hpp * \brief Class for storing an ADT of only points in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/adt/CBBoxTargetClass.hpp b/Common/include/adt/CBBoxTargetClass.hpp index 27d539b0660..3e294ad765d 100644 --- a/Common/include/adt/CBBoxTargetClass.hpp +++ b/Common/include/adt/CBBoxTargetClass.hpp @@ -3,7 +3,7 @@ * \brief Class for storing the information of a possible bounding box candidate during a minimum distance search. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Class for storing the information of a possible bounding box candidate during a minimum distance search. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ struct CBBoxTargetClass { diff --git a/Common/include/basic_types/ad_structure.hpp b/Common/include/basic_types/ad_structure.hpp index 27e7946a622..b03660f9d5f 100644 --- a/Common/include/basic_types/ad_structure.hpp +++ b/Common/include/basic_types/ad_structure.hpp @@ -2,7 +2,7 @@ * \file ad_structure.hpp * \brief Main routines for the algorithmic differentiation (AD) structure. * \author T. Albring, J. Blühdorn - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/basic_types/datatype_structure.hpp b/Common/include/basic_types/datatype_structure.hpp index 8b708830820..5abca7ead4a 100644 --- a/Common/include/basic_types/datatype_structure.hpp +++ b/Common/include/basic_types/datatype_structure.hpp @@ -2,7 +2,7 @@ * \file datatype_structure.hpp * \brief Headers for generalized datatypes, defines an interface for AD types. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/code_config.hpp b/Common/include/code_config.hpp index 7bb34cffbdb..1a58061896c 100644 --- a/Common/include/code_config.hpp +++ b/Common/include/code_config.hpp @@ -2,7 +2,7 @@ * \file code_config.hpp * \brief Header file for collecting common macros, definitions and type configurations. * \author T. Albring, P. Gomes, J. Blühdorn - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/C2DContainer.hpp b/Common/include/containers/C2DContainer.hpp index 5ad79a52d70..5230a5a7b65 100644 --- a/Common/include/containers/C2DContainer.hpp +++ b/Common/include/containers/C2DContainer.hpp @@ -2,7 +2,7 @@ * \file C2DContainer.hpp * \brief A templated vector/matrix object. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/CFastFindAndEraseQueue.hpp b/Common/include/containers/CFastFindAndEraseQueue.hpp index d021fe62bc7..b612bf745be 100644 --- a/Common/include/containers/CFastFindAndEraseQueue.hpp +++ b/Common/include/containers/CFastFindAndEraseQueue.hpp @@ -3,7 +3,7 @@ * \brief A queue-type container (push back, pop front), but with * fast deletion of arbitrary items (possibly in the middle). * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/CFileReaderLUT.hpp b/Common/include/containers/CFileReaderLUT.hpp index a000b2ddc60..fd3c93c7dfd 100644 --- a/Common/include/containers/CFileReaderLUT.hpp +++ b/Common/include/containers/CFileReaderLUT.hpp @@ -2,7 +2,7 @@ * \file CFileReaderLUT.hpp * \brief reading lookup table for tabulated fluid properties * \author D. Mayer, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/CLookUpTable.hpp b/Common/include/containers/CLookUpTable.hpp index ecb59c97aa1..8e3a720d75d 100644 --- a/Common/include/containers/CLookUpTable.hpp +++ b/Common/include/containers/CLookUpTable.hpp @@ -2,7 +2,7 @@ * \file CLookupTable.hpp * \brief tabulation of fluid properties * \author D. Mayer, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/CTrapezoidalMap.hpp b/Common/include/containers/CTrapezoidalMap.hpp index 284c2c9d88a..e67b43fbebf 100644 --- a/Common/include/containers/CTrapezoidalMap.hpp +++ b/Common/include/containers/CTrapezoidalMap.hpp @@ -2,7 +2,7 @@ * \file CTrapezoidalMap.hpp * \brief Implementation of the trapezoidal map for tabulation and lookup of fluid properties * \author D. Mayer, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -38,7 +38,7 @@ * \ingroup LookUpInterp * \brief Construction of trapezoidal map for tabulated lookup * \author: D. Mayer, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CTrapezoidalMap { protected: diff --git a/Common/include/containers/CVertexMap.hpp b/Common/include/containers/CVertexMap.hpp index 46975b3bc62..d3d0134525a 100644 --- a/Common/include/containers/CVertexMap.hpp +++ b/Common/include/containers/CVertexMap.hpp @@ -2,7 +2,7 @@ * \file CVertexMap.hpp * \brief An index to index lookup vector. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/container_decorators.hpp b/Common/include/containers/container_decorators.hpp index da40ee702b3..b3c1c2a08d4 100644 --- a/Common/include/containers/container_decorators.hpp +++ b/Common/include/containers/container_decorators.hpp @@ -3,7 +3,7 @@ * \brief Collection of small classes that decorate C2DContainer to * augment its functionality, e.g. give it extra dimensions. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/fem/fem_cgns_elements.hpp b/Common/include/fem/fem_cgns_elements.hpp index a42a78ddcfb..de8ed3d8757 100644 --- a/Common/include/fem/fem_cgns_elements.hpp +++ b/Common/include/fem/fem_cgns_elements.hpp @@ -4,7 +4,7 @@ * with high order elements. * The functions are in the cgns_elements.cpp file. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/fem/fem_gauss_jacobi_quadrature.hpp b/Common/include/fem/fem_gauss_jacobi_quadrature.hpp index c05261a4b32..8f5cfa06810 100644 --- a/Common/include/fem/fem_gauss_jacobi_quadrature.hpp +++ b/Common/include/fem/fem_gauss_jacobi_quadrature.hpp @@ -6,7 +6,7 @@ All the functions in this class are based on the program JACOBI_RULE of John Burkardt. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -95,7 +95,7 @@ using namespace std; * \brief Class used to determine the quadrature points of the Gauss Jacobi integration rules. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CGaussJacobiQuadrature { public: diff --git a/Common/include/fem/fem_geometry_structure.hpp b/Common/include/fem/fem_geometry_structure.hpp index 8674fe6f451..d90a4a05c12 100644 --- a/Common/include/fem/fem_geometry_structure.hpp +++ b/Common/include/fem/fem_geometry_structure.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for creating the geometrical structure for the FEM solver. * The subroutines and functions are in the fem_geometry_structure.cpp file. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,7 +41,7 @@ using namespace std; /*! * \class CLong3T * \brief Help class used to store three longs as one entity. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ struct CLong3T { long long0 = 0; /*!< \brief First long to store in this class. */ @@ -59,7 +59,7 @@ struct CLong3T { * \class CReorderElements * \brief Class, used to reorder the owned elements after the partitioning. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CReorderElements { private: @@ -131,7 +131,7 @@ class CReorderElements { * \brief Functor, used for a different sorting of the faces than the < operator * of CFaceOfElement. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CVolumeElementFEM; // Forward declaration to avoid problems. class CSortFaces { @@ -172,7 +172,7 @@ class CSortFaces { * \brief Functor, used for a different sorting of the faces than the < operator * of CSurfaceElementFEM. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ struct CSurfaceElementFEM; // Forward declaration to avoid problems. struct CSortBoundaryFaces { @@ -189,7 +189,7 @@ struct CSortBoundaryFaces { * \class CVolumeElementFEM * \brief Class to store a volume element for the FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CVolumeElementFEM { public: @@ -283,7 +283,7 @@ class CVolumeElementFEM { * \class CPointFEM * \brief Class to a point for the FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ struct CPointFEM { unsigned long globalID; /*!< \brief The global ID of this point in the grid. */ @@ -308,7 +308,7 @@ struct CPointFEM { * \class CInternalFaceElementFEM * \brief Class to store an internal face for the FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ struct CInternalFaceElementFEM { unsigned short VTK_Type; /*!< \brief Element type using the VTK convention. */ @@ -353,7 +353,7 @@ struct CInternalFaceElementFEM { * \class CSurfaceElementFEM * \brief Class to store a surface element for the FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ struct CSurfaceElementFEM { unsigned short VTK_Type; /*!< \brief Element type using the VTK convention. */ @@ -415,7 +415,7 @@ struct CSurfaceElementFEM { * \class CBoundaryFEM * \brief Class to store a boundary for the FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ struct CBoundaryFEM { string markerTag; /*!< \brief Marker tag of this boundary. */ @@ -438,7 +438,7 @@ struct CBoundaryFEM { * \class CMeshFEM * \brief Base class for the FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CMeshFEM: public CGeometry { protected: @@ -712,7 +712,7 @@ class CMeshFEM: public CGeometry { * \class CMeshFEM_DG * \brief Class which contains all the variables for the DG FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CMeshFEM_DG: public CMeshFEM { protected: diff --git a/Common/include/fem/fem_standard_element.hpp b/Common/include/fem/fem_standard_element.hpp index b275b3ec027..727edc20e1e 100644 --- a/Common/include/fem/fem_standard_element.hpp +++ b/Common/include/fem/fem_standard_element.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main functions for the FEM standard elements. * The functions are in the fem_standard_element.cpp file. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -40,7 +40,7 @@ using namespace std; * \class CFEMStandardElementBase * \brief Base class for a FEM standard element. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEMStandardElementBase { protected: @@ -781,7 +781,7 @@ class CFEMStandardElementBase { * \class CFEMStandardElement * \brief Class to define a FEM standard element. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEMStandardElement : public CFEMStandardElementBase { private: @@ -1220,7 +1220,7 @@ class CFEMStandardElement : public CFEMStandardElementBase { * \class CFEMStandardInternalFace * \brief Class to define a FEM standard internal face. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEMStandardInternalFace : public CFEMStandardElementBase { private: @@ -1546,7 +1546,7 @@ class CFEMStandardInternalFace : public CFEMStandardElementBase { * \class CFEMStandardBoundaryFace * \brief Class to define a FEM standard boundary face. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEMStandardBoundaryFace : public CFEMStandardElementBase { private: diff --git a/Common/include/fem/geometry_structure_fem_part.hpp b/Common/include/fem/geometry_structure_fem_part.hpp index 52d46439035..d39ca499a41 100644 --- a/Common/include/fem/geometry_structure_fem_part.hpp +++ b/Common/include/fem/geometry_structure_fem_part.hpp @@ -2,7 +2,7 @@ * \file geometry_structure_fem_part.hpp * \brief Helper classes for the Fluid FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/CDummyGeometry.hpp b/Common/include/geometry/CDummyGeometry.hpp index 39200d39d5f..7ceb1788df0 100644 --- a/Common/include/geometry/CDummyGeometry.hpp +++ b/Common/include/geometry/CDummyGeometry.hpp @@ -2,7 +2,7 @@ * \file CDummyGeometry.hpp * \brief Headers of the dummy geometry class used in "dry run" mode. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/CGeometry.hpp b/Common/include/geometry/CGeometry.hpp index cfcc6d237f3..c5ffdb5cf7b 100644 --- a/Common/include/geometry/CGeometry.hpp +++ b/Common/include/geometry/CGeometry.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for creating the geometrical structure. * The subroutines and functions are in the CGeometry.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -28,6 +28,7 @@ #pragma once +#include #include "../parallelization/mpi_structure.hpp" #ifdef HAVE_METIS @@ -72,7 +73,7 @@ using namespace std; * \author F. Palacios */ class CGeometry { -protected: + protected: enum : size_t {OMP_MIN_SIZE = 32}; /*!< \brief Chunk size for small loops. */ enum : size_t {MAXNDIM = 3}; @@ -186,7 +187,30 @@ class CGeometry { ColMajorMatrix CoarseGridColor_; /*!< \brief Coarse grid levels, colorized. */ -public: + public: + /*!< \brief Linelets (mesh lines perpendicular to stretching direction). */ + struct CLineletInfo { + /*!< \brief Detect isotropic mesh region. */ + static passivedouble ALPHA_ISOTROPIC() { return 0.8; } + enum : unsigned long {MAX_LINELET_POINTS = 32}; /*!< \brief Maximum points per linelet. */ + + std::vector> linelets; /*!< \brief Point indices for each linelet. */ + + /*!< \brief Index of the linelet of each point ("linelets" transfered to points). */ + std::vector lineletIdx; + + /*!< \brief Signals that a point is not on a linelet. */ + enum : unsigned {NO_LINELET = std::numeric_limits::max()}; + + /*!< \brief Coloring for OpenMP parallelization, "linelets" is sorted by color. */ + std::vector colorOffsets; + + std::vector lineletColor; /*!< \brief Coloring transfered to points, for visualization. */ + }; + protected: + mutable CLineletInfo lineletInfo; + + public: /*--- Main geometric elements of the grid. ---*/ CPrimalGrid** elem{nullptr}; /*!< \brief Element vector (primal grid information). */ @@ -1658,6 +1682,11 @@ class CGeometry { */ inline unsigned long GetElementColorGroupSize() const { return elemColorGroupSize; } + /*! + * \brief Get the linelet definition, this function computes the linelets if that has not been done yet. + */ + const CLineletInfo& GetLineletInfo(const CConfig* config) const; + /*! * \brief Compute an ADT including the coordinates of all viscous markers * \param[in] config - Definition of the particular problem. diff --git a/Common/include/geometry/CMultiGridGeometry.hpp b/Common/include/geometry/CMultiGridGeometry.hpp index 3473356d68f..375974fe1d5 100644 --- a/Common/include/geometry/CMultiGridGeometry.hpp +++ b/Common/include/geometry/CMultiGridGeometry.hpp @@ -2,7 +2,7 @@ * \file CMultiGridGeometry.hpp * \brief Headers of the multigrid geometry class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/CMultiGridQueue.hpp b/Common/include/geometry/CMultiGridQueue.hpp index b6006ce6d28..e74667d865f 100644 --- a/Common/include/geometry/CMultiGridQueue.hpp +++ b/Common/include/geometry/CMultiGridQueue.hpp @@ -3,7 +3,7 @@ * \brief Header of the multigrid queue class for the FVM solver. * The subroutines and functions are in the CMultiGridQueue.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/CPhysicalGeometry.hpp b/Common/include/geometry/CPhysicalGeometry.hpp index 3a23507f2c3..a82abaeab91 100644 --- a/Common/include/geometry/CPhysicalGeometry.hpp +++ b/Common/include/geometry/CPhysicalGeometry.hpp @@ -2,7 +2,7 @@ * \file CPhysicalGeometry.hpp * \brief Headers of the physical geometry class used to read meshes from file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CDualGrid.hpp b/Common/include/geometry/dual_grid/CDualGrid.hpp index 7d686be406c..07b08a2aa5f 100644 --- a/Common/include/geometry/dual_grid/CDualGrid.hpp +++ b/Common/include/geometry/dual_grid/CDualGrid.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for doing the complete dual grid structure. * The subroutines and functions are in the CDualGrid.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CEdge.hpp b/Common/include/geometry/dual_grid/CEdge.hpp index 98310c94c97..657021fb848 100644 --- a/Common/include/geometry/dual_grid/CEdge.hpp +++ b/Common/include/geometry/dual_grid/CEdge.hpp @@ -2,7 +2,7 @@ * \file CEdge.hpp * \brief Declaration of the edge class CEdge.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CPoint.hpp b/Common/include/geometry/dual_grid/CPoint.hpp index ec27487896c..b5750ddb4d2 100644 --- a/Common/include/geometry/dual_grid/CPoint.hpp +++ b/Common/include/geometry/dual_grid/CPoint.hpp @@ -3,7 +3,7 @@ * \brief Declaration of the point class that stores geometric and adjacency * information for dual control volumes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CTurboVertex.hpp b/Common/include/geometry/dual_grid/CTurboVertex.hpp index 0fb66e5f4c5..7f10e08f4b8 100644 --- a/Common/include/geometry/dual_grid/CTurboVertex.hpp +++ b/Common/include/geometry/dual_grid/CTurboVertex.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for doing the complete dual grid structure. * The subroutines and functions are in the CTurboVertex.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CVertex.hpp b/Common/include/geometry/dual_grid/CVertex.hpp index a53be9453c6..e280a4303bc 100644 --- a/Common/include/geometry/dual_grid/CVertex.hpp +++ b/Common/include/geometry/dual_grid/CVertex.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for doing the complete dual grid structure. * The subroutines and functions are in the CVertex.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/elements/CElement.hpp b/Common/include/geometry/elements/CElement.hpp index 9b34b73935a..87825a9f6ff 100644 --- a/Common/include/geometry/elements/CElement.hpp +++ b/Common/include/geometry/elements/CElement.hpp @@ -3,7 +3,7 @@ * \brief Main header of the Finite Element structure declaring the abstract * interface and the available finite element types. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -952,7 +952,7 @@ class CPYRAM5 final : public CElementWithKnownSizes<5,5,3> { * \ingroup FemAlgos * \brief Prism element with 6 Gauss Points * \author R. Sanchez, F. Palacios, A. Bueno, T. Economon, S. Padron. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CPRISM6 final : public CElementWithKnownSizes<6,6,3> { private: diff --git a/Common/include/geometry/elements/CElementProperty.hpp b/Common/include/geometry/elements/CElementProperty.hpp index 380eb55e677..2fb9408de4d 100644 --- a/Common/include/geometry/elements/CElementProperty.hpp +++ b/Common/include/geometry/elements/CElementProperty.hpp @@ -2,7 +2,7 @@ * \file CElementProperty.hpp * \brief Light classes to define finite element properties. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -32,7 +32,7 @@ * \ingroup Elasticity_Equations * \brief Base class for defining element properties. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CProperty { protected: @@ -108,7 +108,7 @@ class CProperty { * \ingroup Elasticity_Equations * \brief Class for defining element properties for the structural solver. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CElementProperty final : public CProperty { private: diff --git a/Common/include/geometry/elements/CGaussVariable.hpp b/Common/include/geometry/elements/CGaussVariable.hpp index 235ae4eb6d4..8036543e266 100644 --- a/Common/include/geometry/elements/CGaussVariable.hpp +++ b/Common/include/geometry/elements/CGaussVariable.hpp @@ -2,7 +2,7 @@ * \file CGaussVariable.hpp * \brief Light-weight class to store Gaussian point information. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -33,7 +33,7 @@ * \class CGaussVariable * \ingroup FemAlgos * \brief Main class for defining the gaussian points. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CGaussVariable { protected: diff --git a/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp index 00fb18a02fb..5b345bd348c 100644 --- a/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CBoxMeshReaderFVM. * The implementations are in the CBoxMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp index 3b27f63f74d..358f9e36d43 100644 --- a/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CCGNSMeshReaderFVM. * The implementations are in the CCGNSMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/meshreader/CMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CMeshReaderFVM.hpp index 477c1de077c..c812c73bae9 100644 --- a/Common/include/geometry/meshreader/CMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CMeshReaderFVM.hpp @@ -4,7 +4,7 @@ * \brief Header file for the class CMeshReaderFVM. * The implementations are in the CMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp index 0a7f42db09a..ea225bc46fc 100644 --- a/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CRectangularMeshReaderFVM. * The implementations are in the CRectangularMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp index 2bc0aacd8e1..5302a1ec06c 100644 --- a/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CSU2ASCIIMeshReaderFVM. * The implementations are in the CSU2ASCIIMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CHexahedron.hpp b/Common/include/geometry/primal_grid/CHexahedron.hpp index c44500810b2..7683791ab76 100644 --- a/Common/include/geometry/primal_grid/CHexahedron.hpp +++ b/Common/include/geometry/primal_grid/CHexahedron.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CHexahedron.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CLine.hpp b/Common/include/geometry/primal_grid/CLine.hpp index 01dc25324ea..4c0b7a0fd97 100644 --- a/Common/include/geometry/primal_grid/CLine.hpp +++ b/Common/include/geometry/primal_grid/CLine.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CLine.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CPrimalGrid.hpp b/Common/include/geometry/primal_grid/CPrimalGrid.hpp index 8ad0c4056b4..9f169b3e120 100644 --- a/Common/include/geometry/primal_grid/CPrimalGrid.hpp +++ b/Common/include/geometry/primal_grid/CPrimalGrid.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the primal_grid_structure.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp b/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp index f078974c59e..e0a4f7809f1 100644 --- a/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp +++ b/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CPrimalGridBoundFEM.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -33,7 +33,7 @@ /*! * \class CPrimalGridBoundFEM * \brief Class to define primal grid boundary element for the FEM solver. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CPrimalGridBoundFEM final: public CPrimalGrid { private: diff --git a/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp b/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp index 773783be452..539c5ac29b1 100644 --- a/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp +++ b/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CPrimalGridFEM.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ /*! * \class CPrimalGridFEM * \brief Class to define primal grid element for the FEM solver. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CPrimalGridFEM final: public CPrimalGrid { private: diff --git a/Common/include/geometry/primal_grid/CPrism.hpp b/Common/include/geometry/primal_grid/CPrism.hpp index 64782bf867b..45f36344e5f 100644 --- a/Common/include/geometry/primal_grid/CPrism.hpp +++ b/Common/include/geometry/primal_grid/CPrism.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CPrism.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CPyramid.hpp b/Common/include/geometry/primal_grid/CPyramid.hpp index ed909b48b37..1b3c326a177 100644 --- a/Common/include/geometry/primal_grid/CPyramid.hpp +++ b/Common/include/geometry/primal_grid/CPyramid.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CPyramid.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CQuadrilateral.hpp b/Common/include/geometry/primal_grid/CQuadrilateral.hpp index 1de14f32e27..512dd0e8702 100644 --- a/Common/include/geometry/primal_grid/CQuadrilateral.hpp +++ b/Common/include/geometry/primal_grid/CQuadrilateral.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CQuadrilateral.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CTetrahedron.hpp b/Common/include/geometry/primal_grid/CTetrahedron.hpp index 0999dc1287d..eb09b738514 100644 --- a/Common/include/geometry/primal_grid/CTetrahedron.hpp +++ b/Common/include/geometry/primal_grid/CTetrahedron.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CTetrahedron.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CTriangle.hpp b/Common/include/geometry/primal_grid/CTriangle.hpp index 67d3b397a47..b1a67a7c6e7 100644 --- a/Common/include/geometry/primal_grid/CTriangle.hpp +++ b/Common/include/geometry/primal_grid/CTriangle.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CTriangle.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CVertexMPI.hpp b/Common/include/geometry/primal_grid/CVertexMPI.hpp index adb2fa44d9b..4b9691a324e 100644 --- a/Common/include/geometry/primal_grid/CVertexMPI.hpp +++ b/Common/include/geometry/primal_grid/CVertexMPI.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the primal_grid_structure.cpp file. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/graph_coloring_structure.hpp b/Common/include/graph_coloring_structure.hpp index 197c01baa28..69fb47cc5e8 100644 --- a/Common/include/graph_coloring_structure.hpp +++ b/Common/include/graph_coloring_structure.hpp @@ -4,7 +4,7 @@ * coloring of a given graph. The functions are in the * graph_coloring_structure.cpp file. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,7 +41,7 @@ using namespace std; * \ingroup Graph * \brief Class, which provides distributed graph coloring algorithms. * \author: E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CGraphColoringStructure { public: diff --git a/Common/include/grid_movement/CBSplineBlending.hpp b/Common/include/grid_movement/CBSplineBlending.hpp index 8937929e390..3d09ce98468 100644 --- a/Common/include/grid_movement/CBSplineBlending.hpp +++ b/Common/include/grid_movement/CBSplineBlending.hpp @@ -3,7 +3,7 @@ * \brief Headers of the CBSplineBlending class. * Defines blending using uniform BSplines * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CBezierBlending.hpp b/Common/include/grid_movement/CBezierBlending.hpp index 08d3fb07f60..042292eb908 100644 --- a/Common/include/grid_movement/CBezierBlending.hpp +++ b/Common/include/grid_movement/CBezierBlending.hpp @@ -3,7 +3,7 @@ * \brief Headers of the CBezierBlending class. * Defines blending using Bernsteinpolynomials (Bezier Curves) * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CFreeFormBlending.hpp b/Common/include/grid_movement/CFreeFormBlending.hpp index e52e41114a2..0c6edf54686 100644 --- a/Common/include/grid_movement/CFreeFormBlending.hpp +++ b/Common/include/grid_movement/CFreeFormBlending.hpp @@ -3,7 +3,7 @@ * \brief Headers of the CFreeFormBlending class. * It is the parent class for the FFD blending function * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CFreeFormDefBox.hpp b/Common/include/grid_movement/CFreeFormDefBox.hpp index 65bbfb17ba3..745f8a4bb6c 100644 --- a/Common/include/grid_movement/CFreeFormDefBox.hpp +++ b/Common/include/grid_movement/CFreeFormDefBox.hpp @@ -2,7 +2,7 @@ * \file CFreeFormDefBox.hpp * \brief Headers of the CFreeFormDefBox class. * \author F. Palacios & A. Galdran. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CGridMovement.hpp b/Common/include/grid_movement/CGridMovement.hpp index 2b312232f59..6ab5792c413 100644 --- a/Common/include/grid_movement/CGridMovement.hpp +++ b/Common/include/grid_movement/CGridMovement.hpp @@ -2,7 +2,7 @@ * \file CGridMovement.hpp * \brief Headers of the CGridMovement class * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CSurfaceMovement.hpp b/Common/include/grid_movement/CSurfaceMovement.hpp index 48a356626c4..c6b6198b4a9 100644 --- a/Common/include/grid_movement/CSurfaceMovement.hpp +++ b/Common/include/grid_movement/CSurfaceMovement.hpp @@ -2,7 +2,7 @@ * \file CSurfaceMovement.hpp * \brief Headers of the CSurfaceMovement class. * \author F. Palacios, T. Economon. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CVolumetricMovement.hpp b/Common/include/grid_movement/CVolumetricMovement.hpp index 0e31f34970c..0be1b93d65e 100644 --- a/Common/include/grid_movement/CVolumetricMovement.hpp +++ b/Common/include/grid_movement/CVolumetricMovement.hpp @@ -2,7 +2,7 @@ * \file CVolumetricMovement.hpp * \brief Headers of the CVolumetricMovement class. * \author F. Palacios, A. Bueno, T. Economon, S. Padron. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CInterpolator.hpp b/Common/include/interface_interpolation/CInterpolator.hpp index f4aa4fd71a3..a398cd7679c 100644 --- a/Common/include/interface_interpolation/CInterpolator.hpp +++ b/Common/include/interface_interpolation/CInterpolator.hpp @@ -2,7 +2,7 @@ * \file CInterpolator.hpp * \brief Base class for multiphysics interpolation. * \author H. Kline - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CInterpolatorFactory.hpp b/Common/include/interface_interpolation/CInterpolatorFactory.hpp index 922bb647b13..c1531e95dea 100644 --- a/Common/include/interface_interpolation/CInterpolatorFactory.hpp +++ b/Common/include/interface_interpolation/CInterpolatorFactory.hpp @@ -1,7 +1,7 @@ /*! * \file CInterpolatorFactory.hpp * \brief Factory to generate interpolator objects. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CIsoparametric.hpp b/Common/include/interface_interpolation/CIsoparametric.hpp index bf43b5990ec..8f357061985 100644 --- a/Common/include/interface_interpolation/CIsoparametric.hpp +++ b/Common/include/interface_interpolation/CIsoparametric.hpp @@ -2,7 +2,7 @@ * \file CIsoparametric.hpp * \brief Isoparametric interpolation using FE shape functions. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CMirror.hpp b/Common/include/interface_interpolation/CMirror.hpp index d537f3c12b9..8a6d9ad3541 100644 --- a/Common/include/interface_interpolation/CMirror.hpp +++ b/Common/include/interface_interpolation/CMirror.hpp @@ -2,7 +2,7 @@ * \file CMirror.hpp * \brief Mirror interpolation for the conservative (work-wise) approach in FSI problems. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CNearestNeighbor.hpp b/Common/include/interface_interpolation/CNearestNeighbor.hpp index 437218f60af..732a511fe84 100644 --- a/Common/include/interface_interpolation/CNearestNeighbor.hpp +++ b/Common/include/interface_interpolation/CNearestNeighbor.hpp @@ -2,7 +2,7 @@ * \file CNearestNeighbor.hpp * \brief Nearest Neighbor interpolation class. * \author H. Kline - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CRadialBasisFunction.hpp b/Common/include/interface_interpolation/CRadialBasisFunction.hpp index 9f9d3d957fc..4a53ace572e 100644 --- a/Common/include/interface_interpolation/CRadialBasisFunction.hpp +++ b/Common/include/interface_interpolation/CRadialBasisFunction.hpp @@ -2,7 +2,7 @@ * \file CRadialBasisFunction.hpp * \brief Radial basis function interpolation. * \author Joel Ho, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CSlidingMesh.hpp b/Common/include/interface_interpolation/CSlidingMesh.hpp index df7eef3ae04..770733c3665 100644 --- a/Common/include/interface_interpolation/CSlidingMesh.hpp +++ b/Common/include/interface_interpolation/CSlidingMesh.hpp @@ -2,7 +2,7 @@ * \file CSlidingMesh.hpp * \brief Sliding mesh interpolation. * \author H. Kline - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CMatrixVectorProduct.hpp b/Common/include/linear_algebra/CMatrixVectorProduct.hpp index 5b851f3ab3d..577f74aa3db 100644 --- a/Common/include/linear_algebra/CMatrixVectorProduct.hpp +++ b/Common/include/linear_algebra/CMatrixVectorProduct.hpp @@ -3,7 +3,7 @@ * \brief Headers for the classes related to sparse matrix-vector product wrappers. * The actual operations are currently implemented mostly by CSysMatrix. * \author F. Palacios, J. Hicken, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CPastixWrapper.hpp b/Common/include/linear_algebra/CPastixWrapper.hpp index 82dd0c0c4f4..fb40c40d7df 100644 --- a/Common/include/linear_algebra/CPastixWrapper.hpp +++ b/Common/include/linear_algebra/CPastixWrapper.hpp @@ -3,7 +3,7 @@ * \brief An interface to the INRIA solver PaStiX * (http://pastix.gforge.inria.fr/files/README-txt.html) * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CPreconditioner.hpp b/Common/include/linear_algebra/CPreconditioner.hpp index 722e8e312aa..c5660683342 100644 --- a/Common/include/linear_algebra/CPreconditioner.hpp +++ b/Common/include/linear_algebra/CPreconditioner.hpp @@ -3,7 +3,7 @@ * \brief Classes related to linear preconditioner wrappers. * The actual operations are currently implemented mostly by CSysMatrix. * \author F. Palacios, J. Hicken, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -270,7 +270,7 @@ class CLineletPreconditioner final : public CPreconditioner { * \note Request the associated matrix to build the preconditioner. */ inline void Build() override { - sparse_matrix.BuildJacobiPreconditioner(); + sparse_matrix.BuildLineletPreconditioner(geometry, config); } }; @@ -357,4 +357,4 @@ CPreconditioner* CPreconditioner::Create(ENUM_LINEAR_SOL return prec; } -/// @} \ No newline at end of file +/// @} diff --git a/Common/include/linear_algebra/CSysMatrix.hpp b/Common/include/linear_algebra/CSysMatrix.hpp index 230328451c9..c05ff216f19 100644 --- a/Common/include/linear_algebra/CSysMatrix.hpp +++ b/Common/include/linear_algebra/CSysMatrix.hpp @@ -3,7 +3,7 @@ * \brief Declaration of the block-sparse matrix class. * The implemtation is in CSysMatrix.cpp. * \author F. Palacios, A. Bueno, T. Economon, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -148,10 +148,6 @@ class CSysMatrix { ScalarType *invM; /*!< \brief Inverse of (Jacobi) preconditioner, or diagonal of ILU. */ - unsigned long nLinelet; /*!< \brief Number of Linelets in the system. */ - vector LineletBool; /*!< \brief Identify if a point belong to a Linelet. */ - vector > LineletPoint; /*!< \brief Linelet structure. */ - /*--- Temporary (hence mutable) working memory used in the Linelet preconditioner, outer vector is for threads ---*/ mutable vector > LineletUpper; /*!< \brief Pointers to the upper blocks of the tri-diag system (working memory). */ mutable vector > LineletInvDiag; /*!< \brief Inverse of the diagonal blocks of the tri-diag system (working memory). */ @@ -886,9 +882,8 @@ class CSysMatrix { * \brief Build the Linelet preconditioner. * \param[in] geometry - Geometrical definition of the problem. * \param[in] config - Definition of the particular problem. - * \return Average number of points per linelet. */ - unsigned long BuildLineletPreconditioner(CGeometry *geometry, const CConfig *config); + void BuildLineletPreconditioner(const CGeometry *geometry, const CConfig *config); /*! * \brief Multiply CSysVector by the preconditioner diff --git a/Common/include/linear_algebra/CSysMatrix.inl b/Common/include/linear_algebra/CSysMatrix.inl index e280b0f07b1..435a6ba2675 100644 --- a/Common/include/linear_algebra/CSysMatrix.inl +++ b/Common/include/linear_algebra/CSysMatrix.inl @@ -5,7 +5,7 @@ * of the .cpp file and so they are hidden to avoid triggering * recompilation of other units when changes are made here. * \author F. Palacios, A. Bueno, T. Economon, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -192,7 +192,8 @@ FORCEINLINE void CSysMatrix::UpperProduct(const CSysVector= nPointDomain) MatrixVectorProductAdd(&matrix[index*nVar*nEqn], &vec[col_j*nEqn], prod); } } diff --git a/Common/include/linear_algebra/CSysSolve.hpp b/Common/include/linear_algebra/CSysSolve.hpp index 0007865bb03..104796599d0 100644 --- a/Common/include/linear_algebra/CSysSolve.hpp +++ b/Common/include/linear_algebra/CSysSolve.hpp @@ -3,7 +3,7 @@ * \brief Headers for the classes related to linear solvers (CG, FGMRES, etc) * The subroutines and functions are in the CSysSolve.cpp file. * \author J. Hicken, F. Palacios, T. Economon, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CSysSolve_b.hpp b/Common/include/linear_algebra/CSysSolve_b.hpp index eae9de62ad4..f7c16e34ddc 100644 --- a/Common/include/linear_algebra/CSysSolve_b.hpp +++ b/Common/include/linear_algebra/CSysSolve_b.hpp @@ -2,7 +2,7 @@ * \file CSysSolve_b.hpp * \brief Routines for the linear solver used in the reverse sweep of AD. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CSysVector.hpp b/Common/include/linear_algebra/CSysVector.hpp index c41cd4ce930..07af5d1d973 100644 --- a/Common/include/linear_algebra/CSysVector.hpp +++ b/Common/include/linear_algebra/CSysVector.hpp @@ -3,7 +3,7 @@ * \brief Declararion and inlines of the vector class used in the * solution of large, distributed, sparse linear systems. * \author P. Gomes, F. Palacios, J. Hicken, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/blas_structure.hpp b/Common/include/linear_algebra/blas_structure.hpp index da1f57d2cbe..5e41da73450 100644 --- a/Common/include/linear_algebra/blas_structure.hpp +++ b/Common/include/linear_algebra/blas_structure.hpp @@ -4,7 +4,7 @@ operations, which are typically found in the BLAS libraries. The functions are in the blass_structure.cpp file. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,7 +41,7 @@ class CConfig; * \ingroup BLAS * \brief Class, which serves as an interface to the BLAS functionalities needed. * \author: E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CBlasStructure { public: diff --git a/Common/include/linear_algebra/vector_expressions.hpp b/Common/include/linear_algebra/vector_expressions.hpp index a394e37426d..3a56ee45b2b 100644 --- a/Common/include/linear_algebra/vector_expressions.hpp +++ b/Common/include/linear_algebra/vector_expressions.hpp @@ -2,7 +2,7 @@ * \file vector_expressions.hpp * \brief Expression templates for vector types with coefficient-wise operations. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 01bd7a12188..147dab433c9 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -2,7 +2,7 @@ * \file option_structure.hpp * \brief Defines classes for referencing options for easy input in CConfig * \author J. Hicken, B. Tracey - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -272,22 +272,8 @@ static const MapType Solver_Map = { MakePair("FEM_LES", MAIN_SOLVER::FEM_LES) MakePair("NEMO_EULER",MAIN_SOLVER::NEMO_EULER) MakePair("NEMO_NAVIER_STOKES",MAIN_SOLVER::NEMO_NAVIER_STOKES) - MakePair("ADJ_EULER", MAIN_SOLVER::ADJ_EULER) - MakePair("ADJ_NAVIER_STOKES", MAIN_SOLVER::ADJ_NAVIER_STOKES) - MakePair("ADJ_RANS", MAIN_SOLVER::ADJ_RANS ) MakePair("HEAT_EQUATION", MAIN_SOLVER::HEAT_EQUATION) MakePair("ELASTICITY", MAIN_SOLVER::FEM_ELASTICITY) - MakePair("DISC_ADJ_EULER", MAIN_SOLVER::DISC_ADJ_EULER) - MakePair("DISC_ADJ_RANS", MAIN_SOLVER::DISC_ADJ_RANS) - MakePair("DISC_ADJ_NAVIERSTOKES", MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES) - MakePair("DISC_ADJ_INC_EULER", MAIN_SOLVER::DISC_ADJ_INC_EULER) - MakePair("DISC_ADJ_INC_RANS", MAIN_SOLVER::DISC_ADJ_INC_RANS) - MakePair("DISC_ADJ_INC_NAVIERSTOKES", MAIN_SOLVER::DISC_ADJ_INC_NAVIER_STOKES) - MakePair("DISC_ADJ_HEAT_EQUATION", MAIN_SOLVER::DISC_ADJ_HEAT) - MakePair("DISC_ADJ_FEM_EULER", MAIN_SOLVER::DISC_ADJ_FEM_EULER) - MakePair("DISC_ADJ_FEM_RANS", MAIN_SOLVER::DISC_ADJ_FEM_RANS) - MakePair("DISC_ADJ_FEM_NS", MAIN_SOLVER::DISC_ADJ_FEM_NS) - MakePair("DISC_ADJ_FEM", MAIN_SOLVER::DISC_ADJ_FEM) MakePair("TEMPLATE_SOLVER", MAIN_SOLVER::TEMPLATE_SOLVER) MakePair("MULTIPHYSICS", MAIN_SOLVER::MULTIPHYSICS) }; @@ -672,11 +658,13 @@ enum class VISCOSITYMODEL { CONSTANT, /*!< \brief Constant viscosity. */ SUTHERLAND, /*!< \brief Sutherlands Law viscosity. */ POLYNOMIAL, /*!< \brief Polynomial viscosity. */ + COOLPROP, /*!< \brief CoolProp viscosity. */ }; static const MapType ViscosityModel_Map = { MakePair("CONSTANT_VISCOSITY", VISCOSITYMODEL::CONSTANT) MakePair("SUTHERLAND", VISCOSITYMODEL::SUTHERLAND) MakePair("POLYNOMIAL_VISCOSITY", VISCOSITYMODEL::POLYNOMIAL) + MakePair("COOLPROP", VISCOSITYMODEL::COOLPROP) }; /*! @@ -687,7 +675,7 @@ enum class MIXINGVISCOSITYMODEL { DAVIDSON, /*!< \brief Davidson mixing viscosity model. */ }; static const MapType MixingViscosityModel_Map = { - MakePair("WILKE", MIXINGVISCOSITYMODEL::WILKE) + MakePair("WILKE", MIXINGVISCOSITYMODEL::WILKE) MakePair("DAVIDSON", MIXINGVISCOSITYMODEL::DAVIDSON) }; @@ -698,11 +686,13 @@ enum class CONDUCTIVITYMODEL { CONSTANT, /*!< \brief Constant thermal conductivity. */ CONSTANT_PRANDTL, /*!< \brief Constant Prandtl number. */ POLYNOMIAL, /*!< \brief Polynomial thermal conductivity. */ + COOLPROP, /*!< \brief COOLPROP thermal conductivity. */ }; static const MapType ConductivityModel_Map = { MakePair("CONSTANT_CONDUCTIVITY", CONDUCTIVITYMODEL::CONSTANT) MakePair("CONSTANT_PRANDTL", CONDUCTIVITYMODEL::CONSTANT_PRANDTL) MakePair("POLYNOMIAL_CONDUCTIVITY", CONDUCTIVITYMODEL::POLYNOMIAL) + MakePair("COOLPROP", CONDUCTIVITYMODEL::COOLPROP) }; /*! @@ -805,69 +795,71 @@ static const MapType Gust_Dir_Map = { /*! * \brief Types of centered spatial discretizations */ -enum ENUM_CENTERED { - NO_CENTERED = 0, /*!< \brief No centered scheme is used. */ - JST = 1, /*!< \brief Jameson-Smith-Turkel centered numerical method. */ - LAX = 2, /*!< \brief Lax-Friedrich centered numerical method. */ - JST_MAT = 3, /*!< \brief JST with matrix dissipation. */ - JST_KE = 4 /*!< \brief Kinetic Energy preserving Jameson-Smith-Turkel centered numerical method. */ +enum class CENTERED { + NONE, /*!< \brief No centered scheme is used. */ + JST, /*!< \brief Jameson-Smith-Turkel centered numerical method. */ + LAX, /*!< \brief Lax-Friedrich centered numerical method. */ + JST_MAT, /*!< \brief JST with matrix dissipation. */ + JST_KE /*!< \brief Kinetic Energy preserving Jameson-Smith-Turkel centered numerical method. */ }; -static const MapType Centered_Map = { - MakePair("NONE", NO_CENTERED) - MakePair("JST", JST) - MakePair("JST_KE", JST_KE) - MakePair("JST_MAT", JST_MAT) - MakePair("LAX-FRIEDRICH", LAX) +static const MapType Centered_Map = { + MakePair("NONE", CENTERED::NONE) + MakePair("JST", CENTERED::JST) + MakePair("JST_KE", CENTERED::JST_KE) + MakePair("JST_MAT", CENTERED::JST_MAT) + MakePair("LAX-FRIEDRICH", CENTERED::LAX) }; -// If you add to ENUM_UPWIND, you must also add the option to ENUM_CONVECTIVE +// If you add to UPWIND, you must also add the option to ENUM_CONVECTIVE /*! * \brief Types of upwind spatial discretizations */ -enum ENUM_UPWIND { - NO_UPWIND = 0, /*!< \brief No upwind scheme is used. */ - ROE = 1, /*!< \brief Roe's upwind numerical method. */ - SCALAR_UPWIND = 2, /*!< \brief Scalar upwind numerical method. */ - AUSM = 3, /*!< \brief AUSM numerical method. */ - HLLC = 4, /*!< \brief HLLC numerical method. */ - SW = 5, /*!< \brief Steger-Warming method. */ - MSW = 6, /*!< \brief Modified Steger-Warming method. */ - TURKEL = 7, /*!< \brief Roe-Turkel's upwind numerical method. */ - SLAU = 8, /*!< \brief Simple Low-Dissipation AUSM numerical method. */ - CUSP = 9, /*!< \brief Convective upwind and split pressure numerical method. */ - CONVECTIVE_TEMPLATE = 10, /*!< \brief Template for new numerical method . */ - L2ROE = 11, /*!< \brief L2ROE numerical method . */ - LMROE = 12, /*!< \brief Rieper's Low Mach ROE numerical method . */ - SLAU2 = 13, /*!< \brief Simple Low-Dissipation AUSM 2 numerical method. */ - FDS = 14, /*!< \brief Flux difference splitting upwind method (incompressible flows). */ - LAX_FRIEDRICH = 15, /*!< \brief Lax-Friedrich numerical method. */ - AUSMPLUSUP = 16, /*!< \brief AUSM+ -up numerical method (All Speed) */ - AUSMPLUSUP2 = 17, /*!< \brief AUSM+ -up2 numerical method (All Speed) */ - AUSMPWPLUS = 18, /*!< \brief AUSMplus numerical method. (NEMO only)*/ - AUSMPLUSM = 19 /*!< \brief AUSM+M numerical method. (NEMO only)*/ -}; -static const MapType Upwind_Map = { - MakePair("NONE", NO_UPWIND) - MakePair("ROE", ROE) - MakePair("TURKEL_PREC", TURKEL) - MakePair("AUSM", AUSM) - MakePair("AUSMPLUSUP", AUSMPLUSUP) - MakePair("AUSMPLUSUP2", AUSMPLUSUP2) - MakePair("AUSMPWPLUS", AUSMPWPLUS) - MakePair("AUSMPLUSM", AUSMPLUSM) - MakePair("SLAU", SLAU) - MakePair("HLLC", HLLC) - MakePair("SW", SW) - MakePair("MSW", MSW) - MakePair("CUSP", CUSP) - MakePair("SCALAR_UPWIND", SCALAR_UPWIND) - MakePair("CONVECTIVE_TEMPLATE", CONVECTIVE_TEMPLATE) - MakePair("L2ROE", L2ROE) - MakePair("LMROE", LMROE) - MakePair("SLAU2", SLAU2) - MakePair("FDS", FDS) - MakePair("LAX-FRIEDRICH", LAX_FRIEDRICH) +enum class UPWIND { + NONE, /*!< \brief No upwind scheme is used. */ + ROE, /*!< \brief Roe's upwind numerical method. */ + SCALAR_UPWIND, /*!< \brief Scalar upwind numerical method. */ + AUSM, /*!< \brief AUSM numerical method. */ + HLLC, /*!< \brief HLLC numerical method. */ + SW, /*!< \brief Steger-Warming method. */ + MSW, /*!< \brief Modified Steger-Warming method. */ + TURKEL, /*!< \brief Roe-Turkel's upwind numerical method. */ + SLAU, /*!< \brief Simple Low-Dissipation AUSM numerical method. */ + CUSP, /*!< \brief Convective upwind and split pressure numerical method. */ + CONVECTIVE_TEMPLATE, /*!< \brief Template for new numerical method . */ + L2ROE, /*!< \brief L2ROE numerical method . */ + LMROE, /*!< \brief Rieper's Low Mach ROE numerical method . */ + SLAU2, /*!< \brief Simple Low-Dissipation AUSM 2 numerical method. */ + FDS, /*!< \brief Flux difference splitting upwind method (incompressible flows). */ + LAX_FRIEDRICH, /*!< \brief Lax-Friedrich numerical method. */ + AUSMPLUSUP, /*!< \brief AUSM+ -up numerical method (All Speed) */ + AUSMPLUSUP2, /*!< \brief AUSM+ -up2 numerical method (All Speed) */ + AUSMPWPLUS, /*!< \brief AUSM-pw+ numerical method. (NEMO Only)*/ + AUSMPLUSM, /*!< \breif AUSM+M numerical method. (NEMO Only)*/ + BOUNDED_SCALAR /*!< \brief Scalar advection numerical method. */ +}; +static const MapType Upwind_Map = { + MakePair("NONE", UPWIND::NONE) + MakePair("ROE", UPWIND::ROE) + MakePair("TURKEL_PREC", UPWIND::TURKEL) + MakePair("AUSM", UPWIND::AUSM) + MakePair("AUSMPLUSUP", UPWIND::AUSMPLUSUP) + MakePair("AUSMPLUSUP2", UPWIND::AUSMPLUSUP2) + MakePair("AUSMPWPLUS", UPWIND::AUSMPWPLUS) + MakePair("AUSMPLUSM", UPWIND::AUSMPLUSM) + MakePair("SLAU", UPWIND::SLAU) + MakePair("HLLC", UPWIND::HLLC) + MakePair("SW", UPWIND::SW) + MakePair("MSW", UPWIND::MSW) + MakePair("CUSP", UPWIND::CUSP) + MakePair("SCALAR_UPWIND", UPWIND::SCALAR_UPWIND) + MakePair("BOUNDED_SCALAR", UPWIND::BOUNDED_SCALAR) + MakePair("CONVECTIVE_TEMPLATE", UPWIND::CONVECTIVE_TEMPLATE) + MakePair("L2ROE", UPWIND::L2ROE) + MakePair("LMROE", UPWIND::LMROE) + MakePair("SLAU2", UPWIND::SLAU2) + MakePair("FDS", UPWIND::FDS) + MakePair("LAX-FRIEDRICH", UPWIND::LAX_FRIEDRICH) }; /*! @@ -1178,6 +1170,119 @@ static const MapType Trans_Model_Map = { MakePair("LM", TURB_TRANS_MODEL::LM) }; +/*! + * \brief LM Options + */ +enum class LM_OPTIONS { + NONE, /*!< \brief No option / default. */ + LM2015, /*!< \brief Cross-flow corrections. */ + MALAN, /*!< \brief Kind of transition correlation model (Malan). */ + SULUKSNA, /*!< \brief Kind of transition correlation model (Suluksna). */ + KRAUSE, /*!< \brief Kind of transition correlation model (Krause). */ + KRAUSE_HYPER, /*!< \brief Kind of transition correlation model (Krause hypersonic). */ + MEDIDA_BAEDER,/*!< \brief Kind of transition correlation model (Medida-Baeder). */ + MEDIDA, /*!< \brief Kind of transition correlation model (Medida). */ + MENTER_LANGTRY, /*!< \brief Kind of transition correlation model (Menter-Langtry). */ + DEFAULT /*!< \brief Kind of transition correlation model (Menter-Langtry if SST, MALAN if SA). */ +}; + +static const MapType LM_Options_Map = { + MakePair("NONE", LM_OPTIONS::NONE) + MakePair("LM2015", LM_OPTIONS::LM2015) + MakePair("MALAN", LM_OPTIONS::MALAN) + MakePair("SULUKSNA", LM_OPTIONS::SULUKSNA) + MakePair("KRAUSE", LM_OPTIONS::KRAUSE) + MakePair("KRAUSE_HYPER", LM_OPTIONS::KRAUSE_HYPER) + MakePair("MEDIDA_BAEDER", LM_OPTIONS::MEDIDA_BAEDER) + MakePair("MENTER_LANGTRY", LM_OPTIONS::MENTER_LANGTRY) + MakePair("DEFAULT", LM_OPTIONS::DEFAULT) +}; + +/*! + * \brief Types of transition correlations + */ +enum class TURB_TRANS_CORRELATION { + MALAN, /*!< \brief Kind of transition correlation model (Malan). */ + SULUKSNA, /*!< \brief Kind of transition correlation model (Suluksna). */ + KRAUSE, /*!< \brief Kind of transition correlation model (Krause). */ + KRAUSE_HYPER, /*!< \brief Kind of transition correlation model (Krause hypersonic). */ + MEDIDA_BAEDER,/*!< \brief Kind of transition correlation model (Medida-Baeder). */ + MEDIDA, /*!< \brief Kind of transition correlation model (Medida). */ + MENTER_LANGTRY, /*!< \brief Kind of transition correlation model (Menter-Langtry). */ + DEFAULT /*!< \brief Kind of transition correlation model (Menter-Langtry if SST, MALAN if SA). */ +}; + +/*! + * \brief Structure containing parsed LM options. + */ +struct LM_ParsedOptions { + LM_OPTIONS version = LM_OPTIONS::NONE; /*!< \brief LM base model. */ + bool LM2015 = false; /*!< \brief Use cross-flow corrections. */ + TURB_TRANS_CORRELATION Correlation = TURB_TRANS_CORRELATION::DEFAULT; +}; + +/*! + * \brief Function to parse LM options. + * \param[in] LM_Options - Selected LM option from config. + * \param[in] nLM_Options - Number of options selected. + * \param[in] rank - MPI rank. + * \return Struct with SA options. + */ +inline LM_ParsedOptions ParseLMOptions(const LM_OPTIONS *LM_Options, unsigned short nLM_Options, int rank, TURB_MODEL Kind_Turb_Model) { + LM_ParsedOptions LMParsedOptions; + + auto IsPresent = [&](LM_OPTIONS option) { + const auto lm_options_end = LM_Options + nLM_Options; + return std::find(LM_Options, lm_options_end, option) != lm_options_end; + }; + + LMParsedOptions.LM2015 = IsPresent(LM_OPTIONS::LM2015); + + int NFoundCorrelations = 0; + if (IsPresent(LM_OPTIONS::MALAN)) { + LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::MALAN; + NFoundCorrelations++; + } + if (IsPresent(LM_OPTIONS::SULUKSNA)) { + LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::SULUKSNA; + NFoundCorrelations++; + } + if (IsPresent(LM_OPTIONS::KRAUSE)) { + LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::KRAUSE; + NFoundCorrelations++; + } + if (IsPresent(LM_OPTIONS::KRAUSE_HYPER)) { + LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::KRAUSE_HYPER; + NFoundCorrelations++; + } + if (IsPresent(LM_OPTIONS::MEDIDA_BAEDER)) { + LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::MEDIDA_BAEDER; + NFoundCorrelations++; + } + if (IsPresent(LM_OPTIONS::MEDIDA)) { + LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::MEDIDA; + NFoundCorrelations++; + } + if (IsPresent(LM_OPTIONS::MENTER_LANGTRY)) { + LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::MENTER_LANGTRY; + NFoundCorrelations++; + } + + if (NFoundCorrelations > 1) { + SU2_MPI::Error("Two correlations selected for LM_OPTIONS. Please choose only one.", CURRENT_FUNCTION); + } + + if (LMParsedOptions.Correlation == TURB_TRANS_CORRELATION::DEFAULT){ + if (Kind_Turb_Model == TURB_MODEL::SST) { + LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::MENTER_LANGTRY; + } else if (Kind_Turb_Model == TURB_MODEL::SA) { + LMParsedOptions.Correlation = TURB_TRANS_CORRELATION::MALAN; + } + } + + return LMParsedOptions; +} + /*! * \brief types of species transport models */ diff --git a/Common/include/option_structure.inl b/Common/include/option_structure.inl index 4973de92cb3..706b9f8c05f 100644 --- a/Common/include/option_structure.inl +++ b/Common/include/option_structure.inl @@ -3,7 +3,7 @@ * \brief Template derived classes from COption, defined here as we * only include them where needed to reduce compilation time. * \author J. Hicken, B. Tracey - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -406,11 +406,11 @@ public: class COptionConvect : public COptionBase { string name; // identifier for the option unsigned short & space; - unsigned short & centered; - unsigned short & upwind; + CENTERED & centered; + UPWIND & upwind; public: - COptionConvect(string option_field_name, unsigned short & space_field, unsigned short & centered_field, unsigned short & upwind_field) + COptionConvect(string option_field_name, unsigned short & space_field, CENTERED & centered_field, UPWIND & upwind_field) : name(option_field_name), space(space_field), centered(centered_field), upwind(upwind_field) { } string SetValue(const vector& option_value) override { @@ -424,13 +424,13 @@ public: if (Centered_Map.count(option_value[0])) { this->space = Space_Map.find("SPACE_CENTERED")->second; this->centered = Centered_Map.find(option_value[0])->second; - this->upwind = NO_UPWIND; + this->upwind = UPWIND::NONE; return ""; } if (Upwind_Map.count(option_value[0])) { this->space = Space_Map.find("SPACE_UPWIND")->second; this->upwind = Upwind_Map.find(option_value[0])->second; - this->centered = NO_CENTERED; + this->centered = CENTERED::NONE; return ""; } // Make them defined in case something weird happens @@ -440,8 +440,8 @@ public: } void SetDefault() override { - this->centered = NO_CENTERED; - this->upwind = NO_UPWIND; + this->centered = CENTERED::NONE; + this->upwind = UPWIND::NONE; this->space = NO_CONVECTIVE; } }; diff --git a/Common/include/parallelization/mpi_structure.cpp b/Common/include/parallelization/mpi_structure.cpp index e4abe6ab79f..d280cad159a 100644 --- a/Common/include/parallelization/mpi_structure.cpp +++ b/Common/include/parallelization/mpi_structure.cpp @@ -2,7 +2,7 @@ * \file mpi_structure.cpp * \brief Main subroutines for the mpi structures. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/mpi_structure.hpp b/Common/include/parallelization/mpi_structure.hpp index 06a65a6fef7..52d629a5968 100644 --- a/Common/include/parallelization/mpi_structure.hpp +++ b/Common/include/parallelization/mpi_structure.hpp @@ -3,7 +3,7 @@ * \brief Headers of the mpi interface for generalized datatypes. * The subroutines and functions are in the mpi_structure.cpp file. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/omp_structure.cpp b/Common/include/parallelization/omp_structure.cpp index 09a50c3ba72..af8dd0337bb 100644 --- a/Common/include/parallelization/omp_structure.cpp +++ b/Common/include/parallelization/omp_structure.cpp @@ -3,7 +3,7 @@ * \brief Source file counterpart for omp_structure.hpp. * \note Contains OpDiLib initialization, finalization and includes the OpDiLib source file. * \author J. Blühdorn - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/omp_structure.hpp b/Common/include/parallelization/omp_structure.hpp index 7ead8947d12..d6a161ab684 100644 --- a/Common/include/parallelization/omp_structure.hpp +++ b/Common/include/parallelization/omp_structure.hpp @@ -13,7 +13,7 @@ * defined here with suitable fallback versions to limit the spread of * compiler tricks in other areas of the code. * \author P. Gomes, J. Blühdorn - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/special_vectorization.hpp b/Common/include/parallelization/special_vectorization.hpp index 9e4d74da021..cbdc7388eb5 100644 --- a/Common/include/parallelization/special_vectorization.hpp +++ b/Common/include/parallelization/special_vectorization.hpp @@ -2,7 +2,7 @@ * \file special_vectorization.hpp * \brief Code generator header to create specializations of simd::Array. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/vectorization.hpp b/Common/include/parallelization/vectorization.hpp index d90b0afb8f0..2d38834a9de 100644 --- a/Common/include/parallelization/vectorization.hpp +++ b/Common/include/parallelization/vectorization.hpp @@ -2,7 +2,7 @@ * \file vectorization.hpp * \brief Implementation of a portable SIMD type. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/C1DInterpolation.hpp b/Common/include/toolboxes/C1DInterpolation.hpp index 263f9f1f962..5168b76073b 100644 --- a/Common/include/toolboxes/C1DInterpolation.hpp +++ b/Common/include/toolboxes/C1DInterpolation.hpp @@ -2,7 +2,7 @@ * \file C1DInterpolation.hpp * \brief Classes for 1D interpolation. * \author Aman Baig, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/CLinearPartitioner.hpp b/Common/include/toolboxes/CLinearPartitioner.hpp index 6e9fe5847e8..165c639ee02 100644 --- a/Common/include/toolboxes/CLinearPartitioner.hpp +++ b/Common/include/toolboxes/CLinearPartitioner.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CLinearPartitioner. * The implementations are in the CLinearPartitioner.cpp file. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp b/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp index d5222b4437c..f03a1713799 100644 --- a/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp +++ b/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp @@ -7,7 +7,7 @@ * \note Based on the IQN-ILS method, see DOI 10.1007/s11831-013-9085-5 and * references therein. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/CSquareMatrixCM.hpp b/Common/include/toolboxes/CSquareMatrixCM.hpp index 39836fafaca..85abfff5520 100644 --- a/Common/include/toolboxes/CSquareMatrixCM.hpp +++ b/Common/include/toolboxes/CSquareMatrixCM.hpp @@ -3,7 +3,7 @@ * \brief Dense general square matrix, used for example in DG standard elements * in Column Major order storage. * \author Edwin van der Weide, Pedro Gomes. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/CSymmetricMatrix.hpp b/Common/include/toolboxes/CSymmetricMatrix.hpp index ba5f83ee368..b15fdd95f0c 100644 --- a/Common/include/toolboxes/CSymmetricMatrix.hpp +++ b/Common/include/toolboxes/CSymmetricMatrix.hpp @@ -2,7 +2,7 @@ * \file CSymmetricMatrix.hpp * \brief Dense symmetric matrix, used for example in RBF interpolation. * \author Joel Ho, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CIncTGVSolution.hpp b/Common/include/toolboxes/MMS/CIncTGVSolution.hpp index cb67803a6e5..9271464afac 100644 --- a/Common/include/toolboxes/MMS/CIncTGVSolution.hpp +++ b/Common/include/toolboxes/MMS/CIncTGVSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CIncTGVSolution. * The implementations are in the CIncTGVSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp b/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp index 486bbd69d9f..504fad4f6a6 100644 --- a/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp +++ b/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CInviscidVortexSolution. * The implementations are in the CInviscidVortexSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp b/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp index 1eabb63ab11..87434bac5f4 100644 --- a/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSIncEulerSolution. * The implementations are in the CMMSIncEulerSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp b/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp index 957444e9677..06d4ffccf10 100644 --- a/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSIncNSSolution. * The implementations are in the CMMSIncNSSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp b/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp index f12022038f4..eed8ebcc1ab 100644 --- a/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSNSTwoHalfCirclesSolution. * The implementations are in the CMMSNSTwoHalfCirclesSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp b/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp index 5a922b57d01..52e1434fc43 100644 --- a/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSNSTwoHalfSpheresSolution. * The implementations are in the CMMSNSTwoHalfSpheresSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp index b7d58c89f69..57cfb7e5c64 100644 --- a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSNSUnitQuadSolution. * The implementations are in the CMMSNSUnitQuadSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp index fd953208064..64d9db28c4e 100644 --- a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSNSUnitQuadSolutionWallBC. * The implementations are in the CMMSNSUnitQuadSolutionWallBC.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp b/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp index 3d2f0bb5084..10a3d312995 100644 --- a/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp +++ b/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CNSUnitQuadSolution.hpp. * The implementations are in the CNSUnitQuadSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CRinglebSolution.hpp b/Common/include/toolboxes/MMS/CRinglebSolution.hpp index 246d7267dfd..9847b350586 100644 --- a/Common/include/toolboxes/MMS/CRinglebSolution.hpp +++ b/Common/include/toolboxes/MMS/CRinglebSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CRinglebSolution.hpp. * The implementations are in the CRinglebSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CTGVSolution.hpp b/Common/include/toolboxes/MMS/CTGVSolution.hpp index 516af49eef9..67da2e88f5a 100644 --- a/Common/include/toolboxes/MMS/CTGVSolution.hpp +++ b/Common/include/toolboxes/MMS/CTGVSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CTGVSolution. * The implementations are in the CTGVSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp b/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp index 129cca904ca..ed4e4bfcda4 100644 --- a/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp +++ b/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CUserDefinedSolution. * The implementations are in the CUserDefinedSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CVerificationSolution.hpp b/Common/include/toolboxes/MMS/CVerificationSolution.hpp index 2715bf225c7..10143fbc8cd 100644 --- a/Common/include/toolboxes/MMS/CVerificationSolution.hpp +++ b/Common/include/toolboxes/MMS/CVerificationSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the base class CVerificationSolution. * The implementations are in the CVerificationSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/allocation_toolbox.hpp b/Common/include/toolboxes/allocation_toolbox.hpp index 61520bb90c3..2c630f7d550 100644 --- a/Common/include/toolboxes/allocation_toolbox.hpp +++ b/Common/include/toolboxes/allocation_toolbox.hpp @@ -5,7 +5,7 @@ * \note These are "kernel" functions, only to be used with good reason, * always try to use higher level container classes. * \author P. Gomes, D. Kavolis - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/geometry_toolbox.hpp b/Common/include/toolboxes/geometry_toolbox.hpp index d1ed11250e5..52a0018483d 100644 --- a/Common/include/toolboxes/geometry_toolbox.hpp +++ b/Common/include/toolboxes/geometry_toolbox.hpp @@ -1,7 +1,7 @@ /*! * \file geometry_toolbox.hpp * \brief Collection of common lightweight geometry-oriented methods. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/graph_toolbox.hpp b/Common/include/toolboxes/graph_toolbox.hpp index 87a45720b3a..02c12283a41 100644 --- a/Common/include/toolboxes/graph_toolbox.hpp +++ b/Common/include/toolboxes/graph_toolbox.hpp @@ -2,7 +2,7 @@ * \file graph_toolbox.hpp * \brief Functions and classes to build/represent sparse graphs or sparse patterns. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -530,7 +530,7 @@ T createNaturalColoring(Index_t numInnerIndexes) * \param[out] indexColor - Optional, vector with colors given to the outer indices. * \return Coloring in the same type of the input pattern. */ -template +template T colorSparsePattern(const T& pattern, size_t groupSize = 1, bool balanceColors = false, std::vector* indexColor = nullptr) { @@ -721,4 +721,4 @@ su2double coloringEfficiency(const SparsePattern& coloring, int numThreads, int return ideal / real; } -/// @} \ No newline at end of file +/// @} diff --git a/Common/include/toolboxes/ndflattener.hpp b/Common/include/toolboxes/ndflattener.hpp index 88382a85a70..035deb64dbc 100644 --- a/Common/include/toolboxes/ndflattener.hpp +++ b/Common/include/toolboxes/ndflattener.hpp @@ -2,7 +2,7 @@ * \file ndflattener.hpp * \brief Flatten pointer-to-pointer-... arrays for MPI communication * \author M. Aehle - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/printing_toolbox.hpp b/Common/include/toolboxes/printing_toolbox.hpp index aeff299b7bd..5edad78315d 100644 --- a/Common/include/toolboxes/printing_toolbox.hpp +++ b/Common/include/toolboxes/printing_toolbox.hpp @@ -2,7 +2,7 @@ * \file printing_toolbox.hpp * \brief Header file for the printing toolbox. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/wall_model.hpp b/Common/include/wall_model.hpp index 3374cd4d0bd..57cd67df5c2 100644 --- a/Common/include/wall_model.hpp +++ b/Common/include/wall_model.hpp @@ -2,7 +2,7 @@ * \file wall_model.hpp * \brief Headers for the wall model functions for large eddy simulations. * \author E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -42,7 +42,7 @@ class CFluidModel; * \class CWallModel * \brief Base class for defining the LES wall model. * \author: E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CWallModel { diff --git a/Common/lib/Makefile.am b/Common/lib/Makefile.am index af2046cf826..aef8fdd4c00 100644 --- a/Common/lib/Makefile.am +++ b/Common/lib/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for the SU2 common library # \author M. Colonno, T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 98c5022afb0..a321a1fc571 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -2,7 +2,7 @@ * \file CConfig.cpp * \brief Main file for managing the config file * \author F. Palacios, T. Economon, B. Tracey, H. Kline - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -414,7 +414,7 @@ void CConfig::addStringListOption(const string name, unsigned short & num_marker option_map.insert(pair(name, val)); } -void CConfig::addConvectOption(const string name, unsigned short & space_field, unsigned short & centered_field, unsigned short & upwind_field) { +void CConfig::addConvectOption(const string name, unsigned short & space_field, CENTERED & centered_field, UPWIND & upwind_field) { assert(option_map.find(name) == option_map.end()); all_options.insert(pair(name, true)); COptionBase* val = new COptionConvect(name, space_field, centered_field, upwind_field); @@ -493,6 +493,15 @@ void CConfig::addInletSpeciesOption(const string name, unsigned short & nMarker_ option_map.insert(pair(name, val)); } +void CConfig::addInletTurbOption(const string name, unsigned short& nMarker_Inlet_Turb, string*& Marker_Inlet_Turb, + su2double**& Turb_Properties_val, unsigned short& nTurb_Properties) { + assert(option_map.find(name) == option_map.end()); + all_options.insert(pair(name, true)); + COptionBase* val = new COptionStringValuesList(name, nMarker_Inlet_Turb, Marker_Inlet_Turb, + Turb_Properties_val, nTurb_Properties); + option_map.insert(pair(name, val)); +} + template void CConfig::addRiemannOption(const string name, unsigned short & nMarker_Riemann, string * & Marker_Riemann, unsigned short* & option_field, const map & enum_map, su2double* & var1, su2double* & var2, su2double** & FlowDir) { @@ -839,7 +848,7 @@ void CConfig::SetPointersNull(void) { Marker_Euler = nullptr; Marker_FarField = nullptr; Marker_Custom = nullptr; Marker_SymWall = nullptr; Marker_PerBound = nullptr; - Marker_PerDonor = nullptr; Marker_NearFieldBound = nullptr; + Marker_PerDonor = nullptr; Marker_NearFieldBound = nullptr; Marker_Inlet_Turb = nullptr; Marker_Deform_Mesh = nullptr; Marker_Deform_Mesh_Sym_Plane= nullptr; Marker_Fluid_Load = nullptr; Marker_Inlet = nullptr; Marker_Outlet = nullptr; Marker_Inlet_Species = nullptr; Marker_Supersonic_Inlet = nullptr; Marker_Supersonic_Outlet = nullptr; Marker_Smoluchowski_Maxwell= nullptr; @@ -866,7 +875,7 @@ void CConfig::SetPointersNull(void) { Inlet_Ttotal = nullptr; Inlet_Ptotal = nullptr; Inlet_FlowDir = nullptr; Inlet_Temperature = nullptr; Inlet_Pressure = nullptr; Inlet_Velocity = nullptr; - Outlet_Pressure = nullptr; Inlet_SpeciesVal = nullptr; + Outlet_Pressure = nullptr; Inlet_SpeciesVal = nullptr; Inlet_TurbVal = nullptr; /*--- Engine Boundary Condition settings ---*/ @@ -1094,6 +1103,10 @@ void CConfig::SetConfig_Options() { /*!\brief KIND_TRANS_MODEL \n DESCRIPTION: Specify transition model OPTIONS: see \link Trans_Model_Map \endlink \n DEFAULT: NONE \ingroup Config*/ addEnumOption("KIND_TRANS_MODEL", Kind_Trans_Model, Trans_Model_Map, TURB_TRANS_MODEL::NONE); + /*!\brief SST_OPTIONS \n DESCRIPTION: Specify LM transition model options/correlations. \n Options: see \link LM_Options_Map \endlink \n DEFAULT: NONE \ingroup Config*/ + addEnumListOption("LM_OPTIONS", nLM_Options, LM_Options, LM_Options_Map); + /*!\brief HROUGHNESS \n DESCRIPTION: Value of RMS roughness for transition model \n DEFAULT: 1E-6 \ingroup Config*/ + addDoubleOption("HROUGHNESS", hRoughness, 1e-6); /*!\brief KIND_SCALAR_MODEL \n DESCRIPTION: Specify scalar transport model \n Options: see \link Scalar_Model_Map \endlink \n DEFAULT: NONE \ingroup Config*/ addEnumOption("KIND_SCALAR_MODEL", Kind_Species_Model, Species_Model_Map, SPECIES_MODEL::NONE); @@ -1117,6 +1130,8 @@ void CConfig::SetConfig_Options() { addBoolOption("AXISYMMETRIC", Axisymmetric, false); /* DESCRIPTION: Add the gravity force */ addBoolOption("GRAVITY_FORCE", GravityForce, false); + /* DESCRIPTION: Add the Vorticity Confinement term*/ + addBoolOption("VORTICITY_CONFINEMENT", VorticityConfinement, false); /* DESCRIPTION: Apply a body force as a source term (NO, YES) */ addBoolOption("BODY_FORCE", Body_Force, false); body_force[0] = 0.0; body_force[1] = 0.0; body_force[2] = 0.0; @@ -1153,6 +1168,8 @@ void CConfig::SetConfig_Options() { /*!\brief FLUID_NAME \n DESCRIPTION: Fluid name \n OPTIONS: see coolprop homepage \n DEFAULT: nitrogen \ingroup Config*/ addStringOption("FLUID_NAME", FluidName, string("nitrogen")); + /*!\brief CONFINEMENT_PARAM \n DESCRIPTION: Input Confinement Parameter for Vorticity Confinement*/ + addDoubleOption("CONFINEMENT_PARAM", Confinement_Param, 0.0); /*!\par CONFIG_CATEGORY: Freestream Conditions \ingroup Config*/ /*--- Options related to freestream specification ---*/ @@ -1161,6 +1178,8 @@ void CConfig::SetConfig_Options() { addDoubleOption("GAS_CONSTANT", Gas_Constant, 287.058); /*!\brief GAMMA_VALUE \n DESCRIPTION: Ratio of specific heats (1.4 (air), only for compressible flows) \ingroup Config*/ addDoubleOption("GAMMA_VALUE", Gamma, 1.4); + /*!\brief THERMODYNAMIC_PRESSURE \n DESCRIPTION: Thermodynamics(operating) Pressure (101325 Pa), only for incompressible flows) \ingroup Config*/ + addDoubleOption("THERMODYNAMIC_PRESSURE", Pressure_Thermodynamic, 101325.0); /*!\brief CP_VALUE \n DESCRIPTION: Specific heat at constant pressure, Cp (1004.703 J/kg*K (air), constant density incompressible fluids only) \ingroup Config*/ addDoubleListOption("SPECIFIC_HEAT_CP", nSpecific_Heat_Cp, Specific_Heat_Cp); /*!\brief THERMAL_EXPANSION_COEFF \n DESCRIPTION: Thermal expansion coefficient (0.00347 K^-1 (air), used for Boussinesq approximation for liquids/non-ideal gases) \ingroup Config*/ @@ -1352,7 +1371,7 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: */ addDoubleOption("FREESTREAM_INTERMITTENCY", Intermittency_FreeStream, 1.0); /* DESCRIPTION: */ - addDoubleOption("FREESTREAM_TURBULENCEINTENSITY", TurbulenceIntensity_FreeStream, 0.05); + addDoubleOption("FREESTREAM_TURBULENCEINTENSITY", TurbIntensityAndViscRatioFreeStream[0], 0.05); /* DESCRIPTION: */ addDoubleOption("FREESTREAM_NU_FACTOR", NuFactor_FreeStream, 3.0); /* DESCRIPTION: */ @@ -1362,7 +1381,7 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: */ addDoubleOption("INITIAL_BCTHRUST", Initial_BCThrust, 4000.0); /* DESCRIPTION: */ - addDoubleOption("FREESTREAM_TURB2LAMVISCRATIO", Turb2LamViscRatio_FreeStream, 10.0); + addDoubleOption("FREESTREAM_TURB2LAMVISCRATIO", TurbIntensityAndViscRatioFreeStream[1], 10.0); /* DESCRIPTION: Side-slip angle (degrees, only for compressible flows) */ addDoubleOption("SIDESLIP_ANGLE", AoS, 0.0); /*!\brief AOA \n DESCRIPTION: Angle of attack (degrees, only for compressible flows) \ingroup Config*/ @@ -1507,7 +1526,10 @@ void CConfig::SetConfig_Options() { /*!\brief MARKER_INLET_SPECIES \n DESCRIPTION: Inlet Species boundary marker(s) with the following format Inlet Species: (inlet_marker, Species1, Species2, ..., SpeciesN-1, inlet_marker2, Species1, Species2, ...) */ addInletSpeciesOption("MARKER_INLET_SPECIES",nMarker_Inlet_Species, Marker_Inlet_Species, Inlet_SpeciesVal, nSpecies_per_Inlet); - + /*!\brief MARKER_INLET_TURBULENT \n DESCRIPTION: Inlet Turbulence boundary marker(s) with the following format + Inlet Turbulent: (inlet_marker, TurbulentIntensity1, ViscosityRatio1, inlet_marker2, TurbulentIntensity2, + ViscosityRatio2, ...) */ + addInletTurbOption("MARKER_INLET_TURBULENT", nMarker_Inlet_Turb, Marker_Inlet_Turb, Inlet_TurbVal, nTurb_Properties); /*!\brief MARKER_RIEMANN \n DESCRIPTION: Riemann boundary marker(s) with the following formats, a unit vector. * \n OPTIONS: See \link Riemann_Map \endlink. The variables indicated by the option and the flow direction unit vector must be specified. \ingroup Config*/ addRiemannOption("MARKER_RIEMANN", nMarker_Riemann, Marker_Riemann, Kind_Data_Riemann, Riemann_Map, Riemann_Var1, Riemann_Var2, Riemann_FlowDir); @@ -2311,7 +2333,7 @@ void CConfig::SetConfig_Options() { /*--- Options related to the finite element flow solver---*/ /* DESCRIPTION: Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) */ - addEnumOption("RIEMANN_SOLVER_FEM", Riemann_Solver_FEM, Upwind_Map, ROE); + addEnumOption("RIEMANN_SOLVER_FEM", Riemann_Solver_FEM, Upwind_Map, UPWIND::ROE); /* DESCRIPTION: Constant factor applied for quadrature with straight elements (2.0 by default) */ addDoubleOption("QUADRATURE_FACTOR_STRAIGHT_FEM", Quadrature_Factor_Straight, 2.0); /* DESCRIPTION: Constant factor applied for quadrature with curved elements (3.0 by default) */ @@ -3216,7 +3238,7 @@ void CConfig::SetHeader(SU2_COMPONENT val_software) const{ if ((iZone == 0) && (rank == MASTER_NODE)){ cout << endl << "-------------------------------------------------------------------------" << endl; cout << "| ___ _ _ ___ |" << endl; - cout << "| / __| | | |_ ) Release 7.4.0 \"Blackbird\" |" << endl; + cout << "| / __| | | |_ ) Release 7.5.0 \"Blackbird\" |" << endl; cout << "| \\__ \\ |_| |/ / |" << endl; switch (val_software) { case SU2_COMPONENT::SU2_CFD: cout << "| |___/\\___//___| Suite (Computational Fluid Dynamics Code) |" << endl; break; @@ -3441,6 +3463,16 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i SU2_MPI::Error("Axisymmetry is currently only supported for KIND_TURB_MODEL chosen as SST", CURRENT_FUNCTION); } + /*--- Postprocess LM_OPTIONS into structure. ---*/ + if (Kind_Trans_Model == TURB_TRANS_MODEL::LM) { + lmParsedOptions = ParseLMOptions(LM_Options, nLM_Options, rank, Kind_Turb_Model); + + /*--- Check if problem is 2D and LM2015 has been selected ---*/ + if (lmParsedOptions.LM2015 && val_nDim == 2) { + SU2_MPI::Error("LM2015 is available only for 3D problems", CURRENT_FUNCTION); + } + } + /*--- Set the boolean Wall_Functions equal to true if there is a definition for the wall founctions ---*/ @@ -3897,18 +3929,16 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i CURRENT_FUNCTION); } - if (!ideal_gas && !nemo) { - if (Kind_Upwind_Flow != ROE && Kind_Upwind_Flow != HLLC && Kind_Centered_Flow != JST) { - SU2_MPI::Error( - "Only ROE Upwind, HLLC Upwind scheme, and JST scheme can be used for Non-Ideal Compressible Fluids", - CURRENT_FUNCTION); - } + if (!ideal_gas && !nemo) { + if (Kind_Upwind_Flow != UPWIND::ROE && Kind_Upwind_Flow != UPWIND::HLLC && Kind_Centered_Flow != CENTERED::JST) { + SU2_MPI::Error("Only ROE Upwind, HLLC Upwind scheme, and JST scheme can be used for Non-Ideal Compressible Fluids", CURRENT_FUNCTION); } + } - if (nemo) { - if (Kind_Upwind_Flow == AUSMPWPLUS) - SU2_MPI::Error("AUSMPW+ is extremely unstable. Feel free to fix me!", CURRENT_FUNCTION); - } + if (nemo){ + if (Kind_Upwind_Flow == UPWIND::AUSMPWPLUS) + SU2_MPI::Error("AUSMPW+ is extremely unstable. Feel free to fix me!", CURRENT_FUNCTION); + } if (GetBoolTurbomachinery()) { nBlades = new su2double[nZone]; @@ -4691,7 +4721,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } /*--- Length based parameter for slope limiters uses a default value of - 0.1m ---*/ + 1.0m ---*/ RefElemLength = 1.0; if (SystemMeasurements == US) RefElemLength /= 0.3048; @@ -4736,10 +4766,6 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i for (int i=0; i<7; ++i) eng_cyl[i] /= 12.0; } - if ((Kind_Turb_Model != TURB_MODEL::SST) && Kind_Trans_Model == TURB_TRANS_MODEL::LM) { - SU2_MPI::Error("LM transition model currently only available in combination with SST turbulence model!", CURRENT_FUNCTION); - } - if(Turb_Fixed_Values && !OptionIsSet("TURB_FIXED_VALUES_DOMAIN")){ SU2_MPI::Error("TURB_FIXED_VALUES activated, but no domain set with TURB_FIXED_VALUES_DOMAIN.", CURRENT_FUNCTION); } @@ -4772,7 +4798,7 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i SU2_TYPE::SetDerivative(Reynolds, 1.0); break; case D_TURB2LAM: - SU2_TYPE::SetDerivative(Turb2LamViscRatio_FreeStream, 1.0); + SU2_TYPE::SetDerivative(TurbIntensityAndViscRatioFreeStream[1], 1.0); break; default: /*--- All other cases are handled in the specific solver ---*/ @@ -4877,6 +4903,18 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } } + /*--- Vorticity confinement feature currently not supported for incompressible or non-equilibrium model or axisymmetric flows. ---*/ + + if ((Kind_Solver == MAIN_SOLVER::INC_EULER + || Kind_Solver == MAIN_SOLVER::INC_NAVIER_STOKES + || Kind_Solver == MAIN_SOLVER::INC_RANS + || Kind_Solver == MAIN_SOLVER::NEMO_EULER + || Kind_Solver == MAIN_SOLVER::NEMO_NAVIER_STOKES + || Axisymmetric) + && VorticityConfinement) { + SU2_MPI::Error("Vorticity confinement feature currently not supported for incompressible or non-equilibrium model or axisymmetric flows.", CURRENT_FUNCTION); + } + /*--- Check the coefficients for the polynomial models. ---*/ if (Kind_Solver != MAIN_SOLVER::INC_EULER && Kind_Solver != MAIN_SOLVER::INC_NAVIER_STOKES && Kind_Solver != MAIN_SOLVER::INC_RANS) { @@ -5344,6 +5382,14 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i case TURB_FAMILY::KW: nTurbVar = 2; break; } + /*--- Check whether the number of entries of the MARKER_INLET_TURBULENT equals the number of turbulent properties + used for the respective turbulent model. nTurb_Properties must be equal to 1 or 2 depending on whether SA or + SST model are used.--- */ + if (Marker_Inlet_Turb != nullptr && Kind_Turb_Model == TURB_MODEL::SST && nTurb_Properties != 2) + SU2_MPI::Error( + "The use of MARKER_INLET_TURBULENT requires the number of entries when SST Model is used \n" + "to be equal to 2 : Turbulent intensity and ratio turbulent to laminar viscosity", + CURRENT_FUNCTION); /*--- Checks for additional species transport. ---*/ if (Kind_Species_Model == SPECIES_MODEL::SPECIES_TRANSPORT) { @@ -5354,7 +5400,8 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i Kind_Solver != MAIN_SOLVER::NAVIER_STOKES && Kind_Solver != MAIN_SOLVER::RANS && Kind_Solver != MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES && - Kind_Solver != MAIN_SOLVER::DISC_ADJ_RANS) + Kind_Solver != MAIN_SOLVER::DISC_ADJ_RANS && + Kind_Solver != MAIN_SOLVER::MULTIPHYSICS) SU2_MPI::Error("Species transport currently only available for compressible and incompressible flow.", CURRENT_FUNCTION); /*--- Species specific OF currently can only handle one entry in Marker_Analyze. ---*/ @@ -5432,6 +5479,10 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i } } // species transport checks + + if (Kind_Regime == ENUM_REGIME::COMPRESSIBLE && GetBounded_Scalar()) { + SU2_MPI::Error("BOUNDED_SCALAR discretization can only be used for incompressible problems.", CURRENT_FUNCTION); + } } void CConfig::SetMarkers(SU2_COMPONENT val_software) { @@ -6057,7 +6108,35 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { } switch (Kind_Trans_Model) { case TURB_TRANS_MODEL::NONE: break; - case TURB_TRANS_MODEL::LM: cout << "Transition model: Langtry and Menter's 4 equation model (2009)" << endl; break; + case TURB_TRANS_MODEL::LM: { + cout << "Transition model: Langtry and Menter's 4 equation model"; + if (lmParsedOptions.LM2015) { + cout << " w/ cross-flow corrections (2015)" << endl; + } else { + cout << " (2009)" << endl; + } + break; + } + } + if (Kind_Trans_Model == TURB_TRANS_MODEL::LM) { + + cout << "Correlation Functions: "; + switch (lmParsedOptions.Correlation) { + case TURB_TRANS_CORRELATION::MALAN: cout << "Malan et al. (2009)" << endl; break; + case TURB_TRANS_CORRELATION::SULUKSNA: cout << "Suluksna et al. (2009)" << endl; break; + case TURB_TRANS_CORRELATION::KRAUSE: cout << "Krause et al. (2008)" << endl; break; + case TURB_TRANS_CORRELATION::KRAUSE_HYPER: cout << "Krause et al. (2008, paper)" << endl; break; + case TURB_TRANS_CORRELATION::MEDIDA_BAEDER: cout << "Medida and Baeder (2011)" << endl; break; + case TURB_TRANS_CORRELATION::MEDIDA: cout << "Medida PhD (2014)" << endl; break; + case TURB_TRANS_CORRELATION::MENTER_LANGTRY: cout << "Menter and Langtry (2009)" << endl; break; + case TURB_TRANS_CORRELATION::DEFAULT: + switch (Kind_Turb_Model) { + case TURB_MODEL::SA: cout << "Malan et al. (2009)" << endl; break; + case TURB_MODEL::SST: cout << "Menter and Langtry (2009)" << endl; break; + case TURB_MODEL::NONE: SU2_MPI::Error("No turbulence model has been selected but LM transition model is active.", CURRENT_FUNCTION); break; + } + break; + } } cout << "Hybrid RANS/LES: "; switch (Kind_HybridRANSLES) { @@ -6593,7 +6672,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { (Kind_Solver == MAIN_SOLVER::DISC_ADJ_EULER) || (Kind_Solver == MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES) || (Kind_Solver == MAIN_SOLVER::DISC_ADJ_RANS) ) { if (Kind_ConvNumScheme_Flow == SPACE_CENTERED) { - if (Kind_Centered_Flow == LAX) { + if (Kind_Centered_Flow == CENTERED::LAX) { cout << "Lax-Friedrich scheme (1st order in space) for the flow inviscid terms.\n"; cout << "Lax viscous coefficients (1st): " << Kappa_1st_Flow << ".\n"; cout << "First order integration." << endl; @@ -6606,22 +6685,21 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { } if (Kind_ConvNumScheme_Flow == SPACE_UPWIND) { - if (Kind_Upwind_Flow == ROE) cout << "Roe (with entropy fix = "<< EntropyFix_Coeff <<") solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == TURKEL) cout << "Roe-Turkel solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == AUSM) cout << "AUSM solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == HLLC) cout << "HLLC solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == SW) cout << "Steger-Warming solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == MSW) cout << "Modified Steger-Warming solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == CUSP) cout << "CUSP solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == L2ROE) cout << "L2ROE Low Mach ROE solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == LMROE) cout << "Rieper Low Mach ROE solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == SLAU) cout << "Simple Low-Dissipation AUSM solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == SLAU2) cout << "Simple Low-Dissipation AUSM 2 solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == FDS) cout << "Flux difference splitting (FDS) upwind scheme for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == AUSMPLUSUP) cout << "AUSM+-up solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == AUSMPLUSUP2) cout << "AUSM+-up2 solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == AUSMPWPLUS) cout << "AUSMPWPLUS solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == AUSMPLUSM) cout << "AUSMPLUSM solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::ROE) cout << "Roe (with entropy fix = "<< EntropyFix_Coeff <<") solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::TURKEL) cout << "Roe-Turkel solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::AUSM) cout << "AUSM solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::HLLC) cout << "HLLC solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::SW) cout << "Steger-Warming solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::MSW) cout << "Modified Steger-Warming solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::CUSP) cout << "CUSP solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::L2ROE) cout << "L2ROE Low Mach ROE solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::LMROE) cout << "Rieper Low Mach ROE solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::SLAU) cout << "Simple Low-Dissipation AUSM solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::SLAU2) cout << "Simple Low-Dissipation AUSM 2 solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::FDS) cout << "Flux difference splitting (FDS) upwind scheme for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::AUSMPLUSUP) cout << "AUSM+-up solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::AUSMPLUSUP2) cout << "AUSM+-up2 solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::AUSMPWPLUS) cout << "AUSMPWPLUS solver for the flow inviscid terms."<< endl; if (Kind_Solver == MAIN_SOLVER::EULER || Kind_Solver == MAIN_SOLVER::DISC_ADJ_EULER || Kind_Solver == MAIN_SOLVER::NAVIER_STOKES || Kind_Solver == MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES || @@ -6647,7 +6725,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { if ((Kind_Solver == MAIN_SOLVER::RANS) || (Kind_Solver == MAIN_SOLVER::DISC_ADJ_RANS)) { if (Kind_ConvNumScheme_Turb == SPACE_UPWIND) { - if (Kind_Upwind_Turb == SCALAR_UPWIND) cout << "Scalar upwind solver for the turbulence model." << endl; + if (Kind_Upwind_Turb == UPWIND::SCALAR_UPWIND) cout << "Scalar upwind solver for the turbulence model." << endl; if (MUSCL_Turb) { PrintLimiterInfo(Kind_SlopeLimit_Turb); } else { @@ -6659,21 +6737,21 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { if ((Kind_Solver == MAIN_SOLVER::ADJ_EULER) || (Kind_Solver == MAIN_SOLVER::ADJ_NAVIER_STOKES) || (Kind_Solver == MAIN_SOLVER::ADJ_RANS)) { if (Kind_ConvNumScheme_AdjFlow == SPACE_CENTERED) { - if (Kind_Centered_AdjFlow == JST) { + if (Kind_Centered_AdjFlow == CENTERED::JST) { cout << "Jameson-Schmidt-Turkel scheme for the adjoint inviscid terms."<< endl; cout << "JST viscous coefficients (1st, 2nd, & 4th): " << Kappa_1st_AdjFlow << ", " << Kappa_2nd_AdjFlow << ", " << Kappa_4th_AdjFlow <<"."<< endl; cout << "The method includes a grid stretching correction (p = 0.3)."<< endl; cout << "Second order integration." << endl; } - if (Kind_Centered_AdjFlow == LAX) { + if (Kind_Centered_AdjFlow == CENTERED::LAX) { cout << "Lax-Friedrich scheme for the adjoint inviscid terms."<< endl; cout << "First order integration." << endl; } } if (Kind_ConvNumScheme_AdjFlow == SPACE_UPWIND) { - if (Kind_Upwind_AdjFlow == ROE) cout << "Roe (with entropy fix = "<< EntropyFix_Coeff <<") solver for the adjoint inviscid terms."<< endl; + if (Kind_Upwind_AdjFlow == UPWIND::ROE) cout << "Roe (with entropy fix = "<< EntropyFix_Coeff <<") solver for the adjoint inviscid terms."<< endl; if (MUSCL_AdjFlow) { PrintLimiterInfo(Kind_SlopeLimit_AdjFlow); } else { @@ -6687,7 +6765,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { if ((Kind_Solver == MAIN_SOLVER::ADJ_RANS) && (!Frozen_Visc_Cont)) { if (Kind_ConvNumScheme_AdjTurb == SPACE_UPWIND) { - if (Kind_Upwind_Turb == SCALAR_UPWIND) cout << "Scalar upwind solver for the adjoint turbulence model." << endl; + if (Kind_Upwind_Turb == UPWIND::SCALAR_UPWIND) cout << "Scalar upwind solver for the adjoint turbulence model." << endl; if (MUSCL_AdjTurb) { PrintLimiterInfo(Kind_SlopeLimit_AdjTurb); } else { @@ -6746,10 +6824,11 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { cout << "Discontinuous Galerkin Finite element solver" << endl; switch( Riemann_Solver_FEM ) { - case ROE: cout << "Roe (with entropy fix) solver for inviscid fluxes over the faces" << endl; break; - case LAX_FRIEDRICH: cout << "Lax-Friedrich solver for inviscid fluxes over the faces" << endl; break; - case AUSM: cout << "AUSM solver inviscid fluxes over the faces" << endl; break; - case HLLC: cout << "HLLC solver inviscid fluxes over the faces" << endl; break; + case UPWIND::ROE: cout << "Roe (with entropy fix) solver for inviscid fluxes over the faces" << endl; break; + case UPWIND::LAX_FRIEDRICH: cout << "Lax-Friedrich solver for inviscid fluxes over the faces" << endl; break; + case UPWIND::AUSM: cout << "AUSM solver inviscid fluxes over the faces" << endl; break; + case UPWIND::HLLC: cout << "HLLC solver inviscid fluxes over the faces" << endl; break; + default: break; } if(Kind_Solver != MAIN_SOLVER::FEM_EULER && Kind_Solver != MAIN_SOLVER::DISC_ADJ_FEM_EULER) { @@ -8287,7 +8366,7 @@ unsigned short CConfig::GetContainerPosition(unsigned short val_eqsystem) { } void CConfig::SetKind_ConvNumScheme(unsigned short val_kind_convnumscheme, - unsigned short val_kind_centered, unsigned short val_kind_upwind, + CENTERED val_kind_centered, UPWIND val_kind_upwind, LIMITER val_kind_slopelimit, bool val_muscl, unsigned short val_kind_fem) { Kind_ConvNumScheme = val_kind_convnumscheme; @@ -8347,18 +8426,21 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, switch (val_solver) { case MAIN_SOLVER::EULER: case MAIN_SOLVER::INC_EULER: case MAIN_SOLVER::NEMO_EULER: + case MAIN_SOLVER::DISC_ADJ_EULER: case MAIN_SOLVER::DISC_ADJ_INC_EULER: SetFlowParam(); break; case MAIN_SOLVER::NAVIER_STOKES: case MAIN_SOLVER::INC_NAVIER_STOKES: case MAIN_SOLVER::NEMO_NAVIER_STOKES: + case MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES: case MAIN_SOLVER::DISC_ADJ_INC_NAVIER_STOKES: SetFlowParam(); SetSpeciesParam(); if (val_system == RUNTIME_HEAT_SYS) { - SetKind_ConvNumScheme(Kind_ConvNumScheme_Heat, NONE, NONE, LIMITER::NONE, NONE, NONE); + SetKind_ConvNumScheme(Kind_ConvNumScheme_Heat, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, NONE, NONE); SetKind_TimeIntScheme(Kind_TimeIntScheme_Heat); } break; case MAIN_SOLVER::RANS: case MAIN_SOLVER::INC_RANS: + case MAIN_SOLVER::DISC_ADJ_RANS: case MAIN_SOLVER::DISC_ADJ_INC_RANS: SetFlowParam(); SetTurbParam(); SetSpeciesParam(); @@ -8370,13 +8452,17 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, SetKind_TimeIntScheme(Kind_TimeIntScheme_Turb); } if (val_system == RUNTIME_HEAT_SYS) { - SetKind_ConvNumScheme(Kind_ConvNumScheme_Heat, NONE, NONE, LIMITER::NONE, NONE, NONE); + SetKind_ConvNumScheme(Kind_ConvNumScheme_Heat, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, NONE, NONE); SetKind_TimeIntScheme(Kind_TimeIntScheme_Heat); } break; case MAIN_SOLVER::FEM_EULER: case MAIN_SOLVER::FEM_NAVIER_STOKES: + case MAIN_SOLVER::FEM_RANS: case MAIN_SOLVER::FEM_LES: + case MAIN_SOLVER::DISC_ADJ_FEM_EULER: + case MAIN_SOLVER::DISC_ADJ_FEM_NS: + case MAIN_SOLVER::DISC_ADJ_FEM_RANS: if (val_system == RUNTIME_FLOW_SYS) { SetKind_ConvNumScheme(Kind_ConvNumScheme_FEM_Flow, Kind_Centered_Flow, Kind_Upwind_Flow, Kind_SlopeLimit_Flow, @@ -8402,18 +8488,20 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, } break; case MAIN_SOLVER::HEAT_EQUATION: + case MAIN_SOLVER::DISC_ADJ_HEAT: if (val_system == RUNTIME_HEAT_SYS) { - SetKind_ConvNumScheme(NONE, NONE, NONE, LIMITER::NONE, NONE, NONE); + SetKind_ConvNumScheme(NONE, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, NONE, NONE); SetKind_TimeIntScheme(Kind_TimeIntScheme_Heat); } break; case MAIN_SOLVER::FEM_ELASTICITY: + case MAIN_SOLVER::DISC_ADJ_FEM: Current_DynTime = static_cast(TimeIter)*Delta_DynTime; if (val_system == RUNTIME_FEA_SYS) { - SetKind_ConvNumScheme(NONE, NONE, NONE, LIMITER::NONE , NONE, NONE); + SetKind_ConvNumScheme(NONE, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE , NONE, NONE); SetKind_TimeIntScheme(NONE); } break; @@ -8798,6 +8886,14 @@ const su2double* CConfig::GetInlet_SpeciesVal(string val_marker) const { return Inlet_SpeciesVal[iMarker_Inlet_Species]; } +const su2double* CConfig::GetInlet_TurbVal(string val_marker) const { + /*--- If Turbulent Inlet is not provided for the marker, return free stream values. ---*/ + for (auto iMarker = 0u; iMarker < nMarker_Inlet_Turb; iMarker++) { + if (Marker_Inlet_Turb[iMarker] == val_marker) return Inlet_TurbVal[iMarker]; + } + return TurbIntensityAndViscRatioFreeStream; +} + su2double CConfig::GetOutlet_Pressure(string val_marker) const { unsigned short iMarker_Outlet; for (iMarker_Outlet = 0; iMarker_Outlet < nMarker_Outlet; iMarker_Outlet++) diff --git a/Common/src/adt/CADTBaseClass.cpp b/Common/src/adt/CADTBaseClass.cpp index b38ecac1c6c..d4bdbcad0d1 100644 --- a/Common/src/adt/CADTBaseClass.cpp +++ b/Common/src/adt/CADTBaseClass.cpp @@ -2,7 +2,7 @@ * \file CADTBaseClass.cpp * \brief Base class for storing an ADT in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/adt/CADTElemClass.cpp b/Common/src/adt/CADTElemClass.cpp index 38375a88056..b100b192c0a 100644 --- a/Common/src/adt/CADTElemClass.cpp +++ b/Common/src/adt/CADTElemClass.cpp @@ -2,7 +2,7 @@ * \file CADTElemClass.cpp * \brief Class for storing an ADT of (linear) elements in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/adt/CADTPointsOnlyClass.cpp b/Common/src/adt/CADTPointsOnlyClass.cpp index dc99a542f82..31ae4d20a23 100644 --- a/Common/src/adt/CADTPointsOnlyClass.cpp +++ b/Common/src/adt/CADTPointsOnlyClass.cpp @@ -2,7 +2,7 @@ * \file CADTPointsOnlyClass.cpp * \brief Class for storing an ADT of only points in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/basic_types/ad_structure.cpp b/Common/src/basic_types/ad_structure.cpp index d67bd486a8b..e5512da6598 100644 --- a/Common/src/basic_types/ad_structure.cpp +++ b/Common/src/basic_types/ad_structure.cpp @@ -2,7 +2,7 @@ * \file ad_structure.cpp * \brief Main subroutines for the algorithmic differentiation (AD) structure. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/containers/CFileReaderLUT.cpp b/Common/src/containers/CFileReaderLUT.cpp index 081293eded1..c88e6b7a36c 100644 --- a/Common/src/containers/CFileReaderLUT.cpp +++ b/Common/src/containers/CFileReaderLUT.cpp @@ -2,7 +2,7 @@ * \file CFileReaderLUT.hpp * \brief reading lookup table for tabulated fluid properties * \author D. Mayer, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/containers/CLookUpTable.cpp b/Common/src/containers/CLookUpTable.cpp index a0e84c2926e..2c782f208d2 100644 --- a/Common/src/containers/CLookUpTable.cpp +++ b/Common/src/containers/CLookUpTable.cpp @@ -2,7 +2,7 @@ * \file CLookupTable.cpp * \brief tabulation of fluid properties * \author D. Mayer, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/containers/CTrapezoidalMap.cpp b/Common/src/containers/CTrapezoidalMap.cpp index 21d7cb535ac..4e7155d3592 100644 --- a/Common/src/containers/CTrapezoidalMap.cpp +++ b/Common/src/containers/CTrapezoidalMap.cpp @@ -2,7 +2,7 @@ * \file CTrapezoidalMap.cpp * \brief Implementation of the trapezoidal map for tabulation and lookup of fluid properties * \author D. Mayer, T. Economon, N. Beishuizen - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_cgns_elements.cpp b/Common/src/fem/fem_cgns_elements.cpp index 715c70bccb4..e614c350a48 100644 --- a/Common/src/fem/fem_cgns_elements.cpp +++ b/Common/src/fem/fem_cgns_elements.cpp @@ -2,7 +2,7 @@ * \file fem_cgns_elements.cpp * \brief CGNS element definitions and conversions to the SU2 standard. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_gauss_jacobi_quadrature.cpp b/Common/src/fem/fem_gauss_jacobi_quadrature.cpp index bd18f3cef00..ca674b8055b 100644 --- a/Common/src/fem/fem_gauss_jacobi_quadrature.cpp +++ b/Common/src/fem/fem_gauss_jacobi_quadrature.cpp @@ -4,7 +4,7 @@ quadrature rules. All the functions in this file are based on the program JACOBI_RULE of John Burkardt. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_geometry_structure.cpp b/Common/src/fem/fem_geometry_structure.cpp index 80243cb4535..a0e88ffd171 100644 --- a/Common/src/fem/fem_geometry_structure.cpp +++ b/Common/src/fem/fem_geometry_structure.cpp @@ -2,7 +2,7 @@ * \file fem_geometry_structure.cpp * \brief Functions for creating the primal grid for the FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_integration_rules.cpp b/Common/src/fem/fem_integration_rules.cpp index d81f8ea0110..0bf79fc9dd8 100644 --- a/Common/src/fem/fem_integration_rules.cpp +++ b/Common/src/fem/fem_integration_rules.cpp @@ -2,7 +2,7 @@ * \file fem_integration_rules.cpp * \brief FEM integration rules for the standard elements. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_standard_element.cpp b/Common/src/fem/fem_standard_element.cpp index fff76c88abc..aa281ee2683 100644 --- a/Common/src/fem/fem_standard_element.cpp +++ b/Common/src/fem/fem_standard_element.cpp @@ -2,7 +2,7 @@ * \file fem_standard_element.cpp * \brief Functions for the FEM standard elements. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_wall_distance.cpp b/Common/src/fem/fem_wall_distance.cpp index fc97fd28f22..2341359dfd7 100644 --- a/Common/src/fem/fem_wall_distance.cpp +++ b/Common/src/fem/fem_wall_distance.cpp @@ -2,7 +2,7 @@ * \file fem_wall_distance.cpp * \brief Main subroutines for computing the wall distance for the FEM solver. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_work_estimate_metis.cpp b/Common/src/fem/fem_work_estimate_metis.cpp index f416fc696ff..eaab51d39fe 100644 --- a/Common/src/fem/fem_work_estimate_metis.cpp +++ b/Common/src/fem/fem_work_estimate_metis.cpp @@ -3,7 +3,7 @@ * \brief This file contains the implementation of the member functions WorkEstimateMetis for the FEM standard elements. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/geometry_structure_fem_part.cpp b/Common/src/fem/geometry_structure_fem_part.cpp index 39a7a12cf5e..1bb8f0a0b6a 100644 --- a/Common/src/fem/geometry_structure_fem_part.cpp +++ b/Common/src/fem/geometry_structure_fem_part.cpp @@ -2,7 +2,7 @@ * \file geometry_structure_fem_part.cpp * \brief Main subroutines for distributin the grid for the Fluid FEM solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/CDummyGeometry.cpp b/Common/src/geometry/CDummyGeometry.cpp index 47704817d66..3626ef51196 100644 --- a/Common/src/geometry/CDummyGeometry.cpp +++ b/Common/src/geometry/CDummyGeometry.cpp @@ -2,7 +2,7 @@ * \file CDummyGeometry.hpp * \brief Implementation of the dummy geometry class used in "dry run" mode. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index a548c3fe1bc..87ed7214f60 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -2,7 +2,7 @@ * \file CGeometry.cpp * \brief Implementation of the base geometry class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -25,6 +25,8 @@ * License along with SU2. If not, see . */ +#include + #include "../../include/geometry/CGeometry.hpp" #include "../../include/geometry/elements/CElement.hpp" #include "../../include/parallelization/omp_structure.hpp" @@ -3843,7 +3845,7 @@ void CGeometry::ColorMGLevels(unsigned short nMGLevels, const CGeometry* const* /*--- Color the coarse points. ---*/ vector color; const auto& adjacency = geometry[iMesh]->nodes->GetPoints(); - if (colorSparsePattern(adjacency, 1, false, &color).empty()) + if (colorSparsePattern(adjacency, 1, false, &color).empty()) continue; /*--- Propagate colors to fine mesh. ---*/ @@ -3859,6 +3861,178 @@ void CGeometry::ColorMGLevels(unsigned short nMGLevels, const CGeometry* const* } } +const CGeometry::CLineletInfo& CGeometry::GetLineletInfo(const CConfig* config) const { + auto& li = lineletInfo; + if (!li.linelets.empty() || nPoint == 0) return li; + + li.lineletIdx.resize(nPoint, CLineletInfo::NO_LINELET); + + /*--- Estimate number of linelets. ---*/ + + unsigned long nLinelet = 0; + for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { + if (config->GetSolid_Wall(iMarker) || config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY) { + nLinelet += nVertex[iMarker]; + } + } + + /*--- If the domain contains well defined Linelets ---*/ + + unsigned long maxNPoints = 0, sumNPoints = 0; + + if (nLinelet != 0) { + /*--- Define the basic linelets, starting from each vertex, preventing duplication of points. ---*/ + + li.linelets.resize(nLinelet); + nLinelet = 0; + for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { + if (config->GetSolid_Wall(iMarker) || config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY) { + for (auto iVertex = 0ul; iVertex < nVertex[iMarker]; iVertex++) { + const auto iPoint = vertex[iMarker][iVertex]->GetNode(); + if (li.lineletIdx[iPoint] == CLineletInfo::NO_LINELET && nodes->GetDomain(iPoint)) { + li.linelets[nLinelet].push_back(iPoint); + li.lineletIdx[iPoint] = nLinelet; + ++nLinelet; + } + } + } + } + li.linelets.resize(nLinelet); + + /*--- Create the linelet structure. ---*/ + + nLinelet = 0; + for (auto& linelet : li.linelets) { + while (linelet.size() < CLineletInfo::MAX_LINELET_POINTS) { + const auto iPoint = linelet.back(); + + /*--- Compute the value of the max and min weights to detect if this region is isotropic. ---*/ + + su2double max_weight = 0.0, min_weight = std::numeric_limits::max(); + for (auto iNode = 0u; iNode < nodes->GetnPoint(iPoint); iNode++) { + const auto jPoint = nodes->GetPoint(iPoint, iNode); + const auto iEdge = nodes->GetEdge(iPoint, iNode); + const auto* normal = edges->GetNormal(iEdge); + const su2double area = GeometryToolbox::Norm(nDim, normal); + const su2double volume_iPoint = nodes->GetVolume(iPoint); + const su2double volume_jPoint = nodes->GetVolume(jPoint); + const su2double weight = 0.5 * area * (1.0 / volume_iPoint + 1.0 / volume_jPoint); + max_weight = max(max_weight, weight); + min_weight = min(min_weight, weight); + } + + /*--- Isotropic, stop this linelet. ---*/ + if (min_weight / max_weight > CLineletInfo::ALPHA_ISOTROPIC()) break; + + /*--- Otherwise, add the closest valid neighbor. ---*/ + + su2double min_dist2 = std::numeric_limits::max(); + auto next_Point = iPoint; + const auto* iCoord = nodes->GetCoord(iPoint); + + for (const auto jPoint : nodes->GetPoints(iPoint)) { + if (li.lineletIdx[jPoint] == CLineletInfo::NO_LINELET && nodes->GetDomain(jPoint)) { + const auto* jCoord = nodes->GetCoord(jPoint); + const su2double d2 = GeometryToolbox::SquaredDistance(nDim, iCoord, jCoord); + su2double cosTheta = 1; + if (linelet.size() > 1) { + const auto* kCoord = nodes->GetCoord(linelet[linelet.size() - 2]); + su2double dij[3] = {0.0}, dki[3] = {0.0}; + GeometryToolbox::Distance(nDim, iCoord, kCoord, dki); + GeometryToolbox::Distance(nDim, jCoord, iCoord, dij); + cosTheta = GeometryToolbox::DotProduct(3, dki, dij) / sqrt(d2 * GeometryToolbox::SquaredNorm(nDim, dki)); + } + if (d2 < min_dist2 && cosTheta > 0.7071) { + next_Point = jPoint; + min_dist2 = d2; + } + } + } + + /*--- Did not find a suitable point. ---*/ + if (next_Point == iPoint) break; + + linelet.push_back(next_Point); + li.lineletIdx[next_Point] = nLinelet; + } + ++nLinelet; + + maxNPoints = max(maxNPoints, linelet.size()); + sumNPoints += linelet.size(); + } + } + + /*--- Average linelet size over all ranks. ---*/ + + unsigned long globalNPoints, globalNLineLets; + SU2_MPI::Allreduce(&sumNPoints, &globalNPoints, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); + SU2_MPI::Allreduce(&nLinelet, &globalNLineLets, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); + + if (rank == MASTER_NODE) { + std::cout << "Computed linelet structure, " + << static_cast(passivedouble(globalNPoints) / globalNLineLets) + << " points in each line (average)." << std::endl; + } + + /*--- Color the linelets for OpenMP parallelization and visualization. ---*/ + + /*--- Adjacency between lines, computed from point neighbors. ---*/ + std::vector> adjacency(nLinelet); + for (auto iLine = 0ul; iLine < nLinelet; ++iLine) { + std::unordered_set neighbors; + for (const auto iPoint : li.linelets[iLine]) { + neighbors.insert(iPoint); + for (const auto jPoint : nodes->GetPoints(iPoint)) { + neighbors.insert(jPoint); + } + } + adjacency[iLine].reserve(neighbors.size()); + for (const auto iPoint : neighbors) { + adjacency[iLine].push_back(iPoint); + } + } + + const auto coloring = colorSparsePattern::max()>( + CCompressedSparsePatternUL(adjacency), 1, true); + const auto nColors = coloring.getOuterSize(); + + /*--- Sort linelets by color. ---*/ + std::vector> sortedLinelets; + sortedLinelets.reserve(nLinelet); + li.colorOffsets.reserve(nColors + 1); + li.colorOffsets.push_back(0); + + for (auto iColor = 0ul; iColor < nColors; ++iColor) { + for (const auto iLine : coloring.getInnerIter(iColor)) { + /*--- Store the new linelet index for its points. ---*/ + for (const auto iPoint : li.linelets[iLine]) { + li.lineletIdx[iPoint] = sortedLinelets.size(); + } + sortedLinelets.push_back(std::move(li.linelets[iLine])); + } + li.colorOffsets.push_back(sortedLinelets.size()); + } + li.linelets = std::move(sortedLinelets); + + /*--- For visualization, offset colors to avoid coloring across ranks. ---*/ + std::vector allNColors(size); + SU2_MPI::Allgather(&nColors, 1, MPI_UNSIGNED_LONG, allNColors.data(), 1, MPI_UNSIGNED_LONG, SU2_MPI::GetComm()); + unsigned long offset = 0; + for (int i = 0; i < rank; ++i) offset += allNColors[i]; + + /*--- Finally, transfer colors to points, using "0" as "no linelet". ---*/ + li.lineletColor.resize(nPoint, 0); + for (auto iColor = 0ul; iColor < nColors; ++iColor) { + for (auto iLine = li.colorOffsets[iColor]; iLine < li.colorOffsets[iColor + 1]; ++iLine) { + for (const auto iPoint : li.linelets[iLine]) { + li.lineletColor[iPoint] = 1 + offset + iColor; + } + } + } + + return li; +} + void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeometry ****geometry_container){ int nZone = config_container[ZONE_0]->GetnZone(); diff --git a/Common/src/geometry/CMultiGridGeometry.cpp b/Common/src/geometry/CMultiGridGeometry.cpp index e5b69edb35b..06cb35d0c9f 100644 --- a/Common/src/geometry/CMultiGridGeometry.cpp +++ b/Common/src/geometry/CMultiGridGeometry.cpp @@ -2,7 +2,7 @@ * \file CMultiGridGeometry.cpp * \brief Implementation of the multigrid geometry class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -511,6 +511,8 @@ CMultiGridGeometry::CMultiGridGeometry(CGeometry *fine_grid, CConfig *config, un SU2_MPI::Allreduce(&nPoint, &Global_nPointCoarse, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); SU2_MPI::Allreduce(&nPointFine, &Global_nPointFine, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); + SetGlobal_nPointDomain(Global_nPointCoarse); + if (iMesh != MESH_0) { const su2double factor = 1.5; const su2double Coeff = pow(su2double(Global_nPointFine) / Global_nPointCoarse, 1.0 / nDim); diff --git a/Common/src/geometry/CMultiGridQueue.cpp b/Common/src/geometry/CMultiGridQueue.cpp index d2f51cb20a7..50d731939ad 100644 --- a/Common/src/geometry/CMultiGridQueue.cpp +++ b/Common/src/geometry/CMultiGridQueue.cpp @@ -2,7 +2,7 @@ * \file CMultiGridQueue.cpp * \brief Implementation of the multigrid queue class for the FVM solver. * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/CPhysicalGeometry.cpp b/Common/src/geometry/CPhysicalGeometry.cpp index d097edc0ede..25f4bed5c46 100644 --- a/Common/src/geometry/CPhysicalGeometry.cpp +++ b/Common/src/geometry/CPhysicalGeometry.cpp @@ -2,7 +2,7 @@ * \file CPhysicalGeometry.cpp * \brief Implementation of the physical geometry class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CDualGrid.cpp b/Common/src/geometry/dual_grid/CDualGrid.cpp index e6d46914b27..0a71a8e716e 100644 --- a/Common/src/geometry/dual_grid/CDualGrid.cpp +++ b/Common/src/geometry/dual_grid/CDualGrid.cpp @@ -2,7 +2,7 @@ * \file CDualGrid.cpp * \brief Main classes for defining the dual grid * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CEdge.cpp b/Common/src/geometry/dual_grid/CEdge.cpp index 0f079084235..f4fbf8189f6 100644 --- a/Common/src/geometry/dual_grid/CEdge.cpp +++ b/Common/src/geometry/dual_grid/CEdge.cpp @@ -2,7 +2,7 @@ * \file CEdge.cpp * \brief Implementation of the edge class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CPoint.cpp b/Common/src/geometry/dual_grid/CPoint.cpp index 60492a71500..3d392128b31 100644 --- a/Common/src/geometry/dual_grid/CPoint.cpp +++ b/Common/src/geometry/dual_grid/CPoint.cpp @@ -2,7 +2,7 @@ * \file CPoint.cpp * \brief Main classes for defining the points of the dual grid * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CTurboVertex.cpp b/Common/src/geometry/dual_grid/CTurboVertex.cpp index 3e1b7b690da..c0f8e6a0309 100644 --- a/Common/src/geometry/dual_grid/CTurboVertex.cpp +++ b/Common/src/geometry/dual_grid/CTurboVertex.cpp @@ -2,7 +2,7 @@ * \file CTurboVertex.cpp * \brief Main classes for defining the turbo vertices of the dual grid * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CVertex.cpp b/Common/src/geometry/dual_grid/CVertex.cpp index 3e5018931bb..cc6b43f1081 100644 --- a/Common/src/geometry/dual_grid/CVertex.cpp +++ b/Common/src/geometry/dual_grid/CVertex.cpp @@ -2,7 +2,7 @@ * \file CVertex.cpp * \brief Main classes for defining the vertices of the dual grid * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CElement.cpp b/Common/src/geometry/elements/CElement.cpp index ccac8e64077..850ac3e6429 100644 --- a/Common/src/geometry/elements/CElement.cpp +++ b/Common/src/geometry/elements/CElement.cpp @@ -2,7 +2,7 @@ * \file CElement.cpp * \brief Definition of the Finite Element structure (elements) * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CHEXA8.cpp b/Common/src/geometry/elements/CHEXA8.cpp index f221b97e29c..3071ce61033 100644 --- a/Common/src/geometry/elements/CHEXA8.cpp +++ b/Common/src/geometry/elements/CHEXA8.cpp @@ -2,7 +2,7 @@ * \file CHEXA8.cpp * \brief Definition of 8-node hexa element with 8 Gauss points. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CLINE.cpp b/Common/src/geometry/elements/CLINE.cpp index 3fad2f970e3..9fc9dd77ddd 100644 --- a/Common/src/geometry/elements/CLINE.cpp +++ b/Common/src/geometry/elements/CLINE.cpp @@ -2,7 +2,7 @@ * \file CLINE.cpp * \brief Definition of the 2-node line element with two Gauss points. * \author T. Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CPRISM6.cpp b/Common/src/geometry/elements/CPRISM6.cpp index e4f9c765b09..4586177a4d3 100644 --- a/Common/src/geometry/elements/CPRISM6.cpp +++ b/Common/src/geometry/elements/CPRISM6.cpp @@ -2,7 +2,7 @@ * \file CPRISM6.cpp * \brief Definition of the 6-node triangular prism element with 6 Gauss points. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CPYRAM5.cpp b/Common/src/geometry/elements/CPYRAM5.cpp index e143e90e973..c0f89e95bd4 100644 --- a/Common/src/geometry/elements/CPYRAM5.cpp +++ b/Common/src/geometry/elements/CPYRAM5.cpp @@ -2,7 +2,7 @@ * \file CPYRAM5.cpp * \brief Definition of 5-node pyramid element with 5 Gauss points. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CPYRAM6.cpp b/Common/src/geometry/elements/CPYRAM6.cpp index fd838369dc8..84257fd97d4 100644 --- a/Common/src/geometry/elements/CPYRAM6.cpp +++ b/Common/src/geometry/elements/CPYRAM6.cpp @@ -2,7 +2,7 @@ * \file CPYRAM6.cpp * \brief Definition of 5-node pyramid element with 6 Gauss points. * \author T.Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CQUAD4.cpp b/Common/src/geometry/elements/CQUAD4.cpp index b62a0bac4d9..f2014f6894e 100644 --- a/Common/src/geometry/elements/CQUAD4.cpp +++ b/Common/src/geometry/elements/CQUAD4.cpp @@ -2,7 +2,7 @@ * \file CQUAD4.cpp * \brief Definition of the 4-node quadrilateral element with 4 Gauss points. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CTETRA1.cpp b/Common/src/geometry/elements/CTETRA1.cpp index 8a8a98fef6d..7fc967ba383 100644 --- a/Common/src/geometry/elements/CTETRA1.cpp +++ b/Common/src/geometry/elements/CTETRA1.cpp @@ -2,7 +2,7 @@ * \file CTETRA1.cpp * \brief Definition of 4-node tetra element with 1 Gauss point. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CTETRA4.cpp b/Common/src/geometry/elements/CTETRA4.cpp index fd4131ef852..30675b590d7 100644 --- a/Common/src/geometry/elements/CTETRA4.cpp +++ b/Common/src/geometry/elements/CTETRA4.cpp @@ -2,7 +2,7 @@ * \file CTETRA4.cpp * \brief Definition of 4-node tetrahedral element with 4 Gauss point. * \author T. Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CTRIA1.cpp b/Common/src/geometry/elements/CTRIA1.cpp index bc71226c9ff..dc2a8835a47 100644 --- a/Common/src/geometry/elements/CTRIA1.cpp +++ b/Common/src/geometry/elements/CTRIA1.cpp @@ -2,7 +2,7 @@ * \file CTRIA1.cpp * \brief Definition of the 3-node triangular element with one Gauss point. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CTRIA3.cpp b/Common/src/geometry/elements/CTRIA3.cpp index 5e486d3aa79..cdc2750b1d0 100644 --- a/Common/src/geometry/elements/CTRIA3.cpp +++ b/Common/src/geometry/elements/CTRIA3.cpp @@ -2,7 +2,7 @@ * \file CTRIA3.cpp * \brief Definition of the 3-node triangular element with three Gauss points. * \author T. Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp index fea9929f705..9e0e6b571cc 100644 --- a/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Reads a 3D box grid into linear partitions for the * finite volume solver (FVM). * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp index 2799e3ae838..3d07be19cc9 100644 --- a/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Class that reads a single zone of a CGNS mesh file from disk into * linear partitions across all ranks. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CMeshReaderFVM.cpp index 4a4e0caaf29..b3f51710768 100644 --- a/Common/src/geometry/meshreader/CMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Helper class that provides the counts for each rank in a linear * partitioning given the global count as input. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp index 3b6c98bdf59..7c337782d5a 100644 --- a/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Reads a 2D rectangular grid into linear partitions for the * finite volume solver (FVM). * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp index c4c84e4c458..4dc3f4d343e 100644 --- a/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Reads a native SU2 ASCII grid into linear partitions for the * finite volume solver (FVM). * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CHexahedron.cpp b/Common/src/geometry/primal_grid/CHexahedron.cpp index acd40a714ed..1dcaa3647dd 100644 --- a/Common/src/geometry/primal_grid/CHexahedron.cpp +++ b/Common/src/geometry/primal_grid/CHexahedron.cpp @@ -2,7 +2,7 @@ * \file CHexahedron.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CLine.cpp b/Common/src/geometry/primal_grid/CLine.cpp index 9761fb8b2e5..318866865da 100644 --- a/Common/src/geometry/primal_grid/CLine.cpp +++ b/Common/src/geometry/primal_grid/CLine.cpp @@ -2,7 +2,7 @@ * \file CLine.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPrimalGrid.cpp b/Common/src/geometry/primal_grid/CPrimalGrid.cpp index e7ce4e2ef21..2d301454d57 100644 --- a/Common/src/geometry/primal_grid/CPrimalGrid.cpp +++ b/Common/src/geometry/primal_grid/CPrimalGrid.cpp @@ -2,7 +2,7 @@ * \file CPrimalGrid.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp b/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp index e813a8c6679..5b22e7d4b3d 100644 --- a/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp +++ b/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp @@ -2,7 +2,7 @@ * \file CPrimalGridBoundFEM.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp b/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp index 47eb459c4bc..09ab5003815 100644 --- a/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp +++ b/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp @@ -2,7 +2,7 @@ * \file CPrimalGridFEM.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPrism.cpp b/Common/src/geometry/primal_grid/CPrism.cpp index e3f381e2920..9baa19871be 100644 --- a/Common/src/geometry/primal_grid/CPrism.cpp +++ b/Common/src/geometry/primal_grid/CPrism.cpp @@ -2,7 +2,7 @@ * \file CPrism.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPyramid.cpp b/Common/src/geometry/primal_grid/CPyramid.cpp index f7a94f14784..b91d82d90c3 100644 --- a/Common/src/geometry/primal_grid/CPyramid.cpp +++ b/Common/src/geometry/primal_grid/CPyramid.cpp @@ -2,7 +2,7 @@ * \file CPyramid.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CQuadrilateral.cpp b/Common/src/geometry/primal_grid/CQuadrilateral.cpp index aff35ab9056..cc6bda8c146 100644 --- a/Common/src/geometry/primal_grid/CQuadrilateral.cpp +++ b/Common/src/geometry/primal_grid/CQuadrilateral.cpp @@ -2,7 +2,7 @@ * \file CQuadrilateral.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CTetrahedron.cpp b/Common/src/geometry/primal_grid/CTetrahedron.cpp index b8bfc1f73c9..42ac28b95a4 100644 --- a/Common/src/geometry/primal_grid/CTetrahedron.cpp +++ b/Common/src/geometry/primal_grid/CTetrahedron.cpp @@ -2,7 +2,7 @@ * \file CTetrahedron.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CTriangle.cpp b/Common/src/geometry/primal_grid/CTriangle.cpp index d8c4c3cf5b6..76a6b66e888 100644 --- a/Common/src/geometry/primal_grid/CTriangle.cpp +++ b/Common/src/geometry/primal_grid/CTriangle.cpp @@ -2,7 +2,7 @@ * \file CTriangle.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CVertexMPI.cpp b/Common/src/geometry/primal_grid/CVertexMPI.cpp index 260ba776d5d..845ded95ce5 100644 --- a/Common/src/geometry/primal_grid/CVertexMPI.cpp +++ b/Common/src/geometry/primal_grid/CVertexMPI.cpp @@ -2,7 +2,7 @@ * \file CVertexMPI.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/graph_coloring_structure.cpp b/Common/src/graph_coloring_structure.cpp index d9599f8e59e..80c9d74e143 100644 --- a/Common/src/graph_coloring_structure.cpp +++ b/Common/src/graph_coloring_structure.cpp @@ -2,7 +2,7 @@ * \file graph_coloring_structure.cpp * \brief Functions used to carry out the coloring of a given graph. * \author E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CBSplineBlending.cpp b/Common/src/grid_movement/CBSplineBlending.cpp index 8b407628248..32d5b01aa1b 100644 --- a/Common/src/grid_movement/CBSplineBlending.cpp +++ b/Common/src/grid_movement/CBSplineBlending.cpp @@ -2,7 +2,7 @@ * \file CBSplineBlending.cpp * \brief Subroutines for B-Spline blening for FFDs * \author F. Palacios, T. Economon, S. Padron - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CBezierBlending.cpp b/Common/src/grid_movement/CBezierBlending.cpp index dce8649eb0e..5b30eca8641 100644 --- a/Common/src/grid_movement/CBezierBlending.cpp +++ b/Common/src/grid_movement/CBezierBlending.cpp @@ -2,7 +2,7 @@ * \file CBezierBlending.cpp * \brief Subroutines for Bezier blending for FFDs * \author F. Palacios, T. Economon, S. Padron - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CFreeFormBlending.cpp b/Common/src/grid_movement/CFreeFormBlending.cpp index 0bd6b1b0fca..c0b2a7f2ebe 100644 --- a/Common/src/grid_movement/CFreeFormBlending.cpp +++ b/Common/src/grid_movement/CFreeFormBlending.cpp @@ -2,7 +2,7 @@ * \file CFreeFormBlending.cpp * \brief Parent class for FFD Blending functions * \author F. Palacios, T. Economon, S. Padron - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CFreeFormDefBox.cpp b/Common/src/grid_movement/CFreeFormDefBox.cpp index 9a817df8ea3..d9e959ef105 100644 --- a/Common/src/grid_movement/CFreeFormDefBox.cpp +++ b/Common/src/grid_movement/CFreeFormDefBox.cpp @@ -2,7 +2,7 @@ * \file CFreeFormDefBox.cpp * \brief Subroutines for handling Free-Form Deformation Boxes * \author F. Palacios, T. Economon, S. Padron - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CGridMovement.cpp b/Common/src/grid_movement/CGridMovement.cpp index ed3b00c3eb0..82b7f193e5c 100644 --- a/Common/src/grid_movement/CGridMovement.cpp +++ b/Common/src/grid_movement/CGridMovement.cpp @@ -2,7 +2,7 @@ * \file CGridMovement.cpp * \brief Parent class for grid movement classes * \author F. Palacios, T. Economon, S. Padron - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CSurfaceMovement.cpp b/Common/src/grid_movement/CSurfaceMovement.cpp index 5bfa600280f..4087a3d2ce0 100644 --- a/Common/src/grid_movement/CSurfaceMovement.cpp +++ b/Common/src/grid_movement/CSurfaceMovement.cpp @@ -2,7 +2,7 @@ * \file CSurfaceMovement.cpp * \brief Subroutines for moving mesh surface elements * \author F. Palacios, T. Economon, S. Padron - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CVolumetricMovement.cpp b/Common/src/grid_movement/CVolumetricMovement.cpp index 6cd8b1fc0f0..189e474ca4f 100644 --- a/Common/src/grid_movement/CVolumetricMovement.cpp +++ b/Common/src/grid_movement/CVolumetricMovement.cpp @@ -2,7 +2,7 @@ * \file CVolumetricMovement.cpp * \brief Subroutines for moving mesh volume elements * \author F. Palacios, T. Economon, S. Padron - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CInterpolator.cpp b/Common/src/interface_interpolation/CInterpolator.cpp index 620c5122de0..7be9c8eaf49 100644 --- a/Common/src/interface_interpolation/CInterpolator.cpp +++ b/Common/src/interface_interpolation/CInterpolator.cpp @@ -2,7 +2,7 @@ * \file CInterpolator.cpp * \brief Definition of the base class for interface interpolation. * \author H. Kline - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CInterpolatorFactory.cpp b/Common/src/interface_interpolation/CInterpolatorFactory.cpp index b2693e1791c..1998d663aa4 100644 --- a/Common/src/interface_interpolation/CInterpolatorFactory.cpp +++ b/Common/src/interface_interpolation/CInterpolatorFactory.cpp @@ -1,7 +1,7 @@ /*! * \file CInterpolatorFactory.cpp * \brief Factory to generate interpolator objects. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CIsoparametric.cpp b/Common/src/interface_interpolation/CIsoparametric.cpp index c4101e143f0..f81499e0f55 100644 --- a/Common/src/interface_interpolation/CIsoparametric.cpp +++ b/Common/src/interface_interpolation/CIsoparametric.cpp @@ -2,7 +2,7 @@ * \file CIsoparametric.cpp * \brief Implementation isoparametric interpolation (using FE shape functions). * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CMirror.cpp b/Common/src/interface_interpolation/CMirror.cpp index d3b32caac1f..1a80bc0938b 100644 --- a/Common/src/interface_interpolation/CMirror.cpp +++ b/Common/src/interface_interpolation/CMirror.cpp @@ -2,7 +2,7 @@ * \file CMirror.cpp * \brief Implementation of mirror interpolation (conservative approach in FSI problems). * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CNearestNeighbor.cpp b/Common/src/interface_interpolation/CNearestNeighbor.cpp index ed4f1dbb6f3..3eb67377a82 100644 --- a/Common/src/interface_interpolation/CNearestNeighbor.cpp +++ b/Common/src/interface_interpolation/CNearestNeighbor.cpp @@ -2,7 +2,7 @@ * \file CNearestNeighbor.cpp * \brief Implementation of nearest neighbor interpolation. * \author H. Kline - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CRadialBasisFunction.cpp b/Common/src/interface_interpolation/CRadialBasisFunction.cpp index cbb28fb968e..94b9cb5ebd2 100644 --- a/Common/src/interface_interpolation/CRadialBasisFunction.cpp +++ b/Common/src/interface_interpolation/CRadialBasisFunction.cpp @@ -2,7 +2,7 @@ * \file CRadialBasisFunction.cpp * \brief Implementation of RBF interpolation. * \author Joel Ho, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CSlidingMesh.cpp b/Common/src/interface_interpolation/CSlidingMesh.cpp index 11a73075cf5..6e1f3515624 100644 --- a/Common/src/interface_interpolation/CSlidingMesh.cpp +++ b/Common/src/interface_interpolation/CSlidingMesh.cpp @@ -2,7 +2,7 @@ * \file CSlidingMesh.cpp * \brief Implementation of sliding mesh interpolation. * \author H. Kline - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/linear_algebra/CPastixWrapper.cpp b/Common/src/linear_algebra/CPastixWrapper.cpp index 71910e9ad11..e6adda91df6 100644 --- a/Common/src/linear_algebra/CPastixWrapper.cpp +++ b/Common/src/linear_algebra/CPastixWrapper.cpp @@ -3,7 +3,7 @@ * \brief An interface to the INRIA solver PaStiX * (http://pastix.gforge.inria.fr/files/README-txt.html) * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/linear_algebra/CSysMatrix.cpp b/Common/src/linear_algebra/CSysMatrix.cpp index dea7835572a..c6616cdd368 100644 --- a/Common/src/linear_algebra/CSysMatrix.cpp +++ b/Common/src/linear_algebra/CSysMatrix.cpp @@ -2,7 +2,7 @@ * \file CSysMatrix.cpp * \brief Implementation of the sparse matrix class. * \author F. Palacios, A. Bueno, T. Economon, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -40,7 +40,6 @@ CSysMatrix::CSysMatrix() : nPoint = nPointDomain = nVar = nEqn = 0; nnz = nnz_ilu = 0; ilu_fill_in = 0; - nLinelet = 0; omp_partitions = nullptr; @@ -883,17 +882,13 @@ void CSysMatrix::ComputeLU_SGSPreconditioner(const CSysVector begin;) { iPoint--; // because of unsigned type auto idx = iPoint*nVar; DiagonalProduct(prod, iPoint, dia_prod); // Compute D.x* - UpperProduct(prod, iPoint, col_end, up_prod); // Compute U.x_(n+1) + UpperProduct(prod, iPoint, row_end, up_prod); // Compute U.x_(n+1) VectorSubtraction(dia_prod, up_prod, &prod[idx]); // Compute y = D.x*-U.x_(n+1) Gauss_Elimination(iPoint, &prod[idx]); // Solve D.x* = y } @@ -908,168 +903,33 @@ void CSysMatrix::ComputeLU_SGSPreconditioner(const CSysVector -unsigned long CSysMatrix::BuildLineletPreconditioner(CGeometry *geometry, const CConfig *config) { - - assert(omp_get_thread_num()==0 && "Linelet preconditioner cannot be built by multiple threads."); +void CSysMatrix::BuildLineletPreconditioner(const CGeometry *geometry, const CConfig *config) { - bool add_point; - unsigned long iEdge, iPoint, jPoint, index_Point, iLinelet, iVertex, next_Point, counter, iElem; - unsigned short iMarker, iNode; - su2double alpha = 0.9, weight, max_weight, area, volume_iPoint, volume_jPoint; - const su2double* normal; - unsigned long Local_nPoints, Local_nLineLets, Global_nPoints, Global_nLineLets, max_nElem; + BuildJacobiPreconditioner(); - /*--- Memory allocation --*/ + /*--- Allocate working vectors if not done yet. ---*/ + if (!LineletUpper.empty()) return; - vector check_Point(nPoint,true); + const auto nThreads = omp_get_max_threads(); - LineletBool.clear(); - LineletBool.resize(nPoint,false); - - nLinelet = 0; - for (iMarker = 0; iMarker < config->GetnMarker_All(); iMarker++) { - if (config->GetSolid_Wall(iMarker) || - (config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY)) { - nLinelet += geometry->nVertex[iMarker]; + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS { + const auto& li = geometry->GetLineletInfo(config); + if (!li.linelets.empty()) { + LineletUpper.resize(nThreads); + LineletVector.resize(nThreads); + LineletInvDiag.resize(nThreads); } } + END_SU2_OMP_SAFE_GLOBAL_ACCESS - /*--- If the domain contains well defined Linelets ---*/ - - if (nLinelet != 0) { - - /*--- Basic initial allocation ---*/ - - LineletPoint.resize(nLinelet); - - /*--- Define the basic linelets, starting from each vertex ---*/ - - iLinelet = 0; - - for (iMarker = 0; iMarker < config->GetnMarker_All(); iMarker++) { - if (config->GetSolid_Wall(iMarker) || - (config->GetMarker_All_KindBC(iMarker) == DISPLACEMENT_BOUNDARY)) - { - for (iVertex = 0; iVertex < geometry->nVertex[iMarker]; iVertex++) { - iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); - LineletPoint[iLinelet].push_back(iPoint); - check_Point[iPoint] = false; - iLinelet++; - } - } - } - - /*--- Create the linelet structure ---*/ - - iLinelet = 0; - - do { - - index_Point = 0; - - do { - - /*--- Compute the value of the max weight ---*/ - - iPoint = LineletPoint[iLinelet][index_Point]; - max_weight = 0.0; - for (iNode = 0; iNode < geometry->nodes->GetnPoint(iPoint); iNode++) { - jPoint = geometry->nodes->GetPoint(iPoint, iNode); - if ((check_Point[jPoint]) && geometry->nodes->GetDomain(jPoint)) { - iEdge = geometry->FindEdge(iPoint, jPoint); - normal = geometry->edges->GetNormal(iEdge); - if (geometry->GetnDim() == 3) area = sqrt(normal[0]*normal[0]+normal[1]*normal[1]+normal[2]*normal[2]); - else area = sqrt(normal[0]*normal[0]+normal[1]*normal[1]); - volume_iPoint = geometry->nodes->GetVolume(iPoint); - volume_jPoint = geometry->nodes->GetVolume(jPoint); - weight = 0.5*area*((1.0/volume_iPoint)+(1.0/volume_jPoint)); - max_weight = max(max_weight, weight); - } - } - - /*--- Verify if any face of the control volume must be added ---*/ - - add_point = false; - counter = 0; - next_Point = geometry->nodes->GetPoint(iPoint, 0); - for (iNode = 0; iNode < geometry->nodes->GetnPoint(iPoint); iNode++) { - jPoint = geometry->nodes->GetPoint(iPoint, iNode); - iEdge = geometry->FindEdge(iPoint, jPoint); - normal = geometry->edges->GetNormal(iEdge); - if (geometry->GetnDim() == 3) area = sqrt(normal[0]*normal[0]+normal[1]*normal[1]+normal[2]*normal[2]); - else area = sqrt(normal[0]*normal[0]+normal[1]*normal[1]); - volume_iPoint = geometry->nodes->GetVolume(iPoint); - volume_jPoint = geometry->nodes->GetVolume(jPoint); - weight = 0.5*area*((1.0/volume_iPoint)+(1.0/volume_jPoint)); - if (((check_Point[jPoint]) && (weight/max_weight > alpha) && (geometry->nodes->GetDomain(jPoint))) && - ((index_Point == 0) || ((index_Point > 0) && (jPoint != LineletPoint[iLinelet][index_Point-1])))) { - add_point = true; - next_Point = jPoint; - counter++; - } - } - - /*--- We have arrived to an isotropic zone ---*/ - - if (counter > 1) add_point = false; - - /*--- Add a typical point to the linelet, no leading edge ---*/ - - if (add_point) { - LineletPoint[iLinelet].push_back(next_Point); - check_Point[next_Point] = false; - index_Point++; - } - - } while (add_point); - iLinelet++; - } while (iLinelet < nLinelet); - - /*--- Identify the points that belong to a Linelet ---*/ - - for (iLinelet = 0; iLinelet < nLinelet; iLinelet++) { - for (iElem = 0; iElem < LineletPoint[iLinelet].size(); iElem++) { - iPoint = LineletPoint[iLinelet][iElem]; - LineletBool[iPoint] = true; - } - } - - /*--- Identify the maximum number of elements in a Linelet ---*/ - - max_nElem = LineletPoint[0].size(); - for (iLinelet = 1; iLinelet < nLinelet; iLinelet++) - if (LineletPoint[iLinelet].size() > max_nElem) - max_nElem = LineletPoint[iLinelet].size(); - - } - - /*--- The domain doesn't have well defined linelets ---*/ - - else { - - max_nElem = 0; - - } - - /*--- Screen output ---*/ - - Local_nPoints = 0; - for (iLinelet = 0; iLinelet < nLinelet; iLinelet++) { - Local_nPoints += LineletPoint[iLinelet].size(); + SU2_OMP_FOR_STAT(1) + for (int iThread = 0; iThread < nThreads; ++iThread) { + const auto size = CGeometry::CLineletInfo::MAX_LINELET_POINTS; + LineletUpper[iThread].resize(size, nullptr); + LineletVector[iThread].resize(size * nVar, 0.0); + LineletInvDiag[iThread].resize(size * nVar * nVar, 0.0); } - Local_nLineLets = nLinelet; - - SU2_MPI::Allreduce(&Local_nPoints, &Global_nPoints, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); - SU2_MPI::Allreduce(&Local_nLineLets, &Global_nLineLets, 1, MPI_UNSIGNED_LONG, MPI_SUM, SU2_MPI::GetComm()); - - /*--- Memory allocation --*/ - - LineletUpper.resize(omp_get_max_threads(), vector(max_nElem,nullptr)); - LineletVector.resize(omp_get_max_threads(), vector(max_nElem*nVar,0.0)); - LineletInvDiag.resize(omp_get_max_threads(), vector(max_nElem*nVar*nVar,0.0)); - - return (unsigned long)(passivedouble(Global_nPoints) / Global_nLineLets); - + END_SU2_OMP_FOR } template @@ -1078,32 +938,34 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVectorGetLineletInfo(config); + + /*--- Jacobi preconditioning where there are no linelets. ---*/ SU2_OMP_FOR_(schedule(dynamic,omp_heavy_size) SU2_NOWAIT) for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) - if (!LineletBool[iPoint]) + if (li.lineletIdx[iPoint] == CGeometry::CLineletInfo::NO_LINELET) MatrixVectorProduct(&(invM[iPoint*nVar*nVar]), &vec[iPoint*nVar], &prod[iPoint*nVar]); END_SU2_OMP_FOR - /*--- Solve each linelet using the Thomas algorithm ---*/ + /*--- Solve the tridiagonal systems for the linelets. ---*/ SU2_OMP_FOR_DYN(1) - for (auto iLinelet = 0ul; iLinelet < nLinelet; iLinelet++) { + for (auto iLinelet = 0ul; iLinelet < li.linelets.size(); iLinelet++) { /*--- Get references to the working vectors allocated for this thread. ---*/ - int thread = omp_get_thread_num(); - vector& lineletUpper = LineletUpper[thread]; - vector& lineletInvDiag = LineletInvDiag[thread]; - vector& lineletVector = LineletVector[thread]; + const int thread = omp_get_thread_num(); + auto& lineletUpper = LineletUpper[thread]; + auto& lineletInvDiag = LineletInvDiag[thread]; + auto& lineletVector = LineletVector[thread]; /*--- Initialize the solution vector with the rhs ---*/ - auto nElem = LineletPoint[iLinelet].size(); + const auto nElem = li.linelets[iLinelet].size(); for (auto iElem = 0ul; iElem < nElem; iElem++) { - auto iPoint = LineletPoint[iLinelet][iElem]; + const auto iPoint = li.linelets[iLinelet][iElem]; for (auto iVar = 0ul; iVar < nVar; iVar++) lineletVector[iElem*nVar+iVar] = vec[iPoint*nVar+iVar]; } @@ -1114,22 +976,22 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVector::ComputeLineletPreconditioner(const CSysVector 0; --iElem) { - auto inv_dm1 = &lineletInvDiag[(iElem-1)*nVar*nVar]; + const auto* inv_dm1 = &lineletInvDiag[(iElem-1)*nVar*nVar]; MatrixVectorProduct(lineletUpper[iElem-1], &lineletVector[iElem*nVar], aux_vector); VectorSubtraction(&lineletVector[(iElem-1)*nVar], aux_vector, aux_vector); MatrixVectorProduct(inv_dm1, aux_vector, &lineletVector[(iElem-1)*nVar]); @@ -1166,7 +1028,7 @@ void CSysMatrix::ComputeLineletPreconditioner(const CSysVector -# SU2 (ver. 7.4.0 "Blackbird"): The Open-Source CFD Code +# SU2 (ver. 7.5.0 "Blackbird"): The Open-Source CFD Code Computational analysis tools have revolutionized the way we design engineering systems, but most established codes are proprietary, unavailable, or prohibitively expensive for many users. The SU2 team is changing this, making multiphysics analysis and design optimization freely available as open-source software and involving everyone in its creation and development. diff --git a/SU2_CFD/include/CMarkerProfileReaderFVM.hpp b/SU2_CFD/include/CMarkerProfileReaderFVM.hpp index 14c08252778..742e75ce37e 100644 --- a/SU2_CFD/include/CMarkerProfileReaderFVM.hpp +++ b/SU2_CFD/include/CMarkerProfileReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMarkerProfileReaderFVM. * The implementations are in the CMarkerProfileReaderFVM.cpp file. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/SU2_CFD.hpp b/SU2_CFD/include/SU2_CFD.hpp index d8f169fd48f..1b56e2aa124 100644 --- a/SU2_CFD/include/SU2_CFD.hpp +++ b/SU2_CFD/include/SU2_CFD.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_CFD. * The subroutines and functions are in the SU2_CFD.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/definition_structure.hpp b/SU2_CFD/include/definition_structure.hpp index cf9f959de2c..61317ee7a81 100644 --- a/SU2_CFD/include/definition_structure.hpp +++ b/SU2_CFD/include/definition_structure.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines used by SU2_CFD. * The subroutines and functions are in the definition_structure.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp b/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp index f3ee345adc4..e501c48eb1d 100644 --- a/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp +++ b/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp @@ -2,7 +2,7 @@ * \class CDiscAdjMultizoneDriver.hpp * \brief Class for driving adjoint multi-zone problems. * \author O. Burghardt, P. Gomes, T. Albring, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp b/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp index 8aec81d2e0e..557162809d1 100644 --- a/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp +++ b/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \ingroup DiscAdj * \brief Class for driving single-zone adjoint solvers. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CDiscAdjSinglezoneDriver : public CSinglezoneDriver { protected: diff --git a/SU2_CFD/include/drivers/CDriver.hpp b/SU2_CFD/include/drivers/CDriver.hpp index 1e2b5e407ee..efeef08e708 100644 --- a/SU2_CFD/include/drivers/CDriver.hpp +++ b/SU2_CFD/include/drivers/CDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/drivers/CDummyDriver.hpp b/SU2_CFD/include/drivers/CDummyDriver.hpp index 7d71a39c586..9c6616c6e79 100644 --- a/SU2_CFD/include/drivers/CDummyDriver.hpp +++ b/SU2_CFD/include/drivers/CDummyDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/drivers/CMultizoneDriver.hpp b/SU2_CFD/include/drivers/CMultizoneDriver.hpp index c743be2c8f0..866666f4cb7 100644 --- a/SU2_CFD/include/drivers/CMultizoneDriver.hpp +++ b/SU2_CFD/include/drivers/CMultizoneDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \ingroup Drivers * \brief Class for driving zone-specific iterations. * \author R. Sanchez, O. Burghardt - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CMultizoneDriver : public CDriver { protected: diff --git a/SU2_CFD/include/drivers/CSinglezoneDriver.hpp b/SU2_CFD/include/drivers/CSinglezoneDriver.hpp index 50e65f35abf..3fd469b5ee3 100644 --- a/SU2_CFD/include/drivers/CSinglezoneDriver.hpp +++ b/SU2_CFD/include/drivers/CSinglezoneDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \ingroup Drivers * \brief Class for driving single-zone solvers. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CSinglezoneDriver : public CDriver { protected: diff --git a/SU2_CFD/include/fluid/CConductivityModel.hpp b/SU2_CFD/include/fluid/CConductivityModel.hpp index 3eab8712b86..eb8b36f9546 100644 --- a/SU2_CFD/include/fluid/CConductivityModel.hpp +++ b/SU2_CFD/include/fluid/CConductivityModel.hpp @@ -2,7 +2,7 @@ * \file CConductivityModel.hpp * \brief Defines an interface class for thermal conductivity models. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantConductivity.hpp b/SU2_CFD/include/fluid/CConstantConductivity.hpp index 8ac9a2e8028..caf4b3115a5 100644 --- a/SU2_CFD/include/fluid/CConstantConductivity.hpp +++ b/SU2_CFD/include/fluid/CConstantConductivity.hpp @@ -2,7 +2,7 @@ * \file CConstantConductivity.hpp * \brief Defines a constant laminar thermal conductivity model. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp b/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp index c3f83a45eda..70b0bea1ae4 100644 --- a/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp +++ b/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp @@ -2,7 +2,7 @@ * \file CConstantConductivityRANS.hpp * \brief Defines a constant conductivity model for RANS problems. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantDensity.hpp b/SU2_CFD/include/fluid/CConstantDensity.hpp index d459a22b5a8..16655ee587e 100644 --- a/SU2_CFD/include/fluid/CConstantDensity.hpp +++ b/SU2_CFD/include/fluid/CConstantDensity.hpp @@ -2,7 +2,7 @@ * \file CConstantDensity.hpp * \brief Defines the incompressible constant density model. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantDiffusivity.hpp b/SU2_CFD/include/fluid/CConstantDiffusivity.hpp index 94fb3620181..3f68eb59647 100644 --- a/SU2_CFD/include/fluid/CConstantDiffusivity.hpp +++ b/SU2_CFD/include/fluid/CConstantDiffusivity.hpp @@ -2,7 +2,7 @@ * \file CConstantDiffusivity.hpp * \brief Defines constant mass diffusivity. * \author T. Economon, Cristopher Morales Ubal - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp b/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp index 13886d5278d..646918643eb 100644 --- a/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp +++ b/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp @@ -2,7 +2,7 @@ * \file CConstantLewisDiffusivity.hpp * \brief Defines Constant Lewis mass diffusivity. * \author M.Heimgartner, C.Morales - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantPrandtl.hpp b/SU2_CFD/include/fluid/CConstantPrandtl.hpp index de2aa835175..b268bf61e59 100644 --- a/SU2_CFD/include/fluid/CConstantPrandtl.hpp +++ b/SU2_CFD/include/fluid/CConstantPrandtl.hpp @@ -2,7 +2,7 @@ * \file CConstantPrandtl.hpp * \brief Defines a non-constant laminar Prandtl number thermal conductivity model. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp b/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp index 4dfe5011bdb..9ea7aac705d 100644 --- a/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp +++ b/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp @@ -2,7 +2,7 @@ * \file CConstantPrandtlRANS.hpp * \brief Defines a non-constant effective thermal conductivity for RANS problems using Prandtl numbers. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantSchmidt.hpp b/SU2_CFD/include/fluid/CConstantSchmidt.hpp index a2c4f524a45..01991492f9f 100644 --- a/SU2_CFD/include/fluid/CConstantSchmidt.hpp +++ b/SU2_CFD/include/fluid/CConstantSchmidt.hpp @@ -2,7 +2,7 @@ * \file CConstantSchmidt.hpp * \brief Defines a mass diffusivity model with constant Schmidt numbers. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantViscosity.hpp b/SU2_CFD/include/fluid/CConstantViscosity.hpp index 028e34eb552..5a95be95cca 100644 --- a/SU2_CFD/include/fluid/CConstantViscosity.hpp +++ b/SU2_CFD/include/fluid/CConstantViscosity.hpp @@ -2,7 +2,7 @@ * \file CConstantViscosity.hpp * \brief Defines a constant laminar viscosity model. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CCoolProp.hpp b/SU2_CFD/include/fluid/CCoolProp.hpp index 97056d220ff..9d42b8dd8b6 100644 --- a/SU2_CFD/include/fluid/CCoolProp.hpp +++ b/SU2_CFD/include/fluid/CCoolProp.hpp @@ -2,7 +2,7 @@ * \file CCoolProp.hpp * \brief Defines the state-of-the-art fluid model from CoolProp library. * \author P. Yan, G. Gori, A. Guardone - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -145,4 +145,5 @@ class CCoolProp final : public CFluidModel { * \return Value of the constant: Gamma */ su2double GetGamma(void) const { return Gamma; } + }; diff --git a/SU2_CFD/include/fluid/CCoolPropConductivity.hpp b/SU2_CFD/include/fluid/CCoolPropConductivity.hpp new file mode 100644 index 00000000000..594ede4a99e --- /dev/null +++ b/SU2_CFD/include/fluid/CCoolPropConductivity.hpp @@ -0,0 +1,86 @@ +/*! + * \file CCoolPropConductivity.hpp + * \brief Defines laminar thermal conductivity model from CoolProp. + * \author P.YAn, G. Gori, A. Guardone + * \version 7.5.0 "Blackbird" + * + * SU2 Project Website: https://su2code.github.io + * + * The SU2 Project is maintained by the SU2 Foundation + * (http://su2foundation.org) + * + * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * + * SU2 is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * SU2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with SU2. If not, see . + */ + +#pragma once + +#include "CConductivityModel.hpp" +#include "CCoolProp.hpp" + +#ifdef USE_COOLPROP +#include "AbstractState.h" +#include "CoolProp.h" +#endif +/*! + * \class CCoolPropConductivity + * \brief Defines conductivity model from CoolProp. + * \author P.Yan + */ +class CCoolPropConductivity final : public CConductivityModel { + private: +#ifdef USE_COOLPROP + std::unique_ptr fluid_entity; /*!< \brief fluid entity */ +#endif + /*!< \brief list of fluids whose conductivity model is available in CoolProp */ + const vector fluidNameList = { + "Air", "Ammonia", "Argon", "Benzene", "CarbonDioxide", "Cyclopentane", "EthylBenzene", + "Ethane", "Ethanol", "HeavyWater", "Helium", "Hydrogen", "IsoButane", "Isopentane", + "Methane", "Methanol", "Nitrogen", "Oxygen", "Propylene", "ParaHydrogen", "R11", + "R116", "R12", "R123", "R1234yf", "R1234ze(E)", "R124", "R125", + "R13", "R134a", "R14", "R141b", "R142b", "R143a", "R152A", + "R218", "R22", "R227EA", "R23", "R236EA", "R236FA", "R245fa", + "R32", "R404A", "R407C", "R410A", "R507A", "RC318", "SulfurHexafluoride", + "Toluene", "Water", "m-Xylene", "n-Butane", "n-Decane", "n-Dodecane", "n-Heptane", + "n-Hexane", "n-Nonane", "n-Octane", "n-Pentane", "n-Propane", "o-Xylene", "p-Xylene"}; + + public: + /*! + * \brief Constructor of the class. + */ + CCoolPropConductivity(const string& fluidname) { +#ifdef USE_COOLPROP + fluid_entity = std::unique_ptr(CoolProp::AbstractState::factory("HEOS", fluidname)); + if (std::find(fluidNameList.begin(), fluidNameList.end(), fluidname) == fluidNameList.end()) { + SU2_MPI::Error("Conductivity model not available for this fluid in CoolProp library.", CURRENT_FUNCTION); + } +#else + SU2_MPI::Error( + "SU2 was not compiled with CoolProp (-Denable-coolprop=true). Note that CoolProp cannot be used with " + "directdiff or autodiff", + CURRENT_FUNCTION); +#endif + } + + /*! + * \brief Set thermal conductivity. + */ + void SetConductivity(su2double t, su2double rho, su2double, su2double, su2double, su2double, su2double) override { +#ifdef USE_COOLPROP + fluid_entity->update(CoolProp::DmassT_INPUTS, rho, t); + kt_ = fluid_entity->conductivity(); +#endif + } +}; diff --git a/SU2_CFD/include/fluid/CCoolPropViscosity.hpp b/SU2_CFD/include/fluid/CCoolPropViscosity.hpp new file mode 100644 index 00000000000..bf3287d83d8 --- /dev/null +++ b/SU2_CFD/include/fluid/CCoolPropViscosity.hpp @@ -0,0 +1,141 @@ +/*! + * \file CCoolPropViscosity.hpp + * \brief Defines CoolPropviscosity model. + * \author P.Yan, G. Gori, A. Guardone, + * \version 7.5.0 "Blackbird" + * + * SU2 Project Website: https://su2code.github.io + * + * The SU2 Project is maintained by the SU2 Foundation + * (http://su2foundation.org) + * + * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * + * SU2 is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * SU2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with SU2. If not, see . + */ + +#pragma once + +#include "CCoolProp.hpp" +#include "CViscosityModel.hpp" + +#ifdef USE_COOLPROP +#include "AbstractState.h" +#include "CoolProp.h" +#endif +/*! + * \class CCoolPropViscosity + * \brief Defines CoolProp viscosity model. + * \author P.Yan + */ +class CCoolPropViscosity final : public CViscosityModel { + private: +#ifdef USE_COOLPROP + std::unique_ptr fluid_entity; /*!< \brief fluid entity */ +#endif + /*!< \brief list of fluids whose viscosity model is available in CoolProp */ + const vector fluidNameList = {"Air", + "Ammonia", + "Argon", + "Benzene", + "CarbonDioxide", + "CycloHexane", + "Cyclopentane", + "DimethylEther", + "Ethane", + "Ethanol", + "HeavyWater", + "Helium", + "Hydrogen", + "HydrogenSulfide", + "IsoButane", + "Isopentane", + "Methane", + "Methanol", + "Nitrogen", + "Oxygen", + "Propylene", + "R11", + "R116", + "R12", + "R123", + "R1233zd(E)", + "R1234yf", + "R1234ze(E)", + "R124", + "R125", + "R13", + "R134a", + "R14", + "R141b", + "R142b", + "R143a", + "R152A", + "R218", + "R22", + "R227EA", + "R23", + "R236EA", + "R236FA", + "R245fa", + "R32", + "R404A", + "R407C", + "R410A", + "R507A", + "RC318", + "SulfurHexafluoride", + "Toluene", + "Water", + "m-Xylene", + "n-Butane", + "n-Decane", + "n-Dodecane", + "n-Heptane", + "n-Hexane", + "n-Nonane", + "n-Octane", + "n-Pentane", + "n-Propane", + "o-Xylene", + "p-Xylene"}; + + public: + /*! + * \brief Constructor of the class. + */ + CCoolPropViscosity(const string& fluidname) { +#ifdef USE_COOLPROP + fluid_entity = std::unique_ptr(CoolProp::AbstractState::factory("HEOS", fluidname)); + if (std::find(fluidNameList.begin(), fluidNameList.end(), fluidname) == fluidNameList.end()) { + SU2_MPI::Error("Viscosity model not available for this fluid in CoolProp library.", CURRENT_FUNCTION); + } +#else + SU2_MPI::Error( + "SU2 was not compiled with CoolProp (-Denable-coolprop=true). Note that CoolProp cannot be used with " + "directdiff or autodiff", + CURRENT_FUNCTION); +#endif + } + + /*! + * \brief Set Viscosity. + */ + void SetViscosity(su2double t, su2double rho) override { +#ifdef USE_COOLPROP + fluid_entity->update(CoolProp::DmassT_INPUTS, rho, t); + mu_ = fluid_entity->viscosity(); +#endif + } +}; diff --git a/SU2_CFD/include/fluid/CDiffusivityModel.hpp b/SU2_CFD/include/fluid/CDiffusivityModel.hpp index 2db44471082..d9433d3bd6c 100644 --- a/SU2_CFD/include/fluid/CDiffusivityModel.hpp +++ b/SU2_CFD/include/fluid/CDiffusivityModel.hpp @@ -2,7 +2,7 @@ * \file CDiffusivityModel.hpp * \brief Interface class for defining mass diffusivity models. * \author T. Economon, C. Morales - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CFluidModel.hpp b/SU2_CFD/include/fluid/CFluidModel.hpp index b57badc99c9..e9444605b45 100644 --- a/SU2_CFD/include/fluid/CFluidModel.hpp +++ b/SU2_CFD/include/fluid/CFluidModel.hpp @@ -2,7 +2,7 @@ * \file CFluidModel.hpp * \brief Defines the main fluid model class for thermophysical properties. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CFluidScalar.hpp b/SU2_CFD/include/fluid/CFluidScalar.hpp index 619b869c757..32e0cf5781b 100644 --- a/SU2_CFD/include/fluid/CFluidScalar.hpp +++ b/SU2_CFD/include/fluid/CFluidScalar.hpp @@ -2,7 +2,7 @@ * \file CFluidScalar.hpp * \brief Defines the multicomponent incompressible Ideal Gas model for mixtures. * \author T. Economon, Mark Heimgartner, Cristopher Morales Ubal - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CIdealGas.hpp b/SU2_CFD/include/fluid/CIdealGas.hpp index 95f73894cd0..9c0d2c5409e 100644 --- a/SU2_CFD/include/fluid/CIdealGas.hpp +++ b/SU2_CFD/include/fluid/CIdealGas.hpp @@ -2,7 +2,7 @@ * \file CIdealGas.hpp * \brief Defines the ideal gas model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CIncIdealGas.hpp b/SU2_CFD/include/fluid/CIncIdealGas.hpp index 4a476dab235..7dcde9300c4 100644 --- a/SU2_CFD/include/fluid/CIncIdealGas.hpp +++ b/SU2_CFD/include/fluid/CIncIdealGas.hpp @@ -2,7 +2,7 @@ * \file CIncIdealGas.hpp * \brief Defines the incompressible Ideal Gas model. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp b/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp index d4edce5fe99..f473fcd2796 100644 --- a/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp +++ b/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp @@ -2,7 +2,7 @@ * \file CIncIdealGasPolynomial.hpp * \brief Defines the incompressible Ideal Gas model with polynomial Cp. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CMutationTCLib.hpp b/SU2_CFD/include/fluid/CMutationTCLib.hpp index 355523e58bc..96ca9bd6908 100644 --- a/SU2_CFD/include/fluid/CMutationTCLib.hpp +++ b/SU2_CFD/include/fluid/CMutationTCLib.hpp @@ -2,7 +2,7 @@ * \file CMutationTCLib.hpp * \brief Defines the class for the link to Mutation++ ThermoChemistry library. * \author C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CNEMOGas.hpp b/SU2_CFD/include/fluid/CNEMOGas.hpp index 3eb6828a6cb..eba5fbcc5fa 100644 --- a/SU2_CFD/include/fluid/CNEMOGas.hpp +++ b/SU2_CFD/include/fluid/CNEMOGas.hpp @@ -2,7 +2,7 @@ * \file CNEMOGas.hpp * \brief Defines the nonequilibrium gas model. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CPengRobinson.hpp b/SU2_CFD/include/fluid/CPengRobinson.hpp index 333b90f6be6..a7f64aef14d 100644 --- a/SU2_CFD/include/fluid/CPengRobinson.hpp +++ b/SU2_CFD/include/fluid/CPengRobinson.hpp @@ -2,7 +2,7 @@ * \file CPengRobinson.hpp * \brief Defines the Peng-Robinson model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CPolynomialConductivity.hpp b/SU2_CFD/include/fluid/CPolynomialConductivity.hpp index d34d923f41b..132732b6f1c 100644 --- a/SU2_CFD/include/fluid/CPolynomialConductivity.hpp +++ b/SU2_CFD/include/fluid/CPolynomialConductivity.hpp @@ -2,7 +2,7 @@ * \file CPolynomialConductivity.hpp * \brief Defines a non-constant laminar thermal conductivity using a polynomial function of temperature. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp b/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp index 8488fa1fbb3..3b09be6384b 100644 --- a/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp +++ b/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp @@ -3,7 +3,7 @@ * \brief Defines a non-constant thermal conductivity using a polynomial function of temperature * for RANS problems with the addition of a turbulent component based on a turbulent Prandtl number. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CPolynomialViscosity.hpp b/SU2_CFD/include/fluid/CPolynomialViscosity.hpp index b6d54344da8..86a46d645dd 100644 --- a/SU2_CFD/include/fluid/CPolynomialViscosity.hpp +++ b/SU2_CFD/include/fluid/CPolynomialViscosity.hpp @@ -2,7 +2,7 @@ * \file CPolynomialViscosity.hpp * \brief Defines a laminar viscosity model as a polynomial function of temperature. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CSU2TCLib.hpp b/SU2_CFD/include/fluid/CSU2TCLib.hpp index c0c97d953df..e3d5b5d3b23 100644 --- a/SU2_CFD/include/fluid/CSU2TCLib.hpp +++ b/SU2_CFD/include/fluid/CSU2TCLib.hpp @@ -2,7 +2,7 @@ * \file CSU2TCLib.hpp * \brief Defines the classes for different user defined ThermoChemistry libraries. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CSutherland.hpp b/SU2_CFD/include/fluid/CSutherland.hpp index 048750adff9..c5896a54fcd 100644 --- a/SU2_CFD/include/fluid/CSutherland.hpp +++ b/SU2_CFD/include/fluid/CSutherland.hpp @@ -2,7 +2,7 @@ * \file CSutherland.hpp * \brief Defines Sutherland's Law for laminar viscosity. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp b/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp index 4118006117e..c171e36be64 100644 --- a/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp +++ b/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp @@ -2,7 +2,7 @@ * \file CVanDerWaalsGas.hpp * \brief Declaration of the Polytropic Van der Waals model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CViscosityModel.hpp b/SU2_CFD/include/fluid/CViscosityModel.hpp index a7cf00c2154..1e21fe4e0be 100644 --- a/SU2_CFD/include/fluid/CViscosityModel.hpp +++ b/SU2_CFD/include/fluid/CViscosityModel.hpp @@ -2,7 +2,7 @@ * \file CViscosityModel.hpp * \brief Interface class for defining laminar viscosity models. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp b/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp index f475e986935..07f79b395b6 100644 --- a/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp +++ b/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp @@ -4,7 +4,7 @@ * \note This allows the same implementation to be used for conservative * and primitive variables of any solver. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp b/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp index c4540ea0a8a..c04e8b6009e 100644 --- a/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp +++ b/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp @@ -3,7 +3,7 @@ * \brief Generic implementation of Least-Squares gradient computation. * \note This allows the same implementation to be used for conservative * and primitive variables of any solver. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CFEM_DG_Integration.hpp b/SU2_CFD/include/integration/CFEM_DG_Integration.hpp index 6ff988d5192..f76edda2079 100644 --- a/SU2_CFD/include/integration/CFEM_DG_Integration.hpp +++ b/SU2_CFD/include/integration/CFEM_DG_Integration.hpp @@ -2,7 +2,7 @@ * \file CFEM_DG_Integration.hpp * \brief Declaration of class for integration with the FEM DG solver. * \author E. van der Weide, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -32,7 +32,7 @@ * \ingroup Drivers * \brief Class for integration with the FEM DG solver. * \author E. van der Weide, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEM_DG_Integration final : public CIntegration { public: diff --git a/SU2_CFD/include/integration/CIntegration.hpp b/SU2_CFD/include/integration/CIntegration.hpp index ab34ad16164..84b43bb04f1 100644 --- a/SU2_CFD/include/integration/CIntegration.hpp +++ b/SU2_CFD/include/integration/CIntegration.hpp @@ -2,7 +2,7 @@ * \file CIntegration.hpp * \brief Declaration of the main routines to orchestrate space and time integration. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CIntegrationFactory.hpp b/SU2_CFD/include/integration/CIntegrationFactory.hpp index 9d709823e3a..89d11e3aba8 100644 --- a/SU2_CFD/include/integration/CIntegrationFactory.hpp +++ b/SU2_CFD/include/integration/CIntegrationFactory.hpp @@ -2,7 +2,7 @@ * \file CIntegrationFactory.hpp * \brief Headers of the CIntegrationFactory class * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CMultiGridIntegration.hpp b/SU2_CFD/include/integration/CMultiGridIntegration.hpp index 63b060cb0ea..f4bcb84c5ef 100644 --- a/SU2_CFD/include/integration/CMultiGridIntegration.hpp +++ b/SU2_CFD/include/integration/CMultiGridIntegration.hpp @@ -2,7 +2,7 @@ * \file CMultiGridIntegration.hpp * \brief Declaration of class for time integration using a multigrid method. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CNewtonIntegration.hpp b/SU2_CFD/include/integration/CNewtonIntegration.hpp index 1b4ff748b9a..a04693f439e 100644 --- a/SU2_CFD/include/integration/CNewtonIntegration.hpp +++ b/SU2_CFD/include/integration/CNewtonIntegration.hpp @@ -2,7 +2,7 @@ * \file CNewtonIntegration.hpp * \brief Newton-Krylov integration. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CSingleGridIntegration.hpp b/SU2_CFD/include/integration/CSingleGridIntegration.hpp index 764017cbcd4..ca97fcdaede 100644 --- a/SU2_CFD/include/integration/CSingleGridIntegration.hpp +++ b/SU2_CFD/include/integration/CSingleGridIntegration.hpp @@ -2,7 +2,7 @@ * \file CSingleGridIntegration.hpp * \brief Declaration of class for numerical integration of fine grid-only problems. * \author A. Bueno. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CStructuralIntegration.hpp b/SU2_CFD/include/integration/CStructuralIntegration.hpp index 707840c92c9..26f397628f6 100644 --- a/SU2_CFD/include/integration/CStructuralIntegration.hpp +++ b/SU2_CFD/include/integration/CStructuralIntegration.hpp @@ -2,7 +2,7 @@ * \file CStructuralIntegration.hpp * \brief Declaration of class for numerical integration of structural problems. * \author R. Sanchez. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/CInterface.hpp b/SU2_CFD/include/interfaces/CInterface.hpp index ddf2ccc36e2..622d325248d 100644 --- a/SU2_CFD/include/interfaces/CInterface.hpp +++ b/SU2_CFD/include/interfaces/CInterface.hpp @@ -3,7 +3,7 @@ * \brief Declarations and inlines of the transfer structure. * The subroutines and functions are in the physics folders. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -51,7 +51,7 @@ using namespace std; * \ingroup Interfaces * \brief Main class for defining the physical transfer of information. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CInterface { diff --git a/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp b/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp index 6e97ddd3d36..1b3d724775e 100644 --- a/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp +++ b/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer conservative variables * from a generic zone into another one. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp b/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp index 1cf12088232..78e1f602e0a 100644 --- a/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp +++ b/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer average variables * needed for MixingPlane computation from a generic zone into another one. * \author S. Vitale - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp b/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp index 8bcaf560731..633ff04f806 100644 --- a/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp +++ b/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer conservative variables * from a generic zone into another * \author G. Gori Politecnico di Milano - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp b/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp index 002dcd01308..d29e37d2455 100644 --- a/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp +++ b/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer temperature and heatflux * density for conjugate heat interfaces between structure and fluid zones. * \author O. Burghardt - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp b/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp index 8f7a822ebc4..9866c4e30ac 100644 --- a/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp +++ b/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer flow tractions * from a fluid zone into a structural zone in a discrete adjoint simulation. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp b/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp index c61cebfb302..bffe292b263 100644 --- a/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp +++ b/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer boundary displacements * from a structural zone into a fluid zone. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp b/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp index 6f3f4370988..c3fa8a00e78 100644 --- a/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp +++ b/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer flow tractions * from a fluid zone into a structural zone. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CAdjFluidIteration.hpp b/SU2_CFD/include/iteration/CAdjFluidIteration.hpp index 7b0cdbff1ee..25a4ef1c28f 100644 --- a/SU2_CFD/include/iteration/CAdjFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CAdjFluidIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp b/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp index 7064932a7ff..d0b82d9e4b3 100644 --- a/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp +++ b/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp b/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp index 8a4cebaf00b..2de46eb263f 100644 --- a/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp b/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp index 054e83f225d..90f7d481ad4 100644 --- a/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp +++ b/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CFEAIteration.hpp b/SU2_CFD/include/iteration/CFEAIteration.hpp index 17c81e56235..b0e5cced78c 100644 --- a/SU2_CFD/include/iteration/CFEAIteration.hpp +++ b/SU2_CFD/include/iteration/CFEAIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \ingroup Drivers * \brief Class for driving an iteration of structural analysis. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEAIteration : public CIteration { public: diff --git a/SU2_CFD/include/iteration/CFEMFluidIteration.hpp b/SU2_CFD/include/iteration/CFEMFluidIteration.hpp index 4d550c7e102..87c0ede107e 100644 --- a/SU2_CFD/include/iteration/CFEMFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CFEMFluidIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \ingroup Drivers * \brief Class for driving an iteration of the finite element flow system. * \author T. Economon, E. van der Weide - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEMFluidIteration : public CFluidIteration { public: diff --git a/SU2_CFD/include/iteration/CFluidIteration.hpp b/SU2_CFD/include/iteration/CFluidIteration.hpp index 93c0f11043f..62c1467a7d8 100644 --- a/SU2_CFD/include/iteration/CFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CFluidIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CHeatIteration.hpp b/SU2_CFD/include/iteration/CHeatIteration.hpp index 6cd1cf80a34..11a7be72314 100644 --- a/SU2_CFD/include/iteration/CHeatIteration.hpp +++ b/SU2_CFD/include/iteration/CHeatIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CIteration.hpp b/SU2_CFD/include/iteration/CIteration.hpp index dc3fa290813..c432551dc2a 100644 --- a/SU2_CFD/include/iteration/CIteration.hpp +++ b/SU2_CFD/include/iteration/CIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CIterationFactory.hpp b/SU2_CFD/include/iteration/CIterationFactory.hpp index bc587680b76..cd6fd01f3f8 100644 --- a/SU2_CFD/include/iteration/CIterationFactory.hpp +++ b/SU2_CFD/include/iteration/CIterationFactory.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CTurboIteration.hpp b/SU2_CFD/include/iteration/CTurboIteration.hpp index f9f75363995..8d6af4f2e6d 100644 --- a/SU2_CFD/include/iteration/CTurboIteration.hpp +++ b/SU2_CFD/include/iteration/CTurboIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/limiters/CLimiterDetails.hpp b/SU2_CFD/include/limiters/CLimiterDetails.hpp index 2a5c06c28dc..189c091e731 100644 --- a/SU2_CFD/include/limiters/CLimiterDetails.hpp +++ b/SU2_CFD/include/limiters/CLimiterDetails.hpp @@ -3,7 +3,7 @@ * \brief A class template that allows defining limiters via * specialization of particular details. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/limiters/computeLimiters.hpp b/SU2_CFD/include/limiters/computeLimiters.hpp index 685f2fd786e..8c7a105882d 100644 --- a/SU2_CFD/include/limiters/computeLimiters.hpp +++ b/SU2_CFD/include/limiters/computeLimiters.hpp @@ -2,7 +2,7 @@ * \file computeLimiters.hpp * \brief Compute limiters wrapper function. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/limiters/computeLimiters_impl.hpp b/SU2_CFD/include/limiters/computeLimiters_impl.hpp index 48a1dacbe2b..bb6fa93f315 100644 --- a/SU2_CFD/include/limiters/computeLimiters_impl.hpp +++ b/SU2_CFD/include/limiters/computeLimiters_impl.hpp @@ -4,7 +4,7 @@ * \note Common methods are derived by defining small details * via specialization of CLimiterDetails. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/CGradSmoothing.hpp b/SU2_CFD/include/numerics/CGradSmoothing.hpp index 2590601bbb8..e6d1e7dfabb 100644 --- a/SU2_CFD/include/numerics/CGradSmoothing.hpp +++ b/SU2_CFD/include/numerics/CGradSmoothing.hpp @@ -2,7 +2,7 @@ * \file CGradSmoothing.hpp * \brief Declarations and inlines of the numerics class for gradient smoothing. * \author T.Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index abd45931ebc..4eea7d9debd 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -3,7 +3,7 @@ * \brief Declaration of the base numerics class, the * implementation is in the CNumerics.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -55,6 +55,7 @@ class CNumerics { su2double Gas_Constant; /*!< \brief Gas constant. */ su2double Prandtl_Lam; /*!< \brief Laminar Prandtl's number. */ su2double Prandtl_Turb; /*!< \brief Turbulent Prandtl's number. */ + su2double MassFlux; /*!< \brief Mass flux across edge. */ su2double *Proj_Flux_Tensor; /*!< \brief Flux tensor projected in a direction. */ su2double **tau; /*!< \brief Viscous stress tensor. */ @@ -70,9 +71,6 @@ class CNumerics { Thermal_Conductivity_j, /*!< \brief Thermal conductivity at point j. */ Thermal_Conductivity_ve_i, /*!< \brief vibrational-electronic Thermal conductivity at point i. */ Thermal_Conductivity_ve_j, /*!< \brief vibrational-electronic Thermal conductivity at point j. */ - Thermal_Diffusivity_i, /*!< \brief Thermal diffusivity at point i. */ - Thermal_Diffusivity_j; /*!< \brief Thermal diffusivity at point j. */ - su2double Cp_i, /*!< \brief Cp at point i. */ Cp_j; /*!< \brief Cp at point j. */ su2double @@ -82,7 +80,8 @@ class CNumerics { turb_ke_i, /*!< \brief Turbulent kinetic energy at point i. */ turb_ke_j; /*!< \brief Turbulent kinetic energy at point j. */ su2double - intermittency_eff_i; /*!< \brief effective intermittency at point i. */ + intermittency_eff_i, /*!< \brief effective intermittency at point i. */ + intermittency_i; /*!< \brief intermittency at point i. */ su2double Pressure_i, /*!< \brief Pressure at point i. */ Pressure_j; /*!< \brief Pressure at point j. */ @@ -156,6 +155,8 @@ class CNumerics { TurbPsi_Grad_j, /*!< \brief Gradient of adjoint turbulent variables at point j. */ AuxVar_Grad_i, /*!< \brief Gradient of an auxiliary variable at point i. */ AuxVar_Grad_j; /*!< \brief Gradient of an auxiliary variable at point i. */ + su2double + LocalGridLength_i; /*!< \brief Local grid length at point i. */ const su2double *RadVar_Source; /*!< \brief Source term from the radiative heat transfer equation. */ const su2double *Coord_i, /*!< \brief Cartesians coordinates of point i. */ @@ -168,7 +169,8 @@ class CNumerics { su2double TimeStep, /*!< \brief Time step useful in dual time method. */ Area, /*!< \brief Area of the face i-j. */ - Volume; /*!< \brief Volume of the control volume around point i. */ + Volume, /*!< \brief Volume of the control volume around point i. */ + AvgVolume; /*!< \brief Average of the control Volume around point i for vorticity confinement parameter correction */ su2double vel2_inf; /*!< \brief value of the square of freestream speed. */ const su2double *WindGust_i, /*!< \brief Wind gust at point i. */ @@ -191,6 +193,8 @@ class CNumerics { bool nemo; /*!< \brief Flag for NEMO problems */ + bool bounded_scalar = false; /*!< \brief Flag for bounded scalar problem */ + public: /*! * \brief Return type used in some "ComputeResidual" overloads to give a @@ -389,6 +393,14 @@ class CNumerics { TransVar_Grad_j = val_transvar_grad_j; } + /*! + * \brief Set the value of the turbulent variable. + * \param[in] val_transvar_i - Value of the turbulent variable at point i. + */ + inline void SetLocalGridLength(const su2double val_localGridLength_i) { + LocalGridLength_i = val_localGridLength_i; + } + /*! * \brief Set the value of the adjoint turbulent variable. * \param[in] val_turbpsivar_i - Value of the adjoint turbulent variable at point i. @@ -708,6 +720,20 @@ class CNumerics { intermittency_eff_i = val_intermittency_eff_i; } + /*! + * \brief Set the value of the intermittency for the LM model. + * \param[in] intermittency_i - Value of the intermittency at point i. + */ + void SetIntermittency(su2double val_intermittency_i) { + intermittency_i = val_intermittency_i; + } + + /*! + * \brief Get the value of the effective intermittency for the transition model. + * \param[in] intermittency_eff_i - Value of the effective intermittency at point i. + */ + su2double GetIntermittencyEff() const { return intermittency_eff_i; } + /*! * \brief Set the gradient of the auxiliary variables. * \param[in] val_auxvar_grad_i - Gradient of the auxiliary variable at point i. @@ -765,18 +791,6 @@ class CNumerics { Thermal_Conductivity_ve_j = val_thermal_conductivity_ve_j; } - /*! - * \brief Set the thermal diffusivity (translational/rotational) - * \param[in] val_thermal_diffusivity_i - Value of the thermal diffusivity at point i. - * \param[in] val_thermal_diffusivity_j - Value of the thermal diffusivity at point j. - * \param[in] iSpecies - Value of the species. - */ - inline void SetThermalDiffusivity(su2double val_thermal_diffusivity_i, - su2double val_thermal_diffusivity_j) { - Thermal_Diffusivity_i = val_thermal_diffusivity_i; - Thermal_Diffusivity_j = val_thermal_diffusivity_j; - } - /*! * \brief Set the specifc heat c_p. * \param[in] val_specific_heat_i - Value of the specific heat at point i. @@ -981,6 +995,12 @@ class CNumerics { */ inline void SetVolume(su2double val_volume) { Volume = val_volume; } + /*! + * \brief Set the value of AvgVolume Variable. + * \param[in] val_avgvolume AvgVolume Variable. + */ + inline void SetAvgVolume(su2double val_avgvolume) { AvgVolume = val_avgvolume; } + /*! * \brief Sets the values of the roe dissipation. * \param[in] diss_i - Dissipation value at node i @@ -1608,6 +1628,18 @@ class CNumerics { * \param[in] SolverSPvals - Struct holding the values. */ virtual void SetStreamwisePeriodicValues(const StreamwisePeriodicValues SolverSPvals) { } + + /*! + * \brief SetMassFlux + * \param[in] val_MassFlux: Mass flux across the edge + */ + inline void SetMassFlux(const su2double val_MassFlux) { MassFlux = val_MassFlux; } + + /*! + * \brief Obtain information on bounded scalar problem + * \return is_bounded_scalar : scalar solver uses bounded scalar convective transport + */ + inline bool GetBoundedScalar() const { return bounded_scalar;} }; /*! diff --git a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp index 3ca4f7a2aba..08c11113168 100644 --- a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp +++ b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp @@ -2,7 +2,7 @@ * \file CNEMONumerics.hpp * \brief Base class template NEMO numerics. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp b/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp index 0f0d176222b..e3d9f79f5f3 100644 --- a/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp +++ b/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp @@ -2,7 +2,7 @@ * \file NEMO_diffusion.hpp * \brief Declarations of numerics classes for viscous flux computation. * \author S.R. Copeland, W. Maier, C. Garbacz. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for computing viscous term using the average of gradients. * \ingroup ViscDiscr * \author S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CAvgGrad_NEMO : public CNEMONumerics { private: @@ -90,7 +90,7 @@ class CAvgGrad_NEMO : public CNEMONumerics { * \brief Class for computing viscous term using the average of gradients. * \ingroup ViscDiscr * \author C. Garbacz, W. Maier, S.R. Copeland. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CAvgGradCorrected_NEMO : public CNEMONumerics { private: diff --git a/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp b/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp index 05dc3495eb8..e07017acba2 100644 --- a/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp +++ b/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp @@ -2,7 +2,7 @@ * \file NEMO_sources.hpp * \brief Declarations of numerics classes for source-term integration. * \author C. Garbacz, W. Maier, S. Copeland. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for two-temperature model source terms. * \ingroup SourceDiscr * \author C. Garbacz, W. Maier, S. Copeland. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CSource_NEMO : public CNEMONumerics { private: diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausm.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausm.hpp index 37a5adafd11..a7d5f3187be 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/ausm.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/ausm.hpp @@ -2,7 +2,7 @@ * \file ausm.hpp * \brief Declaration of numerics classes for the AUSM family of schemes in NEMO. * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp index 04246db70e7..fba0352856a 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp @@ -2,7 +2,7 @@ * \file ausmplusm.hpp * \brief Declaration of numerics classes for the AUSM family of schemes in NEMO - AUSM+M. * \author F. Morgado - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausmplusup2.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausmplusup2.hpp index 08bbb4e6744..9c6ec1c95b3 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/ausmplusup2.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/ausmplusup2.hpp @@ -2,7 +2,7 @@ * \file ausmplusup2.hpp * \brief Declaration of numerics classes for the AUSM family of schemes in NEMO - AUSM+UP2. * \author W. Maier, A. Sachedeva, C. Garbacz. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausmpwplus.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausmpwplus.hpp index 45bf4545ce6..d1172cf9c6b 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/ausmpwplus.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/ausmpwplus.hpp @@ -2,7 +2,7 @@ * \file ausmpwplus.hpp * \brief Declaration of numerics classes for the AUSM family of schemes in NEMO - AUSMPWPLUS. * \author F. Palacios, W.Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/convection/lax.hpp b/SU2_CFD/include/numerics/NEMO/convection/lax.hpp index 9102c7defb5..c5e8f46e0a4 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/lax.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/lax.hpp @@ -2,7 +2,7 @@ * \file lax.hpp * \brief Declaration of numerics classes for Lax centered scheme. * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/convection/msw.hpp b/SU2_CFD/include/numerics/NEMO/convection/msw.hpp index 1ebcce0f546..80b1bac4544 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/msw.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/msw.hpp @@ -2,7 +2,7 @@ * \file msw.hpp * \brief Declaration of numerics classes for modified Steger-Warming scheme. * \author ADL Stanford, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for solving a flux-vector splitting method by Steger & Warming, modified version. * \ingroup ConvDiscr * \author ADL Stanford, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CUpwMSW_NEMO : public CNEMONumerics { private: diff --git a/SU2_CFD/include/numerics/NEMO/convection/roe.hpp b/SU2_CFD/include/numerics/NEMO/convection/roe.hpp index 751abe4149e..4db3e26b859 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/roe.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/roe.hpp @@ -2,7 +2,7 @@ * \file roe.hpp * \brief Declarations of numerics classes for Roe-type schemes in NEMO. * \author S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for evaluating the Riemann problem using Roe's scheme for a two-temperature model. * \ingroup ConvDiscr * \author S. R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CUpwRoe_NEMO : public CNEMONumerics { private: diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp index d18f12b4245..a335f190f4d 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for continuous adjoint * convective discretization. Implemented in adj_convection.cpp. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp index 4f44d128c97..341081eaff7 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for continuous adjoint * diffusion discretization. Implemented in adj_diffusion.cpp. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp index 1b2e33f63ab..4ca6744bccc 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for continuous adjoint * source term integration. Implemented in adj_sources.cpp. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp b/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp index 45156ccf858..463ef33aceb 100644 --- a/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp +++ b/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp @@ -2,7 +2,7 @@ * \file CFEAElasticity.hpp * \brief Declaration and inlines of the base class for elasticity problems. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -38,7 +38,7 @@ * The methods we override in this class with an empty implementation are here just to better * document the public interface of this class hierarchy. * \author R.Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEAElasticity : public CNumerics { diff --git a/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp b/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp index 3b125593ae0..c8097e1eee9 100644 --- a/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp +++ b/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp @@ -2,7 +2,7 @@ * \file CFEALinearElasticity.hpp * \brief Declaration and inlines of the linear elasticity FE numerics class. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Class for computing the stiffness matrix of a linear, elastic problem. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEALinearElasticity : public CFEAElasticity { protected: @@ -90,7 +90,7 @@ class CFEALinearElasticity : public CFEAElasticity { * \brief Particular case of linear elasticity used for mesh deformation. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEAMeshElasticity final : public CFEALinearElasticity { diff --git a/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp b/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp index 5a697f914d6..44a7420c78b 100644 --- a/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp +++ b/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp @@ -2,7 +2,7 @@ * \file CFEANonlinearElasticity.hpp * \brief Declaration and inlines of the nonlinear elasticity FE numerics class. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -37,7 +37,7 @@ * Compute_Plane_Stress_Term and Compute_Stress_Tensor. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEANonlinearElasticity : public CFEAElasticity { diff --git a/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp b/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp index e0aa7384614..fed3e392496 100644 --- a/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp +++ b/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp @@ -2,7 +2,7 @@ * \file nonlinear_models.hpp * \brief Declarations of nonlinear constitutive models. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Class for computing the constitutive and stress tensors for a neo-Hookean material model, compressible. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEM_NeoHookean_Comp final : public CFEANonlinearElasticity { @@ -83,7 +83,7 @@ class CFEM_NeoHookean_Comp final : public CFEANonlinearElasticity { * \brief Constitutive and stress tensors for a Knowles stored-energy function, nearly incompressible. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEM_Knowles_NearInc final : public CFEANonlinearElasticity { @@ -134,7 +134,7 @@ class CFEM_Knowles_NearInc final : public CFEANonlinearElasticity { * \brief Class for computing the constitutive and stress tensors for a dielectric elastomer. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEM_DielectricElastomer final : public CFEANonlinearElasticity { @@ -182,7 +182,7 @@ class CFEM_DielectricElastomer final : public CFEANonlinearElasticity { * \brief Class for computing the constitutive and stress tensors for a nearly-incompressible ideal DE. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEM_IdealDE final : public CFEANonlinearElasticity { diff --git a/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp b/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp index e611c71aada..3de66b6ed70 100644 --- a/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp +++ b/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp @@ -3,7 +3,7 @@ * \brief Declaration of numerics classes for the AUSM family of schemes, * including SLAU. The implementation is in ausm.cpp. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/centered.hpp b/SU2_CFD/include/numerics/flow/convection/centered.hpp index 1cf42d0edf4..7c6e3acddeb 100644 --- a/SU2_CFD/include/numerics/flow/convection/centered.hpp +++ b/SU2_CFD/include/numerics/flow/convection/centered.hpp @@ -3,7 +3,7 @@ * \brief Declaration of numerics classes for centered schemes, * the implementation is in centered.cpp. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/cusp.hpp b/SU2_CFD/include/numerics/flow/convection/cusp.hpp index 595553e8520..fa2233c2d55 100644 --- a/SU2_CFD/include/numerics/flow/convection/cusp.hpp +++ b/SU2_CFD/include/numerics/flow/convection/cusp.hpp @@ -2,7 +2,7 @@ * \file cusp.hpp * \brief Declaration of the CUSP numerics class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/fds.hpp b/SU2_CFD/include/numerics/flow/convection/fds.hpp index c33d4be5d57..937beee45b9 100644 --- a/SU2_CFD/include/numerics/flow/convection/fds.hpp +++ b/SU2_CFD/include/numerics/flow/convection/fds.hpp @@ -3,7 +3,7 @@ * \brief Declarations of classes for Flux-Difference-Spliting schemes, * the implementations are in fds.cpp * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/fvs.hpp b/SU2_CFD/include/numerics/flow/convection/fvs.hpp index 8b9c4b1e4b2..0dab5b38a83 100644 --- a/SU2_CFD/include/numerics/flow/convection/fvs.hpp +++ b/SU2_CFD/include/numerics/flow/convection/fvs.hpp @@ -3,7 +3,7 @@ * \brief Declarations of classes for Flux-Vector-Spliting schemes, * the implementations are in fvs.cpp. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/hllc.hpp b/SU2_CFD/include/numerics/flow/convection/hllc.hpp index 892ecfa796c..ea7797f9ffe 100644 --- a/SU2_CFD/include/numerics/flow/convection/hllc.hpp +++ b/SU2_CFD/include/numerics/flow/convection/hllc.hpp @@ -2,7 +2,7 @@ * \file hllc.hpp * \brief Declaration of HLLC numerics classes, implemented in hllc.cpp. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for solving an approximate Riemann HLLC. * \ingroup ConvDiscr * \author G. Gori, Politecnico di Milano - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CUpwHLLC_Flow final : public CNumerics { private: @@ -86,7 +86,7 @@ class CUpwHLLC_Flow final : public CNumerics { * \brief Class for solving an approximate Riemann HLLC. * \ingroup ConvDiscr * \author G. Gori, Politecnico di Milano - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CUpwGeneralHLLC_Flow final : public CNumerics { private: diff --git a/SU2_CFD/include/numerics/flow/convection/roe.hpp b/SU2_CFD/include/numerics/flow/convection/roe.hpp index fb41808f162..ca17ee8ab00 100644 --- a/SU2_CFD/include/numerics/flow/convection/roe.hpp +++ b/SU2_CFD/include/numerics/flow/convection/roe.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for Roe-type schemes, * implemented in roe.cpp. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -119,7 +119,7 @@ class CUpwRoe_Flow final : public CUpwRoeBase_Flow { * \brief Class for solving an approximate Riemann solver of L2Roe for the flow equations. * \ingroup ConvDiscr * \author E. Molina, A. Bueno, F. Palacios, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CUpwL2Roe_Flow final : public CUpwRoeBase_Flow { private: @@ -149,7 +149,7 @@ class CUpwL2Roe_Flow final : public CUpwRoeBase_Flow { * \brief Class for solving an approximate Riemann solver of LMRoe for the flow equations. * \ingroup ConvDiscr * \author E. Molina, A. Bueno, F. Palacios, P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CUpwLMRoe_Flow final : public CUpwRoeBase_Flow { private: diff --git a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp index 0664250b2df..21fcbf05033 100644 --- a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp +++ b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp @@ -2,7 +2,7 @@ * \file flow_diffusion.hpp * \brief Declarations of numerics classes for viscous flux computation. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/flow_sources.hpp b/SU2_CFD/include/numerics/flow/flow_sources.hpp index 69cea9237b6..e0f7234556e 100644 --- a/SU2_CFD/include/numerics/flow/flow_sources.hpp +++ b/SU2_CFD/include/numerics/flow/flow_sources.hpp @@ -2,7 +2,7 @@ * \file flow_sources.hpp * \brief Declarations of numerics classes for source-term integration. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -177,7 +177,7 @@ class CSourceBodyForce final : public CSourceBase_Flow { * \brief Class for the source term integration of a body force in the incompressible solver. * \ingroup SourceDiscr * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CSourceIncBodyForce final : public CSourceBase_Flow { su2double Body_Force_Vector[3]; @@ -204,7 +204,7 @@ class CSourceIncBodyForce final : public CSourceBase_Flow { * \brief Class for the source term integration of the Boussinesq approximation for incompressible flow. * \ingroup SourceDiscr * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CSourceBoussinesq final : public CSourceBase_Flow { su2double Gravity_Vector[3]; @@ -306,6 +306,54 @@ class CSourceIncRotatingFrame_Flow final : public CSourceBase_Flow { }; +/*! + * \class CSourceVorticityConfinement + * \brief Class for a source term due to vorticity confinement. + * \ingroup SourceDiscr + * \brief Vorticity Confinement (VC) technique to counter the numerical + * diffusion offered by the numerical scheme + * \author: Y Chandukrishna, Josy P Pullockara, T N Venkatesh. + * Computational and Theoretical Fluid Dynamics division, + * CSIR-National Aerospace Laboratories (NAL), Bangalore. + * Academy of Scientific and Innovative Research (AcSIR), Ghaziabad. + * First release date : 23 December 2022 + * modified on: + * + * VC technique introduces an additional term to the N-S equations that + * counters the numerical difusion offerd by the numerical schemes. The + * additional term is introduced as a source term. VC technique requires an + * input confinement parameter that controls the magnitude of the source + * term. A suitable Confinement parameter is problem, scheme and grid + * dependant. + * + * Required changes in config file - + * VORTICITY_CONFINEMENT = YES + * CONFINEMENT_PARAMETER = <0.0(default)> + * Currently have support for Viscous, Inviscid cases for both 2D and 3D + * problems. Can be used along with other source terms also. + * + * The current implementation follows, + * R. Loehner and C. Yang, Vorticity confinement on unstructured grids, 2002. + * N. Butsuntorn and A. Jameson, Time Spectral Method for Rotorcraft Flow, 2008. + */ +class CSourceVorticityConfinement final : public CSourceBase_Flow { +public: + /*! + * \brief Constructor of the class. + * \param[in] val_nDim - Number of dimensions of the problem. + * \param[in] val_nVar - Number of variables of the problem. + * \param[in] config - Definition of the particular problem. + */ + CSourceVorticityConfinement(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config); + + /*! + * \brief Residual of the rotational frame source term. + * \param[in] config - Definition of the particular problem. + * \return Lightweight const-view of residual and Jacobian. + */ + ResidualType<> ComputeResidual(const CConfig* config) override; +}; + /*! * \class CSourceWindGust * \brief Class for a source term due to a wind gust. diff --git a/SU2_CFD/include/numerics/heat.hpp b/SU2_CFD/include/numerics/heat.hpp index 7104fb69ea3..f5076a434be 100644 --- a/SU2_CFD/include/numerics/heat.hpp +++ b/SU2_CFD/include/numerics/heat.hpp @@ -2,7 +2,7 @@ * \file heat.hpp * \brief Declarations of numerics classes for heat transfer problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -27,14 +27,14 @@ #pragma once -#include "CNumerics.hpp" +#include "scalar/scalar_diffusion.hpp" /*! * \class CCentSca_Heat * \brief Class for scalar centered scheme. * \ingroup ConvDiscr * \author O. Burghardt - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CCentSca_Heat : public CNumerics { private: @@ -68,7 +68,7 @@ class CCentSca_Heat : public CNumerics { * \brief Class for doing a scalar upwind solver for the heat convection equation. * \ingroup ConvDiscr * \author O. Burghardt. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CUpwSca_Heat : public CNumerics { private: @@ -98,28 +98,38 @@ class CUpwSca_Heat : public CNumerics { * \brief Class for computing viscous term using average of gradients without correction (heat equation). * \ingroup ViscDiscr * \author O. Burghardt. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ -class CAvgGrad_Heat : public CNumerics { -private: - bool implicit, correct; - -public: +class CAvgGrad_Heat final : public CAvgGrad_Scalar { + public: /*! * \brief Constructor of the class. * \param[in] val_nDim - Number of dimensions of the problem. - * \param[in] val_nVar - Number of variables of the problem. * \param[in] config - Definition of the particular problem. - * \param[in] correct - Correct the gradient. + * \param[in] correct - Whether to correct the gradient. */ - CAvgGrad_Heat(unsigned short val_nDim, unsigned short val_nVar, const CConfig *config, bool correct); + CAvgGrad_Heat(unsigned short val_nDim, const CConfig *config, bool correct) + : CAvgGrad_Scalar(val_nDim, 1, correct, config) {} + private: /*! - * \brief Compute the viscous heat residual using an average of gradients with correction. - * \param[out] val_residual - Pointer to the total residual. - * \param[out] Jacobian_i - Jacobian of the numerical method at node i (implicit computation). - * \param[out] Jacobian_j - Jacobian of the numerical method at node j (implicit computation). + * \brief Adds extra variables to AD + */ + void ExtraADPreaccIn(void) override { + AD::SetPreaccIn(*Diffusion_Coeff_i, *Diffusion_Coeff_j); + } + + /*! + * \brief Heat-specific specific steps in the ComputeResidual method * \param[in] config - Definition of the particular problem. */ - void ComputeResidual(su2double *val_residual, su2double **Jacobian_i, su2double **Jacobian_j, CConfig *config) override; + void FinishResidualCalc(const CConfig* config) override { + const su2double Thermal_Diffusivity_Mean = 0.5 * (*Diffusion_Coeff_i + *Diffusion_Coeff_j); + + Flux[0] = Thermal_Diffusivity_Mean * Proj_Mean_GradScalarVar[0]; + + /*--- Use TSL for Jacobians. ---*/ + Jacobian_i[0][0] = -Thermal_Diffusivity_Mean * proj_vector_ij; + Jacobian_j[0][0] = Thermal_Diffusivity_Mean * proj_vector_ij; + } }; diff --git a/SU2_CFD/include/numerics/radiation.hpp b/SU2_CFD/include/numerics/radiation.hpp index 4f81d23e42e..98a50e9fa42 100644 --- a/SU2_CFD/include/numerics/radiation.hpp +++ b/SU2_CFD/include/numerics/radiation.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the classes used to compute * residual terms in radiation problems. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp index 0c06703588f..c403af3ee43 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * convective fluxes in scalar problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -115,25 +115,32 @@ class CUpwScalar : public CNumerics { } AD::SetPreaccIn(&V_i[idx.Velocity()], nDim); AD::SetPreaccIn(&V_j[idx.Velocity()], nDim); + AD::SetPreaccIn(V_i[idx.Density()]); + AD::SetPreaccIn(V_j[idx.Density()]); + AD::SetPreaccIn(MassFlux); ExtraADPreaccIn(); - su2double q_ij = 0.0; - if (dynamic_grid) { - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - su2double Velocity_i = V_i[iDim + idx.Velocity()] - GridVel_i[iDim]; - su2double Velocity_j = V_j[iDim + idx.Velocity()] - GridVel_j[iDim]; - q_ij += 0.5 * (Velocity_i + Velocity_j) * Normal[iDim]; - } + if (bounded_scalar) { + a0 = fmax(0.0, MassFlux) / V_i[idx.Density()]; + a1 = fmin(0.0, MassFlux) / V_j[idx.Density()]; } else { - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - q_ij += 0.5 * (V_i[iDim + idx.Velocity()] + V_j[iDim + idx.Velocity()]) * Normal[iDim]; + su2double q_ij = 0.0; + if (dynamic_grid) { + for (unsigned short iDim = 0; iDim < nDim; iDim++) { + su2double Velocity_i = V_i[iDim + idx.Velocity()] - GridVel_i[iDim]; + su2double Velocity_j = V_j[iDim + idx.Velocity()] - GridVel_j[iDim]; + q_ij += 0.5 * (Velocity_i + Velocity_j) * Normal[iDim]; + } + } else { + for (unsigned short iDim = 0; iDim < nDim; iDim++) { + q_ij += 0.5 * (V_i[iDim + idx.Velocity()] + V_j[iDim + idx.Velocity()]) * Normal[iDim]; + } } + a0 = fmax(0.0, q_ij); + a1 = fmin(0.0, q_ij); } - a0 = 0.5 * (q_ij + fabs(q_ij)); - a1 = 0.5 * (q_ij - fabs(q_ij)); - FinishResidualCalc(config); AD::SetPreaccOut(Flux, nVar); diff --git a/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp b/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp index 028b43b165d..82793741241 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * viscous fluxes in scalar problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -30,6 +30,18 @@ #include "../CNumerics.hpp" +/*! + * \class CNoFlowIndices + * \brief Dummy flow indices class to use CAvgGrad_Scalar when flow variables are not available. + * For example, solid heat transfer problems. + */ +struct CNoFlowIndices { + CNoFlowIndices(int, int) {} + inline int Density() const { return 0; } + inline int LaminarViscosity() const { return 0; } + inline int EddyViscosity() const { return 0; } +}; + /*! * \class CAvgGrad_Scalar * \brief Template class for computing viscous residual of scalar values @@ -57,7 +69,7 @@ class CAvgGrad_Scalar : public CNumerics { su2double* Jacobian_j[MAXNVAR]; /*!< \brief Flux Jacobian w.r.t. node j. */ su2double JacobianBuffer[2*MAXNVAR*MAXNVAR];/*!< \brief Static storage for the two Jacobians. */ - const bool correct_gradient = false, implicit = false, incompressible = false; + const bool correct_gradient = false, incompressible = false; /*! * \brief A pure virtual function; Adds any extra variables to AD @@ -84,7 +96,6 @@ class CAvgGrad_Scalar : public CNumerics { : CNumerics(val_nDim, val_nVar, config), idx(val_nDim, config->GetnSpecies()), correct_gradient(correct_grad), - implicit(config->GetKind_TimeIntScheme_Turb() == EULER_IMPLICIT), incompressible(config->GetKind_Regime() == ENUM_REGIME::INCOMPRESSIBLE) { if (nVar > MAXNVAR) { SU2_MPI::Error("Static arrays are too small.", CURRENT_FUNCTION); @@ -116,15 +127,17 @@ class CAvgGrad_Scalar : public CNumerics { AD::SetPreaccIn(ScalarVar_i, nVar); AD::SetPreaccIn(ScalarVar_j, nVar); } - AD::SetPreaccIn(V_i[idx.Density()], V_i[idx.LaminarViscosity()], V_i[idx.EddyViscosity()]); - AD::SetPreaccIn(V_j[idx.Density()], V_j[idx.LaminarViscosity()], V_j[idx.EddyViscosity()]); - - Density_i = V_i[idx.Density()]; - Density_j = V_j[idx.Density()]; - Laminar_Viscosity_i = V_i[idx.LaminarViscosity()]; - Laminar_Viscosity_j = V_j[idx.LaminarViscosity()]; - Eddy_Viscosity_i = V_i[idx.EddyViscosity()]; - Eddy_Viscosity_j = V_j[idx.EddyViscosity()]; + if (!std::is_same::value) { + AD::SetPreaccIn(V_i[idx.Density()], V_i[idx.LaminarViscosity()], V_i[idx.EddyViscosity()]); + AD::SetPreaccIn(V_j[idx.Density()], V_j[idx.LaminarViscosity()], V_j[idx.EddyViscosity()]); + + Density_i = V_i[idx.Density()]; + Density_j = V_j[idx.Density()]; + Laminar_Viscosity_i = V_i[idx.LaminarViscosity()]; + Laminar_Viscosity_j = V_j[idx.LaminarViscosity()]; + Eddy_Viscosity_i = V_i[idx.EddyViscosity()]; + Eddy_Viscosity_j = V_j[idx.EddyViscosity()]; + } ExtraADPreaccIn(); diff --git a/SU2_CFD/include/numerics/scalar/scalar_sources.hpp b/SU2_CFD/include/numerics/scalar/scalar_sources.hpp index e893f9be64b..a8b78dbc65a 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_sources.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_sources.hpp @@ -1,7 +1,7 @@ /*! * \file scalar_sources.hpp * \brief Declarations of numerics classes for integration of source terms in scalar problems. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/species/species_convection.hpp b/SU2_CFD/include/numerics/species/species_convection.hpp index 3308a8cd691..46890678b2e 100644 --- a/SU2_CFD/include/numerics/species/species_convection.hpp +++ b/SU2_CFD/include/numerics/species/species_convection.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * convective fluxes in species problems. * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -51,14 +51,12 @@ class CUpwSca_Species final : public CUpwScalar { using Base::ScalarVar_i; using Base::ScalarVar_j; using Base::idx; + using Base::bounded_scalar; /*! * \brief Adds any extra variables to AD */ - void ExtraADPreaccIn() override { - AD::SetPreaccIn(V_i[idx.Density()]); - AD::SetPreaccIn(V_j[idx.Density()]); - }; + void ExtraADPreaccIn() override {} /*! * \brief Species transport specific steps in the ComputeResidual method @@ -83,5 +81,5 @@ class CUpwSca_Species final : public CUpwScalar { * \param[in] config - Definition of the particular problem. */ CUpwSca_Species(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) - : CUpwScalar(val_nDim, val_nVar, config) {} + : CUpwScalar(val_nDim, val_nVar, config) { bounded_scalar = config->GetBounded_Species(); } }; diff --git a/SU2_CFD/include/numerics/species/species_diffusion.hpp b/SU2_CFD/include/numerics/species/species_diffusion.hpp index 00661a2a1c7..d8ba7b5023f 100644 --- a/SU2_CFD/include/numerics/species/species_diffusion.hpp +++ b/SU2_CFD/include/numerics/species/species_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * viscous fluxes in species problems. * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/species/species_sources.hpp b/SU2_CFD/include/numerics/species/species_sources.hpp index aab3733669c..81dba0f8c7c 100644 --- a/SU2_CFD/include/numerics/species/species_sources.hpp +++ b/SU2_CFD/include/numerics/species/species_sources.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for integration of source * terms in species problems. * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/template.hpp b/SU2_CFD/include/numerics/template.hpp index 2eb67f61d75..e81a536acd8 100644 --- a/SU2_CFD/include/numerics/template.hpp +++ b/SU2_CFD/include/numerics/template.hpp @@ -5,7 +5,7 @@ * new schemes in SU2, in practice you should look for a similar * scheme and try to re-use functionality (not by copy-paste). * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp index 92a9b99bae7..88de5a666e2 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp @@ -3,7 +3,7 @@ * \brief Delarations of numerics classes for discretization of * convective fluxes in transition problems. * \author S. Kang - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp new file mode 100644 index 00000000000..bb80218ac6d --- /dev/null +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp @@ -0,0 +1,192 @@ +/*! + * \file trans_correlations.hpp + * \brief Numerics class for the LM model's correlation functions. + * \version 7.5.0 "Blackbird" + * + * SU2 Project Website: https://su2code.github.io + * + * The SU2 Project is maintained by the SU2 Foundation + * (http://su2foundation.org) + * + * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * + * SU2 is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * SU2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with SU2. If not, see . + */ + +#pragma once + +/*! + * \class TransLMCorrelations + * \brief Class for LM model's correlation functions. + * \ingroup SourceDiscr + * \author A. Rausa. + */ +class TransLMCorrelations { + private: + + LM_ParsedOptions options; + + public: + + /*! + * \brief Set LM options. + * \param[in] val_options - LM options structure. + */ + void SetOptions(const LM_ParsedOptions val_options){ + options = val_options; + } + + /*! + * \brief Compute Re_theta_c from correlations. + * \param[in] Tu - Turbulence intensity. + * \param[in] Re_theta_t - Re_theta_t (TransVar[1]). + * \param[out] rethetac - Corrected value for Re_theta. + */ + su2double ReThetaC_Correlations(const su2double Tu, const su2double Re_theta_t) const { + + su2double rethetac = 0.0; + + switch (options.Correlation) { + case TURB_TRANS_CORRELATION::MALAN: { + rethetac = min(0.615 * Re_theta_t + 61.5, Re_theta_t); + break; + } + + case TURB_TRANS_CORRELATION::SULUKSNA: { + rethetac = min(0.1 * exp(-0.0022 * Re_theta_t + 12), 300.0); + break; + } + + case TURB_TRANS_CORRELATION::KRAUSE: { + rethetac = 0.91 * Re_theta_t + 5.32; + break; + } + + case TURB_TRANS_CORRELATION::KRAUSE_HYPER: { + const su2double FirstTerm = -0.042 * pow(Tu, 3); + const su2double SecondTerm = 0.4233 * pow(Tu, 2); + const su2double ThirdTerm = 0.0118 * pow(Tu, 1); + rethetac = Re_theta_t / (FirstTerm + SecondTerm + ThirdTerm + 1.0744); + break; + } + + case TURB_TRANS_CORRELATION::MEDIDA_BAEDER: { + const su2double FirstTerm = 4.45 * pow(Tu, 3); + const su2double SecondTerm = 5.7 * pow(Tu, 2); + const su2double ThirdTerm = 1.37 * pow(Tu, 1); + rethetac = (FirstTerm - SecondTerm + ThirdTerm + 0.585) * Re_theta_t; + break; + } + + case TURB_TRANS_CORRELATION::MEDIDA: { + rethetac = 0.62 * Re_theta_t; + break; + } + + case TURB_TRANS_CORRELATION::MENTER_LANGTRY: { + if (Re_theta_t <= 1870) { + const su2double FirstTerm = (-396.035 * pow(10, -2)); + const su2double SecondTerm = (10120.656 * pow(10, -4)) * Re_theta_t; + const su2double ThirdTerm = (-868.230 * pow(10, -6)) * pow(Re_theta_t, 2); + const su2double ForthTerm = (696.506 * pow(10, -9)) * pow(Re_theta_t, 3); + const su2double FifthTerm = (-174.105 * pow(10, -12)) * pow(Re_theta_t, 4); + rethetac = FirstTerm + SecondTerm + ThirdTerm + ForthTerm + FifthTerm; + } else { + rethetac = Re_theta_t - (593.11 + 0.482 * (Re_theta_t - 1870.0)); + } + + break; + } + case TURB_TRANS_CORRELATION::DEFAULT: + SU2_MPI::Error("Transition correlation is set to DEFAULT but no default value has ben set in the code.", + CURRENT_FUNCTION); + break; + } + + return rethetac; + } + + /*! + * \brief Compute FLength from correlations. + * \param[in] Tu - Turbulence intensity. + * \param[in] Re_theta_t - Re_theta_t (TransVar[1]). + * \param[out] F_length1 - Value for the F_length1 variable. + */ + su2double FLength_Correlations(const su2double Tu, const su2double Re_theta_t) const { + su2double F_length1 = 0.0; + + switch (options.Correlation) { + case TURB_TRANS_CORRELATION::MALAN: { + F_length1 = min(exp(7.168 - 0.01173 * Re_theta_t) + 0.5, 300.0); + break; + } + + case TURB_TRANS_CORRELATION::SULUKSNA: { + const su2double FirstTerm = -pow(0.025 * Re_theta_t, 2) + 1.47 * Re_theta_t - 120.0; + F_length1 = min(max(FirstTerm, 125.0), Re_theta_t); + break; + } + + case TURB_TRANS_CORRELATION::KRAUSE: { + F_length1 = 3.39 * Re_theta_t + 55.03; + break; + } + + case TURB_TRANS_CORRELATION::KRAUSE_HYPER: { + if (Tu <= 1.) { + F_length1 = log(Re_theta_t + 1) / Tu; + } else { + const su2double FirstTerm = 0.2337 * pow(Tu, 2); + const su2double SecondTerm = -1.3493 * pow(Tu, 1); + F_length1 = log(Re_theta_t + 1) * (FirstTerm + SecondTerm + 2.1449); + } + break; + } + + case TURB_TRANS_CORRELATION::MEDIDA_BAEDER: { + const su2double FirstTerm = 0.171 * pow(Tu, 2); + const su2double SecondTerm = 0.0083 * pow(Tu, 1); + F_length1 = (FirstTerm - SecondTerm + 0.0306); + break; + } + + case TURB_TRANS_CORRELATION::MEDIDA: { + F_length1 = 40; + break; + } + + case TURB_TRANS_CORRELATION::MENTER_LANGTRY: { + if (Re_theta_t < 400) { + F_length1 = 39.8189 + (-119.270 * pow(10, -4)) * Re_theta_t + + (-132.567 * pow(10, -6)) * Re_theta_t * Re_theta_t; + } else if (Re_theta_t < 596) { + F_length1 = 263.404 + (-123.939 * pow(10, -2)) * Re_theta_t + + (194.548 * pow(10, -5)) * pow(Re_theta_t, 2) + + (-101.695 * pow(10, -8)) * pow(Re_theta_t, 3); + } else if (Re_theta_t < 1200) { + F_length1 = 0.5 - (3.0 * pow(10, -4)) * (Re_theta_t - 596.0); + } else { + F_length1 = 0.3188; + } + break; + } + case TURB_TRANS_CORRELATION::DEFAULT: + SU2_MPI::Error("Transition correlation is set to DEFAULT but no default value has ben set in the code.", + CURRENT_FUNCTION); + break; + } + + return F_length1; + } +}; diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp index ff59c94084a..0ad86cf349d 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * viscous fluxes in transition problems. * \author S. Kang - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -50,10 +50,9 @@ class CAvgGrad_TransLM final : public CAvgGrad_Scalar { using Base::ScalarVar_j; using Base::Proj_Mean_GradScalarVar; using Base::proj_vector_ij; - using Base::implicit; using Base::Flux; using Base::Jacobian_i; - using Base::Jacobian_j; + using Base::Jacobian_j; /*! * \brief Adds any extra variables to AD @@ -65,7 +64,8 @@ class CAvgGrad_TransLM final : public CAvgGrad_Scalar { * \param[in] config - Definition of the particular problem. */ void FinishResidualCalc(const CConfig* config) override { - + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + /*--- Compute mean effective dynamic viscosity ---*/ const su2double diff_i_gamma = Laminar_Viscosity_i + Eddy_Viscosity_i; const su2double diff_j_gamma = Laminar_Viscosity_j + Eddy_Viscosity_j; @@ -101,5 +101,5 @@ class CAvgGrad_TransLM final : public CAvgGrad_Scalar { CAvgGrad_TransLM(unsigned short val_nDim, unsigned short val_nVar, bool correct_grad, const CConfig* config) : CAvgGrad_Scalar(val_nDim, val_nVar, correct_grad, config){ } - + }; diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp index 8f01a803705..de013fb1a67 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp @@ -1,7 +1,7 @@ /*! * \file trans_sources.hpp * \brief Numerics classes for integration of source terms in transition problems. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -27,7 +27,7 @@ #pragma once #include "../../../../../Common/include/toolboxes/geometry_toolbox.hpp" #include "../../scalar/scalar_sources.hpp" - +#include "./trans_correlations.hpp" /*! * \class CSourcePieceWise_TranLM @@ -40,6 +40,8 @@ class CSourcePieceWise_TransLM final : public CNumerics { private: const FlowIndices idx; /*!< \brief Object to manage the access to the flow primitives. */ + const LM_ParsedOptions options; + /*--- LM Closure constants ---*/ const su2double c_e1 = 1.0; const su2double c_a1 = 2.0; @@ -48,11 +50,20 @@ class CSourcePieceWise_TransLM final : public CNumerics { const su2double sigmaf = 1.0; const su2double s1 = 2.0; const su2double c_theta = 0.03; + const su2double c_CF = 0.6; const su2double sigmat = 2.0; + TURB_FAMILY TurbFamily; + su2double hRoughness; + + su2double IntermittencySep = 1.0; + su2double IntermittencyEff = 1.0; + su2double Residual[2]; su2double* Jacobian_i[2]; - su2double Jacobian_Buffer[4];// Static storage for the Jacobian (which needs to be pointer for return type). + su2double Jacobian_Buffer[4]; // Static storage for the Jacobian (which needs to be pointer for return type). + + TransLMCorrelations TransCorrelations; public: /*! @@ -61,13 +72,18 @@ class CSourcePieceWise_TransLM final : public CNumerics { * \param[in] val_nVar - Number of variables of the problem. * \param[in] config - Definition of the particular problem. */ - CSourcePieceWise_TransLM(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) - : CNumerics(val_nDim, 2, config), - idx(val_nDim, config->GetnSpecies()) { - + CSourcePieceWise_TransLM(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) + : CNumerics(val_nDim, 2, config), idx(val_nDim, config->GetnSpecies()), options(config->GetLMParsedOptions()){ /*--- "Allocate" the Jacobian using the static buffer. ---*/ Jacobian_i[0] = Jacobian_Buffer; Jacobian_i[1] = Jacobian_Buffer + 2; + + TurbFamily = TurbModelFamily(config->GetKind_Turb_Model()); + + hRoughness = config->GethRoughness(); + + TransCorrelations.SetOptions(options); + } /*! @@ -76,178 +92,234 @@ class CSourcePieceWise_TransLM final : public CNumerics { * \return A lightweight const-view (read-only) of the residual/flux and Jacobians. */ ResidualType<> ComputeResidual(const CConfig* config) override { - /*--- ScalarVar[0] = k, ScalarVar[0] = w, TransVar[0] = gamma, and TransVar[0] = ReThetaT ---*/ - /*--- dU/dx = PrimVar_Grad[1][0] ---*/ - AD::StartPreacc(); - AD::SetPreaccIn(StrainMag_i); - AD::SetPreaccIn(ScalarVar_i, nVar); - AD::SetPreaccIn(ScalarVar_Grad_i, nVar, nDim); - AD::SetPreaccIn(TransVar_i, nVar); - AD::SetPreaccIn(TransVar_Grad_i, nVar, nDim); - AD::SetPreaccIn(Volume); AD::SetPreaccIn(dist_i); - AD::SetPreaccIn(&V_i[idx.Velocity()], nDim); - AD::SetPreaccIn(PrimVar_Grad_i, nDim+idx.Velocity(), nDim); - AD::SetPreaccIn(Vorticity_i, 3); - - su2double VorticityMag = sqrt(Vorticity_i[0]*Vorticity_i[0] + - Vorticity_i[1]*Vorticity_i[1] + - Vorticity_i[2]*Vorticity_i[2]); - - const su2double vel_u = V_i[idx.Velocity()]; - const su2double vel_v = V_i[1+idx.Velocity()]; - const su2double vel_w = (nDim ==3) ? V_i[2+idx.Velocity()] : 0.0; - - const su2double Velocity_Mag = sqrt(vel_u*vel_u + vel_v*vel_v + vel_w*vel_w); - - AD::SetPreaccIn(V_i[idx.Density()], V_i[idx.LaminarViscosity()], V_i[idx.EddyViscosity()]); - - Density_i = V_i[idx.Density()]; - Laminar_Viscosity_i = V_i[idx.LaminarViscosity()]; - Eddy_Viscosity_i = V_i[idx.EddyViscosity()]; - - Residual[0] = 0.0; Residual[1] = 0.0; - Jacobian_i[0][0] = 0.0; Jacobian_i[0][1] = 0.0; - Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = 0.0; - - if (dist_i > 1e-10) { - - /*--- Corr_RetC correlation*/ - su2double Corr_Rec = 0.0; - if(TransVar_i[1] <= 1870){ - Corr_Rec = TransVar_i[1] - (396.035e-02 + (-120.656e-04)*TransVar_i[1] + (868.230e-06)*pow(TransVar_i[1], 2.) - +(-696.506e-09)*pow(TransVar_i[1], 3.) + (174.105e-12)*pow(TransVar_i[1], 4.)); - } else { - Corr_Rec = TransVar_i[1] - ( 593.11 + (TransVar_i[1] - 1870.0) * 0.482); - } + /*--- ScalarVar[0] = k, ScalarVar[0] = w, TransVar[0] = gamma, and TransVar[0] = ReThetaT ---*/ + /*--- dU/dx = PrimVar_Grad[1][0] ---*/ + AD::StartPreacc(); + AD::SetPreaccIn(StrainMag_i); + AD::SetPreaccIn(ScalarVar_i, nVar); + AD::SetPreaccIn(ScalarVar_Grad_i, nVar, nDim); + AD::SetPreaccIn(TransVar_i, nVar); + AD::SetPreaccIn(TransVar_Grad_i, nVar, nDim); + AD::SetPreaccIn(Volume); + AD::SetPreaccIn(dist_i); + AD::SetPreaccIn(&V_i[idx.Velocity()], nDim); + AD::SetPreaccIn(PrimVar_Grad_i, nDim + idx.Velocity(), nDim); + AD::SetPreaccIn(Vorticity_i, 3); + + su2double VorticityMag = + sqrt(Vorticity_i[0] * Vorticity_i[0] + Vorticity_i[1] * Vorticity_i[1] + Vorticity_i[2] * Vorticity_i[2]); + + const su2double vel_u = V_i[idx.Velocity()]; + const su2double vel_v = V_i[1 + idx.Velocity()]; + const su2double vel_w = (nDim == 3) ? V_i[2 + idx.Velocity()] : 0.0; + + const su2double Velocity_Mag = sqrt(vel_u * vel_u + vel_v * vel_v + vel_w * vel_w); + + AD::SetPreaccIn(V_i[idx.Density()], V_i[idx.LaminarViscosity()], V_i[idx.EddyViscosity()]); + + Density_i = V_i[idx.Density()]; + Laminar_Viscosity_i = V_i[idx.LaminarViscosity()]; + Eddy_Viscosity_i = V_i[idx.EddyViscosity()]; + + Residual[0] = 0.0; + Residual[1] = 0.0; + Jacobian_i[0][0] = 0.0; + Jacobian_i[0][1] = 0.0; + Jacobian_i[1][0] = 0.0; + Jacobian_i[1][1] = 0.0; - /*--- F_length correlation*/ - su2double Corr_F_length = 0.0; - if(TransVar_i[1] < 400){ - Corr_F_length = 398.189e-01 + (-119.270e-04)*TransVar_i[1] + (-132.567e-06) * pow(TransVar_i[1], 2.); - } - else if(TransVar_i[1] >= 400 && TransVar_i[1] < 596) { - Corr_F_length = 263.404 + (-123.939e-02) * TransVar_i[1] + (194.548e-5) * pow(TransVar_i[1], 2.) + (-101.695e-08) * pow(TransVar_i[1], 3.); - } - else if(TransVar_i[1] >= 596 && TransVar_i[1] < 1200) { - Corr_F_length = 0.5 - (TransVar_i[1] - 596.0) * 3.0e-04; - } - else { - Corr_F_length = 0.3188; - } - - /*--- F_length ---*/ - const su2double r_omega = Density_i*dist_i*dist_i*ScalarVar_i[1]/Laminar_Viscosity_i; - const su2double f_sub = exp(-pow(r_omega/200.0, 2)); - const su2double F_length = Corr_F_length *(1.-f_sub) + 40.0*f_sub; - - /*--- F_onset ---*/ - const su2double R_t = Density_i*ScalarVar_i[0]/ Laminar_Viscosity_i/ ScalarVar_i[1]; - const su2double Re_v = Density_i*dist_i*dist_i*StrainMag_i/Laminar_Viscosity_i; - const su2double F_onset1 = Re_v / (2.193 * Corr_Rec); - const su2double F_onset2 = min(max(F_onset1, pow(F_onset1, 4.0)), 2.0); - const su2double F_onset3 = max(1.0 - pow(R_t/2.5, 3.0), 0.0); - const su2double F_onset = max(F_onset2 - F_onset3, 0.0); - - /*-- Gradient of velocity magnitude ---*/ - - su2double dU_dx = 0.5/Velocity_Mag*( 2.*vel_u*PrimVar_Grad_i[1][0] - +2.*vel_v*PrimVar_Grad_i[2][0]); - if (nDim==3) - dU_dx += 0.5/Velocity_Mag*( 2.*vel_w*PrimVar_Grad_i[3][0]); - - su2double dU_dy = 0.5/Velocity_Mag*( 2.*vel_u*PrimVar_Grad_i[1][1] - +2.*vel_v*PrimVar_Grad_i[2][1]); - if (nDim==3) - dU_dy += 0.5/Velocity_Mag*( 2.*vel_w*PrimVar_Grad_i[3][1]); - - su2double dU_dz = 0.0; - if (nDim==3) - dU_dz = 0.5/Velocity_Mag*( 2.*vel_u*PrimVar_Grad_i[1][2] - +2.*vel_v*PrimVar_Grad_i[2][2] - +2.*vel_w*PrimVar_Grad_i[3][2]); - - su2double du_ds = vel_u/Velocity_Mag*dU_dx + vel_v/Velocity_Mag*dU_dy; - if (nDim==3) - du_ds += vel_w/Velocity_Mag * dU_dz; - - /*-- Calculate blending function f_theta --*/ + if (dist_i > 1e-10) { + su2double Tu = 1.0; + if (TurbFamily == TURB_FAMILY::KW) Tu = max(100.0 * sqrt(2.0 * ScalarVar_i[0] / 3.0) / Velocity_Mag, 0.027); + if (TurbFamily == TURB_FAMILY::SA) Tu = config->GetTurbulenceIntensity_FreeStream() * 100; - const su2double time_scale = 500.0*Laminar_Viscosity_i/Density_i/ Velocity_Mag /Velocity_Mag; - const su2double theta_bl = TransVar_i[1]*Laminar_Viscosity_i / Density_i /Velocity_Mag; - const su2double delta_bl = 7.5*theta_bl; - const su2double delta = 50.0*VorticityMag*dist_i/Velocity_Mag*delta_bl + 1e-20; - - const su2double re_omega = Density_i*ScalarVar_i[1]*dist_i*dist_i/Laminar_Viscosity_i; - const su2double f_wake = exp(-pow(re_omega/(1.0e+05),2)); - - const su2double var1 = (TransVar_i[0]-1.0/c_e2)/(1.0-1.0/c_e2); - const su2double var2 = 1.0 - pow(var1,2.0); - const su2double f_theta = min(max(f_wake*exp(-pow(dist_i/delta, 4)), var2), 1.0); - const su2double f_turb = exp(-pow(R_t/4, 4)); - - /*--- Corr_RetT correlation*/ - su2double Corr_Ret_lim = 20.0; - su2double f_lambda = 1.0; - - su2double Retheta_Error = 200.0 , Retheta_old = 0.0; - su2double lambda = 0.0; - su2double Corr_Ret = 20.0; - const su2double Tu = max(100.0*sqrt( 2.0 * ScalarVar_i[0] / 3.0 ) / Velocity_Mag,0.027); - - for (int iter=0; iter<100 ; iter++) { - - su2double theta = Corr_Ret * Laminar_Viscosity_i / Density_i/ Velocity_Mag; - lambda = Density_i*theta*theta/ Laminar_Viscosity_i*du_ds; - lambda = min(max(-0.1, lambda), 0.1); - - if (lambda<=0.0) { - f_lambda = 1. - (-12.986*lambda - 123.66*lambda*lambda - - 405.689*lambda*lambda*lambda)*exp(-pow(Tu/1.5, 1.5)); - } else { - f_lambda = 1. + 0.275*(1.-exp(-35.*lambda))*exp(-Tu/0.5); - } + /*--- Corr_RetC correlation*/ + const su2double Corr_Rec = TransCorrelations.ReThetaC_Correlations(Tu, TransVar_i[1]); - if (Tu <= 1.3) { - Corr_Ret = f_lambda * (1173.51 - 589.428*Tu + 0.2196/Tu/Tu); - } else { - Corr_Ret = 331.5 * f_lambda*pow(Tu - 0.5658,-0.671); - } - Corr_Ret = max(Corr_Ret, Corr_Ret_lim); + /*--- F_length correlation*/ + const su2double Corr_F_length = TransCorrelations.FLength_Correlations(Tu, TransVar_i[1]); - Retheta_Error = fabs(Retheta_old -Corr_Ret)/Retheta_old; + /*--- F_length ---*/ + su2double F_length = 0.0; + if (TurbFamily == TURB_FAMILY::KW) { + const su2double r_omega = Density_i * dist_i * dist_i * ScalarVar_i[1] / Laminar_Viscosity_i; + const su2double f_sub = exp(-pow(r_omega / 200.0, 2)); + F_length = Corr_F_length * (1. - f_sub) + 40.0 * f_sub; + } + if (TurbFamily == TURB_FAMILY::SA) F_length = Corr_F_length; + + /*--- F_onset ---*/ + su2double R_t = 1.0; + if (TurbFamily == TURB_FAMILY::KW) R_t = Density_i * ScalarVar_i[0] / Laminar_Viscosity_i / ScalarVar_i[1]; + if (TurbFamily == TURB_FAMILY::SA) R_t = Eddy_Viscosity_i / Laminar_Viscosity_i; + + const su2double Re_v = Density_i * dist_i * dist_i * StrainMag_i / Laminar_Viscosity_i; + const su2double F_onset1 = Re_v / (2.193 * Corr_Rec); + su2double F_onset2 = 1.0; + su2double F_onset3 = 1.0; + if (TurbFamily == TURB_FAMILY::KW) { + F_onset2 = min(max(F_onset1, pow(F_onset1, 4.0)), 2.0); + F_onset3 = max(1.0 - pow(R_t / 2.5, 3.0), 0.0); + } + if (TurbFamily == TURB_FAMILY::SA) { + F_onset2 = min(max(F_onset1, pow(F_onset1, 4.0)), 4.0); + F_onset3 = max(2.0 - pow(R_t / 2.5, 3.0), 0.0); + } + const su2double F_onset = max(F_onset2 - F_onset3, 0.0); + + /*-- Gradient of velocity magnitude ---*/ + + su2double dU_dx = 0.5 / Velocity_Mag * (2. * vel_u * PrimVar_Grad_i[1][0] + 2. * vel_v * PrimVar_Grad_i[2][0]); + if (nDim == 3) dU_dx += 0.5 / Velocity_Mag * (2. * vel_w * PrimVar_Grad_i[3][0]); + + su2double dU_dy = 0.5 / Velocity_Mag * (2. * vel_u * PrimVar_Grad_i[1][1] + 2. * vel_v * PrimVar_Grad_i[2][1]); + if (nDim == 3) dU_dy += 0.5 / Velocity_Mag * (2. * vel_w * PrimVar_Grad_i[3][1]); + + su2double dU_dz = 0.0; + if (nDim == 3) + dU_dz = + 0.5 / Velocity_Mag * + (2. * vel_u * PrimVar_Grad_i[1][2] + 2. * vel_v * PrimVar_Grad_i[2][2] + 2. * vel_w * PrimVar_Grad_i[3][2]); + + su2double du_ds = vel_u / Velocity_Mag * dU_dx + vel_v / Velocity_Mag * dU_dy; + if (nDim == 3) du_ds += vel_w / Velocity_Mag * dU_dz; + + /*-- Calculate blending function f_theta --*/ + su2double time_scale = 500.0 * Laminar_Viscosity_i / Density_i / Velocity_Mag / Velocity_Mag; + if (options.LM2015) + time_scale = min(time_scale, + Density_i * LocalGridLength_i * LocalGridLength_i / (Laminar_Viscosity_i + Eddy_Viscosity_i)); + const su2double theta_bl = TransVar_i[1] * Laminar_Viscosity_i / Density_i / Velocity_Mag; + const su2double delta_bl = 7.5 * theta_bl; + const su2double delta = 50.0 * VorticityMag * dist_i / Velocity_Mag * delta_bl + 1e-20; + + su2double f_wake = 0.0; + if (TurbFamily == TURB_FAMILY::KW) { + const su2double re_omega = Density_i * ScalarVar_i[1] * dist_i * dist_i / Laminar_Viscosity_i; + f_wake = exp(-pow(re_omega / (1.0e+05), 2)); + } + if (TurbFamily == TURB_FAMILY::SA) f_wake = 1.0; + + const su2double var1 = (TransVar_i[0] - 1.0 / c_e2) / (1.0 - 1.0 / c_e2); + const su2double var2 = 1.0 - pow(var1, 2.0); + const su2double f_theta = min(max(f_wake * exp(-pow(dist_i / delta, 4)), var2), 1.0); + const su2double f_turb = exp(-pow(R_t / 4, 4)); + + su2double f_theta_2 = 0.0; + if (options.LM2015) + f_theta_2 = min(f_wake * exp(-pow(dist_i / delta, 4.0)), 1.0); + + /*--- Corr_Ret correlation*/ + const su2double Corr_Ret_lim = 20.0; + su2double f_lambda = 1.0; + + su2double Retheta_Error = 200.0, Retheta_old = 0.0; + su2double lambda = 0.0; + su2double Corr_Ret = 20.0; + + for (int iter = 0; iter < 100; iter++) { + su2double theta = Corr_Ret * Laminar_Viscosity_i / Density_i / Velocity_Mag; + lambda = Density_i * theta * theta / Laminar_Viscosity_i * du_ds; + lambda = min(max(-0.1, lambda), 0.1); + + if (lambda <= 0.0) { + f_lambda = 1. - (-12.986 * lambda - 123.66 * lambda * lambda - 405.689 * lambda * lambda * lambda) * + exp(-pow(Tu / 1.5, 1.5)); + } else { + f_lambda = 1. + 0.275 * (1. - exp(-35. * lambda)) * exp(-Tu / 0.5); + } + + if (Tu <= 1.3) { + Corr_Ret = f_lambda * (1173.51 - 589.428 * Tu + 0.2196 / Tu / Tu); + } else { + Corr_Ret = 331.5 * f_lambda * pow(Tu - 0.5658, -0.671); + } + Corr_Ret = max(Corr_Ret, Corr_Ret_lim); + + Retheta_Error = fabs(Retheta_old - Corr_Ret) / Retheta_old; + + if (Retheta_Error < 0.0000001) { + break; + } + + Retheta_old = Corr_Ret; + } - if(Retheta_Error < 0.0000001){ - iter = 101; + /*-- Corr_RetT_SCF Correlations--*/ + su2double ReThetat_SCF = 0.0; + if (options.LM2015) { + su2double VelocityNormalized[3]; + VelocityNormalized[0] = vel_u / Velocity_Mag; + VelocityNormalized[1] = vel_v / Velocity_Mag; + if (nDim == 3) VelocityNormalized[2] = vel_w / Velocity_Mag; + + su2double StreamwiseVort = 0.0; + for (auto iDim = 0u; iDim < nDim; iDim++) { + StreamwiseVort += VelocityNormalized[iDim] * Vorticity_i[iDim]; + } + StreamwiseVort = abs(StreamwiseVort); + + const su2double H_CF = StreamwiseVort * dist_i / Velocity_Mag; + const su2double DeltaH_CF = H_CF * (1.0 + min(Eddy_Viscosity_i / Laminar_Viscosity_i, 0.4)); + const su2double DeltaH_CF_Minus = max(-1.0 * (0.1066 - DeltaH_CF), 0.0); + const su2double DeltaH_CF_Plus = max(0.1066 - DeltaH_CF, 0.0); + const su2double fDeltaH_CF_Minus = 75.0 * tanh(DeltaH_CF_Minus / 0.0125); + const su2double fDeltaH_CF_Plus = 6200 * DeltaH_CF_Plus + 50000 * DeltaH_CF_Plus * DeltaH_CF_Plus; + + const su2double toll = 1e-5; + su2double error = toll + 1.0; + su2double thetat_SCF = 0.0; + su2double rethetat_SCF_old = 20.0; + const int nMax = 100; + + int iter; + for (iter = 0; iter < nMax && error > toll; iter++) { + thetat_SCF = rethetat_SCF_old * Laminar_Viscosity_i / (Density_i * (Velocity_Mag / 0.82)); + thetat_SCF = max(1e-20, thetat_SCF); + + ReThetat_SCF = -35.088 * log(hRoughness / thetat_SCF) + 319.51 + fDeltaH_CF_Plus - fDeltaH_CF_Minus; + + error = abs(ReThetat_SCF - rethetat_SCF_old) / rethetat_SCF_old; + + rethetat_SCF_old = ReThetat_SCF; + } } - Retheta_old = Corr_Ret; + /*-- production term of Intermeittency(Gamma) --*/ + const su2double Pg = + F_length * c_a1 * Density_i * StrainMag_i * sqrt(F_onset * TransVar_i[0]) * (1.0 - c_e1 * TransVar_i[0]); + + /*-- destruction term of Intermeittency(Gamma) --*/ + const su2double Dg = c_a2 * Density_i * VorticityMag * TransVar_i[0] * f_turb * (c_e2 * TransVar_i[0] - 1.0); + + /*-- production term of ReThetaT --*/ + const su2double PRethetat = c_theta * Density_i / time_scale * (Corr_Ret - TransVar_i[1]) * (1.0 - f_theta); + + /*-- destruction term of ReThetaT --*/ + // It should not be with the minus sign but I put for consistency + su2double DRethetat = 0.0; + if (options.LM2015) + DRethetat = -c_theta * (Density_i / time_scale) * c_CF * min(ReThetat_SCF - TransVar_i[1], 0.0) * f_theta_2; + + /*--- Source ---*/ + Residual[0] += (Pg - Dg) * Volume; + Residual[1] += (PRethetat - DRethetat) * Volume; + + /*--- Implicit part ---*/ + Jacobian_i[0][0] = (F_length * c_a1 * StrainMag_i * sqrt(F_onset) * + (0.5 * pow(TransVar_i[0], -0.5) - 1.5 * c_e1 * pow(TransVar_i[0], 0.5)) - + c_a2 * VorticityMag * f_turb * (2.0 * c_e2 * TransVar_i[0] - 1.0)) * + Volume; + Jacobian_i[0][1] = 0.0; + Jacobian_i[1][0] = 0.0; + Jacobian_i[1][1] = -c_theta / time_scale * (1.0 - f_theta) * Volume; + if (options.LM2015 && ReThetat_SCF - TransVar_i[1] < 0) + Jacobian_i[1][1] += (c_theta / time_scale) * c_CF * f_theta_2 * Volume; } - - /*-- production term of Intermeittency(Gamma) --*/ - const su2double Pg = F_length*c_a1*Density_i*StrainMag_i*sqrt(F_onset*TransVar_i[0])*(1.0 - c_e1 * TransVar_i[0]); - - /*-- destruction term of Intermeittency(Gamma) --*/ - const su2double Dg = c_a2*Density_i*VorticityMag*TransVar_i[0]*f_turb*(c_e2*TransVar_i[0] - 1.0); - - /*-- production term of ReThetaT --*/ - const su2double Pthetat = c_theta*Density_i/time_scale * (Corr_Ret-TransVar_i[1]) * (1.0-f_theta); - /*--- Source ---*/ - Residual[0] += (Pg - Dg)*Volume; - Residual[1] += Pthetat*Volume; + AD::SetPreaccOut(Residual, nVar); + AD::EndPreacc(); - /*--- Implicit part ---*/ - Jacobian_i[0][0] = (F_length*c_a1*StrainMag_i*sqrt(F_onset)*(0.5*pow(TransVar_i[0], -0.5) -1.5*c_e1*pow(TransVar_i[0], 0.5)) - - c_a2 * VorticityMag*f_turb*(2.0*c_e2*TransVar_i[0]-1.0) )*Volume; - Jacobian_i[0][1] = 0.0; - Jacobian_i[1][0] = 0.0; - Jacobian_i[1][1] = -c_theta/time_scale*(1.0-f_theta)*Volume; - } - - AD::SetPreaccOut(Residual, nVar); - AD::EndPreacc(); - - return ResidualType<>(Residual, Jacobian_i, nullptr); + return ResidualType<>(Residual, Jacobian_i, nullptr); } }; - diff --git a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp index b107cdff54a..9723d186bbf 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * convective fluxes in turbulence problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -48,6 +48,7 @@ class CUpwSca_TurbSA final : public CUpwScalar { using Base::ScalarVar_i; using Base::ScalarVar_j; using Base::implicit; + using Base::bounded_scalar; /*! * \brief Adds any extra variables to AD. @@ -75,7 +76,7 @@ class CUpwSca_TurbSA final : public CUpwScalar { * \param[in] config - Definition of the particular problem. */ CUpwSca_TurbSA(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) - : CUpwScalar(val_nDim, val_nVar, config) {} + : CUpwScalar(val_nDim, val_nVar, config) { bounded_scalar = config->GetBounded_Turb(); } }; /*! @@ -100,14 +101,12 @@ class CUpwSca_TurbSST final : public CUpwScalar { using Base::ScalarVar_j; using Base::implicit; using Base::idx; + using Base::bounded_scalar; /*! * \brief Adds any extra variables to AD */ - void ExtraADPreaccIn() override { - AD::SetPreaccIn(V_i[idx.Density()]); - AD::SetPreaccIn(V_j[idx.Density()]); - } + void ExtraADPreaccIn() override {} /*! * \brief SST specific steps in the ComputeResidual method @@ -116,7 +115,6 @@ class CUpwSca_TurbSST final : public CUpwScalar { void FinishResidualCalc(const CConfig* config) override { Flux[0] = a0*V_i[idx.Density()]*ScalarVar_i[0] + a1*V_j[idx.Density()]*ScalarVar_j[0]; Flux[1] = a0*V_i[idx.Density()]*ScalarVar_i[1] + a1*V_j[idx.Density()]*ScalarVar_j[1]; - if (implicit) { Jacobian_i[0][0] = a0; Jacobian_i[0][1] = 0.0; Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = a0; @@ -134,5 +132,5 @@ class CUpwSca_TurbSST final : public CUpwScalar { * \param[in] config - Definition of the particular problem. */ CUpwSca_TurbSST(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) - : CUpwScalar(val_nDim, val_nVar, config) {} + : CUpwScalar(val_nDim, val_nVar, config) { bounded_scalar = config->GetBounded_Turb(); } }; diff --git a/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp b/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp index bf5f6097387..f871588c47c 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * viscous fluxes in turbulence problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -47,7 +47,6 @@ class CAvgGrad_TurbSA final : public CAvgGrad_Scalar { using Base::ScalarVar_j; using Base::Proj_Mean_GradScalarVar; using Base::proj_vector_ij; - using Base::implicit; using Base::Flux; using Base::Jacobian_i; using Base::Jacobian_j; @@ -64,6 +63,8 @@ class CAvgGrad_TurbSA final : public CAvgGrad_Scalar { * \param[in] config - Definition of the particular problem. */ void FinishResidualCalc(const CConfig* config) override { + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + /*--- Compute mean effective viscosity ---*/ const su2double nu_i = Laminar_Viscosity_i/Density_i; @@ -111,7 +112,6 @@ class CAvgGrad_TurbSA_Neg final : public CAvgGrad_Scalar { using Base::ScalarVar_j; using Base::Proj_Mean_GradScalarVar; using Base::proj_vector_ij; - using Base::implicit; using Base::Flux; using Base::Jacobian_i; using Base::Jacobian_j; @@ -129,6 +129,8 @@ class CAvgGrad_TurbSA_Neg final : public CAvgGrad_Scalar { * \param[in] config - Definition of the particular problem. */ void FinishResidualCalc(const CConfig* config) override { + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + /*--- Compute mean effective viscosity ---*/ const su2double nu_i = Laminar_Viscosity_i/Density_i; @@ -191,7 +193,6 @@ class CAvgGrad_TurbSST final : public CAvgGrad_Scalar { using Base::ScalarVar_j; using Base::Proj_Mean_GradScalarVar; using Base::proj_vector_ij; - using Base::implicit; using Base::Flux; using Base::Jacobian_i; using Base::Jacobian_j; @@ -215,6 +216,8 @@ class CAvgGrad_TurbSST final : public CAvgGrad_Scalar { * \param[in] config - Definition of the particular problem. */ void FinishResidualCalc(const CConfig* config) override { + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + /*--- Compute the blended constant for the viscous terms ---*/ const su2double sigma_kine_i = F1_i*sigma_k1 + (1.0 - F1_i)*sigma_k2; const su2double sigma_kine_j = F1_j*sigma_k1 + (1.0 - F1_j)*sigma_k2; diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index 62906b233ac..e11880bb41e 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -1,7 +1,7 @@ /*! * \file turb_sources.hpp * \brief Numerics classes for integration of source terms in turbulence problems. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -53,7 +53,9 @@ struct CSAVariables { su2double ft2, d_ft2, r, d_r, g, d_g, glim, fw, d_fw, Ji, d_Ji, S, Shat, d_Shat, fv1, d_fv1, fv2, d_fv2; /*--- List of helpers ---*/ - su2double Omega, dist_i_2, inv_k2_d2, inv_Shat, g_6, norm2_Grad, gamma_bc; + su2double Omega, dist_i_2, inv_k2_d2, inv_Shat, g_6, norm2_Grad; + + su2double intermittency, interDestrFactor; }; /*! @@ -66,7 +68,6 @@ struct CSAVariables { template class CSourceBase_TurbSA : public CNumerics { protected: - su2double Gamma_BC = 0.0; /*--- Residual and Jacobian ---*/ su2double Residual, *Jacobian_i; @@ -75,6 +76,8 @@ class CSourceBase_TurbSA : public CNumerics { const FlowIndices idx; /*!< \brief Object to manage the access to the flow primitives. */ const SA_ParsedOptions options; /*!< \brief Struct with SA options. */ + bool transition_LM; + public: /*! * \brief Constructor of the class. @@ -84,17 +87,13 @@ class CSourceBase_TurbSA : public CNumerics { CSourceBase_TurbSA(unsigned short nDim, const CConfig* config) : CNumerics(nDim, 1, config), idx(nDim, config->GetnSpecies()), - options(config->GetSAParsedOptions()) { + options(config->GetSAParsedOptions()), + transition_LM(config->GetKind_Trans_Model() == TURB_TRANS_MODEL::LM) { /*--- Setup the Jacobian pointer, we need to return su2double** but we know * the Jacobian is 1x1 so we use this trick to avoid heap allocation. ---*/ Jacobian_i = &Jacobian_Buffer; } - /*! - * \brief Get the intermittency for the BC transition model. - * \return Value of the intermittency. - */ - su2double GetGammaBC() const final { return Gamma_BC; } /*! * \brief Residual for source term integration. @@ -191,11 +190,22 @@ class CSourceBase_TurbSA : public CNumerics { const su2double term2 = sqrt(max((nu_t * chi_2) / nu, 0.0)); const su2double term_exponential = (term1 + term2); - Gamma_BC = 1.0 - exp(-term_exponential); - var.gamma_bc = Gamma_BC; + intermittency_eff_i = 1.0 - exp(-term_exponential); + var.intermittency = intermittency_eff_i; + var.interDestrFactor = 1; + + } else if (transition_LM){ + + var.intermittency = intermittency_eff_i; + //var.intermittency = 1.0; + // Is wrong the reference from NASA? + // Original max(min(gamma, 0.5), 1.0) always gives 1 as result. + var.interDestrFactor = min(max(intermittency_i, 0.5), 1.0); + } else { /*--- Do not modify the production. ---*/ - var.gamma_bc = 1.0; + var.intermittency = 1.0; + var.interDestrFactor = 1.0; } /*--- Compute production, destruction and cross production and jacobian ---*/ @@ -386,7 +396,7 @@ struct Bsl { static void ComputeProduction(const su2double& nue, const CSAVariables& var, su2double& production, su2double& jacobian) { - const su2double factor = var.gamma_bc * var.cb1; + const su2double factor = var.intermittency * var.cb1; production = factor * (1.0 - var.ft2) * var.Shat * nue; jacobian += factor * (-var.Shat * nue * var.d_ft2 + (1.0 - var.ft2) * (nue * var.d_Shat + var.Shat)); } @@ -395,8 +405,8 @@ struct Bsl { su2double& jacobian) { const su2double cb1_k2 = var.cb1 / var.k2; const su2double factor = var.cw1 * var.fw - cb1_k2 * var.ft2; - destruction = factor * pow(nue, 2) / var.dist_i_2; - jacobian -= ((var.cw1 * var.d_fw - cb1_k2 * var.d_ft2) * pow(nue, 2) + factor * 2 * nue) / var.dist_i_2; + destruction = var.interDestrFactor * factor * pow(nue, 2) / var.dist_i_2; + jacobian -= var.interDestrFactor * ((var.cw1 * var.d_fw - cb1_k2 * var.d_ft2) * pow(nue, 2) + factor * 2 * nue) / var.dist_i_2; } static void ComputeCrossProduction(const su2double& nue, const CSAVariables& var, su2double& cross_production, @@ -421,7 +431,7 @@ struct Neg { static void ComputeProduction(const su2double& nue, const CSAVariables& var, su2double& production, su2double& jacobian) { - const su2double dP_dnu = var.gamma_bc * var.cb1 * (1.0 - var.ct3) * var.S; + const su2double dP_dnu = var.intermittency * var.cb1 * (1.0 - var.ct3) * var.S; production = dP_dnu * nue; jacobian += dP_dnu; } @@ -430,8 +440,8 @@ struct Neg { su2double& jacobian) { /*--- The destruction when nue < 0 is added instead of the usual subtraction, hence the negative sign. ---*/ const su2double dD_dnu = -var.cw1 * nue / var.dist_i_2; - destruction = dD_dnu * nue; - jacobian -= 2 * dD_dnu; + destruction = dD_dnu * nue * var.interDestrFactor; + jacobian -= 2 * dD_dnu * var.interDestrFactor; } static void ComputeCrossProduction(const su2double& nue, const CSAVariables& var, su2double& cross_production, diff --git a/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp b/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp index 80513392056..3b40b5f4d92 100644 --- a/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp +++ b/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp @@ -4,7 +4,7 @@ * \note This should be the only cpp for this family of classes * (which are all templates). All compilation takes place here. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,9 +41,11 @@ template CNumericsSIMD* createUpwindIdealNumerics(const CConfig& config, int iMesh, const CVariable* turbVars) { CNumericsSIMD* obj = nullptr; switch (config.GetKind_Upwind_Flow()) { - case ROE: + case UPWIND::ROE: obj = new CRoeScheme(config, iMesh, turbVars); break; + default: + break; } return obj; } @@ -62,19 +64,19 @@ CNumericsSIMD* createUpwindGeneralNumerics(const CConfig& config, int iMesh, con template CNumericsSIMD* createCenteredNumerics(const CConfig& config, int iMesh, const CVariable* turbVars) { CNumericsSIMD* obj = nullptr; - switch ((iMesh==MESH_0)? config.GetKind_Centered_Flow() : LAX) { - case NO_CENTERED: + switch ((iMesh==MESH_0)? config.GetKind_Centered_Flow() : CENTERED::LAX) { + case CENTERED::NONE: break; - case LAX: + case CENTERED::LAX: obj = new CLaxScheme(config, iMesh, turbVars); break; - case JST: + case CENTERED::JST: obj = new CJSTScheme(config, iMesh, turbVars); break; - case JST_KE: + case CENTERED::JST_KE: obj = new CJSTkeScheme(config, iMesh, turbVars); break; - case JST_MAT: + case CENTERED::JST_MAT: obj = new CJSTmatScheme(config, iMesh, turbVars); break; } @@ -117,6 +119,8 @@ CNumericsSIMD* createNumerics(const CConfig& config, int iMesh, const CVariable* obj = createCenteredNumerics >(config, iMesh, turbVars); } break; + default: + break; } return obj; diff --git a/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp b/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp index 3339dada920..82cdadbd8b8 100644 --- a/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp +++ b/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp @@ -2,7 +2,7 @@ * \file CNumericsSIMD.hpp * \brief Vectorized (SIMD) numerics classes. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp b/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp index ab8487275c8..d5358d771ba 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp @@ -2,7 +2,7 @@ * \file centered.hpp * \brief Centered convective schemes. * \author P. Gomes, F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/convection/common.hpp b/SU2_CFD/include/numerics_simd/flow/convection/common.hpp index 10f245c5243..e88f58c98b4 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/common.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/common.hpp @@ -2,7 +2,7 @@ * \file common.hpp * \brief Common convection-related methods. * \author P. Gomes, F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp b/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp index f3e3defc844..99cff97f445 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp @@ -2,7 +2,7 @@ * \file roe.hpp * \brief Roe-family of convective schemes. * \author P. Gomes, A. Bueno, F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -168,7 +168,7 @@ class CRoeBase : public Base { VectorDbl flux; for (size_t iVar = 0; iVar < nVar; ++iVar) { - flux(iVar) = kappa * (flux_i(iVar) + flux_j(iVar)); + flux(iVar) = 0.5 * (flux_i(iVar) + flux_j(iVar)); } MatrixDbl jac_i, jac_j; diff --git a/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp b/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp index 9484315d6ab..ecef279e5ed 100644 --- a/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp +++ b/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp @@ -2,7 +2,7 @@ * \file common.hpp * \brief Helper functions for viscous methods. * \author P. Gomes, C. Pederson, A. Bueno, F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp b/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp index 39e6b508974..16f4fc08459 100644 --- a/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp +++ b/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp @@ -2,7 +2,7 @@ * \file viscous_fluxes.hpp * \brief Decorator classes for computation of viscous fluxes. * \author P. Gomes, C. Pederson, A. Bueno, F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/variables.hpp b/SU2_CFD/include/numerics_simd/flow/variables.hpp index 920ddd0825c..51cddb2a8a7 100644 --- a/SU2_CFD/include/numerics_simd/flow/variables.hpp +++ b/SU2_CFD/include/numerics_simd/flow/variables.hpp @@ -2,7 +2,7 @@ * \file variables.hpp * \brief Collection of types to store physical variables. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/util.hpp b/SU2_CFD/include/numerics_simd/util.hpp index 1a0a16dd6b1..8e67cce67f1 100644 --- a/SU2_CFD/include/numerics_simd/util.hpp +++ b/SU2_CFD/include/numerics_simd/util.hpp @@ -2,7 +2,7 @@ * \file util.hpp * \brief Generic auxiliary functions. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjElasticityOutput.hpp b/SU2_CFD/include/output/CAdjElasticityOutput.hpp index 20bab529488..fa49e4a8a81 100644 --- a/SU2_CFD/include/output/CAdjElasticityOutput.hpp +++ b/SU2_CFD/include/output/CAdjElasticityOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjElasticityOutput.hpp * \brief Headers of the adjoint elasticity output class. * \author T. Albring, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjFlowCompOutput.hpp b/SU2_CFD/include/output/CAdjFlowCompOutput.hpp index b45fdf4dde4..e1662e286f3 100644 --- a/SU2_CFD/include/output/CAdjFlowCompOutput.hpp +++ b/SU2_CFD/include/output/CAdjFlowCompOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjFlowCompOutput.hpp * \brief Headers of the adjoint compressible flow output. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjFlowIncOutput.hpp b/SU2_CFD/include/output/CAdjFlowIncOutput.hpp index b265b571bde..f187bd4516f 100644 --- a/SU2_CFD/include/output/CAdjFlowIncOutput.hpp +++ b/SU2_CFD/include/output/CAdjFlowIncOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjFlowIncOutput.hpp * \brief Headers of the adjoint incompressible flow output. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjFlowOutput.hpp b/SU2_CFD/include/output/CAdjFlowOutput.hpp index d8ddc06d699..afe064e9da5 100644 --- a/SU2_CFD/include/output/CAdjFlowOutput.hpp +++ b/SU2_CFD/include/output/CAdjFlowOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjFlowOutput.hpp * \brief Headers of the adjoint flow output. * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjHeatOutput.hpp b/SU2_CFD/include/output/CAdjHeatOutput.hpp index 0752d7223e6..7c8071468e8 100644 --- a/SU2_CFD/include/output/CAdjHeatOutput.hpp +++ b/SU2_CFD/include/output/CAdjHeatOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjHeatOutput.hpp * \brief Headers of the adjoint heat output. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CBaselineOutput.hpp b/SU2_CFD/include/output/CBaselineOutput.hpp index 2bb6b515796..fd066ec5e67 100644 --- a/SU2_CFD/include/output/CBaselineOutput.hpp +++ b/SU2_CFD/include/output/CBaselineOutput.hpp @@ -2,7 +2,7 @@ * \file CBaselineOutput.hpp * \brief Headers of the baseline output. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CElasticityOutput.hpp b/SU2_CFD/include/output/CElasticityOutput.hpp index c65bc967e5f..e4238757719 100644 --- a/SU2_CFD/include/output/CElasticityOutput.hpp +++ b/SU2_CFD/include/output/CElasticityOutput.hpp @@ -2,7 +2,7 @@ * \file CElasticityOutput.hpp * \brief Headers of the elasticity output. * \author F. Palacios, T. Economon, M. Colonno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CFVMOutput.hpp b/SU2_CFD/include/output/CFVMOutput.hpp index 70ed557b406..07034524ba6 100644 --- a/SU2_CFD/include/output/CFVMOutput.hpp +++ b/SU2_CFD/include/output/CFVMOutput.hpp @@ -2,7 +2,7 @@ * \file CFVMOutput.hpp * \brief Headers of the Finite Volume Method output. * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -30,7 +30,7 @@ #include "COutput.hpp" class CFVMOutput : public COutput{ -protected: + protected: /*! * \brief Constructor of the class */ diff --git a/SU2_CFD/include/output/CFlowCompFEMOutput.hpp b/SU2_CFD/include/output/CFlowCompFEMOutput.hpp index 40293e0c042..9514ea4c491 100644 --- a/SU2_CFD/include/output/CFlowCompFEMOutput.hpp +++ b/SU2_CFD/include/output/CFlowCompFEMOutput.hpp @@ -2,7 +2,7 @@ * \file CFlowCompFEMOutput.hpp * \brief Headers of the compressible FEM flow output. * \author R. Sanchez, T. Albring. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CFlowCompOutput.hpp b/SU2_CFD/include/output/CFlowCompOutput.hpp index d7e79017a05..c6c0b01b35a 100644 --- a/SU2_CFD/include/output/CFlowCompOutput.hpp +++ b/SU2_CFD/include/output/CFlowCompOutput.hpp @@ -2,7 +2,7 @@ * \file CFlowCompOutput.hpp * \brief Headers of the compressible flow output. * \author R. Sanchez, T. Albring. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CFlowIncOutput.hpp b/SU2_CFD/include/output/CFlowIncOutput.hpp index 63ffddd9eea..a72f3c2b7a9 100644 --- a/SU2_CFD/include/output/CFlowIncOutput.hpp +++ b/SU2_CFD/include/output/CFlowIncOutput.hpp @@ -2,7 +2,7 @@ * \file CFlowIncOutput.hpp * \brief Headers of the incompressible flow output. * \author T. Albring, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CFlowOutput.hpp b/SU2_CFD/include/output/CFlowOutput.hpp index 3271c8926cd..44a7f55fbb2 100644 --- a/SU2_CFD/include/output/CFlowOutput.hpp +++ b/SU2_CFD/include/output/CFlowOutput.hpp @@ -2,7 +2,7 @@ * \file CFlowOutput.hpp * \brief Headers of the flow output. * \author F. Palacios, T. Economon, M. Colonno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CHeatOutput.hpp b/SU2_CFD/include/output/CHeatOutput.hpp index f5864b98a3b..be5cdf74822 100644 --- a/SU2_CFD/include/output/CHeatOutput.hpp +++ b/SU2_CFD/include/output/CHeatOutput.hpp @@ -2,7 +2,7 @@ * \file CHeatOutput.hpp * \brief Headers of the heat output. * \author R. Sanchez, T. Albring. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CMeshOutput.hpp b/SU2_CFD/include/output/CMeshOutput.hpp index 8109db90bd2..f31c853099b 100644 --- a/SU2_CFD/include/output/CMeshOutput.hpp +++ b/SU2_CFD/include/output/CMeshOutput.hpp @@ -2,7 +2,7 @@ * \file CMeshOutput.hpp * \brief Headers of the mesh output. * \author R. Sanchez, T. Albring. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CMultizoneOutput.hpp b/SU2_CFD/include/output/CMultizoneOutput.hpp index 0ea4e4b6fa9..d6ea055408e 100644 --- a/SU2_CFD/include/output/CMultizoneOutput.hpp +++ b/SU2_CFD/include/output/CMultizoneOutput.hpp @@ -2,7 +2,7 @@ * \file CMultizoneOutput.hpp * \brief Headers of the main subroutines for screen and history output in multizone problems. * \author R. Sanchez, T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CNEMOCompOutput.hpp b/SU2_CFD/include/output/CNEMOCompOutput.hpp index 15aa3402c8f..4e8eab774e0 100644 --- a/SU2_CFD/include/output/CNEMOCompOutput.hpp +++ b/SU2_CFD/include/output/CNEMOCompOutput.hpp @@ -2,7 +2,7 @@ * \file CNEMOCompOutput.hpp * \brief Headers of the compressible flow output. * \author R. Sanchez, W. Maier. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/COutput.hpp b/SU2_CFD/include/output/COutput.hpp index 6caefdca1a4..0396ac6c80f 100644 --- a/SU2_CFD/include/output/COutput.hpp +++ b/SU2_CFD/include/output/COutput.hpp @@ -2,7 +2,7 @@ * \file COutput.hpp * \brief Headers of the output class. * \author T.Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/COutputFactory.hpp b/SU2_CFD/include/output/COutputFactory.hpp index 4f33703ab22..0caf981c7fa 100644 --- a/SU2_CFD/include/output/COutputFactory.hpp +++ b/SU2_CFD/include/output/COutputFactory.hpp @@ -2,7 +2,7 @@ * \file COutputFactory.hpp * \brief Headers of the output class. * \author T.Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/COutputLegacy.hpp b/SU2_CFD/include/output/COutputLegacy.hpp index 9c2305904fe..3a0d95d9675 100644 --- a/SU2_CFD/include/output/COutputLegacy.hpp +++ b/SU2_CFD/include/output/COutputLegacy.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for generating the file outputs. * The subroutines and functions are in the output_structure_legacy.cpp file. * \author F. Palacios, T. Economon, M. Colonno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp b/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp index 301c4000ba0..ef6d2024bdc 100644 --- a/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp @@ -2,7 +2,7 @@ * \file CCGNSFileWriter.hpp * \brief Headers for CGNS file writer class. * \author G. Baldan - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp b/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp index cd3be009a5a..60082486fe0 100644 --- a/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp @@ -2,7 +2,7 @@ * \file CCSVFileWriter.hpp * \brief Headers fo the CSV file writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp index 6c1b798726c..269ce833613 100644 --- a/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp @@ -2,7 +2,7 @@ * \file CFEMDataSorter.hpp * \brief Headers fo the FEM data sorter class. * \author T. Albring, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp index 38a378c9623..47ff42246f5 100644 --- a/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp @@ -2,7 +2,7 @@ * \file CFVMDataSorter.hpp * \brief Headers fo the FVM data sorter class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CFileWriter.hpp b/SU2_CFD/include/output/filewriter/CFileWriter.hpp index 6ba68d8a35d..846f1211551 100644 --- a/SU2_CFD/include/output/filewriter/CFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CFileWriter.hpp @@ -2,7 +2,7 @@ * \file CFileWriter.hpp * \brief Headers fo the file writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp b/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp index fbf66db999e..3726332caab 100644 --- a/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp @@ -2,7 +2,7 @@ * \file CParallelDataSorter.hpp * \brief Headers fo the data sorter class. * \author T. Albring, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp index 2998c070b70..cd9e1e9c22e 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp @@ -2,7 +2,7 @@ * \file CParaviewBinaryFileWriter.hpp * \brief Headers fo paraview binary file writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp index 0390bd5b193..4b1a25fd952 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp @@ -2,7 +2,7 @@ * \file CParaviewFileWriter.hpp * \brief Headers fo the paraview file writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp index 6adf7b9f0da..5890f172d8f 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp @@ -2,7 +2,7 @@ * \file CParaviewVTMFileWriter.hpp * \brief Headers fo paraview binary file writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp index 940df034b7a..7920bc25eac 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp @@ -2,7 +2,7 @@ * \file CParaviewXMLFileWriter.hpp * \brief Headers fo paraview binary file writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp b/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp index 9245d672df1..e44f5e6fa00 100644 --- a/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp @@ -2,7 +2,7 @@ * \file CSTLFileWriter.hpp * \brief Headers fo the STL file writer class. * \author T. Kattmann, T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -33,7 +33,7 @@ * \class CSTLFileWriter * \brief Class for writing STL output files. * \author T. Kattmann, T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CSTLFileWriter final : public CFileWriter{ private: diff --git a/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp b/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp index ca89d8ff2b7..a38e0b8b519 100644 --- a/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp @@ -2,7 +2,7 @@ * \file CSU2BinaryFileWriter.hpp * \brief Headers fo the SU2 binary file writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp b/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp index fd2317d5f15..d80766ed2df 100644 --- a/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp @@ -2,7 +2,7 @@ * \file CSU2FileWriter.hpp * \brief Headers fo the CSV file writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp b/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp index c95d6bc6f71..e6b75be19d0 100644 --- a/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp @@ -2,7 +2,7 @@ * \file CSU2MeshFileWriter.hpp * \brief Headers fo the CSV file writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp index 913474fa0f8..3678117b4bd 100644 --- a/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp @@ -2,7 +2,7 @@ * \file CSurfaceFEMDataSorter.hpp * \brief Headers fo the surface FEM data sorter class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp index 588b080a76c..793bb615b31 100644 --- a/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp @@ -2,7 +2,7 @@ * \file CSurfaceFVMDataSorter.hpp * \brief Headers for the surface FVM data sorter class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp b/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp index 930a367ebfe..424233b03d5 100644 --- a/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp @@ -2,7 +2,7 @@ * \file CTecplotBinaryFileWriter.hpp * \brief Headers fo the tecplot binary writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp b/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp index 1e20343e2df..b1041dcffa0 100644 --- a/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp @@ -2,7 +2,7 @@ * \file CTecplotFileWriter.hpp * \brief Headers fo the tecplot ASCII writer class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/tools/CWindowingTools.hpp b/SU2_CFD/include/output/tools/CWindowingTools.hpp index 1ccb4fa717c..7c3163fdc79 100644 --- a/SU2_CFD/include/output/tools/CWindowingTools.hpp +++ b/SU2_CFD/include/output/tools/CWindowingTools.hpp @@ -2,7 +2,7 @@ * \file signal_processing_toolbox.hpp * \brief Header file for the signal processing toolbox. * \author S. Schotthöfer - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/sgs_model.hpp b/SU2_CFD/include/sgs_model.hpp index eedb85de095..5249e794215 100644 --- a/SU2_CFD/include/sgs_model.hpp +++ b/SU2_CFD/include/sgs_model.hpp @@ -2,7 +2,7 @@ * \file sgs_model.hpp * \brief Headers of the LES subgrid scale models of the SU2 solvers. * \author E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -38,7 +38,7 @@ using namespace std; * \class CSGSModel * \brief Base class for defining the LES subgrid scale model. * \author: E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CSGSModel { @@ -224,7 +224,7 @@ class CSGSModel { * \class CSmagorinskyModel * \brief Derived class for defining the Smagorinsky SGS model. * \author: E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CSmagorinskyModel : public CSGSModel { @@ -413,7 +413,7 @@ class CSmagorinskyModel : public CSGSModel { * \class CWALEModel * \brief Derived class for defining the WALE SGS model. * \author: E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CWALEModel : public CSGSModel { @@ -601,7 +601,7 @@ class CWALEModel : public CSGSModel { * \class CVremanModel * \brief Derived class for defining the WALE SGS model. * \author: E. van der Weide, T. Economon, P. Urbanczyk, E. Molina - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CVremanModel : public CSGSModel { diff --git a/SU2_CFD/include/sgs_model.inl b/SU2_CFD/include/sgs_model.inl index 10602f1d501..3d5eec16a2a 100644 --- a/SU2_CFD/include/sgs_model.inl +++ b/SU2_CFD/include/sgs_model.inl @@ -2,7 +2,7 @@ * \file sgs_model.inl * \brief In-Line subroutines of the sgs_model.hpp file. * \author E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CAdjEulerSolver.hpp b/SU2_CFD/include/solvers/CAdjEulerSolver.hpp index 999b2a68195..06c534d868b 100644 --- a/SU2_CFD/include/solvers/CAdjEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CAdjEulerSolver.hpp @@ -2,7 +2,7 @@ * \file CAdjEulerSolver.hpp * \brief Headers of the CAdjEulerSolver class * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CAdjNSSolver.hpp b/SU2_CFD/include/solvers/CAdjNSSolver.hpp index 80403dbf4fa..469cc8e6061 100644 --- a/SU2_CFD/include/solvers/CAdjNSSolver.hpp +++ b/SU2_CFD/include/solvers/CAdjNSSolver.hpp @@ -2,7 +2,7 @@ * \file CAdjNSSolver.hpp * \brief Headers of the CAdjNSSolver class * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CAdjTurbSolver.hpp b/SU2_CFD/include/solvers/CAdjTurbSolver.hpp index 008126945a4..1d0868510d3 100644 --- a/SU2_CFD/include/solvers/CAdjTurbSolver.hpp +++ b/SU2_CFD/include/solvers/CAdjTurbSolver.hpp @@ -2,7 +2,7 @@ * \file CAdjTurbSolver.hpp * \brief Headers of the CAdjTurbSolver class * \author F. Palacios, A. Bueno. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CBaselineSolver.hpp b/SU2_CFD/include/solvers/CBaselineSolver.hpp index 9cd37c826fd..3cd7c9f1f88 100644 --- a/SU2_CFD/include/solvers/CBaselineSolver.hpp +++ b/SU2_CFD/include/solvers/CBaselineSolver.hpp @@ -2,7 +2,7 @@ * \file CBaslineSolver.hpp * \brief Headers of the CBaselineSolver class * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp b/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp index 62b284e28e0..88bcc2911cc 100644 --- a/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp +++ b/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp @@ -2,7 +2,7 @@ * \file CBaslineSolver_FEM.hpp * \brief Headers of the CBaselineSolver class * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -31,7 +31,7 @@ * \class CBaselineSolver_FEM * \brief Main class for defining a baseline solution from a restart file for the DG-FEM solver output. * \author T. Economon. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CBaselineSolver_FEM final : public CSolver { protected: diff --git a/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp b/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp index 7906a54bb2d..71d3286cdf9 100644 --- a/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp +++ b/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEASolver.hpp * \brief Headers of the CDiscAdjFEASolver class * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp b/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp index ba77ac9d80b..41471dfb40e 100644 --- a/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp +++ b/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to compute the * the discrete adjoint of the linear-elastic mesh solver. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CDiscAdjSolver.hpp b/SU2_CFD/include/solvers/CDiscAdjSolver.hpp index dea2ee227ef..8e87c9dcd56 100644 --- a/SU2_CFD/include/solvers/CDiscAdjSolver.hpp +++ b/SU2_CFD/include/solvers/CDiscAdjSolver.hpp @@ -2,7 +2,7 @@ * \file CDiscAdjSolver.hpp * \brief Headers of the CDiscAdjSolver class * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CEulerSolver.hpp b/SU2_CFD/include/solvers/CEulerSolver.hpp index ef8c6b6af05..739d0be041b 100644 --- a/SU2_CFD/include/solvers/CEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CEulerSolver.hpp @@ -2,7 +2,7 @@ * \file CEulerSolver.hpp * \brief Headers of the CEulerSolver class * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CFEASolver.hpp b/SU2_CFD/include/solvers/CFEASolver.hpp index ae06c383e3d..88849b8c926 100644 --- a/SU2_CFD/include/solvers/CFEASolver.hpp +++ b/SU2_CFD/include/solvers/CFEASolver.hpp @@ -2,7 +2,7 @@ * \file CFEASolver.hpp * \brief Finite element solver for elasticity problems. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CFEASolverBase.hpp b/SU2_CFD/include/solvers/CFEASolverBase.hpp index ba40652e750..e686b51fa2d 100644 --- a/SU2_CFD/include/solvers/CFEASolverBase.hpp +++ b/SU2_CFD/include/solvers/CFEASolverBase.hpp @@ -2,7 +2,7 @@ * \file CFEASolver.hpp * \brief Base class template for all FEA solvers using the SU2 internal finite elements. * \author T. Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp b/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp index 8941fd044b4..03b12c32c4c 100644 --- a/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp +++ b/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp @@ -2,7 +2,7 @@ * \file CFEM_DG_EulerSolver.hpp * \brief Headers of the CFEM_DG_EulerSolver class * \author E. van der Weide, T. Economon, J. Alonso - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Main class for defining the Euler Discontinuous Galerkin finite element flow solver. * \ingroup Euler_Equations * \author E. van der Weide, T. Economon, J. Alonso - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEM_DG_EulerSolver : public CSolver { protected: diff --git a/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp b/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp index f22532fcac2..70519714a35 100644 --- a/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp +++ b/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp @@ -2,7 +2,7 @@ * \file CFEM_DG_NSSolver.hpp * \brief Headers of the CFEM_DG_NSSolver class * \author E. van der Weide, T. Economon, J. Alonso - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Main class for defining the Navier-Stokes Discontinuous Galerkin finite element flow solver. * \ingroup Navier_Stokes_Equations * \author E. van der Weide, T. Economon, J. Alonso - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEM_DG_NSSolver final : public CFEM_DG_EulerSolver { private: diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp b/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp index 4f005f1f4ad..4b9df8712a6 100644 --- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp +++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp @@ -1,7 +1,7 @@ /*! * \file CFVMFlowSolverBase.hpp * \brief Base class template for all FVM flow solvers. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -55,6 +55,8 @@ class CFVMFlowSolverBase : public CSolver { unsigned long omp_chunk_size; /*!< \brief Chunk size used in light point loops. */ + su2activevector EdgeMassFluxes; /*!< \brief Mass fluxes across each edge, for discretization of transported scalars. */ + /*! * \brief Utility to set the value of a member variables safely, and so that the new values are seen by all threads. * \param[in] lhsRhsPairs - Pairs of destination and source e.g. a,0,b,-1. @@ -2401,4 +2403,10 @@ class CFVMFlowSolverBase : public CSolver { inline su2double GetEddyViscWall(unsigned short val_marker, unsigned long val_vertex) const final { return EddyViscWall[val_marker][val_vertex]; } + + /*! + * \brief Get the mass fluxes across the edges (computed and stored during the discretization of convective fluxes). + */ + inline const su2activevector* GetEdgeMassFluxes() const final { return &EdgeMassFluxes; } + }; diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl index 257e59f6645..e594598bfd9 100644 --- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl +++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl @@ -1,7 +1,7 @@ /*! * \file CFVMFlowSolverBase.inl * \brief Base class template for all FVM flow solvers. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -923,25 +923,8 @@ void CFVMFlowSolverBase::LoadRestart_impl(CGeometry **geometry, CSolver ** /*--- Interpolate the solution down to the coarse multigrid levels ---*/ for (auto iMesh = 1u; iMesh <= config->GetnMGLevels(); iMesh++) { - - SU2_OMP_FOR_STAT(omp_chunk_size) - for (auto iPoint = 0ul; iPoint < geometry[iMesh]->GetnPoint(); iPoint++) { - const su2double Area_Parent = geometry[iMesh]->nodes->GetVolume(iPoint); - su2double Solution_Coarse[MAXNVAR] = {0.0}; - - for (auto iChildren = 0ul; iChildren < geometry[iMesh]->nodes->GetnChildren_CV(iPoint); iChildren++) { - const auto Point_Fine = geometry[iMesh]->nodes->GetChildren_CV(iPoint, iChildren); - const su2double Area_Children = geometry[iMesh - 1]->nodes->GetVolume(Point_Fine); - const su2double* Solution_Fine = solver[iMesh - 1][FLOW_SOL]->GetNodes()->GetSolution(Point_Fine); - - for (auto iVar = 0u; iVar < nVar; iVar++) { - Solution_Coarse[iVar] += Solution_Fine[iVar] * Area_Children / Area_Parent; - } - } - solver[iMesh][FLOW_SOL]->GetNodes()->SetSolution(iPoint,Solution_Coarse); - } - END_SU2_OMP_FOR - + MultigridRestriction(*geometry[iMesh - 1], solver[iMesh - 1][FLOW_SOL]->GetNodes()->GetSolution(), + *geometry[iMesh], solver[iMesh][FLOW_SOL]->GetNodes()->GetSolution()); solver[iMesh][FLOW_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION); solver[iMesh][FLOW_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION); @@ -2610,9 +2593,9 @@ void CFVMFlowSolverBase::Friction_Forces(const CGeometry* geometr const auto& thermal_conductivity_tr = nodes->GetThermalConductivity(iPoint); const auto& thermal_conductivity_ve = nodes->GetThermalConductivity_ve(iPoint); - + const su2double dTvedn = -GeometryToolbox::DotProduct(nDim, Grad_Temp_ve, UnitNormal); - + /*--- Surface energy balance: trans-rot heat flux, vib-el heat flux ---*/ HeatFlux[iMarker][iVertex] = -(thermal_conductivity_tr*dTdn + thermal_conductivity_ve*dTvedn); diff --git a/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp b/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp index a3733c3d1f8..29361eb6563 100644 --- a/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp +++ b/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp @@ -2,7 +2,7 @@ * \file CGradientSmoothingSolver.hpp * \brief SOlver class for Sobolev smoothing of sensitivities. * \author T. Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index 92d2421850f..5668af4243f 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -2,7 +2,7 @@ * \file CHeatSolver.hpp * \brief Headers of the CHeatSolver class * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -27,16 +27,16 @@ #pragma once -#include "CSolver.hpp" +#include "CScalarSolver.hpp" #include "../variables/CHeatVariable.hpp" /*! * \class CHeatSolver * \brief Main class for defining the finite-volume heat solver. * \author O. Burghardt - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ -class CHeatSolver final : public CSolver { +class CHeatSolver final : public CScalarSolver { protected: static constexpr size_t MAXNDIM = 3; /*!< \brief Max number of space dimensions, used in some static arrays. */ static constexpr size_t MAXNVAR = 1; /*!< \brief Max number of variables, for static arrays. */ @@ -44,7 +44,9 @@ class CHeatSolver final : public CSolver { const bool flow; /*!< \brief Use solver as a scalar transport equation of Temperature for the inc solver. */ const bool heat_equation; /*!< \brief use solver for heat conduction in solids. */ - unsigned short nVarFlow, nMarker; + su2double Global_Delta_Time = 0.0, Global_Delta_UnstTimeND = 0.0; + + unsigned short nVarFlow; vector > HeatFlux; vector HeatFlux_per_Marker; su2double Total_HeatFlux; @@ -52,19 +54,48 @@ class CHeatSolver final : public CSolver { vector AverageT_per_Marker; su2double Total_AverageT; su2double AllBound_AverageT; - vector Primitive_Flow_i; + vector Primitive_Flow_i; vector Primitive_Flow_j; vector Surface_Areas; su2double Total_HeatFlux_Areas; su2double Total_HeatFlux_Areas_Monitor; vector ConjugateVar; - CHeatVariable* nodes = nullptr; /*!< \brief The highest level in the variable hierarchy this solver can safely use. */ - /*! - * \brief Return nodes to allow CSolver::base_nodes to be set. + * \brief Applies an isothermal condition to a vertex of a marker. */ - inline CVariable* GetBaseClassPointerToNodes() override { return nodes; } + void IsothermalBoundaryCondition(CGeometry *geometry, CSolver *flow_solver, const CConfig *config, + unsigned short iMarker, unsigned long iVertex, const su2double& temperature) { + + const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); + if (!geometry->nodes->GetDomain(iPoint)) return; + + const bool implicit = config->GetKind_TimeIntScheme() == EULER_IMPLICIT; + const su2double prandtl_lam = config->GetPrandtl_Lam(); + const su2double const_diffusivity = config->GetThermalDiffusivity(); + + const auto Point_Normal = geometry->vertex[iMarker][iVertex]->GetNormal_Neighbor(); + + const auto* Normal = geometry->vertex[iMarker][iVertex]->GetNormal(); + const su2double Area = GeometryToolbox::Norm(nDim, Normal); + + const auto* Coord_i = geometry->nodes->GetCoord(iPoint); + const auto* Coord_j = geometry->nodes->GetCoord(Point_Normal); + const su2double dist_ij = GeometryToolbox::Distance(nDim, Coord_i, Coord_j); + + const su2double dTdn = -(nodes->GetTemperature(Point_Normal) - temperature) / dist_ij; + + su2double thermal_diffusivity = const_diffusivity; + if (flow) { + thermal_diffusivity = flow_solver->GetNodes()->GetLaminarViscosity(iPoint) / prandtl_lam; + } + LinSysRes(iPoint, 0) -= thermal_diffusivity * dTdn * Area; + + if (implicit) { + su2double Jacobian_i[] = {-thermal_diffusivity / dist_ij * Area}; + Jacobian.SubtractBlock2Diag(iPoint, &Jacobian_i); + } + } public: @@ -73,11 +104,6 @@ class CHeatSolver final : public CSolver { */ CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh); - /*! - * \brief Destructor of the class. - */ - ~CHeatSolver(void) override; - /*! * \brief Restart residual and compute gradients. * \param[in] geometry - Geometrical definition of the problem. @@ -247,15 +273,6 @@ class CHeatSolver final : public CSolver { CConfig *config, unsigned short val_marker) override; - /*! - * \brief Impose a periodic boundary condition by summing contributions from the complete control volume. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] numerics - Description of the numerical method. - * \param[in] config - Definition of the particular problem. - */ - void BC_Periodic(CGeometry* geometry, CSolver** solver_container, CNumerics* numerics, CConfig* config) final; - /*! * \brief Set the conjugate heat variables. * \param[in] val_marker - marker index @@ -330,26 +347,6 @@ class CHeatSolver final : public CSolver { } } - /*! - * \brief Update the solution using an implicit solver. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] config - Definition of the particular problem. - */ - void ImplicitEuler_Iteration(CGeometry *geometry, - CSolver **solver_container, - CConfig *config) override; - - /*! - * \brief Update the solution using an explicit solver. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] config - Definition of the particular problem. - */ - void ExplicitEuler_Iteration(CGeometry *geometry, - CSolver **solver_container, - CConfig *config) override; - /*! * \brief A virtual member. * \param[in] geometry - Geometrical definition of the problem. @@ -400,4 +397,8 @@ class CHeatSolver final : public CSolver { */ inline su2double GetHeatFlux(unsigned short val_marker, unsigned long val_vertex) const override { return HeatFlux[val_marker][val_vertex]; } + /*! + * \brief Does not support OpenMP+MPI yet. + */ + inline bool GetHasHybridParallel() const override { return false; } }; diff --git a/SU2_CFD/include/solvers/CIncEulerSolver.hpp b/SU2_CFD/include/solvers/CIncEulerSolver.hpp index e6916932e62..b9c1c6d5f00 100644 --- a/SU2_CFD/include/solvers/CIncEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CIncEulerSolver.hpp @@ -2,7 +2,7 @@ * \file CIncEulerSolver.hpp * \brief Headers of the CIncEulerSolver class * \author F. Palacios, T. Economon, T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CIncNSSolver.hpp b/SU2_CFD/include/solvers/CIncNSSolver.hpp index 69d68672750..8d8dcf19d31 100644 --- a/SU2_CFD/include/solvers/CIncNSSolver.hpp +++ b/SU2_CFD/include/solvers/CIncNSSolver.hpp @@ -2,7 +2,7 @@ * \file CIncNSSolver.hpp * \brief Headers of the CIncNSSolver class * \author F. Palacios, T. Economon, T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CMeshSolver.hpp b/SU2_CFD/include/solvers/CMeshSolver.hpp index e50611b4c4b..145bf54769b 100644 --- a/SU2_CFD/include/solvers/CMeshSolver.hpp +++ b/SU2_CFD/include/solvers/CMeshSolver.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to compute the deformation of * the volumetric numerical grid using the linear elasticity solver. * \author Ruben Sanchez, based on CVolumetricMovement developments (F. Palacios, A. Bueno, T. Economon, S. Padron) - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp index 008a5ce06a5..57cece925b3 100644 --- a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp @@ -2,7 +2,7 @@ * \file CNEMOEulerSolver.hpp * \brief Headers of the CNEMOEulerSolver class * \author S. R. Copeland, F. Palacios, W. Maier. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -36,7 +36,7 @@ * \brief Main class for defining the NEMO Euler's flow solver. * \ingroup Euler_Equations * \author S. R. Copeland, F. Palacios, W. Maier. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CNEMOEulerSolver : public CFVMFlowSolverBase { protected: diff --git a/SU2_CFD/include/solvers/CNEMONSSolver.hpp b/SU2_CFD/include/solvers/CNEMONSSolver.hpp index 4c948d3656a..b3ba042f9dc 100644 --- a/SU2_CFD/include/solvers/CNEMONSSolver.hpp +++ b/SU2_CFD/include/solvers/CNEMONSSolver.hpp @@ -2,7 +2,7 @@ * \file CNEMONSSolver.hpp * \brief Headers of the CNEMONSSolver class * \author S. R. Copeland, F. Palacios, W. Maier. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CNSSolver.hpp b/SU2_CFD/include/solvers/CNSSolver.hpp index ca88c6cb59e..2a495de4f76 100644 --- a/SU2_CFD/include/solvers/CNSSolver.hpp +++ b/SU2_CFD/include/solvers/CNSSolver.hpp @@ -2,7 +2,7 @@ * \file CNSSolver.hpp * \brief Headers of the CNSSolver class * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CRadP1Solver.hpp b/SU2_CFD/include/solvers/CRadP1Solver.hpp index 3ff893dbcb1..338bd2e0893 100644 --- a/SU2_CFD/include/solvers/CRadP1Solver.hpp +++ b/SU2_CFD/include/solvers/CRadP1Solver.hpp @@ -2,7 +2,7 @@ * \file CRadP1Solver.hpp * \brief Declaration and inlines of the class to compute a P1 radiation problem. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -241,7 +241,7 @@ class CRadP1Solver final: public CRadSolver { * \param[in] Iteration - Index of the current iteration. */ void SetTime_Step(CGeometry *geometry, CSolver **solver_container, CConfig *config, - unsigned short iMesh, unsigned long Iteration) override ; + unsigned short iMesh, unsigned long Iteration) override; /*! * \brief Set the freestream temperature. diff --git a/SU2_CFD/include/solvers/CRadSolver.hpp b/SU2_CFD/include/solvers/CRadSolver.hpp index 05e0855b850..b4cb928326d 100644 --- a/SU2_CFD/include/solvers/CRadSolver.hpp +++ b/SU2_CFD/include/solvers/CRadSolver.hpp @@ -2,7 +2,7 @@ * \file CRadSolver.hpp * \brief Declaration and inlines of the class to compute a generic radiation solver. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CScalarSolver.hpp b/SU2_CFD/include/solvers/CScalarSolver.hpp index 053f7704e04..e7ec30d5900 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.hpp +++ b/SU2_CFD/include/solvers/CScalarSolver.hpp @@ -1,7 +1,7 @@ /*! * \file CScalarSolver.hpp * \brief Headers of the CScalarSolver class - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -29,7 +29,10 @@ #include #include "../../../Common/include/parallelization/omp_structure.hpp" +#include "../../../Common/include/toolboxes/geometry_toolbox.hpp" #include "../variables/CScalarVariable.hpp" +#include "../variables/CFlowVariable.hpp" +#include "../variables/CPrimitiveIndices.hpp" #include "CSolver.hpp" /*! @@ -49,14 +52,18 @@ class CScalarSolver : public CSolver { unsigned long omp_chunk_size; /*!< \brief Chunk size used in light point loops. */ - su2double lowerlimit[MAXNVAR]; /*!< \brief contains lower limits for turbulence variables. Note that ::min() - returns the smallest positive value for floats. */ - su2double upperlimit[MAXNVAR]; /*!< \brief contains upper limits for turbulence variables. */ + su2double lowerlimit[MAXNVAR]; /*!< \brief contains lower limits for scalar variables. */ + su2double upperlimit[MAXNVAR]; /*!< \brief contains upper limits for scalar variables. */ su2double Solution_Inf[MAXNVAR]; /*!< \brief Far-field solution. */ const bool Conservative; /*!< \brief Transported Variable is conservative. Solution has to be multiplied with rho. */ + const CPrimitiveIndices prim_idx; /*!< \brief Indices of the primitive flow variables. */ + + vector > SlidingState; // vector of matrix of pointers... inner dim alloc'd elsewhere (welcome, to the twilight zone) + vector > SlidingStateNodes; + /*--- Shallow copy of grid coloring for OpenMP parallelization. ---*/ #ifdef HAVE_OMP @@ -82,7 +89,7 @@ class CScalarSolver : public CSolver { inline CVariable* GetBaseClassPointerToNodes() final { return nodes; } /*! - * \brief Compute the viscous flux for the turbulent equation at a particular edge. + * \brief Compute the viscous flux for the scalar equation at a particular edge. * \tparam SolverSpecificNumericsFunc - lambda-function, that implements solver specific contributions to numerics. * \note The functor has to implement (iPoint, jPoint) * \param[in] iEdge - Edge for which we want to compute the flux @@ -96,7 +103,8 @@ class CScalarSolver : public CSolver { CGeometry* geometry, CSolver** solver_container, CNumerics* numerics, CConfig* config) { const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - CVariable* flowNodes = solver_container[FLOW_SOL]->GetNodes(); + CFlowVariable* flowNodes = solver_container[FLOW_SOL] ? + su2staticcast_p(solver_container[FLOW_SOL]->GetNodes()) : nullptr; /*--- Points in edge ---*/ @@ -110,7 +118,9 @@ class CScalarSolver : public CSolver { /*--- Conservative variables w/o reconstruction ---*/ - numerics->SetPrimitive(flowNodes->GetPrimitive(iPoint), flowNodes->GetPrimitive(jPoint)); + if (flowNodes) { + numerics->SetPrimitive(flowNodes->GetPrimitive(iPoint), flowNodes->GetPrimitive(jPoint)); + } /*--- Turbulent variables w/o reconstruction, and its gradients ---*/ @@ -135,6 +145,144 @@ class CScalarSolver : public CSolver { } } + /*! + * \brief Generic implementation of the fluid interface boundary condition for scalar solvers. + * \tparam SolverSpecificNumericsFunc - lambda that implements solver specific contributions to viscous numerics. + * \note The functor has to implement (iPoint) + * \param[in] geometry - Geometrical definition of the problem. + * \param[in] solver_container - Container vector with all the solutions. + * \param[in] conv_numerics - Description of the numerical method. + * \param[in] visc_numerics - Description of the numerical method. + * \param[in] config - Definition of the particular problem. + */ + template + void BC_Fluid_Interface_impl(const SolverSpecificNumericsFunc& SolverSpecificNumerics, CGeometry *geometry, + CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, + CConfig *config) { + if (solver_container[FLOW_SOL] == nullptr) return; + + const auto nPrimVar = solver_container[FLOW_SOL]->GetnPrimVar(); + su2activevector PrimVar_j(nPrimVar); + su2double solution_j[MAXNVAR] = {0.0}; + + for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { + + if (config->GetMarker_All_KindBC(iMarker) != FLUID_INTERFACE) continue; + + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) + for (auto iVertex = 0u; iVertex < geometry->nVertex[iMarker]; iVertex++) { + + const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); + + if (!geometry->nodes->GetDomain(iPoint)) continue; + + const auto Point_Normal = geometry->vertex[iMarker][iVertex]->GetNormal_Neighbor(); + const auto nDonorVertex = GetnSlidingStates(iMarker,iVertex); + + su2double Normal[MAXNDIM] = {0.0}; + for (auto iDim = 0u; iDim < nDim; iDim++) + Normal[iDim] = -geometry->vertex[iMarker][iVertex]->GetNormal()[iDim]; + + su2double* PrimVar_i = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); + + auto* Jacobian_i = Jacobian.GetBlock(iPoint, iPoint); + + /*--- Loop over the nDonorVertexes and compute the averaged flux ---*/ + + for (auto jVertex = 0; jVertex < nDonorVertex; jVertex++) { + + for (auto iVar = 0u; iVar < nPrimVar; iVar++) + PrimVar_j[iVar] = solver_container[FLOW_SOL]->GetSlidingState(iMarker, iVertex, iVar, jVertex); + + /*--- Get the weight computed in the interpolator class for the j-th donor vertex ---*/ + + const su2double weight = solver_container[FLOW_SOL]->GetSlidingState(iMarker, iVertex, nPrimVar, jVertex); + + /*--- Set primitive variables ---*/ + + conv_numerics->SetPrimitive( PrimVar_i, PrimVar_j.data() ); + + /*--- Set the scalar variable states ---*/ + + for (auto iVar = 0u; iVar < nVar; ++iVar) + solution_j[iVar] = GetSlidingState(iMarker, iVertex, iVar, jVertex); + + conv_numerics->SetScalarVar(nodes->GetSolution(iPoint), solution_j); + + /*--- Set the normal vector ---*/ + + conv_numerics->SetNormal(Normal); + + if (dynamic_grid) + conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); + + if (conv_numerics->GetBoundedScalar()) { + const su2double* velocity = &PrimVar_j[prim_idx.Velocity()]; + const su2double density = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); + conv_numerics->SetMassFlux(BoundedScalarBCFlux(iPoint, true, density, velocity, Normal)); + } + + auto residual = conv_numerics->ComputeResidual(config); + + /*--- Accumulate the residuals to compute the average ---*/ + + for (auto iVar = 0u; iVar < nVar; iVar++) { + LinSysRes(iPoint,iVar) += weight*residual[iVar]; + for (auto jVar = 0u; jVar < nVar; jVar++) + Jacobian_i[iVar*nVar+jVar] += SU2_TYPE::GetValue(weight*residual.jacobian_i[iVar][jVar]); + } + } + + /*--- Set the normal vector and the coordinates ---*/ + + visc_numerics->SetNormal(Normal); + su2double Coord_Reflected[MAXNDIM]; + GeometryToolbox::PointPointReflect(nDim, geometry->nodes->GetCoord(Point_Normal), + geometry->nodes->GetCoord(iPoint), Coord_Reflected); + visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected); + + /*--- Primitive variables ---*/ + + visc_numerics->SetPrimitive(PrimVar_i, PrimVar_j.data()); + + /*--- Scalar variables and their gradients ---*/ + + visc_numerics->SetScalarVar(nodes->GetSolution(iPoint), solution_j); + visc_numerics->SetScalarVarGradient(nodes->GetGradient(iPoint), nodes->GetGradient(iPoint)); + + /*--- Allow derived solvers to set more variables in numerics. ---*/ + + SolverSpecificNumerics(iPoint); + + /*--- Compute and update residual ---*/ + + auto residual = visc_numerics->ComputeResidual(config); + + LinSysRes.SubtractBlock(iPoint, residual); + + /*--- Jacobian contribution for implicit integration ---*/ + + Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); + + } + END_SU2_OMP_FOR + } + } + + /*! + * \brief Applies a convective flux correction to negate the effects of flow divergence at a BC node. + * \note This function should be used for nodes that are part of a boundary marker, it computes a mass flux + * from density and velocity at the node, and the outward-pointing normal (-1 * normal of vertex). + * \return The mass flux. + */ + inline su2double BoundedScalarBCFlux(unsigned long iPoint, bool implicit, const su2double& density, + const su2double* velocity, const su2double* normal) { + const su2double edgeMassFlux = density * GeometryToolbox::DotProduct(nDim, velocity, normal); + LinSysRes.AddBlock(iPoint, nodes->GetSolution(iPoint), -edgeMassFlux); + if (implicit) Jacobian.AddVal2Diag(iPoint, -edgeMassFlux); + return edgeMassFlux; + } + /*! * \brief Gradient and Limiter computation. * \param[in] geometry - Geometrical definition of the problem. @@ -145,7 +293,7 @@ class CScalarSolver : public CSolver { private: /*! - * \brief Compute the viscous flux for the turbulent equation at a particular edge. + * \brief Compute the viscous flux for the scalar equation at a particular edge. * \param[in] iEdge - Edge for which we want to compute the flux * \param[in] geometry - Geometrical definition of the problem. * \param[in] solver_container - Container vector with all the solutions. @@ -199,8 +347,20 @@ class CScalarSolver : public CSolver { * \param[in] config - Definition of the particular problem. * \param[in] iMesh - Index of the mesh in multigrid computations. */ - void Upwind_Residual(CGeometry* geometry, CSolver** solver_container, CNumerics** numerics_container, CConfig* config, - unsigned short iMesh) override; + void Upwind_Residual(CGeometry* geometry, CSolver** solver_container, CNumerics** numerics_container, + CConfig* config, unsigned short iMesh) override; + + /*! + * \brief Impose the Far Field boundary condition. + * \param[in] geometry - Geometrical definition of the problem. + * \param[in] solver_container - Container vector with all the solutions. + * \param[in] conv_numerics - Description of the numerical method. + * \param[in] visc_numerics - Description of the numerical method. + * \param[in] config - Definition of the particular problem. + * \param[in] val_marker - Surface marker where the boundary condition is applied. + */ + void BC_Far_Field(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, + CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) final; /*! * \brief Impose the Symmetry Plane boundary condition. @@ -255,6 +415,20 @@ class CScalarSolver : public CSolver { */ void BC_Periodic(CGeometry* geometry, CSolver** solver_container, CNumerics* numerics, CConfig* config) final; + /*! + * \brief Impose the fluid interface boundary condition using transfer data. + * \param[in] geometry - Geometrical definition of the problem. + * \param[in] solver_container - Container vector with all the solutions. + * \param[in] conv_numerics - Description of the numerical method. + * \param[in] visc_numerics - Description of the numerical method. + * \param[in] config - Definition of the particular problem. + */ + void BC_Fluid_Interface(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, + CNumerics *visc_numerics, CConfig *config) override { + /*--- By default instantiate the generic implementation w/o extra variables, derived solvers can override. ---*/ + BC_Fluid_Interface_impl([](unsigned long){}, geometry, solver_container, conv_numerics, visc_numerics, config); + } + /*! * \brief Set the solution using the Freestream values. * \param[in] config - Definition of the particular problem. @@ -267,6 +441,17 @@ class CScalarSolver : public CSolver { END_SU2_OMP_FOR } + /*! + * \brief This base implementation simply copies the time step of the flow solver. + * \param[in] geometry - Geometrical definition of the problem. + * \param[in] solver_container - Container vector with all the solutions. + * \param[in] config - Definition of the particular problem. + * \param[in] iMesh - Index of the mesh in multigrid computations. + * \param[in] Iteration - Index of the current iteration. + */ + void SetTime_Step(CGeometry *geometry, CSolver **solver_container, CConfig *config, + unsigned short iMesh, unsigned long Iteration) override; + /*! * \brief Prepare an implicit iteration. * \param[in] geometry - Geometrical definition of the problem. @@ -297,7 +482,7 @@ class CScalarSolver : public CSolver { * \param[in] solver_container - Container vector with all the solutions. * \param[in] config - Definition of the particular problem. */ - void ImplicitEuler_Iteration(CGeometry* geometry, CSolver** solver_container, CConfig* config) override; + void ImplicitEuler_Iteration(CGeometry* geometry, CSolver** solver_container, CConfig* config) final; /*! * \brief Set the total residual adding the term that comes from the Dual Time-Stepping Strategy. @@ -309,7 +494,7 @@ class CScalarSolver : public CSolver { * \param[in] RunTime_EqSystem - System of equations which is going to be solved. */ void SetResidual_DualTime(CGeometry* geometry, CSolver** solver_container, CConfig* config, unsigned short iRKStep, - unsigned short iMesh, unsigned short RunTime_EqSystem) final; + unsigned short iMesh, unsigned short RunTime_EqSystem) override; /*! * \brief Load a solution from a restart file. @@ -326,4 +511,71 @@ class CScalarSolver : public CSolver { * \brief Scalar solvers support OpenMP+MPI. */ inline bool GetHasHybridParallel() const override { return true; } + + /*! + * \brief Get the outer state for fluid interface nodes. + * \param[in] val_marker - marker index + * \param[in] val_vertex - vertex index + * \param[in] val_state - requested state component + * \param[in] donor_index- index of the donor node to get + */ + inline su2double GetSlidingState(unsigned short val_marker, + unsigned long val_vertex, + unsigned short val_state, + unsigned long donor_index) const final { + return SlidingState[val_marker][val_vertex][val_state][donor_index]; + } + + /*! + * \brief Allocates the final pointer of SlidingState depending on how many donor vertex donate to it. That number is stored in SlidingStateNodes[val_marker][val_vertex]. + * \param[in] val_marker - marker index + * \param[in] val_vertex - vertex index + */ + inline void SetSlidingStateStructure(unsigned short val_marker, unsigned long val_vertex) final { + int iVar; + + for( iVar = 0; iVar < nVar+1; iVar++){ + if( SlidingState[val_marker][val_vertex][iVar] != nullptr ) + delete [] SlidingState[val_marker][val_vertex][iVar]; + } + + for( iVar = 0; iVar < nVar+1; iVar++) + SlidingState[val_marker][val_vertex][iVar] = new su2double[ GetnSlidingStates(val_marker, val_vertex) ]; + } + + /*! + * \brief Set the outer state for fluid interface nodes. + * \param[in] val_marker - marker index + * \param[in] val_vertex - vertex index + * \param[in] val_state - requested state component + * \param[in] donor_index - index of the donor node to set + * \param[in] component - set value + */ + inline void SetSlidingState(unsigned short val_marker, + unsigned long val_vertex, + unsigned short val_state, + unsigned long donor_index, + su2double component) final { + SlidingState[val_marker][val_vertex][val_state][donor_index] = component; + } + + /*! + * \brief Set the number of outer state for fluid interface nodes. + * \param[in] val_marker - marker index + * \param[in] val_vertex - vertex index + * \param[in] value - number of outer states + */ + inline void SetnSlidingStates(unsigned short val_marker, + unsigned long val_vertex, + int value) final { SlidingStateNodes[val_marker][val_vertex] = value; } + + /*! + * \brief Get the number of outer state for fluid interface nodes. + * \param[in] val_marker - marker index + * \param[in] val_vertex - vertex index + */ + inline int GetnSlidingStates(unsigned short val_marker, unsigned long val_vertex) const final { + return SlidingStateNodes[val_marker][val_vertex]; + } + }; diff --git a/SU2_CFD/include/solvers/CScalarSolver.inl b/SU2_CFD/include/solvers/CScalarSolver.inl index 15752aa42a5..a6f795a2bbe 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.inl +++ b/SU2_CFD/include/solvers/CScalarSolver.inl @@ -1,7 +1,7 @@ /*! * \file CScalarSolver.inl * \brief Main subroutines of CScalarSolver class - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -31,7 +31,9 @@ template CScalarSolver::CScalarSolver(CGeometry* geometry, CConfig* config, bool conservative) - : CSolver(), Conservative(conservative) { + : CSolver(), Conservative(conservative), + prim_idx(config->GetKind_Regime() == ENUM_REGIME::INCOMPRESSIBLE, + config->GetNEMOProblem(), geometry->GetnDim(), config->GetnSpecies()) { nMarker = config->GetnMarker_All(); /*--- Store the number of vertices on each marker for deallocation later ---*/ @@ -133,10 +135,14 @@ void CScalarSolver::Upwind_Residual(CGeometry* geometry, CSolver** (config->GetKind_SlopeLimit_Flow() != LIMITER::NONE) && (config->GetKind_SlopeLimit_Flow() != LIMITER::VAN_ALBADA_EDGE); auto* flowNodes = su2staticcast_p(solver_container[FLOW_SOL]->GetNodes()); + const auto& edgeMassFluxes = *(solver_container[FLOW_SOL]->GetEdgeMassFluxes()); /*--- Pick one numerics object per thread. ---*/ auto* numerics = numerics_container[CONV_TERM + omp_get_thread_num() * MAX_TERMS]; + /*--- Apply scalar advection correction terms for bounded scalar problems ---*/ + const bool bounded_scalar = numerics->GetBoundedScalar(); + /*--- Static arrays of MUSCL-reconstructed flow primitives and turbulence variables (thread safety). ---*/ su2double solution_i[MAXNVAR] = {0.0}, flowPrimVar_i[MAXNVARFLOW] = {0.0}; su2double solution_j[MAXNVAR] = {0.0}, flowPrimVar_j[MAXNVARFLOW] = {0.0}; @@ -192,8 +198,10 @@ void CScalarSolver::Upwind_Residual(CGeometry* geometry, CSolver** Vector_ij[iDim] = 0.5 * (Coord_j[iDim] - Coord_i[iDim]); } - if (musclFlow) { - /*--- Reconstruct mean flow primitive variables. ---*/ + if (musclFlow && !bounded_scalar) { + /*--- Reconstruct mean flow primitive variables, note that in bounded scalar mode this is + * not necessary because the edge mass flux is read directly from the flow solver, instead + * of being computed from the primitive flow variables. ---*/ auto Gradient_i = flowNodes->GetGradient_Reconstruction(iPoint); auto Gradient_j = flowNodes->GetGradient_Reconstruction(jPoint); @@ -204,7 +212,8 @@ void CScalarSolver::Upwind_Residual(CGeometry* geometry, CSolver** } for (iVar = 0; iVar < solver_container[FLOW_SOL]->GetnPrimVarGrad(); iVar++) { - su2double Project_Grad_i = 0.0, Project_Grad_j = 0.0; + su2double Project_Grad_i = 0.0; + su2double Project_Grad_j = 0.0; for (iDim = 0; iDim < nDim; iDim++) { Project_Grad_i += Vector_ij[iDim] * Gradient_i[iVar][iDim]; Project_Grad_j -= Vector_ij[iDim] * Gradient_j[iVar][iDim]; @@ -249,6 +258,13 @@ void CScalarSolver::Upwind_Residual(CGeometry* geometry, CSolver** } } + /*--- Convective flux ---*/ + su2double EdgeMassFlux = 0.0; + if (bounded_scalar) { + EdgeMassFlux = edgeMassFluxes[iEdge]; + numerics->SetMassFlux(EdgeMassFlux); + } + /*--- Update convective residual value ---*/ auto residual = numerics->ComputeResidual(config); @@ -262,6 +278,21 @@ void CScalarSolver::Upwind_Residual(CGeometry* geometry, CSolver** if (implicit) Jacobian.UpdateBlocks(iEdge, iPoint, jPoint, residual.jacobian_i, residual.jacobian_j); } + /*--- Apply convective flux correction to negate the effects of flow divergence in case of incompressible flow. + * Note that for the bounded scalar model, we explicitly put div(v)=0. + * If the ReducerStrategy is used, the corrections need to be applied in a loop over nodes + * to avoid race conditions in accessing nodes shared by edges handled by different threads. ---*/ + + if (bounded_scalar && !ReducerStrategy) { + LinSysRes.AddBlock(iPoint, nodes->GetSolution(iPoint), -EdgeMassFlux); + LinSysRes.AddBlock(jPoint, nodes->GetSolution(jPoint), EdgeMassFlux); + + if (implicit) { + Jacobian.AddVal2Diag(iPoint, -EdgeMassFlux); + Jacobian.AddVal2Diag(jPoint, EdgeMassFlux); + } + } + /*--- Viscous contribution. ---*/ Viscous_Residual(iEdge, geometry, solver_container, @@ -277,6 +308,26 @@ void CScalarSolver::Upwind_Residual(CGeometry* geometry, CSolver** if (ReducerStrategy) { SumEdgeFluxes(geometry); if (implicit) Jacobian.SetDiagonalAsColumnSum(); + + /*--- Bounded scalar correction that cannot be applied in the edge loop when using the ReducerStrategy. ---*/ + if (bounded_scalar) { + SU2_OMP_FOR_STAT(omp_chunk_size) + for (unsigned long iPoint = 0; iPoint < nPoint; ++iPoint) { + const auto* solution = nodes->GetSolution(iPoint); + su2double divergence = 0; + + for (auto iEdge : geometry->nodes->GetEdges(iPoint)) { + const auto sign = (iPoint == geometry->edges->GetNode(iEdge,0)) ? 1 : -1; + const su2double EdgeMassFlux = sign * edgeMassFluxes[iEdge]; + divergence += EdgeMassFlux; + LinSysRes.AddBlock(iPoint, solution, -EdgeMassFlux); + } + if (implicit) { + Jacobian.AddVal2Diag(iPoint, -divergence); + } + } + END_SU2_OMP_FOR + } } } @@ -312,10 +363,82 @@ void CScalarSolver::BC_Periodic(CGeometry* geometry, CSolver** sol } template -void CScalarSolver::PrepareImplicitIteration(CGeometry* geometry, CSolver** solver_container, - CConfig* config) { +void CScalarSolver::BC_Far_Field(CGeometry* geometry, CSolver** solver_container, + CNumerics* conv_numerics, CNumerics*, CConfig *config, + unsigned short val_marker) { + + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) + for (auto iVertex = 0u; iVertex < geometry->nVertex[val_marker]; iVertex++) { + + const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + + /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ + + if (geometry->nodes->GetDomain(iPoint)) { + + /*--- Allocate the value at the infinity ---*/ + + auto V_infty = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); + + /*--- Retrieve solution at the farfield boundary node ---*/ + + auto V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); + + /*--- Grid Movement ---*/ + + if (dynamic_grid) + conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); + + conv_numerics->SetPrimitive(V_domain, V_infty); + + /*--- Set turbulent variable at the wall, and at infinity ---*/ + + conv_numerics->SetScalarVar(nodes->GetSolution(iPoint), Solution_Inf); + + /*--- Set Normal (it is necessary to change the sign) ---*/ + + su2double Normal[MAXNDIM] = {0.0}; + for (auto iDim = 0u; iDim < nDim; iDim++) + Normal[iDim] = -geometry->vertex[val_marker][iVertex]->GetNormal(iDim); + conv_numerics->SetNormal(Normal); + + if (conv_numerics->GetBoundedScalar()) { + const su2double* velocity = &V_infty[prim_idx.Velocity()]; + const su2double density = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); + conv_numerics->SetMassFlux(BoundedScalarBCFlux(iPoint, implicit, density, velocity, Normal)); + } + + /*--- Compute residuals and Jacobians ---*/ + + auto residual = conv_numerics->ComputeResidual(config); + + /*--- Add residuals and Jacobians ---*/ + + LinSysRes.AddBlock(iPoint, residual); + if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); + } + } + END_SU2_OMP_FOR +} + +template +void CScalarSolver::SetTime_Step(CGeometry *geometry, CSolver **solver_container, CConfig *config, + unsigned short iMesh, unsigned long Iteration) { const auto flowNodes = solver_container[FLOW_SOL]->GetNodes(); + SU2_OMP_FOR_STAT(omp_chunk_size) + for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { + su2double dt = nodes->GetLocalCFL(iPoint) / flowNodes->GetLocalCFL(iPoint) * flowNodes->GetDelta_Time(iPoint); + nodes->SetDelta_Time(iPoint, dt); + } + END_SU2_OMP_FOR +} + +template +void CScalarSolver::PrepareImplicitIteration(CGeometry* geometry, CSolver** solver_container, + CConfig* config) { /*--- Set shared residual variables to 0 and declare * local ones for current thread to work on. ---*/ @@ -328,11 +451,8 @@ void CScalarSolver::PrepareImplicitIteration(CGeometry* geometry, SU2_OMP_FOR_(schedule(static, omp_chunk_size) SU2_NOWAIT) for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { - /// TODO: This could be the SetTime_Step of this solver. - su2double dt = nodes->GetLocalCFL(iPoint) / flowNodes->GetLocalCFL(iPoint) * flowNodes->GetDelta_Time(iPoint); - nodes->SetDelta_Time(iPoint, dt); - /*--- Modify matrix diagonal to improve diagonal dominance. ---*/ + const su2double dt = nodes->GetDelta_Time(iPoint); if (dt != 0.0) { su2double Vol = geometry->nodes->GetVolume(iPoint) + geometry->nodes->GetPeriodicVolume(iPoint); @@ -364,8 +484,6 @@ void CScalarSolver::CompleteImplicitIteration(CGeometry* geometry, CConfig* config) { const bool compressible = (config->GetKind_Regime() == ENUM_REGIME::COMPRESSIBLE); - const auto flowNodes = solver_container[FLOW_SOL]->GetNodes(); - ComputeUnderRelaxationFactor(config); /*--- Update solution (system written in terms of increments) ---*/ @@ -374,6 +492,8 @@ void CScalarSolver::CompleteImplicitIteration(CGeometry* geometry, /*--- Update the scalar solution. For transport equations, where Solution is not equivalent with the transported * quantity, multiply the respective factor. ---*/ if (Conservative) { + const auto flowNodes = solver_container[FLOW_SOL]->GetNodes(); + SU2_OMP_FOR_STAT(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { /*--- Multiply the Solution var with density to get the conservative transported quantity, if necessary. ---*/ @@ -435,16 +555,13 @@ void CScalarSolver::ImplicitEuler_Iteration(CGeometry* geometry, C template void CScalarSolver::ExplicitEuler_Iteration(CGeometry* geometry, CSolver** solver_container, CConfig* config) { - const auto flowNodes = solver_container[FLOW_SOL]->GetNodes(); - /*--- Local residual variables for current thread ---*/ su2double resMax[MAXNVAR] = {0.0}, resRMS[MAXNVAR] = {0.0}; unsigned long idxMax[MAXNVAR] = {0}; SU2_OMP_FOR_STAT(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { - const su2double dt = nodes->GetLocalCFL(iPoint) / flowNodes->GetLocalCFL(iPoint) * flowNodes->GetDelta_Time(iPoint); - nodes->SetDelta_Time(iPoint, dt); + const su2double dt = nodes->GetDelta_Time(iPoint); const su2double Vol = geometry->nodes->GetVolume(iPoint) + geometry->nodes->GetPeriodicVolume(iPoint); for (auto iVar = 0u; iVar < nVar; iVar++) { diff --git a/SU2_CFD/include/solvers/CSolver.hpp b/SU2_CFD/include/solvers/CSolver.hpp index f5d268d40b5..26ce5eeabf2 100644 --- a/SU2_CFD/include/solvers/CSolver.hpp +++ b/SU2_CFD/include/solvers/CSolver.hpp @@ -2,7 +2,7 @@ * \file CSolver.hpp * \brief Headers of the CSolver class which is inherited by all of the other solvers * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -30,6 +30,7 @@ #include "../../../Common/include/parallelization/mpi_structure.hpp" #include +#include #include #include #include @@ -2999,6 +3000,12 @@ class CSolver { */ inline virtual su2double GetEddyViscWall(unsigned short val_marker, unsigned long val_vertex) const { return 0; } + /*! + * \brief A virtual member + * \return The mass fluxes (from flow solvers) across the edges. + */ + inline virtual const su2activevector* GetEdgeMassFluxes() const { return nullptr; } + /*! * \brief A virtual member. * \return Value of the StrainMag_Max @@ -4323,9 +4330,38 @@ class CSolver { * \param[in] geometry - Geometrical definition of the problem. * \param[in] config - Definition of the particular problem. * \param[in] converged - Whether or not solution has converged. - */ + */ void SavelibROM(CGeometry *geometry, CConfig *config, bool converged); + /*! + * \brief Interpolate variables to a coarser grid level. + * \note Halo values are not communicated in this function. + * \param[in] geoFine - Fine grid. + * \param[in] varsFine - Matrix of variables on the fine grid. + * \param[in] geoCoarse - Coarse grid. + * \param[in] varsCoarse - Matrix of variables interpolated to the coarse grid. + */ + inline static void MultigridRestriction(const CGeometry& geoFine, const su2activematrix& varsFine, + const CGeometry& geoCoarse, su2activematrix& varsCoarse) { + SU2_OMP_FOR_STAT(roundUpDiv(geoCoarse.GetnPointDomain(), omp_get_num_threads())) + for (auto iPointCoarse = 0ul; iPointCoarse < geoCoarse.GetnPointDomain(); ++iPointCoarse) { + + for (auto iVar = 0ul; iVar < varsCoarse.cols(); iVar++) { + varsCoarse(iPointCoarse, iVar) = 0.0; + } + const su2double scale = 1 / geoCoarse.nodes->GetVolume(iPointCoarse); + + for (auto iChildren = 0ul; iChildren < geoCoarse.nodes->GetnChildren_CV(iPointCoarse); ++iChildren) { + const auto iPointFine = geoCoarse.nodes->GetChildren_CV(iPointCoarse, iChildren); + const su2double w = geoFine.nodes->GetVolume(iPointFine) * scale; + for (auto iVar = 0ul; iVar < varsCoarse.cols(); ++iVar) { + varsCoarse(iPointCoarse, iVar) += w * varsFine(iPointFine, iVar); + } + } + } + END_SU2_OMP_FOR + } + protected: /*! * \brief Allocate the memory for the verification solution, if necessary. diff --git a/SU2_CFD/include/solvers/CSolverFactory.hpp b/SU2_CFD/include/solvers/CSolverFactory.hpp index 8ed6371ed4a..3a9dfb1e91d 100644 --- a/SU2_CFD/include/solvers/CSolverFactory.hpp +++ b/SU2_CFD/include/solvers/CSolverFactory.hpp @@ -2,7 +2,7 @@ * \file CSolverFactory.hpp * \brief Headers of the CSolverFactory class * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CSpeciesSolver.hpp b/SU2_CFD/include/solvers/CSpeciesSolver.hpp index 08186a9d03b..6f209b0fda6 100644 --- a/SU2_CFD/include/solvers/CSpeciesSolver.hpp +++ b/SU2_CFD/include/solvers/CSpeciesSolver.hpp @@ -2,7 +2,7 @@ * \file CSpeciesSolver.hpp * \brief Headers of the CSpeciesSolver class * \author T. Kattmann. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -161,4 +161,25 @@ class CSpeciesSolver : public CScalarSolver { */ void Source_Residual(CGeometry* geometry, CSolver** solver_container, CNumerics** numerics_container, CConfig* config, unsigned short iMesh) override; + + +/*! + * \brief Impose the fluid interface boundary condition using tranfer data. + * \param[in] geometry - Geometrical definition of the problem. + * \param[in] solver_container - Container vector with all the solutions. + * \param[in] conv_numerics - Description of the numerical method. + * \param[in] visc_numerics - Description of the numerical method. + * \param[in] config - Definition of the particular problem. + */ + void BC_Fluid_Interface(CGeometry *geometry, + CSolver **solver_container, + CNumerics *conv_numerics, + CNumerics *visc_numerics, + CConfig *config) final { + BC_Fluid_Interface_impl( + [&](unsigned long iPoint) { + visc_numerics->SetDiffusionCoeff(nodes->GetDiffusivity(iPoint), nodes->GetDiffusivity(iPoint)); + }, + geometry, solver_container, conv_numerics, visc_numerics, config); + } }; diff --git a/SU2_CFD/include/solvers/CTemplateSolver.hpp b/SU2_CFD/include/solvers/CTemplateSolver.hpp index 63b4aa1a0bb..03b7bcd5d81 100644 --- a/SU2_CFD/include/solvers/CTemplateSolver.hpp +++ b/SU2_CFD/include/solvers/CTemplateSolver.hpp @@ -2,7 +2,7 @@ * \file CTemplateSolver.hpp * \brief Headers of the CTemplateSolver class * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CTransLMSolver.hpp b/SU2_CFD/include/solvers/CTransLMSolver.hpp index 36d29ee1a31..acdf90fb9a4 100644 --- a/SU2_CFD/include/solvers/CTransLMSolver.hpp +++ b/SU2_CFD/include/solvers/CTransLMSolver.hpp @@ -2,7 +2,7 @@ * \file CTransLMSolver.hpp * \brief Headers of the CTransLMSolver class * \author A. Aranake - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -28,6 +28,7 @@ #pragma once #include "CTurbSolver.hpp" +#include "../numerics/turbulent/transition/trans_correlations.hpp" /*! * \class CTransLMSolver @@ -39,6 +40,11 @@ class CTransLMSolver final : public CTurbSolver { private: + LM_ParsedOptions options; + TURB_FAMILY TurbFamily; + + TransLMCorrelations TransCorrelations; + public: /*! * \overload @@ -153,23 +159,7 @@ class CTransLMSolver final : public CTurbSolver { CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, - unsigned short val_marker) override; - - /*! - * \brief Impose the Far Field boundary condition. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] conv_numerics - Description of the numerical method. - * \param[in] visc_numerics - Description of the numerical method. - * \param[in] config - Definition of the particular problem. - * \param[in] val_marker - Surface marker where the boundary condition is applied. - */ - void BC_Far_Field(CGeometry *geometry, - CSolver **solver_container, - CNumerics *conv_numerics, - CNumerics *visc_numerics, - CConfig *config, - unsigned short val_marker) override; + unsigned short val_marker) override; /*! * \brief Impose the inlet boundary condition. diff --git a/SU2_CFD/include/solvers/CTurbSASolver.hpp b/SU2_CFD/include/solvers/CTurbSASolver.hpp index 8868f822263..90db2a70041 100644 --- a/SU2_CFD/include/solvers/CTurbSASolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSASolver.hpp @@ -2,7 +2,7 @@ * \file CTurbSASolver.hpp * \brief Headers of the CTurbSASolver class * \author A. Bueno. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -188,22 +188,6 @@ class CTurbSASolver final : public CTurbSolver { CConfig *config, unsigned short val_marker) override; - /*! - * \brief Impose the Far Field boundary condition. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] conv_numerics - Description of the numerical method. - * \param[in] visc_numerics - Description of the numerical method. - * \param[in] config - Definition of the particular problem. - * \param[in] val_marker - Surface marker where the boundary condition is applied. - */ - void BC_Far_Field(CGeometry *geometry, - CSolver **solver_container, - CNumerics *conv_numerics, - CNumerics *visc_numerics, - CConfig *config, - unsigned short val_marker) override; - /*! * \brief Impose the inlet boundary condition. * \param[in] geometry - Geometrical definition of the problem. diff --git a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp index c36c2cbd9a0..93962d328f1 100644 --- a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp @@ -2,7 +2,7 @@ * \file CTurbSSTSolver.hpp * \brief Headers of the CTurbSSTSolver class * \author A. Campos, F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -169,22 +169,6 @@ class CTurbSSTSolver final : public CTurbSolver { CConfig *config, unsigned short val_marker) override; - /*! - * \brief Impose the Far Field boundary condition. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] conv_numerics - Description of the numerical method. - * \param[in] visc_numerics - Description of the numerical method. - * \param[in] config - Definition of the particular problem. - * \param[in] val_marker - Surface marker where the boundary condition is applied. - */ - void BC_Far_Field(CGeometry *geometry, - CSolver **solver_container, - CNumerics *conv_numerics, - CNumerics *visc_numerics, - CConfig *config, - unsigned short val_marker) override; - /*! * \brief Impose the inlet boundary condition. * \param[in] geometry - Geometrical definition of the problem. @@ -248,6 +232,26 @@ class CTurbSSTSolver final : public CTurbSolver { CConfig *config, unsigned short val_marker) override; + /*! + * \brief Impose the fluid interface boundary condition using tranfer data. + * \param[in] geometry - Geometrical definition of the problem. + * \param[in] solver_container - Container vector with all the solutions. + * \param[in] conv_numerics - Description of the numerical method. + * \param[in] visc_numerics - Description of the numerical method. + * \param[in] config - Definition of the particular problem. + */ + void BC_Fluid_Interface(CGeometry *geometry, + CSolver **solver_container, + CNumerics *conv_numerics, + CNumerics *visc_numerics, + CConfig *config) final { + BC_Fluid_Interface_impl( + [&](unsigned long iPoint) { + visc_numerics->SetF1blending(nodes->GetF1blending(iPoint), nodes->GetF1blending(iPoint)); + }, + geometry, solver_container, conv_numerics, visc_numerics, config); + } + /*! * \brief Get the constants for the SST model. * \return A pointer to an array containing a set of constants diff --git a/SU2_CFD/include/solvers/CTurbSolver.hpp b/SU2_CFD/include/solvers/CTurbSolver.hpp index 56bd38964e0..78d48b2d8cf 100644 --- a/SU2_CFD/include/solvers/CTurbSolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSolver.hpp @@ -2,7 +2,7 @@ * \file CTurbSolver.hpp * \brief Headers of the CTurbSolver class * \author A. Bueno. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -42,12 +42,6 @@ class CTurbSolver : public CScalarSolver { vector Inlet_TurbVars; /*!< \brief Turbulence variables at inlet profiles */ - /*--- Sliding meshes variables. ---*/ - - vector > SlidingState; // vector of matrix of pointers... inner dim alloc'd elsewhere (welcome, to the twilight zone) - vector > SlidingStateNodes; - - public: /*! * \brief Destructor of the class. @@ -106,20 +100,6 @@ class CTurbSolver : public CScalarSolver { CConfig *config, unsigned short val_marker) final; - /*! - * \brief Impose the fluid interface boundary condition using tranfer data. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] conv_numerics - Description of the numerical method. - * \param[in] visc_numerics - Description of the numerical method. - * \param[in] config - Definition of the particular problem. - */ - void BC_Fluid_Interface(CGeometry *geometry, - CSolver **solver_container, - CNumerics *conv_numerics, - CNumerics *visc_numerics, - CConfig *config) final; - /*! * \brief Load a solution from a restart file. * \param[in] geometry - Geometrical definition of the problem. @@ -137,74 +117,6 @@ class CTurbSolver : public CScalarSolver { */ void Impose_Fixed_Values(const CGeometry *geometry, const CConfig *config) final; - /*! - * \brief Get the outer state for fluid interface nodes. - * \param[in] val_marker - marker index - * \param[in] val_vertex - vertex index - * \param[in] val_state - requested state component - * \param[in] donor_index- index of the donor node to get - */ - inline su2double GetSlidingState(unsigned short val_marker, - unsigned long val_vertex, - unsigned short val_state, - unsigned long donor_index) const final { - return SlidingState[val_marker][val_vertex][val_state][donor_index]; - } - - /*! - * \brief Allocates the final pointer of SlidingState depending on how many donor vertex donate to it. That number is stored in SlidingStateNodes[val_marker][val_vertex]. - * \param[in] val_marker - marker index - * \param[in] val_vertex - vertex index - */ - inline void SetSlidingStateStructure(unsigned short val_marker, unsigned long val_vertex) final { - int iVar; - - for( iVar = 0; iVar < nVar+1; iVar++){ - if( SlidingState[val_marker][val_vertex][iVar] != nullptr ) - delete [] SlidingState[val_marker][val_vertex][iVar]; - } - - for( iVar = 0; iVar < nVar+1; iVar++) - SlidingState[val_marker][val_vertex][iVar] = new su2double[ GetnSlidingStates(val_marker, val_vertex) ]; - } - - - /*! - * \brief Set the outer state for fluid interface nodes. - * \param[in] val_marker - marker index - * \param[in] val_vertex - vertex index - * \param[in] val_state - requested state component - * \param[in] donor_index - index of the donor node to set - * \param[in] component - set value - */ - inline void SetSlidingState(unsigned short val_marker, - unsigned long val_vertex, - unsigned short val_state, - unsigned long donor_index, - su2double component) final { - SlidingState[val_marker][val_vertex][val_state][donor_index] = component; - } - - - /*! - * \brief Set the number of outer state for fluid interface nodes. - * \param[in] val_marker - marker index - * \param[in] val_vertex - vertex index - * \param[in] value - number of outer states - */ - inline void SetnSlidingStates(unsigned short val_marker, - unsigned long val_vertex, - int value) final { SlidingStateNodes[val_marker][val_vertex] = value; } - - /*! - * \brief Get the number of outer state for fluid interface nodes. - * \param[in] val_marker - marker index - * \param[in] val_vertex - vertex index - */ - inline int GetnSlidingStates(unsigned short val_marker, unsigned long val_vertex) const final { - return SlidingStateNodes[val_marker][val_vertex]; - } - /*! * \brief Set custom turbulence variables at the vertex of an inlet. * \param[in] iMarker - Marker identifier. diff --git a/SU2_CFD/include/task_definition.hpp b/SU2_CFD/include/task_definition.hpp index 89573d81cb1..1b11d020297 100644 --- a/SU2_CFD/include/task_definition.hpp +++ b/SU2_CFD/include/task_definition.hpp @@ -2,7 +2,7 @@ * \file task_definition.hpp * \brief Header of the task definition class for the SU2 solvers. * \author E. van der Weide, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -37,7 +37,7 @@ using namespace std; * \class CTaskDefinition * \brief Class for defining a task to be carried out * \author: E. van der Weide, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CTaskDefinition { diff --git a/SU2_CFD/include/task_definition.inl b/SU2_CFD/include/task_definition.inl index f47d5632e26..e75462050df 100644 --- a/SU2_CFD/include/task_definition.inl +++ b/SU2_CFD/include/task_definition.inl @@ -2,7 +2,7 @@ * \file task_definition.inl * \brief In-Line subroutines of the task_definition.hpp file. * \author E. van der Weide, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CAdjEulerVariable.hpp b/SU2_CFD/include/variables/CAdjEulerVariable.hpp index ee09668d67d..a7451999638 100644 --- a/SU2_CFD/include/variables/CAdjEulerVariable.hpp +++ b/SU2_CFD/include/variables/CAdjEulerVariable.hpp @@ -2,7 +2,7 @@ * \file CAdjEulerVariable.hpp * \brief Main class for defining the variables of the adjoint Euler solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CAdjNSVariable.hpp b/SU2_CFD/include/variables/CAdjNSVariable.hpp index 9fab9f4c024..1b05e19f46d 100644 --- a/SU2_CFD/include/variables/CAdjNSVariable.hpp +++ b/SU2_CFD/include/variables/CAdjNSVariable.hpp @@ -2,7 +2,7 @@ * \file CAdjNSVariable.hpp * \brief Main class for defining the variables of the adjoint Navier-Stokes solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CAdjTurbVariable.hpp b/SU2_CFD/include/variables/CAdjTurbVariable.hpp index d9ada41be9f..ba8bee98d87 100644 --- a/SU2_CFD/include/variables/CAdjTurbVariable.hpp +++ b/SU2_CFD/include/variables/CAdjTurbVariable.hpp @@ -2,7 +2,7 @@ * \file CAdjTurbVariable.hpp * \brief Main class for defining the variables of the adjoint turbulence model. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CBaselineVariable.hpp b/SU2_CFD/include/variables/CBaselineVariable.hpp index 5bd585f02af..d916a17dc3a 100644 --- a/SU2_CFD/include/variables/CBaselineVariable.hpp +++ b/SU2_CFD/include/variables/CBaselineVariable.hpp @@ -2,7 +2,7 @@ * \file CBaselineVariable.hpp * \brief Main class for defining the variables of a baseline solution from a restart file (for output). * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp b/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp index fd9516b51e7..08052962ed2 100644 --- a/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp +++ b/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEABoundVariable.hpp * \brief Main class for defining the variables of the adjoint FEA solver at the boundary. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \ingroup DiscAdj * \brief Main class for defining the variables on the FEA boundaries for adjoint applications. * \author R. Sanchez. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CDiscAdjFEABoundVariable final : public CDiscAdjVariable { private: diff --git a/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp b/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp index 40ea701e37e..48b3e6d022a 100644 --- a/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp +++ b/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class * to define the adjoint variables of the mesh movement. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CDiscAdjVariable.hpp b/SU2_CFD/include/variables/CDiscAdjVariable.hpp index 8111fcc83b3..308fe86dc99 100644 --- a/SU2_CFD/include/variables/CDiscAdjVariable.hpp +++ b/SU2_CFD/include/variables/CDiscAdjVariable.hpp @@ -2,7 +2,7 @@ * \file CDiscAdjVariable.hpp * \brief Main class for defining the variables of the adjoint solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CEulerVariable.hpp b/SU2_CFD/include/variables/CEulerVariable.hpp index a072c1a0544..2cf9a8b6076 100644 --- a/SU2_CFD/include/variables/CEulerVariable.hpp +++ b/SU2_CFD/include/variables/CEulerVariable.hpp @@ -2,7 +2,7 @@ * \file CEulerVariable.hpp * \brief Class for defining the variables of the compressible Euler solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CFEABoundVariable.hpp b/SU2_CFD/include/variables/CFEABoundVariable.hpp index 508b881324b..f7034f6db8d 100644 --- a/SU2_CFD/include/variables/CFEABoundVariable.hpp +++ b/SU2_CFD/include/variables/CFEABoundVariable.hpp @@ -2,7 +2,7 @@ * \file CFEABoundVariable.hpp * \brief Class for defining the variables on the FEA boundaries for FSI applications. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -37,7 +37,7 @@ * A map is constructed so that variables can be referenced by iPoint instead of iVertex. * \ingroup Structural Finite Element Analysis Variables * \author R. Sanchez. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEABoundVariable final : public CFEAVariable { protected: diff --git a/SU2_CFD/include/variables/CFEAVariable.hpp b/SU2_CFD/include/variables/CFEAVariable.hpp index dbfe0d009a2..277d3c98edb 100644 --- a/SU2_CFD/include/variables/CFEAVariable.hpp +++ b/SU2_CFD/include/variables/CFEAVariable.hpp @@ -2,7 +2,7 @@ * \file CFEAVariable.hpp * \brief Class for defining the variables of the FEM structural problem. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for defining the variables of the FEM structural problem. * \ingroup Structural Finite Element Analysis Variables * \author F. Palacios, R. Sanchez. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ class CFEAVariable : public CVariable { protected: diff --git a/SU2_CFD/include/variables/CFlowVariable.hpp b/SU2_CFD/include/variables/CFlowVariable.hpp index 501b0fd4a1f..27c7b54d1c4 100644 --- a/SU2_CFD/include/variables/CFlowVariable.hpp +++ b/SU2_CFD/include/variables/CFlowVariable.hpp @@ -1,7 +1,7 @@ /*! * \file CFlowVariable.hpp * \brief Class for defining the common variables of flow solvers. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CHeatVariable.hpp b/SU2_CFD/include/variables/CHeatVariable.hpp index b486f8238e0..b093cc8f284 100644 --- a/SU2_CFD/include/variables/CHeatVariable.hpp +++ b/SU2_CFD/include/variables/CHeatVariable.hpp @@ -2,7 +2,7 @@ * \file CHeatVariable.hpp * \brief Class for defining the variables of the finite-volume heat equation solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -27,20 +27,18 @@ #pragma once -#include "CVariable.hpp" +#include "CScalarVariable.hpp" /*! * \class CHeatVariable * \brief Class for defining the variables of the finite-volume heat equation solver. * \author O. Burghardt - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" */ -class CHeatVariable final : public CVariable { -protected: - CVectorOfMatrix& Gradient_Reconstruction; /*!< \brief Reference to the gradient of the primitive variables for MUSCL reconstruction for the convective term */ - CVectorOfMatrix Gradient_Aux; /*!< \brief Auxiliary structure to store a second gradient for reconstruction, if required. */ - +class CHeatVariable final : public CScalarVariable { public: + static constexpr size_t MAXNVAR = 1; /*!< \brief Max number of variables, for static arrays. */ + /*! * \brief Constructor of the class. * \param[in] heat - Values of the Heat solution (initialization value). @@ -51,29 +49,10 @@ class CHeatVariable final : public CVariable { */ CHeatVariable(su2double heat, unsigned long npoint, unsigned long ndim, unsigned long nvar, CConfig *config); - /*! - * \brief Destructor of the class. - */ - ~CHeatVariable() override = default; - - /*! - * \brief Get the array of the reconstruction variables gradient at a node. - * \param[in] iPoint - Index of the current node. - * \return Array of the reconstruction variables gradient at a node. - */ - inline CMatrixView GetGradient_Reconstruction(unsigned long iPoint) final { return Gradient_Reconstruction[iPoint]; } - - /*! - * \brief Get the reconstruction gradient for primitive variable at all points. - * \return Reference to variable reconstruction gradient. - */ - inline CVectorOfMatrix& GetGradient_Reconstruction() final { return Gradient_Reconstruction; } - inline const CVectorOfMatrix& GetGradient_Reconstruction() const final { return Gradient_Reconstruction; } - /*! * \brief Get the temperature of the point. * \return Value of the temperature of the point. */ - inline su2double GetTemperature(unsigned long iPoint) const final { return Solution(iPoint,0); } + inline su2double GetTemperature(unsigned long iPoint) const final { return Solution(iPoint, 0); } }; diff --git a/SU2_CFD/include/variables/CIncEulerVariable.hpp b/SU2_CFD/include/variables/CIncEulerVariable.hpp index 9670f3db9ef..a5626e5181c 100644 --- a/SU2_CFD/include/variables/CIncEulerVariable.hpp +++ b/SU2_CFD/include/variables/CIncEulerVariable.hpp @@ -2,7 +2,7 @@ * \file CIncEulerVariable.hpp * \brief Class for defining the variables of the incompressible Euler solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CIncNSVariable.hpp b/SU2_CFD/include/variables/CIncNSVariable.hpp index e1b23751f87..2a459dee443 100644 --- a/SU2_CFD/include/variables/CIncNSVariable.hpp +++ b/SU2_CFD/include/variables/CIncNSVariable.hpp @@ -3,7 +3,7 @@ * \brief Class for defining the variables of the incompressible Navier-Stokes solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CMeshBoundVariable.hpp b/SU2_CFD/include/variables/CMeshBoundVariable.hpp index 64d6caf2658..68b6752bcaf 100644 --- a/SU2_CFD/include/variables/CMeshBoundVariable.hpp +++ b/SU2_CFD/include/variables/CMeshBoundVariable.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class * to define the variables of the mesh movement at the moving boundaries. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CMeshElement.hpp b/SU2_CFD/include/variables/CMeshElement.hpp index 8a8936d3632..b910b02694e 100644 --- a/SU2_CFD/include/variables/CMeshElement.hpp +++ b/SU2_CFD/include/variables/CMeshElement.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class * to define the variables of the mesh movement. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CMeshVariable.hpp b/SU2_CFD/include/variables/CMeshVariable.hpp index 3751a37511b..8cf4b7f1b91 100644 --- a/SU2_CFD/include/variables/CMeshVariable.hpp +++ b/SU2_CFD/include/variables/CMeshVariable.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class * to define the variables of the mesh movement. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CNEMOEulerVariable.hpp b/SU2_CFD/include/variables/CNEMOEulerVariable.hpp index b135bddd4b7..74def5d40ef 100644 --- a/SU2_CFD/include/variables/CNEMOEulerVariable.hpp +++ b/SU2_CFD/include/variables/CNEMOEulerVariable.hpp @@ -2,7 +2,7 @@ * \file CNEMOEulerVariable.hpp * \brief Class for defining the variables of the compressible NEMO Euler solver. * \author C. Garbacz, W. Maier, S.R. Copeland - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CNEMONSVariable.hpp b/SU2_CFD/include/variables/CNEMONSVariable.hpp index c57be1def02..926a9a80458 100644 --- a/SU2_CFD/include/variables/CNEMONSVariable.hpp +++ b/SU2_CFD/include/variables/CNEMONSVariable.hpp @@ -2,7 +2,7 @@ * \file CNEMONSVariable.hpp * \brief Class for defining the variables of the compressible NEMO Navier-Stokes solver. * \author C. Garbacz, W. Maier, S.R. Copeland. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CNSVariable.hpp b/SU2_CFD/include/variables/CNSVariable.hpp index caa98149eda..12ea5d3e730 100644 --- a/SU2_CFD/include/variables/CNSVariable.hpp +++ b/SU2_CFD/include/variables/CNSVariable.hpp @@ -2,7 +2,7 @@ * \file CNSVariable.hpp * \brief Class for defining the variables of the compressible Navier-Stokes solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CPrimitiveIndices.hpp b/SU2_CFD/include/variables/CPrimitiveIndices.hpp index 1e53d63b87c..64296db44b8 100644 --- a/SU2_CFD/include/variables/CPrimitiveIndices.hpp +++ b/SU2_CFD/include/variables/CPrimitiveIndices.hpp @@ -1,7 +1,7 @@ /*! * \file CPrimitiveIndices.hpp * \brief Abstract representation of flow primitive variable indices that tries to be efficient. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CRadP1Variable.hpp b/SU2_CFD/include/variables/CRadP1Variable.hpp index 493d3448624..ed808ae78f8 100644 --- a/SU2_CFD/include/variables/CRadP1Variable.hpp +++ b/SU2_CFD/include/variables/CRadP1Variable.hpp @@ -2,7 +2,7 @@ * \file CRadP1Variable.hpp * \brief Class for defining the variables of the P1 radiation model. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CRadVariable.hpp b/SU2_CFD/include/variables/CRadVariable.hpp index 30806f9cf2f..a4bb9979255 100644 --- a/SU2_CFD/include/variables/CRadVariable.hpp +++ b/SU2_CFD/include/variables/CRadVariable.hpp @@ -2,7 +2,7 @@ * \file CRadVariable.hpp * \brief Class for defining the variables of the radiation solver. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CScalarVariable.hpp b/SU2_CFD/include/variables/CScalarVariable.hpp index 8b80a35bca5..1f63168419b 100644 --- a/SU2_CFD/include/variables/CScalarVariable.hpp +++ b/SU2_CFD/include/variables/CScalarVariable.hpp @@ -2,7 +2,7 @@ * \file CScalarVariable.hpp * \brief Base class for defining the shared variables of scalar solvers. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp b/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp index b56c66caf01..0ac3c9fa93f 100644 --- a/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp +++ b/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp @@ -2,7 +2,7 @@ * \file CSobolevSmoothingVariable.hpp * \brief Class for defining the variables of the gradient smoothing. * \author T.Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CSpeciesVariable.hpp b/SU2_CFD/include/variables/CSpeciesVariable.hpp index fc5fec7b37f..654b38fd23e 100644 --- a/SU2_CFD/include/variables/CSpeciesVariable.hpp +++ b/SU2_CFD/include/variables/CSpeciesVariable.hpp @@ -2,7 +2,7 @@ * \file CSpeciesVariable.hpp * \brief Base class for defining the variables of the species transport model. * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CTransLMVariable.hpp b/SU2_CFD/include/variables/CTransLMVariable.hpp index 89e68406fc7..c3893023d55 100644 --- a/SU2_CFD/include/variables/CTransLMVariable.hpp +++ b/SU2_CFD/include/variables/CTransLMVariable.hpp @@ -2,7 +2,7 @@ * \file CTransLMVariable.hpp * \brief Declaration of the variables of the transition model. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CTurbSAVariable.hpp b/SU2_CFD/include/variables/CTurbSAVariable.hpp index 9abffc2a68c..4d0429efcb4 100644 --- a/SU2_CFD/include/variables/CTurbSAVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSAVariable.hpp @@ -2,7 +2,7 @@ * \file CTurbSAVariable.hpp * \brief Declaration of the variables of the SA turbulence model. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -39,7 +39,6 @@ class CTurbSAVariable final : public CTurbVariable { private: - VectorType gamma_BC; /*!< \brief Value of the intermittency for the BC trans. model. */ VectorType DES_LengthScale; VectorType Vortex_Tilting; @@ -61,20 +60,6 @@ class CTurbSAVariable final : public CTurbVariable { */ ~CTurbSAVariable() override = default; - /*! - * \brief Get the intermittency of the BC transition model. - * \param[in] iPoint - Point index. - * \return Value of the intermittency of the BC transition model. - */ - inline su2double GetGammaBC(unsigned long iPoint) const override { return gamma_BC(iPoint); } - - /*! - * \brief Set the intermittency of the BC transition model. - * \param[in] iPoint - Point index. - * \param[in] val_gamma - New value of the intermittency. - */ - inline void SetGammaBC(unsigned long iPoint, su2double val_gamma) override { gamma_BC(iPoint) = val_gamma; } - /*! * \brief Get the DES length scale * \param[in] iPoint - Point index. diff --git a/SU2_CFD/include/variables/CTurbSSTVariable.hpp b/SU2_CFD/include/variables/CTurbSSTVariable.hpp index e01809979ec..e8a5d4559aa 100644 --- a/SU2_CFD/include/variables/CTurbSSTVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSSTVariable.hpp @@ -2,7 +2,7 @@ * \file CTurbSSTVariable.hpp * \brief Declaration of the variables of the SST turbulence model. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CTurbVariable.hpp b/SU2_CFD/include/variables/CTurbVariable.hpp index 70615d5138e..62f7e582896 100644 --- a/SU2_CFD/include/variables/CTurbVariable.hpp +++ b/SU2_CFD/include/variables/CTurbVariable.hpp @@ -2,7 +2,7 @@ * \file CTurbVariable.hpp * \brief Base class for defining the variables of the turbulence model. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,6 +41,8 @@ class CTurbVariable : public CScalarVariable { public: static constexpr size_t MAXNVAR = 2; + VectorType turb_index; + VectorType intermittency; /*!< \brief Value of the intermittency for the trans. model. */ /*! * \brief Constructor of the class. @@ -70,5 +72,33 @@ class CTurbVariable : public CScalarVariable { */ inline void SetmuT(unsigned long iPoint, su2double val_muT) final { muT(iPoint) = val_muT; } + /*! + * \brief Set the value of the turbulence index. + * \param[in] iPoint - Point index. + * \param[in] val_turb_index - Value of the turbulence index. + */ + inline void SetTurbIndex(unsigned long iPoint, su2double val_turb_index) final { turb_index(iPoint) = val_turb_index; } + + /*! + * \brief Get the value of the turbulence index. + * \param[in] iPoint - Point index. + * \return Value of the intermittency of the turbulence index. + */ + inline su2double GetTurbIndex(unsigned long iPoint) const final { return turb_index(iPoint); } + + /*! + * \brief Get the intermittency of the transition model. + * \param[in] iPoint - Point index. + * \return Value of the intermittency of the transition model. + */ + inline su2double GetIntermittency(unsigned long iPoint) const final { return intermittency(iPoint); } + + /*! + * \brief Set the intermittency of the transition model. + * \param[in] iPoint - Point index. + * \param[in] val_intermittency - New value of the intermittency. + */ + inline void SetIntermittency(unsigned long iPoint, su2double val_intermittency) final { intermittency(iPoint) = val_intermittency; } + }; diff --git a/SU2_CFD/include/variables/CVariable.hpp b/SU2_CFD/include/variables/CVariable.hpp index 2081e3d79fd..73ac61075d6 100644 --- a/SU2_CFD/include/variables/CVariable.hpp +++ b/SU2_CFD/include/variables/CVariable.hpp @@ -4,7 +4,7 @@ variables, function definitions in file CVariable.cpp. All variables are children of at least this class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -461,7 +461,8 @@ class CVariable { * \brief Get the entire solution of the problem. * \return Reference to the solution matrix. */ - inline const MatrixType& GetSolution(void) const { return Solution; } + inline const MatrixType& GetSolution() const { return Solution; } + inline MatrixType& GetSolution() { return Solution; } /*! * \brief Get the solution of the problem. @@ -1136,9 +1137,16 @@ class CVariable { /*! * \brief A virtual member. * \param[in] iPoint - Point index. - * \return Returns intermittency + * \return Sets separation intermittency */ - inline virtual su2double GetIntermittency(unsigned long iPoint) const { return 0.0; } + inline virtual void SetGammaSep(unsigned long iPoint, su2double gamma_sep) {} + + /*! + * \brief A virtual member. + * \param[in] iPoint - Point index. + * \return Sets Effective intermittency + */ + inline virtual void SetGammaEff(unsigned long iPoint) {} /*! * \brief A virtual member. @@ -1669,15 +1677,27 @@ class CVariable { */ inline virtual su2double GetmuT(unsigned long iPoint) const { return 0.0; } + /*! + * \brief Get the value of the intermittency. + * \return the value of the intermittency. + */ + inline virtual su2double GetIntermittency(unsigned long iPoint) const { return 0.0; } + + /*! + * \brief Set the intermittency. + * \param[in] val_dist - Value of the intermittency. + */ + inline virtual void SetIntermittency(unsigned long iPoint, su2double val_Intermittency) {} + /*! * \brief Get the value of the separation intermittency. * \return the value of the separation intermittency. */ inline virtual su2double GetIntermittencySep(unsigned long iPoint) const { return 0.0; } - + /*! - * \brief Set the separation intermittency(gamma). - * \param[in] val_dist - Value of the separation intermittency(gamma). + * \brief Set the separation intermittency (gamma_sep). + * \param[in] val_dist - Value of the separation intermittency (gamma_sep). */ inline virtual void SetIntermittencySep(unsigned long iPoint, su2double val_Intermittency_sep) {} @@ -1688,8 +1708,8 @@ class CVariable { inline virtual su2double GetIntermittencyEff(unsigned long iPoint) const { return 0.0; } /*! - * \brief Set the effective intermittency(gamma). - * \param[in] Value of the effective intermittency(gamma). + * \brief Set the effective intermittency (gamma_eff). + * \param[in] Value of the effective intermittency (gamma_eff). */ inline virtual void SetIntermittencyEff(unsigned long iPoint, su2double val_Intermittency_eff) {} @@ -1699,6 +1719,18 @@ class CVariable { */ inline virtual void SetmuT(unsigned long iPoint, su2double val_muT) {} + /*! + * \brief Set the value of the turbulence index. + * \param[in] val_turb_index - turbulence index + */ + inline virtual void SetTurbIndex(unsigned long iPoint, su2double val_turb_index) {} + + /*! + * \brief Get the value of the turbulence index. + * \return val_turb_index - turbulence index + */ + inline virtual su2double GetTurbIndex(unsigned long iPoint) const {return 0.0;} + /*! * \brief A virtual member. * \param[in] iVar - Index of the variable. diff --git a/SU2_CFD/obj/Makefile.am b/SU2_CFD/obj/Makefile.am index ac68053fce6..632dfceae27 100644 --- a/SU2_CFD/obj/Makefile.am +++ b/SU2_CFD/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_CFD # \author M. Colonno, T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_CFD/src/CMarkerProfileReaderFVM.cpp b/SU2_CFD/src/CMarkerProfileReaderFVM.cpp index 7b91cacb925..96a3d7a8e5b 100644 --- a/SU2_CFD/src/CMarkerProfileReaderFVM.cpp +++ b/SU2_CFD/src/CMarkerProfileReaderFVM.cpp @@ -2,7 +2,7 @@ * \file CMarkerProfileReaderFVM.cpp * \brief Class that handles the reading of marker profile files. * \author T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/SU2_CFD.cpp b/SU2_CFD/src/SU2_CFD.cpp index d5197f8c4dc..a6a6a92f69c 100644 --- a/SU2_CFD/src/SU2_CFD.cpp +++ b/SU2_CFD/src/SU2_CFD.cpp @@ -2,7 +2,7 @@ * \file SU2_CFD.cpp * \brief Main file of the SU2 Computational Fluid Dynamics code * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -47,7 +47,7 @@ int main(int argc, char *argv[]) { /*--- Command line parsing ---*/ - CLI::App app{"SU2 v7.4.0 \"Blackbird\", The Open-Source CFD Code"}; + CLI::App app{"SU2 v7.5.0 \"Blackbird\", The Open-Source CFD Code"}; app.add_flag("-d,--dryrun", dry_run, "Enable dry run mode.\n" "Only execute preprocessing steps using a dummy geometry."); app.add_option("-t,--threads", num_threads, "Number of OpenMP threads per MPI rank."); diff --git a/SU2_CFD/src/definition_structure.cpp b/SU2_CFD/src/definition_structure.cpp index 1e60e6338ee..fd12fcc9a1d 100644 --- a/SU2_CFD/src/definition_structure.cpp +++ b/SU2_CFD/src/definition_structure.cpp @@ -2,7 +2,7 @@ * \file definition_structure.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp b/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp index 960a2a8ef4a..c30d44b9fdc 100644 --- a/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjMultizoneDriver.cpp * \brief The main subroutines for driving adjoint multi-zone problems * \author O. Burghardt, P. Gomes, T. Albring, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp b/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp index 2d943c5351e..7d346ef74c6 100644 --- a/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp +++ b/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp @@ -2,7 +2,7 @@ * \file driver_adjoint_singlezone.cpp * \brief The main subroutines for driving adjoint single-zone problems. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index dcbf7dbf6f0..c293994b8a0 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -2,7 +2,7 @@ * \file CDriver.cpp * \brief The main subroutines for driving single or multi-zone problems. * \author T. Economon, H. Kline, R. Sanchez, F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -1260,7 +1260,7 @@ void CDriver::InstantiateTurbulentNumerics(unsigned short nVar_Turb, int offset, /*--- Definition of the convective scheme for each equation and mesh level ---*/ switch (config->GetKind_ConvNumScheme_Turb()) { - case NO_UPWIND: + case NO_CONVECTIVE: SU2_MPI::Error("Config file is missing the CONV_NUM_METHOD_TURB option.", CURRENT_FUNCTION); break; case SPACE_UPWIND : @@ -1351,7 +1351,7 @@ void CDriver::InstantiateTransitionNumerics(unsigned short nVar_Trans, int offse /*--- Definition of the convective scheme for each equation and mesh level ---*/ switch (config->GetKind_ConvNumScheme_Turb()) { - case NO_UPWIND: + case NONE: SU2_MPI::Error("Config file is missing the CONV_NUM_METHOD_TURB option.", CURRENT_FUNCTION); break; case SPACE_UPWIND : @@ -1683,8 +1683,8 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol if (incompressible) { /*--- Incompressible flow, use preconditioning method ---*/ switch (config->GetKind_Centered_Flow()) { - case LAX : numerics[MESH_0][FLOW_SOL][conv_term] = new CCentLaxInc_Flow(nDim, nVar_Flow, config); break; - case JST : numerics[MESH_0][FLOW_SOL][conv_term] = new CCentJSTInc_Flow(nDim, nVar_Flow, config); break; + case CENTERED::LAX : numerics[MESH_0][FLOW_SOL][conv_term] = new CCentLaxInc_Flow(nDim, nVar_Flow, config); break; + case CENTERED::JST : numerics[MESH_0][FLOW_SOL][conv_term] = new CCentJSTInc_Flow(nDim, nVar_Flow, config); break; default: SU2_MPI::Error("Invalid centered scheme or not implemented.\n Currently, only JST and LAX-FRIEDRICH are available for incompressible flows.", CURRENT_FUNCTION); break; @@ -1702,7 +1702,7 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol if (compressible) { /*--- Compressible flow ---*/ switch (config->GetKind_Upwind_Flow()) { - case ROE: + case UPWIND::ROE: if (ideal_gas) { for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { @@ -1718,62 +1718,62 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol } break; - case AUSM: + case UPWIND::AUSM: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSM_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSM_Flow(nDim, nVar_Flow, config); } break; - case AUSMPLUSUP: + case UPWIND::AUSMPLUSUP: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSMPLUSUP_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSMPLUSUP_Flow(nDim, nVar_Flow, config); } break; - case AUSMPLUSUP2: + case UPWIND::AUSMPLUSUP2: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSMPLUSUP2_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSMPLUSUP2_Flow(nDim, nVar_Flow, config); } break; - case TURKEL: + case UPWIND::TURKEL: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwTurkel_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwTurkel_Flow(nDim, nVar_Flow, config); } break; - case L2ROE: + case UPWIND::L2ROE: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwL2Roe_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwL2Roe_Flow(nDim, nVar_Flow, config); } break; - case LMROE: + case UPWIND::LMROE: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwLMRoe_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwLMRoe_Flow(nDim, nVar_Flow, config); } break; - case SLAU: + case UPWIND::SLAU: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwSLAU_Flow(nDim, nVar_Flow, config, roe_low_dissipation); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwSLAU_Flow(nDim, nVar_Flow, config, false); } break; - case SLAU2: + case UPWIND::SLAU2: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwSLAU2_Flow(nDim, nVar_Flow, config, roe_low_dissipation); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwSLAU2_Flow(nDim, nVar_Flow, config, false); } break; - case HLLC: + case UPWIND::HLLC: if (ideal_gas) { for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwHLLC_Flow(nDim, nVar_Flow, config); @@ -1788,14 +1788,14 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol } break; - case MSW: + case UPWIND::MSW: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwMSW_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwMSW_Flow(nDim, nVar_Flow, config); } break; - case CUSP: + case UPWIND::CUSP: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwCUSP_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwCUSP_Flow(nDim, nVar_Flow, config); @@ -1811,7 +1811,7 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol if (incompressible) { /*--- Incompressible flow, use artificial compressibility method ---*/ switch (config->GetKind_Upwind_Flow()) { - case FDS: + case UPWIND::FDS: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwFDSInc_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwFDSInc_Flow(nDim, nVar_Flow, config); @@ -1911,8 +1911,13 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol else if ((incompressible && (config->GetKind_Streamwise_Periodic() != ENUM_STREAMWISE_PERIODIC::NONE)) && (config->GetEnergy_Equation() && !config->GetStreamwise_Periodic_Temperature())) numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceIncStreamwisePeriodic_Outlet(nDim, nVar_Flow, config); + else if (config->GetVorticityConfinement() == YES) { + /*--- Vorticity Confinement term as a second source term to allow the use of VC along with other source terms ---*/ + numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceVorticityConfinement(nDim, nVar_Flow, config); + } else numerics[iMGlevel][FLOW_SOL][source_second_term] = new CSourceNothing(nDim, nVar_Flow, config); + } } @@ -1931,7 +1936,7 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol if (compressible) { /*--- Compressible flow ---*/ switch (config->GetKind_Centered_Flow()) { - case LAX : numerics[MESH_0][FLOW_SOL][conv_term] = new CCentLax_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); break; + case CENTERED::LAX : numerics[MESH_0][FLOW_SOL][conv_term] = new CCentLax_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); break; default: SU2_MPI::Error("Invalid centered scheme or not implemented.", CURRENT_FUNCTION); break; @@ -1949,42 +1954,42 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol if (compressible) { /*--- Compressible flow ---*/ switch (config->GetKind_Upwind_Flow()) { - case ROE: + case UPWIND::ROE: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwRoe_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwRoe_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); } break; - case AUSM: + case UPWIND::AUSM: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSM_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSM_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); } break; - case AUSMPLUSUP2: + case UPWIND::AUSMPLUSUP2: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSMPLUSUP2_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSMPLUSUP2_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); } break; - case AUSMPLUSM: + case UPWIND::AUSMPLUSM: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSMPLUSM_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSMPLUSM_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); } break; - case MSW: + case UPWIND::MSW: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwMSW_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwMSW_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); } break; - case AUSMPWPLUS: + case UPWIND::AUSMPWPLUS: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSMPWplus_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSMPWplus_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); @@ -2028,41 +2033,41 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol if ((fem_euler) || (fem_ns)) { switch (config->GetRiemann_Solver_FEM()) { - case ROE: - case LAX_FRIEDRICH: + case UPWIND::ROE: + case UPWIND::LAX_FRIEDRICH: /* Hard coded optimized implementation is used in the DG solver. No need to allocate the corresponding entry in numerics. */ break; - case AUSM: + case UPWIND::AUSM: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSM_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSM_Flow(nDim, nVar_Flow, config); } break; - case TURKEL: + case UPWIND::TURKEL: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwTurkel_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwTurkel_Flow(nDim, nVar_Flow, config); } break; - case HLLC: + case UPWIND::HLLC: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwHLLC_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwHLLC_Flow(nDim, nVar_Flow, config); } break; - case MSW: + case UPWIND::MSW: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwMSW_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwMSW_Flow(nDim, nVar_Flow, config); } break; - case CUSP: + case UPWIND::CUSP: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwCUSP_Flow(nDim, nVar_Flow, config); numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwCUSP_Flow(nDim, nVar_Flow, config); @@ -2101,7 +2106,7 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol else InstantiateTransitionNumerics >(nVar_Trans, offset, config, solver[MESH_0][TRANS_SOL], numerics); - } + } /*--- Solver definition for the species transport problem ---*/ @@ -2122,8 +2127,8 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol /*--- Definition of the viscous scheme for each equation and mesh level ---*/ for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { - numerics[iMGlevel][HEAT_SOL][visc_term] = new CAvgGrad_Heat(nDim, nVar_Heat, config, true); - numerics[iMGlevel][HEAT_SOL][visc_bound_term] = new CAvgGrad_Heat(nDim, nVar_Heat, config, false); + numerics[iMGlevel][HEAT_SOL][visc_term] = new CAvgGrad_Heat(nDim, config, true); + numerics[iMGlevel][HEAT_SOL][visc_bound_term] = new CAvgGrad_Heat(nDim, config, false); switch (config->GetKind_ConvNumScheme_Heat()) { @@ -2178,8 +2183,8 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol /*--- Compressible flow ---*/ switch (config->GetKind_Centered_AdjFlow()) { - case LAX : numerics[MESH_0][ADJFLOW_SOL][conv_term] = new CCentLax_AdjFlow(nDim, nVar_Adj_Flow, config); break; - case JST : numerics[MESH_0][ADJFLOW_SOL][conv_term] = new CCentJST_AdjFlow(nDim, nVar_Adj_Flow, config); break; + case CENTERED::LAX : numerics[MESH_0][ADJFLOW_SOL][conv_term] = new CCentLax_AdjFlow(nDim, nVar_Adj_Flow, config); break; + case CENTERED::JST : numerics[MESH_0][ADJFLOW_SOL][conv_term] = new CCentJST_AdjFlow(nDim, nVar_Adj_Flow, config); break; default: SU2_MPI::Error("Centered scheme not implemented.", CURRENT_FUNCTION); break; @@ -2201,7 +2206,7 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol /*--- Compressible flow ---*/ switch (config->GetKind_Upwind_AdjFlow()) { - case ROE: + case UPWIND::ROE: for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { numerics[iMGlevel][ADJFLOW_SOL][conv_term] = new CUpwRoe_AdjFlow(nDim, nVar_Adj_Flow, config); numerics[iMGlevel][ADJFLOW_SOL][conv_bound_term] = new CUpwRoe_AdjFlow(nDim, nVar_Adj_Flow, config); @@ -3119,16 +3124,19 @@ void CFluidDriver::Run() { void CFluidDriver::Transfer_Data(unsigned short donorZone, unsigned short targetZone) { - interface_container[donorZone][targetZone]->BroadcastData(*interpolator_container[donorZone][targetZone].get(), - solver_container[donorZone][INST_0][MESH_0][FLOW_SOL], solver_container[targetZone][INST_0][MESH_0][FLOW_SOL], - geometry_container[donorZone][INST_0][MESH_0], geometry_container[targetZone][INST_0][MESH_0], - config_container[donorZone], config_container[targetZone]); - - if (config_container[targetZone]->GetKind_Solver() == MAIN_SOLVER::RANS) { + auto BroadcastData = [&](unsigned int solIdx) { interface_container[donorZone][targetZone]->BroadcastData(*interpolator_container[donorZone][targetZone].get(), - solver_container[donorZone][INST_0][MESH_0][TURB_SOL], solver_container[targetZone][INST_0][MESH_0][TURB_SOL], + solver_container[donorZone][INST_0][MESH_0][solIdx], solver_container[targetZone][INST_0][MESH_0][solIdx], geometry_container[donorZone][INST_0][MESH_0], geometry_container[targetZone][INST_0][MESH_0], config_container[donorZone], config_container[targetZone]); + }; + BroadcastData(FLOW_SOL); + + if (config_container[targetZone]->GetKind_Solver() == MAIN_SOLVER::RANS) { + BroadcastData(TURB_SOL); + } + if (config_container[targetZone]->GetKind_Species_Model() != SPECIES_MODEL::NONE) { + BroadcastData(SPECIES_SOL); } } diff --git a/SU2_CFD/src/drivers/CDummyDriver.cpp b/SU2_CFD/src/drivers/CDummyDriver.cpp index e2094d14eb6..22815f7ab4e 100644 --- a/SU2_CFD/src/drivers/CDummyDriver.cpp +++ b/SU2_CFD/src/drivers/CDummyDriver.cpp @@ -2,7 +2,7 @@ * \file CDummyDriver.cpp * \brief Dummy driver class for running the preprocessing without geometry preprocessing. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CMultizoneDriver.cpp b/SU2_CFD/src/drivers/CMultizoneDriver.cpp index 225bfb1217f..7f982ac7fc8 100644 --- a/SU2_CFD/src/drivers/CMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CMultizoneDriver.cpp @@ -2,7 +2,7 @@ * \file driver_structure.cpp * \brief The main subroutines for driving multi-zone problems. * \author R. Sanchez, O. Burghardt - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -536,69 +536,54 @@ bool CMultizoneDriver::Transfer_Data(unsigned short donorZone, unsigned short ta bool UpdateMesh = false; - int donorSolver = -1, targetSolver = -1; - /*--- Select the transfer method according to the magnitudes being transferred ---*/ - switch(interface_types[donorZone][targetZone]) { + auto BroadcastData = [&](int donorSol, int targetSol) { + interface_container[donorZone][targetZone]->BroadcastData( + *interpolator_container[donorZone][targetZone].get(), + solver_container[donorZone][INST_0][MESH_0][donorSol], + solver_container[targetZone][INST_0][MESH_0][targetSol], + geometry_container[donorZone][INST_0][MESH_0], + geometry_container[targetZone][INST_0][MESH_0], + config_container[donorZone], + config_container[targetZone]); + }; + + switch (interface_types[donorZone][targetZone]) { case SLIDING_INTERFACE: - { - donorSolver = FLOW_SOL; - targetSolver = FLOW_SOL; + BroadcastData(FLOW_SOL, FLOW_SOL); /*--- Additional transfer for turbulence variables. ---*/ if (config_container[targetZone]->GetKind_Solver() == MAIN_SOLVER::RANS || - config_container[targetZone]->GetKind_Solver() == MAIN_SOLVER::INC_RANS) - { - interface_container[donorZone][targetZone]->BroadcastData( - *interpolator_container[donorZone][targetZone].get(), - solver_container[donorZone][INST_0][MESH_0][TURB_SOL], - solver_container[targetZone][INST_0][MESH_0][TURB_SOL], - geometry_container[donorZone][INST_0][MESH_0], - geometry_container[targetZone][INST_0][MESH_0], - config_container[donorZone], - config_container[targetZone]); + config_container[targetZone]->GetKind_Solver() == MAIN_SOLVER::INC_RANS) { + BroadcastData(TURB_SOL, TURB_SOL); + } + + /*--- Additional transfer for species variables. ---*/ + if (config_container[targetZone]->GetKind_Species_Model() != SPECIES_MODEL::NONE) { + BroadcastData(SPECIES_SOL, SPECIES_SOL); } break; - } case CONJUGATE_HEAT_FS: - { - donorSolver = FLOW_SOL; - targetSolver = HEAT_SOL; + BroadcastData(FLOW_SOL, HEAT_SOL); break; - } case CONJUGATE_HEAT_WEAKLY_FS: - { - donorSolver = HEAT_SOL; - targetSolver = HEAT_SOL; + BroadcastData(HEAT_SOL, HEAT_SOL); break; - } case CONJUGATE_HEAT_SF: - { - donorSolver = HEAT_SOL; - targetSolver = FLOW_SOL; + BroadcastData(HEAT_SOL, FLOW_SOL); break; - } case CONJUGATE_HEAT_WEAKLY_SF: - { - donorSolver = HEAT_SOL; - targetSolver = HEAT_SOL; + BroadcastData(HEAT_SOL, HEAT_SOL); break; - } case BOUNDARY_DISPLACEMENTS: - { - donorSolver = FEA_SOL; - targetSolver = MESH_SOL; + BroadcastData(FEA_SOL, MESH_SOL); UpdateMesh = true; break; - } case FLOW_TRACTION: - { - donorSolver = FLOW_SOL; - targetSolver = FEA_SOL; + BroadcastData(FLOW_SOL, FEA_SOL); break; - } case NO_TRANSFER: case ZONES_ARE_EQUAL: case NO_COMMON_INTERFACE: @@ -610,17 +595,6 @@ bool CMultizoneDriver::Transfer_Data(unsigned short donorZone, unsigned short ta break; } - if(donorSolver >= 0 && targetSolver >= 0) { - interface_container[donorZone][targetZone]->BroadcastData( - *interpolator_container[donorZone][targetZone].get(), - solver_container[donorZone][INST_0][MESH_0][donorSolver], - solver_container[targetZone][INST_0][MESH_0][targetSolver], - geometry_container[donorZone][INST_0][MESH_0], - geometry_container[targetZone][INST_0][MESH_0], - config_container[donorZone], - config_container[targetZone]); - } - return UpdateMesh; } diff --git a/SU2_CFD/src/drivers/CSinglezoneDriver.cpp b/SU2_CFD/src/drivers/CSinglezoneDriver.cpp index 07d96744946..dc196dca0c6 100644 --- a/SU2_CFD/src/drivers/CSinglezoneDriver.cpp +++ b/SU2_CFD/src/drivers/CSinglezoneDriver.cpp @@ -2,7 +2,7 @@ * \file driver_direct_singlezone.cpp * \brief The main subroutines for driving single-zone problems. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CCoolProp.cpp b/SU2_CFD/src/fluid/CCoolProp.cpp index 61dfb5840cb..e632580edf4 100644 --- a/SU2_CFD/src/fluid/CCoolProp.cpp +++ b/SU2_CFD/src/fluid/CCoolProp.cpp @@ -2,7 +2,7 @@ * \file CCoolProp.cpp * \brief Source of the fluid model from CoolProp. * \author P. Yan, G. Gori, A. Guardone - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -42,7 +42,6 @@ CCoolProp::CCoolProp(string fluidname) : CFluidModel() { CCoolProp::~CCoolProp() {} void CCoolProp::SetTDState_rhoe(su2double rho, su2double e) { - //cout<<"p "<update(CoolProp::DmassUmass_INPUTS, Density, StaticEnergy); diff --git a/SU2_CFD/src/fluid/CFluidModel.cpp b/SU2_CFD/src/fluid/CFluidModel.cpp index 609468be921..03cead75136 100644 --- a/SU2_CFD/src/fluid/CFluidModel.cpp +++ b/SU2_CFD/src/fluid/CFluidModel.cpp @@ -2,7 +2,7 @@ * \file CFluidModel.cpp * \brief Source of the fluid model base class containing thermo-physical subroutines. * \author S.Vitale, M.Pini, G.Gori, A.Guardone, P.Colonna, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,12 +41,16 @@ #include "../../include/fluid/CPolynomialConductivityRANS.hpp" #include "../../include/fluid/CPolynomialViscosity.hpp" #include "../../include/fluid/CSutherland.hpp" +#include "../../include/fluid/CCoolPropViscosity.hpp" #include "../../include/fluid/CConstantLewisDiffusivity.hpp" +#include "../../include/fluid/CCoolPropConductivity.hpp" unique_ptr CFluidModel::MakeLaminarViscosityModel(const CConfig* config, unsigned short iSpecies) { switch (config->GetKind_ViscosityModel()) { case VISCOSITYMODEL::CONSTANT: return unique_ptr(new CConstantViscosity(config->GetMu_ConstantND(iSpecies))); + case VISCOSITYMODEL::COOLPROP: + return unique_ptr(new CCoolPropViscosity(config->GetFluid_Name())); case VISCOSITYMODEL::SUTHERLAND: return unique_ptr(new CSutherland(config->GetMu_RefND(iSpecies), config->GetMu_Temperature_RefND(iSpecies), @@ -77,6 +81,16 @@ unique_ptr CFluidModel::MakeThermalConductivityModel(const C new CConstantConductivity(config->GetThermal_Conductivity_ConstantND(iSpecies))); } break; + case CONDUCTIVITYMODEL::COOLPROP: + if (config->GetKind_ConductivityModel_Turb() == CONDUCTIVITYMODEL_TURB::CONSTANT_PRANDTL) { + return unique_ptr( + new CConstantConductivityRANS(config->GetThermal_Conductivity_ConstantND(iSpecies), + config->GetPrandtl_Turb(iSpecies))); + } else { + return unique_ptr( + new CCoolPropConductivity(config->GetFluid_Name())); + } + break; case CONDUCTIVITYMODEL::CONSTANT_PRANDTL: if (config->GetKind_ConductivityModel_Turb() == CONDUCTIVITYMODEL_TURB::CONSTANT_PRANDTL) { return unique_ptr( diff --git a/SU2_CFD/src/fluid/CFluidScalar.cpp b/SU2_CFD/src/fluid/CFluidScalar.cpp index eb8f4624aec..5415c6adad0 100644 --- a/SU2_CFD/src/fluid/CFluidScalar.cpp +++ b/SU2_CFD/src/fluid/CFluidScalar.cpp @@ -2,7 +2,7 @@ * \file CFluidScalar.cpp * \brief Defines the multicomponent incompressible Ideal Gas model for mixtures. * \author T. Economon, Mark Heimgartner, Cristopher Morales Ubal - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CIdealGas.cpp b/SU2_CFD/src/fluid/CIdealGas.cpp index 993d5b36648..fd17c96e053 100644 --- a/SU2_CFD/src/fluid/CIdealGas.cpp +++ b/SU2_CFD/src/fluid/CIdealGas.cpp @@ -2,7 +2,7 @@ * \file CIdealGas.cpp * \brief Source of the ideal gas model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CMutationTCLib.cpp b/SU2_CFD/src/fluid/CMutationTCLib.cpp index 32d252a55ef..1621ff0583d 100644 --- a/SU2_CFD/src/fluid/CMutationTCLib.cpp +++ b/SU2_CFD/src/fluid/CMutationTCLib.cpp @@ -2,7 +2,7 @@ * \file CMutationTCLib.cpp * \brief Source of the Mutation++ 2T nonequilibrium gas model. * \author C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CNEMOGas.cpp b/SU2_CFD/src/fluid/CNEMOGas.cpp index bf6db15c61c..348d9b162ca 100644 --- a/SU2_CFD/src/fluid/CNEMOGas.cpp +++ b/SU2_CFD/src/fluid/CNEMOGas.cpp @@ -2,7 +2,7 @@ * \file CNEMOGas.cpp * \brief Source of the nonequilibrium gas model. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CPengRobinson.cpp b/SU2_CFD/src/fluid/CPengRobinson.cpp index 66abe62f4f4..ddfe4f99e1c 100644 --- a/SU2_CFD/src/fluid/CPengRobinson.cpp +++ b/SU2_CFD/src/fluid/CPengRobinson.cpp @@ -2,7 +2,7 @@ * \file CPengRobinson.cpp * \brief Source of the Peng-Robinson model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CSU2TCLib.cpp b/SU2_CFD/src/fluid/CSU2TCLib.cpp index e6513195860..9ce3699302c 100644 --- a/SU2_CFD/src/fluid/CSU2TCLib.cpp +++ b/SU2_CFD/src/fluid/CSU2TCLib.cpp @@ -2,7 +2,7 @@ * \file CSU2TCLib.cpp * \brief Source of user defined 2T nonequilibrium gas model. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp b/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp index afbabc85444..92a400209f0 100644 --- a/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp +++ b/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp @@ -2,7 +2,7 @@ * \file CVanDerWaalsGas.cpp * \brief Source of the Polytropic Van der Waals model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CFEM_DG_Integration.cpp b/SU2_CFD/src/integration/CFEM_DG_Integration.cpp index 366a1e55ee2..3deb590a7bf 100644 --- a/SU2_CFD/src/integration/CFEM_DG_Integration.cpp +++ b/SU2_CFD/src/integration/CFEM_DG_Integration.cpp @@ -2,7 +2,7 @@ * \file CFEM_DG_Integration.cpp * \brief Definition of time and space integration for the DG solver. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CIntegration.cpp b/SU2_CFD/src/integration/CIntegration.cpp index 3287dfb9aab..5e23dcc64bb 100644 --- a/SU2_CFD/src/integration/CIntegration.cpp +++ b/SU2_CFD/src/integration/CIntegration.cpp @@ -2,7 +2,7 @@ * \file CIntegration.cpp * \brief Implementation of the base class for space and time integration. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CIntegrationFactory.cpp b/SU2_CFD/src/integration/CIntegrationFactory.cpp index 9406394f02c..4a130fdba4a 100644 --- a/SU2_CFD/src/integration/CIntegrationFactory.cpp +++ b/SU2_CFD/src/integration/CIntegrationFactory.cpp @@ -2,7 +2,7 @@ * \file CIntegrationFactory.cpp * \brief Main subroutines for CIntegrationFactory . * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CMultiGridIntegration.cpp b/SU2_CFD/src/integration/CMultiGridIntegration.cpp index ef1c321237c..24b2a22058e 100644 --- a/SU2_CFD/src/integration/CMultiGridIntegration.cpp +++ b/SU2_CFD/src/integration/CMultiGridIntegration.cpp @@ -2,7 +2,7 @@ * \file CMultiGridIntegration.cpp * \brief Implementation of the multigrid integration class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -560,59 +560,30 @@ void CMultiGridIntegration::SetResidual_Term(CGeometry *geometry, CSolver *solve void CMultiGridIntegration::SetRestricted_Solution(unsigned short RunTime_EqSystem, CSolver *sol_fine, CSolver *sol_coarse, CGeometry *geo_fine, CGeometry *geo_coarse, CConfig *config) { - unsigned long iVertex, Point_Fine, Point_Coarse; - unsigned short iMarker, iVar, iChildren; - su2double Area_Parent, Area_Children; - const su2double *Solution_Fine = nullptr, *Grid_Vel = nullptr; - const unsigned short Solver_Position = config->GetContainerPosition(RunTime_EqSystem); - const unsigned short nVar = sol_coarse->GetnVar(); const bool grid_movement = config->GetGrid_Movement(); - su2double *Solution = new su2double[nVar]; - /*--- Compute coarse solution from fine solution ---*/ - SU2_OMP_FOR_STAT(roundUpDiv(geo_coarse->GetnPointDomain(), omp_get_num_threads())) - for (Point_Coarse = 0; Point_Coarse < geo_coarse->GetnPointDomain(); Point_Coarse++) { - - Area_Parent = geo_coarse->nodes->GetVolume(Point_Coarse); - - for (iVar = 0; iVar < nVar; iVar++) Solution[iVar] = 0.0; - - for (iChildren = 0; iChildren < geo_coarse->nodes->GetnChildren_CV(Point_Coarse); iChildren++) { - - Point_Fine = geo_coarse->nodes->GetChildren_CV(Point_Coarse, iChildren); - Area_Children = geo_fine->nodes->GetVolume(Point_Fine); - Solution_Fine = sol_fine->GetNodes()->GetSolution(Point_Fine); - for (iVar = 0; iVar < nVar; iVar++) { - Solution[iVar] += Solution_Fine[iVar]*Area_Children/Area_Parent; - } - } - - sol_coarse->GetNodes()->SetSolution(Point_Coarse, Solution); - - } - END_SU2_OMP_FOR - - delete [] Solution; + CSolver::MultigridRestriction(*geo_fine, sol_fine->GetNodes()->GetSolution(), + *geo_coarse, sol_coarse->GetNodes()->GetSolution()); /*--- Update the solution at the no-slip walls ---*/ - for (iMarker = 0; iMarker < config->GetnMarker_All(); iMarker++) { + for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { if (config->GetViscous_Wall(iMarker)) { SU2_OMP_FOR_STAT(32) - for (iVertex = 0; iVertex < geo_coarse->nVertex[iMarker]; iVertex++) { + for (auto iVertex = 0ul; iVertex < geo_coarse->nVertex[iMarker]; iVertex++) { - Point_Coarse = geo_coarse->vertex[iMarker][iVertex]->GetNode(); + const auto Point_Coarse = geo_coarse->vertex[iMarker][iVertex]->GetNode(); if (Solver_Position == FLOW_SOL) { /*--- At moving walls, set the solution based on the new density and wall velocity ---*/ if (grid_movement) { - Grid_Vel = geo_coarse->nodes->GetGridVel(Point_Coarse); + const auto* Grid_Vel = geo_coarse->nodes->GetGridVel(Point_Coarse); sol_coarse->GetNodes()->SetVelSolutionVector(Point_Coarse, Grid_Vel); } else { diff --git a/SU2_CFD/src/integration/CNewtonIntegration.cpp b/SU2_CFD/src/integration/CNewtonIntegration.cpp index ea7bc7ea439..6792659b24c 100644 --- a/SU2_CFD/src/integration/CNewtonIntegration.cpp +++ b/SU2_CFD/src/integration/CNewtonIntegration.cpp @@ -2,7 +2,7 @@ * \file CNewtonIntegration.cpp * \brief Newton-Krylov integration. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CSingleGridIntegration.cpp b/SU2_CFD/src/integration/CSingleGridIntegration.cpp index 927f6d5829d..7c167b74927 100644 --- a/SU2_CFD/src/integration/CSingleGridIntegration.cpp +++ b/SU2_CFD/src/integration/CSingleGridIntegration.cpp @@ -2,7 +2,7 @@ * \file CSingleGridIntegration.cpp * \brief Single (fine) grid integration class implementation. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -109,45 +109,10 @@ void CSingleGridIntegration::SingleGrid_Iteration(CGeometry ****geometry, CSolve void CSingleGridIntegration::SetRestricted_Solution(unsigned short RunTime_EqSystem, CSolver *sol_fine, CSolver *sol_coarse, CGeometry *geo_fine, CGeometry *geo_coarse, CConfig *config) { - unsigned long Point_Fine, Point_Coarse; - unsigned short iVar, iChildren; - su2double Area_Parent, Area_Children; - const su2double *Solution_Fine; - - unsigned short nVar = sol_coarse->GetnVar(); - - su2double *Solution = new su2double[nVar]; - - /*--- Compute coarse solution from fine solution ---*/ - - SU2_OMP_FOR_STAT(roundUpDiv(geo_coarse->GetnPointDomain(), omp_get_num_threads())) - for (Point_Coarse = 0; Point_Coarse < geo_coarse->GetnPointDomain(); Point_Coarse++) { - - Area_Parent = geo_coarse->nodes->GetVolume(Point_Coarse); - - for (iVar = 0; iVar < nVar; iVar++) Solution[iVar] = 0.0; - - for (iChildren = 0; iChildren < geo_coarse->nodes->GetnChildren_CV(Point_Coarse); iChildren++) { - - Point_Fine = geo_coarse->nodes->GetChildren_CV(Point_Coarse, iChildren); - Area_Children = geo_fine->nodes->GetVolume(Point_Fine); - Solution_Fine = sol_fine->GetNodes()->GetSolution(Point_Fine); - for (iVar = 0; iVar < nVar; iVar++) - Solution[iVar] += Solution_Fine[iVar]*Area_Children/Area_Parent; - } - - sol_coarse->GetNodes()->SetSolution(Point_Coarse,Solution); - - } - END_SU2_OMP_FOR - - delete [] Solution; - - /*--- MPI the new interpolated solution ---*/ - + CSolver::MultigridRestriction(*geo_fine, sol_fine->GetNodes()->GetSolution(), + *geo_coarse, sol_coarse->GetNodes()->GetSolution()); sol_coarse->InitiateComms(geo_coarse, config, SOLUTION); sol_coarse->CompleteComms(geo_coarse, config, SOLUTION); - } void CSingleGridIntegration::SetRestricted_EddyVisc(unsigned short RunTime_EqSystem, CSolver *sol_fine, CSolver *sol_coarse, diff --git a/SU2_CFD/src/integration/CStructuralIntegration.cpp b/SU2_CFD/src/integration/CStructuralIntegration.cpp index dfd93d1483f..84125fda415 100644 --- a/SU2_CFD/src/integration/CStructuralIntegration.cpp +++ b/SU2_CFD/src/integration/CStructuralIntegration.cpp @@ -2,7 +2,7 @@ * \file CStructuralIntegration.cpp * \brief Space and time integration for structural problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/CInterface.cpp b/SU2_CFD/src/interfaces/CInterface.cpp index d3a1f813c1d..6695ba3678f 100644 --- a/SU2_CFD/src/interfaces/CInterface.cpp +++ b/SU2_CFD/src/interfaces/CInterface.cpp @@ -2,7 +2,7 @@ * \file CInterface.cpp * \brief Main subroutines for MPI transfer of information between zones * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp b/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp index 196e3c34dbf..8301b631fad 100644 --- a/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp +++ b/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer conservative variables * from a generic zone into another one. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp b/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp index efce7831d37..4e4e9f1d77d 100644 --- a/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp +++ b/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer average variables * needed for MixingPlane computation from a generic zone into another one. * \author S. Vitale - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp b/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp index 3a8fdff399f..0529e7ab682 100644 --- a/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp +++ b/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer conservative variables * from a generic zone into another * \author G. Gori Politecnico di Milano - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp b/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp index 303641eca44..e6606ce33f0 100644 --- a/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp +++ b/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer temperature and heatflux * density for conjugate heat interfaces between structure and fluid zones. * \author O. Burghardt - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -104,14 +104,13 @@ void CConjugateHeatInterface::GetDonor_Variable(CSolver *donor_solution, CGeomet switch (donor_config->GetKind_ConductivityModel()) { case CONDUCTIVITYMODEL::CONSTANT: + case CONDUCTIVITYMODEL::COOLPROP: thermal_conductivity = thermal_conductivityND*donor_config->GetThermal_Conductivity_Ref(); break; - case CONDUCTIVITYMODEL::CONSTANT_PRANDTL: thermal_conductivity = thermal_conductivityND*donor_config->GetGas_Constant_Ref() *donor_config->GetViscosity_Ref(); break; - case CONDUCTIVITYMODEL::POLYNOMIAL: SU2_MPI::Error("Polynomial Conductivity model not implemented for CHT interface.", CURRENT_FUNCTION); break; diff --git a/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp b/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp index b70f8584a56..72a34390171 100644 --- a/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp +++ b/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer flow tractions * from a fluid zone into a structural zone in a discrete adjoint simulation. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp b/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp index 1fff081e6c1..e2ecb2f735f 100644 --- a/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp +++ b/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp @@ -2,7 +2,7 @@ * \file CDisplacementsInterface.cpp * \brief Main subroutines for transferring boundary displacements. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp b/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp index 756010da59d..e0cc061d47a 100644 --- a/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp +++ b/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer flow tractions * from a fluid zone into a structural zone. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CAdjFluidIteration.cpp b/SU2_CFD/src/iteration/CAdjFluidIteration.cpp index 1320de1ff42..022e8fba2a2 100644 --- a/SU2_CFD/src/iteration/CAdjFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CAdjFluidIteration.cpp @@ -2,7 +2,7 @@ * \file CAdjFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -51,11 +51,16 @@ void CAdjFluidIteration::Preprocess(COutput* output, CIntegration**** integratio /*--- Continuous adjoint Euler, Navier-Stokes or Reynolds-averaged Navier-Stokes (RANS) equations ---*/ if ((InnerIter == 0) || (config[val_iZone]->GetTime_Marching() != TIME_MARCHING::STEADY)) { - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::ADJ_EULER) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_EULER, RUNTIME_FLOW_SYS); - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::ADJ_NAVIER_STOKES) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_NAVIER_STOKES, RUNTIME_FLOW_SYS); - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::ADJ_RANS) config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_RANS, RUNTIME_FLOW_SYS); + const auto kind_solver = config[val_iZone]->GetKind_Solver(); + switch (kind_solver) { + case MAIN_SOLVER::ADJ_EULER: + case MAIN_SOLVER::ADJ_NAVIER_STOKES: + case MAIN_SOLVER::ADJ_RANS: + config[val_iZone]->SetGlobalParam(kind_solver, RUNTIME_FLOW_SYS); + break; + default: + break; + } /*--- Solve the Euler, Navier-Stokes or Reynolds-averaged Navier-Stokes (RANS) equations (one iteration) ---*/ @@ -78,7 +83,7 @@ void CAdjFluidIteration::Preprocess(COutput* output, CIntegration**** integratio /*--- Solve transition model ---*/ if (config[val_iZone]->GetKind_Trans_Model() == TURB_TRANS_MODEL::LM) { - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::RANS, RUNTIME_TRANS_SYS); + config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_RANS, RUNTIME_TRANS_SYS); integration[val_iZone][val_iInst][TRANS_SOL]->SingleGrid_Iteration(geometry, solver, numerics, config, RUNTIME_TRANS_SYS, val_iZone, val_iInst); } @@ -127,19 +132,13 @@ void CAdjFluidIteration::Iterate(COutput* output, CIntegration**** integration, CSolver***** solver, CNumerics****** numerics, CConfig** config, CSurfaceMovement** surface_movement, CVolumetricMovement*** grid_movement, CFreeFormDefBox*** FFDBox, unsigned short val_iZone, unsigned short val_iInst) { - switch (config[val_iZone]->GetKind_Solver()) { + const auto kind_solver = config[val_iZone]->GetKind_Solver(); + switch (kind_solver) { case MAIN_SOLVER::ADJ_EULER: - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_EULER, RUNTIME_ADJFLOW_SYS); - break; - case MAIN_SOLVER::ADJ_NAVIER_STOKES: - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_NAVIER_STOKES, RUNTIME_ADJFLOW_SYS); - break; - case MAIN_SOLVER::ADJ_RANS: - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::ADJ_RANS, RUNTIME_ADJFLOW_SYS); + config[val_iZone]->SetGlobalParam(kind_solver, RUNTIME_ADJFLOW_SYS); break; - default: break; } diff --git a/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp index 00e34052500..d7e8e037935 100644 --- a/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp +++ b/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEAIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp index 3e6cbba9266..6d4bc92c3ed 100644 --- a/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp index 7a3698376de..d06dc22c08b 100644 --- a/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp +++ b/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjHeatIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CFEAIteration.cpp b/SU2_CFD/src/iteration/CFEAIteration.cpp index fae9ae4f181..9f1c954cd5f 100644 --- a/SU2_CFD/src/iteration/CFEAIteration.cpp +++ b/SU2_CFD/src/iteration/CFEAIteration.cpp @@ -2,7 +2,7 @@ * \file CFEAIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CFEMFluidIteration.cpp b/SU2_CFD/src/iteration/CFEMFluidIteration.cpp index 57aec2815ff..499f1740bd2 100644 --- a/SU2_CFD/src/iteration/CFEMFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFEMFluidIteration.cpp @@ -2,7 +2,7 @@ * \file CFEMFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -47,17 +47,20 @@ void CFEMFluidIteration::Iterate(COutput* output, CIntegration**** integration, CFreeFormDefBox*** FFDBox, unsigned short val_iZone, unsigned short val_iInst) { /*--- Update global parameters ---*/ - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::FEM_EULER || config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_FEM_EULER) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::FEM_EULER, RUNTIME_FLOW_SYS); - - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::FEM_NAVIER_STOKES || - config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_FEM_NS) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::FEM_NAVIER_STOKES, RUNTIME_FLOW_SYS); - - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::FEM_RANS || config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_FEM_RANS) - config[val_iZone]->SetGlobalParam(MAIN_SOLVER::FEM_RANS, RUNTIME_FLOW_SYS); - - if (config[val_iZone]->GetKind_Solver() == MAIN_SOLVER::FEM_LES) config[val_iZone]->SetGlobalParam(MAIN_SOLVER::FEM_LES, RUNTIME_FLOW_SYS); + const auto kind_solver = config[val_iZone]->GetKind_Solver(); + switch (kind_solver) { + case MAIN_SOLVER::FEM_EULER: + case MAIN_SOLVER::DISC_ADJ_FEM_EULER: + case MAIN_SOLVER::FEM_NAVIER_STOKES: + case MAIN_SOLVER::DISC_ADJ_FEM_NS: + case MAIN_SOLVER::FEM_RANS: + case MAIN_SOLVER::DISC_ADJ_FEM_RANS: + case MAIN_SOLVER::FEM_LES: + config[val_iZone]->SetGlobalParam(kind_solver, RUNTIME_FLOW_SYS); + break; + default: + break; + } /*--- Solve the Euler, Navier-Stokes, RANS or LES equations (one iteration) ---*/ diff --git a/SU2_CFD/src/iteration/CFluidIteration.cpp b/SU2_CFD/src/iteration/CFluidIteration.cpp index 864478cd822..a39031ae6ee 100644 --- a/SU2_CFD/src/iteration/CFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFluidIteration.cpp @@ -2,7 +2,7 @@ * \file CFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -71,35 +71,7 @@ void CFluidIteration::Iterate(COutput* output, CIntegration**** integration, CGe /*--- Update global parameters ---*/ - MAIN_SOLVER main_solver = MAIN_SOLVER::NONE; - - switch (config[val_iZone]->GetKind_Solver()) { - case MAIN_SOLVER::EULER: - case MAIN_SOLVER::DISC_ADJ_EULER: - case MAIN_SOLVER::INC_EULER: - case MAIN_SOLVER::DISC_ADJ_INC_EULER: - case MAIN_SOLVER::NEMO_EULER: - main_solver = MAIN_SOLVER::EULER; - break; - - case MAIN_SOLVER::NAVIER_STOKES: - case MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES: - case MAIN_SOLVER::INC_NAVIER_STOKES: - case MAIN_SOLVER::DISC_ADJ_INC_NAVIER_STOKES: - case MAIN_SOLVER::NEMO_NAVIER_STOKES: - main_solver = MAIN_SOLVER::NAVIER_STOKES; - break; - - case MAIN_SOLVER::RANS: - case MAIN_SOLVER::DISC_ADJ_RANS: - case MAIN_SOLVER::INC_RANS: - case MAIN_SOLVER::DISC_ADJ_INC_RANS: - main_solver = MAIN_SOLVER::RANS; - break; - - default: - break; - } + const auto main_solver = config[val_iZone]->GetKind_Solver(); config[val_iZone]->SetGlobalParam(main_solver, RUNTIME_FLOW_SYS); /*--- Solve the Euler, Navier-Stokes or Reynolds-averaged Navier-Stokes (RANS) equations (one iteration) ---*/ @@ -109,8 +81,8 @@ void CFluidIteration::Iterate(COutput* output, CIntegration**** integration, CGe /*--- If the flow integration is not fully coupled, run the various single grid integrations. ---*/ - if ((main_solver == MAIN_SOLVER::RANS) && !frozen_visc) { - + if (config[val_iZone]->GetKind_Turb_Model() != TURB_MODEL::NONE && !frozen_visc) { + /*--- Solve transition model ---*/ if (config[val_iZone]->GetKind_Trans_Model() == TURB_TRANS_MODEL::LM) { @@ -118,12 +90,12 @@ void CFluidIteration::Iterate(COutput* output, CIntegration**** integration, CGe integration[val_iZone][val_iInst][TRANS_SOL]->SingleGrid_Iteration(geometry, solver, numerics, config, RUNTIME_TRANS_SYS, val_iZone, val_iInst); } - + /*--- Solve the turbulence model ---*/ config[val_iZone]->SetGlobalParam(main_solver, RUNTIME_TURB_SYS); integration[val_iZone][val_iInst][TURB_SOL]->SingleGrid_Iteration(geometry, solver, numerics, config, - RUNTIME_TURB_SYS, val_iZone, val_iInst); + RUNTIME_TURB_SYS, val_iZone, val_iInst); } if (config[val_iZone]->GetKind_Species_Model() != SPECIES_MODEL::NONE){ diff --git a/SU2_CFD/src/iteration/CHeatIteration.cpp b/SU2_CFD/src/iteration/CHeatIteration.cpp index b17cd2bc2c3..8b78885a152 100644 --- a/SU2_CFD/src/iteration/CHeatIteration.cpp +++ b/SU2_CFD/src/iteration/CHeatIteration.cpp @@ -2,7 +2,7 @@ * \file CHeatIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CIteration.cpp b/SU2_CFD/src/iteration/CIteration.cpp index 90750078678..ae3442e95bb 100644 --- a/SU2_CFD/src/iteration/CIteration.cpp +++ b/SU2_CFD/src/iteration/CIteration.cpp @@ -2,7 +2,7 @@ * \file iteration_structure.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CIterationFactory.cpp b/SU2_CFD/src/iteration/CIterationFactory.cpp index 948ea885f40..fac25d838a6 100644 --- a/SU2_CFD/src/iteration/CIterationFactory.cpp +++ b/SU2_CFD/src/iteration/CIterationFactory.cpp @@ -2,7 +2,7 @@ * \file CAdjFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CTurboIteration.cpp b/SU2_CFD/src/iteration/CTurboIteration.cpp index f74fa8034e6..fad8866e048 100644 --- a/SU2_CFD/src/iteration/CTurboIteration.cpp +++ b/SU2_CFD/src/iteration/CTurboIteration.cpp @@ -2,7 +2,7 @@ * \file CTurboIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/limiters/CLimiterDetails.cpp b/SU2_CFD/src/limiters/CLimiterDetails.cpp index 98e5d4724aa..23353805b7f 100644 --- a/SU2_CFD/src/limiters/CLimiterDetails.cpp +++ b/SU2_CFD/src/limiters/CLimiterDetails.cpp @@ -3,7 +3,7 @@ * \brief A class template that allows defining limiters via * specialization of particular details. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/CGradSmoothing.cpp b/SU2_CFD/src/numerics/CGradSmoothing.cpp index 0a6fb533a3a..af0e62b4068 100644 --- a/SU2_CFD/src/numerics/CGradSmoothing.cpp +++ b/SU2_CFD/src/numerics/CGradSmoothing.cpp @@ -2,7 +2,7 @@ * \file CGradSmoothing.cpp * \brief Numerics for gradient smoothing problems. * \author T.Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/CNumerics.cpp b/SU2_CFD/src/numerics/CNumerics.cpp index 43ccc81f7c0..ff0423058fa 100644 --- a/SU2_CFD/src/numerics/CNumerics.cpp +++ b/SU2_CFD/src/numerics/CNumerics.cpp @@ -4,7 +4,7 @@ * Contains methods for common tasks, e.g. compute flux * Jacobians. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp b/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp index ee1df5aaff0..753ba843c08 100644 --- a/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp +++ b/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp @@ -4,7 +4,7 @@ * Contains methods for common tasks, e.g. compute flux * Jacobians. * \author S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp b/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp index 02a957e1f78..f764949536c 100644 --- a/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp +++ b/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for discretization * of viscous fluxes in fluid flow NEMO problems. * \author S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp b/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp index fce5bfb3667..736ed507ed8 100644 --- a/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp +++ b/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for integration * of source terms in fluid flow NEMO problems. * \author C. Garbacz, W. Maier, S. Copeland. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausm.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausm.cpp index 4ac98341e58..8a336c67db3 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausm.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausm.cpp @@ -2,7 +2,7 @@ * \file ausm.cpp * \brief Implementations of the AUSM-family of schemes in NEMO. * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp index bc05c86a1cb..da65605d733 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp @@ -2,7 +2,7 @@ * \file ausmplusm.cpp * \brief Implementations of the AUSM-family of schemes - AUSM+M. * \author F. Morgado - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmplusup2.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmplusup2.cpp index b9be7c61831..e55c05be34d 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmplusup2.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausmplusup2.cpp @@ -2,7 +2,7 @@ * \file ausmplusup2.cpp * \brief Implementations of the AUSM-family of schemes - AUSM+UP2. * \author W. Maier, A. Sachedeva, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmpwplus.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmpwplus.cpp index 3b88853bab5..38597ec2395 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmpwplus.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausmpwplus.cpp @@ -2,7 +2,7 @@ * \file ausmpwplus.cpp * \brief Implementations of the AUSM-family of schemes - AUSMPWPLUS. * \author F. Palacios, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/lax.cpp b/SU2_CFD/src/numerics/NEMO/convection/lax.cpp index 0dd467183d5..237e99e5696 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/lax.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/lax.cpp @@ -2,7 +2,7 @@ * \file lax.cpp * \brief Implementations of Lax centered scheme. * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/msw.cpp b/SU2_CFD/src/numerics/NEMO/convection/msw.cpp index 9da640a1585..f77998fcdb8 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/msw.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/msw.cpp @@ -2,7 +2,7 @@ * \file msw.cpp * \brief Implementations of the modified Steger-Warming scheme. * \author ADL Stanford, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/roe.cpp b/SU2_CFD/src/numerics/NEMO/convection/roe.cpp index d86732fdf00..b03947faf42 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/roe.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/roe.cpp @@ -2,7 +2,7 @@ * \file roe.cpp * \brief Implementations of Roe-type schemes in NEMO. * \author S. R. Copeland, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp b/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp index 2eb7b9fba87..27a5b22379b 100644 --- a/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp +++ b/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp @@ -2,7 +2,7 @@ * \file adj_convection.cpp * \brief Implementation of adjoint convection numerics classes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp b/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp index aa2c97ef061..8b187ccc3f9 100644 --- a/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp +++ b/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp @@ -2,7 +2,7 @@ * \file adj_diffusion.cpp * \brief Implementation of adjoint diffusion numerics classes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp b/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp index 66ed7bf74ed..3bf58bb9fa6 100644 --- a/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp +++ b/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp @@ -2,7 +2,7 @@ * \file adj_sources.cpp * \brief Implementation of adjoint source numerics classes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp b/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp index 2970855fed5..f8e85a87438 100644 --- a/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp +++ b/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp @@ -2,7 +2,7 @@ * \file CFEAElasticity.cpp * \brief Base class for all elasticity problems. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp b/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp index 13a76139392..b42b1c42ed4 100644 --- a/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp +++ b/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp @@ -2,7 +2,7 @@ * \file CFEALinearElasticity.cpp * \brief Classes for linear elasticity problems. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp b/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp index 0cdcef0cb0e..ff950f321a1 100644 --- a/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp +++ b/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp @@ -3,7 +3,7 @@ * \brief This file contains the routines for setting the tangent matrix and * residual of a FEM nonlinear elastic structural problem. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp b/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp index 3699984242e..0947c1ebe4d 100644 --- a/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp +++ b/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp @@ -2,7 +2,7 @@ * \file nonlinear_models.cpp * \brief Definition of nonlinear constitutive models. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp b/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp index b3fd3c7b6d5..cebb6209ab1 100644 --- a/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp +++ b/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp @@ -2,7 +2,7 @@ * \file ausm_slau.cpp * \brief Implementations of the AUSM-family of schemes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/centered.cpp b/SU2_CFD/src/numerics/flow/convection/centered.cpp index 6eeca4ca231..1ff083d950b 100644 --- a/SU2_CFD/src/numerics/flow/convection/centered.cpp +++ b/SU2_CFD/src/numerics/flow/convection/centered.cpp @@ -2,7 +2,7 @@ * \file centered.cpp * \brief Implementations of centered schemes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/cusp.cpp b/SU2_CFD/src/numerics/flow/convection/cusp.cpp index a683bd4ad9b..b10206425c2 100644 --- a/SU2_CFD/src/numerics/flow/convection/cusp.cpp +++ b/SU2_CFD/src/numerics/flow/convection/cusp.cpp @@ -2,7 +2,7 @@ * \file cusp.cpp * \brief Implementation of the CUSP scheme. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/fds.cpp b/SU2_CFD/src/numerics/flow/convection/fds.cpp index 44d30bf877e..33a53a37e45 100644 --- a/SU2_CFD/src/numerics/flow/convection/fds.cpp +++ b/SU2_CFD/src/numerics/flow/convection/fds.cpp @@ -2,7 +2,7 @@ * \file fds.cpp * \brief Implementation of Flux-Difference-Splitting schemes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/fvs.cpp b/SU2_CFD/src/numerics/flow/convection/fvs.cpp index c8271a0d7e8..18f29534a74 100644 --- a/SU2_CFD/src/numerics/flow/convection/fvs.cpp +++ b/SU2_CFD/src/numerics/flow/convection/fvs.cpp @@ -2,7 +2,7 @@ * \file fvs.cpp * \brief Implementations of Flux-Vector-Splitting schemes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/hllc.cpp b/SU2_CFD/src/numerics/flow/convection/hllc.cpp index 0c9cc187d35..149a6491c3d 100644 --- a/SU2_CFD/src/numerics/flow/convection/hllc.cpp +++ b/SU2_CFD/src/numerics/flow/convection/hllc.cpp @@ -2,7 +2,7 @@ * \file hllc.cpp * \brief Implementations of HLLC schemes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/roe.cpp b/SU2_CFD/src/numerics/flow/convection/roe.cpp index 6713f5b8f58..26422506229 100644 --- a/SU2_CFD/src/numerics/flow/convection/roe.cpp +++ b/SU2_CFD/src/numerics/flow/convection/roe.cpp @@ -2,7 +2,7 @@ * \file roe.cpp * \brief Implementations of Roe-type schemes. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp index 7cdd6417697..ce11fea684e 100644 --- a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp +++ b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for discretization * of viscous fluxes in fluid flow problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index b1779970b39..7b6d0a43021 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for integration * of source terms in fluid flow problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -616,6 +616,105 @@ CNumerics::ResidualType<> CSourceIncRotatingFrame_Flow::ComputeResidual(const CC return ResidualType<>(residual, jacobian, nullptr); } +CSourceVorticityConfinement::CSourceVorticityConfinement(unsigned short val_nDim, unsigned short val_nVar, + const CConfig* config) + : CSourceBase_Flow(val_nDim, val_nVar, config) { + Gamma = config->GetGamma(); + Gamma_Minus_One = Gamma - 1.0; +} + +CNumerics::ResidualType<> CSourceVorticityConfinement::ComputeResidual(const CConfig* config) { + /*--- density, \rho ---*/ + const su2double rho = V_i[nDim + 2]; + + /*--- velocity, U = (u, v, w) ---*/ + su2double U[3] = {V_i[1], V_i[2], 0.0}; + if (nDim == 3) U[2] = V_i[3]; + const su2double U_abs = max(GeometryToolbox::Norm(3, U), 1e-12); + + /*--- vorticity, \omega ---*/ + const su2double omega[3] = {Vorticity_i[0], Vorticity_i[1], Vorticity_i[2]}; + + /*--- grad of the mag of vorticity, \nabla|\omega| = AuxVar_Grad_i[0] ---*/ + const su2double omega_abs_grad_abs = max(GeometryToolbox::Norm(3, AuxVar_Grad_i[0]), 1e-12); + + /*--- unit vector, n along \nabla|\omega| ---*/ + const su2double n[3] = { + AuxVar_Grad_i[0][0] / omega_abs_grad_abs, + AuxVar_Grad_i[0][1] / omega_abs_grad_abs, + AuxVar_Grad_i[0][2] / omega_abs_grad_abs, + }; + + /*--- n \cross \omega ---*/ + su2double nXomega[3] = {0.0, 0.0, 0.0}; + GeometryToolbox::CrossProduct(n, omega, nXomega); + const su2double nXomega_U = GeometryToolbox::DotProduct(3, nXomega, U); + + /*--- vorticity confinement parameter ---*/ + const su2double vc_config = config->GetConfinement_Param(); + su2double vc = vc_config * (1 + log10(pow((1 + (Volume / AvgVolume)), 1.0 / 3.0))); + + /*--- correction to vc near viscous wall ---*/ + const bool viscous = config->GetViscous(); + if (viscous) { + su2double U_infty[3] = {config->GetVelocity_FreeStreamND()[0], config->GetVelocity_FreeStreamND()[1], 0.0}; + if (nDim == 3) U_infty[2] = config->GetVelocity_FreeStreamND()[2]; + const su2double U_infty_abs = max(GeometryToolbox::Norm(3, U_infty), 1e-12); + const su2double L = config->GetLength_Reynolds(); + const su2double mu = V_i[nDim + 5]; // viscosity + const su2double mu_t = V_i[nDim + 6]; // turbulent or eddy viscosity + const su2double mu_eff = mu + mu_t; // effective or total viscosity + const su2double Re = rho * U_infty_abs * L / mu_eff; // Reynolds number + const su2double delta = 5 * L / sqrt(Re); // boundary layer thickness + + if (dist_i <= 4 * delta) { + vc *= 0.0; + } + } + + /*--- source terms: S / rho ---*/ + const su2double vc_Uabs_Volume = vc * U_abs * Volume; + const su2double S_u_rho = -nXomega[0] * vc_Uabs_Volume; + const su2double S_v_rho = -nXomega[1] * vc_Uabs_Volume; + const su2double S_w_rho = -nXomega[2] * vc_Uabs_Volume; + const su2double S_E_rho = -nXomega_U * vc_Uabs_Volume; + + residual[0] = 0.0; + residual[1] = rho * S_u_rho; + residual[2] = rho * S_v_rho; + if (nDim == 2) { + residual[3] = rho * S_E_rho; + } + if (nDim == 3) { + residual[3] = rho * S_w_rho; + residual[4] = rho * S_E_rho; + } + + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + if (implicit) { + for (unsigned iVar = 0; iVar < nVar; iVar++) { + for (unsigned jVar = 0; jVar < nVar; jVar++) { + jacobian[iVar][jVar] = 0.0; + } + } + + jacobian[1][0] = S_u_rho; + jacobian[2][0] = S_v_rho; + if (nDim == 2) { + jacobian[3][1] = S_u_rho; + jacobian[3][2] = S_v_rho; + } + if (nDim == 3) { + jacobian[3][0] = S_w_rho; + jacobian[4][1] = S_u_rho; + jacobian[4][2] = S_v_rho; + jacobian[4][3] = S_w_rho; + } + } + + return ResidualType<>(residual, jacobian, nullptr); +} + CSourceWindGust::CSourceWindGust(unsigned short val_nDim, unsigned short val_nVar, const CConfig* config) : CSourceBase_Flow(val_nDim, val_nVar, config) { } diff --git a/SU2_CFD/src/numerics/heat.cpp b/SU2_CFD/src/numerics/heat.cpp index 3830c857180..f18c2a69b62 100644 --- a/SU2_CFD/src/numerics/heat.cpp +++ b/SU2_CFD/src/numerics/heat.cpp @@ -2,7 +2,7 @@ * \file heat.cpp * \brief Implementation of numerics classes for heat transfer. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -160,43 +160,3 @@ void CUpwSca_Heat::ComputeResidual(su2double *val_residual, su2double **val_Jaco AD::EndPreacc(); } - -CAvgGrad_Heat::CAvgGrad_Heat(unsigned short val_nDim, unsigned short val_nVar, - const CConfig *config, bool correct_) : - CNumerics(val_nDim, val_nVar, config) { - - implicit = (config->GetKind_TimeIntScheme_Heat() == EULER_IMPLICIT); - correct = correct_; -} - -void CAvgGrad_Heat::ComputeResidual(su2double *val_residual, su2double **Jacobian_i, - su2double **Jacobian_j, CConfig *config) { - constexpr int nVar = 1; - - AD::StartPreacc(); - AD::SetPreaccIn(Coord_i, nDim); AD::SetPreaccIn(Coord_j, nDim); - AD::SetPreaccIn(Normal, nDim); - AD::SetPreaccIn(Temp_i); AD::SetPreaccIn(Temp_j); - AD::SetPreaccIn(ConsVar_Grad_i[0],nDim); AD::SetPreaccIn(ConsVar_Grad_j[0],nDim); - AD::SetPreaccIn(Thermal_Diffusivity_i); AD::SetPreaccIn(Thermal_Conductivity_j); - - su2double NormalGrad[nVar], CorrectedGrad[nVar]; - - auto proj_vector_ij = ComputeProjectedGradient(nDim, nVar, Normal, Coord_i, Coord_j, ConsVar_Grad_i, - ConsVar_Grad_j, correct, &Temp_i, &Temp_j, - NormalGrad, CorrectedGrad); - - const su2double Thermal_Diffusivity_Mean = 0.5*(Thermal_Diffusivity_i + Thermal_Diffusivity_j); - - val_residual[0] = Thermal_Diffusivity_Mean*CorrectedGrad[0]; - - /*--- For Jacobians -> Use of TSL approx. to compute derivatives of the gradients ---*/ - if (implicit) { - Jacobian_i[0][0] = -Thermal_Diffusivity_Mean*proj_vector_ij; - Jacobian_j[0][0] = Thermal_Diffusivity_Mean*proj_vector_ij; - } - - AD::SetPreaccOut(val_residual, nVar); - AD::EndPreacc(); - -} diff --git a/SU2_CFD/src/numerics/radiation.cpp b/SU2_CFD/src/numerics/radiation.cpp index bb3d5a9fcae..b3295fac20f 100644 --- a/SU2_CFD/src/numerics/radiation.cpp +++ b/SU2_CFD/src/numerics/radiation.cpp @@ -3,7 +3,7 @@ * \brief This file contains the implementation of the numerical * methods for radiation. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/scalar/scalar_sources.cpp b/SU2_CFD/src/numerics/scalar/scalar_sources.cpp index a2f4a71495e..d51c2ca7711 100644 --- a/SU2_CFD/src/numerics/scalar/scalar_sources.cpp +++ b/SU2_CFD/src/numerics/scalar/scalar_sources.cpp @@ -1,7 +1,7 @@ /*! * \file scalar_sources.cpp * \brief Implementation of numerics classes for integration of scalar source-terms. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/species/species_sources.cpp b/SU2_CFD/src/numerics/species/species_sources.cpp index 1198e6c757b..3d89a2619db 100644 --- a/SU2_CFD/src/numerics/species/species_sources.cpp +++ b/SU2_CFD/src/numerics/species/species_sources.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for integration of * species transport source-terms. * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,6 +41,7 @@ CSourceBase_Species::CSourceBase_Species(unsigned short val_nDim, unsigned short for (unsigned short iVar = 0; iVar < nVar; iVar++) { jacobian[iVar] = new su2double[nVar](); } + bounded_scalar = config->GetBounded_Species(); } CSourceBase_Species::~CSourceBase_Species() { @@ -67,13 +68,11 @@ CSourceAxisymmetric_Species::CSourceAxisymmetric_Species(unsigned short val_n template CNumerics::ResidualType<> CSourceAxisymmetric_Species::ComputeResidual(const CConfig* config) { - - /*--- Preaccumulation ---*/ AD::StartPreacc(); AD::SetPreaccIn(ScalarVar_i, nVar); - AD::SetPreaccIn(Volume); - + AD::SetPreaccIn(Volume); + if (incompressible) { AD::SetPreaccIn(V_i, nDim+6); } @@ -94,29 +93,31 @@ CNumerics::ResidualType<> CSourceAxisymmetric_Species::ComputeResidual(const AD::SetPreaccIn(Coord_i[1]); AD::SetPreaccIn(Diffusion_Coeff_i, nVar); - AD::SetPreaccIn(ScalarVar_Grad_i, nVar, nDim); + AD::SetPreaccIn(ScalarVar_Grad_i, nVar, nDim); const su2double yinv = 1.0 / Coord_i[1]; const su2double Density_i = V_i[idx.Density()]; - + su2double Velocity_i[3]; for (auto iDim = 0u; iDim < nDim; iDim++) Velocity_i[iDim] = V_i[idx.Velocity() + iDim]; - /*--- Inviscid component of the source term. ---*/ - - for (auto iVar = 0u; iVar < nVar; iVar++) - residual[iVar] -= yinv * Volume * Density_i * ScalarVar_i[iVar] * Velocity_i[1]; + /*--- Inviscid component of the source term. When div(v)=0, this term does not occur ---*/ + + if (!bounded_scalar) { + for (auto iVar = 0u; iVar < nVar; iVar++) + residual[iVar] -= yinv * Volume * Density_i * ScalarVar_i[iVar] * Velocity_i[1]; - if (implicit) { - for (auto iVar = 0u; iVar < nVar; iVar++) { - jacobian[iVar][iVar] -= yinv * Volume * Velocity_i[1]; + if (implicit) { + for (auto iVar = 0u; iVar < nVar; iVar++) { + jacobian[iVar][iVar] -= yinv * Volume * Velocity_i[1]; + } } } /*--- Add the viscous terms if necessary. ---*/ - + if (config->GetViscous()) { su2double Mass_Diffusivity_Tur = 0.0; if (turbulence) @@ -124,10 +125,11 @@ CNumerics::ResidualType<> CSourceAxisymmetric_Species::ComputeResidual(const for (auto iVar=0u; iVar < nVar; iVar++){ residual[iVar] += yinv * Volume * (Density_i * Diffusion_Coeff_i[iVar] + Mass_Diffusivity_Tur) * ScalarVar_Grad_i[iVar][1]; - } + } } + } - + AD::SetPreaccOut(residual, nVar); AD::EndPreacc(); diff --git a/SU2_CFD/src/numerics/template.cpp b/SU2_CFD/src/numerics/template.cpp index ba6743ddfbe..b1c6c4462f9 100644 --- a/SU2_CFD/src/numerics/template.cpp +++ b/SU2_CFD/src/numerics/template.cpp @@ -2,7 +2,7 @@ * \file template.cpp * \brief Empty implementation of numerics templates, see .hpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjElasticityOutput.cpp b/SU2_CFD/src/output/CAdjElasticityOutput.cpp index 636c578944e..baf0b59e24b 100644 --- a/SU2_CFD/src/output/CAdjElasticityOutput.cpp +++ b/SU2_CFD/src/output/CAdjElasticityOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjElasticityOutput.cpp * \brief Main subroutines for elasticity discrete adjoint output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjFlowCompOutput.cpp b/SU2_CFD/src/output/CAdjFlowCompOutput.cpp index d94f1b00348..4c5cfa58173 100644 --- a/SU2_CFD/src/output/CAdjFlowCompOutput.cpp +++ b/SU2_CFD/src/output/CAdjFlowCompOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjFlowCompOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjFlowIncOutput.cpp b/SU2_CFD/src/output/CAdjFlowIncOutput.cpp index 647b734c3cd..f653d4332fa 100644 --- a/SU2_CFD/src/output/CAdjFlowIncOutput.cpp +++ b/SU2_CFD/src/output/CAdjFlowIncOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjFlowIncOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjFlowOutput.cpp b/SU2_CFD/src/output/CAdjFlowOutput.cpp index 947063152e7..f47197e6fc1 100644 --- a/SU2_CFD/src/output/CAdjFlowOutput.cpp +++ b/SU2_CFD/src/output/CAdjFlowOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjFlowOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjHeatOutput.cpp b/SU2_CFD/src/output/CAdjHeatOutput.cpp index 654e5ddece7..2610c5a9f13 100644 --- a/SU2_CFD/src/output/CAdjHeatOutput.cpp +++ b/SU2_CFD/src/output/CAdjHeatOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjHeatOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CBaselineOutput.cpp b/SU2_CFD/src/output/CBaselineOutput.cpp index 4a335ace77a..37cbb2cd1b1 100644 --- a/SU2_CFD/src/output/CBaselineOutput.cpp +++ b/SU2_CFD/src/output/CBaselineOutput.cpp @@ -2,7 +2,7 @@ * \file CBaselineOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CElasticityOutput.cpp b/SU2_CFD/src/output/CElasticityOutput.cpp index 156d6c9a3f0..fd077ff6544 100644 --- a/SU2_CFD/src/output/CElasticityOutput.cpp +++ b/SU2_CFD/src/output/CElasticityOutput.cpp @@ -2,7 +2,7 @@ * \file CElasticityOutput.cpp * \brief Main subroutines for FEA output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CFVMOutput.cpp b/SU2_CFD/src/output/CFVMOutput.cpp index 29e628ce99c..92bdf73e399 100644 --- a/SU2_CFD/src/output/CFVMOutput.cpp +++ b/SU2_CFD/src/output/CFVMOutput.cpp @@ -2,7 +2,7 @@ * \file CFVMOutput.cpp * \brief Main subroutines for Finite Volume Method output * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -56,6 +56,10 @@ void CFVMOutput::AddCommonFVMOutputs(const CConfig *config) { name << "Coarse_Grid_" << iMesh; AddVolumeOutput(key.str(), name.str(), "MULTIGRID", "Coarse mesh"); } + + if (config->GetKind_Linear_Solver_Prec() == LINELET) { + AddVolumeOutput("LINELET", "Linelet", "LINELET", "Mesh lines built for the line implicit preconditioner"); + } } void CFVMOutput::LoadCommonFVMOutputs(const CConfig* config, const CGeometry* geometry, unsigned long iPoint) { @@ -76,4 +80,8 @@ void CFVMOutput::LoadCommonFVMOutputs(const CConfig* config, const CGeometry* ge SetVolumeOutputValue(key.str(), iPoint, geometry->CoarseGridColor(iPoint,iMesh-1)); } } + + if (config->GetKind_Linear_Solver_Prec() == LINELET) { + SetVolumeOutputValue("LINELET", iPoint, geometry->GetLineletInfo(config).lineletColor[iPoint]); + } } diff --git a/SU2_CFD/src/output/CFlowCompFEMOutput.cpp b/SU2_CFD/src/output/CFlowCompFEMOutput.cpp index 4a3626172fe..9a405b3acd5 100644 --- a/SU2_CFD/src/output/CFlowCompFEMOutput.cpp +++ b/SU2_CFD/src/output/CFlowCompFEMOutput.cpp @@ -2,7 +2,7 @@ * \file CFlowCompFEMOutput.cpp * \brief Main subroutines for compressible flow output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CFlowCompOutput.cpp b/SU2_CFD/src/output/CFlowCompOutput.cpp index f3005aa6e81..896f0d4f03e 100644 --- a/SU2_CFD/src/output/CFlowCompOutput.cpp +++ b/SU2_CFD/src/output/CFlowCompOutput.cpp @@ -2,7 +2,7 @@ * \file CFlowCompOutput.cpp * \brief Main subroutines for compressible flow output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CFlowIncOutput.cpp b/SU2_CFD/src/output/CFlowIncOutput.cpp index 6223fb14dea..c98685c5058 100644 --- a/SU2_CFD/src/output/CFlowIncOutput.cpp +++ b/SU2_CFD/src/output/CFlowIncOutput.cpp @@ -2,7 +2,7 @@ * \file CFlowIncOutput.cpp * \brief Main subroutines for incompressible flow output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index 6a081f929a2..cb88b9f9f26 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -2,7 +2,7 @@ * \file CFlowOutput.cpp * \brief Common functions for flow output. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -945,7 +945,7 @@ void CFlowOutput::AddHistoryOutputFields_ScalarBGS_RES(const CConfig* config) { } switch (config->GetKind_Trans_Model()) { - case TURB_TRANS_MODEL::LM: + case TURB_TRANS_MODEL::LM: /// DESCRIPTION: Maximum residual of the intermittency (LM model). AddHistoryOutput("BGS_INTERMITTENCY", "bgs[LM_1]", ScreenOutputFormat::FIXED, "BGS_RES", "BGS residual of the intermittency (LM model).", HistoryFieldType::RESIDUAL); /// DESCRIPTION: Maximum residual of the momentum thickness Reynolds number (LM model). @@ -1019,6 +1019,8 @@ void CFlowOutput::LoadHistoryData_Scalar(const CConfig* config, const CSolver* c SetHistoryOutputValue("BGS_INTERMITTENCY", log10(solver[TRANS_SOL]->GetRes_BGS(0))); SetHistoryOutputValue("BGS_RE_THETA_T", log10(solver[TRANS_SOL]->GetRes_BGS(1))); } + SetHistoryOutputValue("LINSOL_ITER_TRANS", solver[TRANS_SOL]->GetIterLinSolver()); + SetHistoryOutputValue("LINSOL_RESIDUAL_TRANS", log10(solver[TRANS_SOL]->GetResLinSolver())); break; case TURB_TRANS_MODEL::NONE: break; @@ -1059,6 +1061,7 @@ void CFlowOutput::SetVolumeOutputFields_ScalarSolution(const CConfig* config){ AddVolumeOutput("RE_THETA_T", "LM_Re_t", "SOLUTION", "LM RE_THETA_T"); AddVolumeOutput("INTERMITTENCY_SEP", "LM_gamma_sep", "PRIMITIVE", "LM intermittency"); AddVolumeOutput("INTERMITTENCY_EFF", "LM_gamma_eff", "PRIMITIVE", "LM RE_THETA_T"); + AddVolumeOutput("TURB_INDEX", "Turb_index", "PRIMITIVE", "Turbulence index"); break; case TURB_TRANS_MODEL::NONE: @@ -1203,7 +1206,7 @@ void CFlowOutput::LoadVolumeData_Scalar(const CConfig* config, const CSolver* co } if (config->GetSAParsedOptions().bc) { - SetVolumeOutputValue("INTERMITTENCY", iPoint, Node_Turb->GetGammaBC(iPoint)); + SetVolumeOutputValue("INTERMITTENCY", iPoint, Node_Turb->GetIntermittencyEff(iPoint)); } switch (config->GetKind_Trans_Model()) { @@ -1212,6 +1215,7 @@ void CFlowOutput::LoadVolumeData_Scalar(const CConfig* config, const CSolver* co SetVolumeOutputValue("RE_THETA_T", iPoint, Node_Trans->GetSolution(iPoint, 1)); SetVolumeOutputValue("INTERMITTENCY_SEP", iPoint, Node_Trans->GetIntermittencySep(iPoint)); SetVolumeOutputValue("INTERMITTENCY_EFF", iPoint, Node_Trans->GetIntermittencyEff(iPoint)); + SetVolumeOutputValue("TURB_INDEX", iPoint, Node_Turb->GetTurbIndex(iPoint)); SetVolumeOutputValue("RES_INTERMITTENCY", iPoint, trans_solver->LinSysRes(iPoint, 0)); SetVolumeOutputValue("RES_RE_THETA_T", iPoint, trans_solver->LinSysRes(iPoint, 1)); break; @@ -2202,7 +2206,7 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo file << "\n-------------------------------------------------------------------------\n"; file << "| ___ _ _ ___ |\n"; - file << "| / __| | | |_ ) Release 7.4.0 \"Blackbird\" |\n"; + file << "| / __| | | |_ ) Release 7.5.0 \"Blackbird\" |\n"; file << "| \\__ \\ |_| |/ / |\n"; file << "| |___/\\___//___| Suite (Computational Fluid Dynamics Code) |\n"; file << "| |\n"; @@ -2267,8 +2271,13 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo file << "Transition model: "; switch (Kind_Trans_Model) { case TURB_TRANS_MODEL::NONE: break; - case TURB_TRANS_MODEL::LM: - file << "Langtry and Menter's transition\n"; + case TURB_TRANS_MODEL::LM: + file << "Langtry and Menter's transition"; + if (config->GetLMParsedOptions().LM2015) { + file << " w/ cross-flow corrections (2015)\n"; + } else { + file << " (2009)\n"; + } break; } } @@ -2402,6 +2411,10 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo file << "Laminar Viscosity (non-dim): " << config->GetMu_ConstantND() << "\n"; break; + case VISCOSITYMODEL::COOLPROP: + file << "Viscosity Model: CoolProp \n"; + break; + case VISCOSITYMODEL::SUTHERLAND: file << "Viscosity Model: SUTHERLAND \n"; file << "Ref. Laminar Viscosity: " << config->GetMu_Ref(); @@ -2432,7 +2445,9 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo file << "Molecular Conductivity: " << config->GetThermal_Conductivity_Constant() << " W/m^2.K.\n"; file << "Molecular Conductivity (non-dim): " << config->GetThermal_Conductivity_ConstantND() << "\n"; break; - + case CONDUCTIVITYMODEL::COOLPROP: + file << "Conductivity Model: COOLPROP \n"; + break; default: break; } @@ -2724,6 +2739,10 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo file << "Laminar Viscosity (non-dim): " << config->GetMu_ConstantND() << "\n"; break; + case VISCOSITYMODEL::COOLPROP: + file << "Viscosity Model: CoolProp \n"; + break; + case VISCOSITYMODEL::SUTHERLAND: file << "Viscosity Model: SUTHERLAND \n"; file << "Ref. Laminar Viscosity: " << config->GetMu_Ref(); @@ -2769,6 +2788,9 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo file << "Molecular Conductivity: " << config->GetThermal_Conductivity_Constant() << " W/m^2.K.\n"; file << "Molecular Conductivity (non-dim): " << config->GetThermal_Conductivity_ConstantND() << "\n"; break; + case CONDUCTIVITYMODEL::COOLPROP: + file << "Conductivity Model: COOLPROP \n"; + break; case CONDUCTIVITYMODEL::POLYNOMIAL: file << "Viscosity Model: POLYNOMIAL \n"; diff --git a/SU2_CFD/src/output/CHeatOutput.cpp b/SU2_CFD/src/output/CHeatOutput.cpp index 10216bbc55f..dcbd2758f91 100644 --- a/SU2_CFD/src/output/CHeatOutput.cpp +++ b/SU2_CFD/src/output/CHeatOutput.cpp @@ -2,7 +2,7 @@ * \file CHeatOutput.cpp * \brief Main subroutines for the heat solver output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CMeshOutput.cpp b/SU2_CFD/src/output/CMeshOutput.cpp index 25d4cf5daf9..5fb59214ec6 100644 --- a/SU2_CFD/src/output/CMeshOutput.cpp +++ b/SU2_CFD/src/output/CMeshOutput.cpp @@ -2,7 +2,7 @@ * \file CMeshOutput.cpp * \brief Main subroutines for the heat solver output * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CMultizoneOutput.cpp b/SU2_CFD/src/output/CMultizoneOutput.cpp index e183361eb48..3c62a950545 100644 --- a/SU2_CFD/src/output/CMultizoneOutput.cpp +++ b/SU2_CFD/src/output/CMultizoneOutput.cpp @@ -2,7 +2,7 @@ * \file CMultizoneOutput.cpp * \brief Main subroutines for multizone output * \author R. Sanchez, T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -173,7 +173,7 @@ void CMultizoneOutput::SetMultizoneHistoryOutputFields(const COutput* const* out /*--- Determine whether Maker_Analyze/Monitoring has to be used. ---*/ auto* Marker = &Marker_Monitoring; - if (group == "FLOW_COEFF_SURF") + if ((group == "FLOW_COEFF_SURF") || (group == "SPECIES_COEFF_SURF")) Marker = &Marker_Analyze; else if (group != "AERO_COEFF_SURF" && group != "HEAT_SURF") SU2_MPI::Error("Per Surface output group unknown: " + group, CURRENT_FUNCTION); diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp index 9516a08b67e..54b68bddfe8 100644 --- a/SU2_CFD/src/output/CNEMOCompOutput.cpp +++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp @@ -2,7 +2,7 @@ * \file CNEMOCompOutput.cpp * \brief Main subroutines for compressible flow output * \author W. Maier, R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/COutput.cpp b/SU2_CFD/src/output/COutput.cpp index ab78e0ea735..b4abcf18724 100644 --- a/SU2_CFD/src/output/COutput.cpp +++ b/SU2_CFD/src/output/COutput.cpp @@ -2,7 +2,7 @@ * \file COutput.cpp * \brief Main subroutines for output solver information * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/COutputFactory.cpp b/SU2_CFD/src/output/COutputFactory.cpp index 1b65d03ba0f..9f81699fdb9 100644 --- a/SU2_CFD/src/output/COutputFactory.cpp +++ b/SU2_CFD/src/output/COutputFactory.cpp @@ -2,7 +2,7 @@ * \file COutputFactory.cpp * \brief Main subroutines for output solver information * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp b/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp index a2137298036..75a8ec4a4a9 100644 --- a/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp @@ -2,7 +2,7 @@ * \file CCGNSFileWriter.cpp * \brief Filewriter class for CGNS format. * \author G. Baldan - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp b/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp index a88caa369d7..0f4a9a9a849 100644 --- a/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp @@ -2,7 +2,7 @@ * \file CCSVFileWriter.cpp * \brief CSV Writer output class * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp index 80b0e2d226e..dfda9e755c6 100644 --- a/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp @@ -2,7 +2,7 @@ * \file CFEMDataSorter.cpp * \brief Datasorter class for FEM solvers. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp index b89d7e5b5a8..01a74caa29e 100644 --- a/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp @@ -2,7 +2,7 @@ * \file CFVMDataSorter.cpp * \brief Datasorter class for FVM solvers. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp b/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp index 21843088e7d..f86e76fa8fc 100644 --- a/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp @@ -2,7 +2,7 @@ * \file CParallelDataSorter.cpp * \brief Datasorter base class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp index c89ff4313d3..d9b2931835a 100644 --- a/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParallelFileWriter.cpp * \brief Filewriter base class. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp index 9fa2b9e6920..8fb0ccf0d6a 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParaviewBinaryFileWriter.cpp * \brief Filewriter class for Paraview binary format. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp index 8c21f647e35..8df6dc31543 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParaviewFileWriter.cpp * \brief Filewriter class for Paraview ASCII format. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp index 527bfb01e2d..fd4b629f2af 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParaviewVTMFileWriter.cpp * \brief Filewriter class for Paraview binary format. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp index 29555b9e4b7..8add80e74f3 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParaviewXMLFileWriter.cpp * \brief Filewriter class for Paraview binary format. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp b/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp index 23e193da3d6..036a9165fdc 100644 --- a/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp @@ -2,7 +2,7 @@ * \file CSTLFileWriter.cpp * \brief STL Writer output class * \author T. Kattmann, T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp b/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp index 3b2993d2464..8c4ee4a375f 100644 --- a/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp @@ -2,7 +2,7 @@ * \file CSU2BinaryFileWriter.cpp * \brief Filewriter class SU2 native binary format. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp b/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp index adb7053faed..2d833816f13 100644 --- a/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp @@ -2,7 +2,7 @@ * \file CSU2FileWriter.cpp * \brief Filewriter class SU2 native ASCII (CSV) format. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp b/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp index 10b84b47301..43ca7cc0660 100644 --- a/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp @@ -2,7 +2,7 @@ * \file CSU2MeshFileWriter.cpp * \brief Filewriter class SU2 native mesh format. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp index 17cccd4ac89..280c854c24e 100644 --- a/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp @@ -2,7 +2,7 @@ * \file CSurfaceFEMDataSorter.cpp * \brief Datasorter for FEM surfaces. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp index 8283b8acd52..9850c795e9a 100644 --- a/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp @@ -2,7 +2,7 @@ * \file CSurfaceFVMDataSorter.cpp * \brief Datasorter for FVM surfaces. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp b/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp index 6fa0fd7dca8..daabbac1db6 100644 --- a/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp @@ -2,7 +2,7 @@ * \file CTecplotBinaryFileWriter.cpp * \brief Filewriter class for Tecplot binary format. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp b/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp index 24ec8f254ae..b3b096edc5b 100644 --- a/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp @@ -2,7 +2,7 @@ * \file CTecplotFileWriter.cpp * \brief Filewriter class for Tecplot ASCII format. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/output_physics.cpp b/SU2_CFD/src/output/output_physics.cpp index ac181d4ab26..8c49ca91e18 100644 --- a/SU2_CFD/src/output/output_physics.cpp +++ b/SU2_CFD/src/output/output_physics.cpp @@ -2,7 +2,7 @@ * \file output_physics.cpp * \brief Main subroutines to compute physical output quantities such as CL, CD, entropy generation, mass flow, ecc... . * \author S. Vitale - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/output_structure_legacy.cpp b/SU2_CFD/src/output/output_structure_legacy.cpp index c87c90020d5..4e4c6f94606 100644 --- a/SU2_CFD/src/output/output_structure_legacy.cpp +++ b/SU2_CFD/src/output/output_structure_legacy.cpp @@ -2,7 +2,7 @@ * \file output_structure_legacy.cpp * \brief Main subroutines for output solver information * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -2977,6 +2977,10 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry Breakdown_file << "Sutherland constant (non-dim): "<< config[val_iZone]->GetMu_SND()<< "\n"; break; + case VISCOSITYMODEL::COOLPROP: + Breakdown_file << "Viscosity Model: CoolProp"<< "\n"; + break; + default: break; @@ -2994,6 +2998,10 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry Breakdown_file << "Molecular Conductivity (non-dim): " << config[val_iZone]->GetThermal_Conductivity_ConstantND()<< "\n"; break; + case CONDUCTIVITYMODEL::COOLPROP: + Breakdown_file << "Conductivity Model: COOLPROP "<< "\n"; + break; + default: break; @@ -3343,6 +3351,10 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry Breakdown_file << ")." << endl; break; + case VISCOSITYMODEL::COOLPROP: + Breakdown_file << "Viscosity Model: CoolProp"<< "\n"; + break; + } if (energy) { @@ -3359,6 +3371,10 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry Breakdown_file << "Molecular Conductivity (non-dim): " << config[val_iZone]->GetThermal_Conductivity_ConstantND()<< "\n"; break; + case CONDUCTIVITYMODEL::COOLPROP: + Breakdown_file << "Conductivity Model: COOLPROP "<< "\n"; + break; + case CONDUCTIVITYMODEL::POLYNOMIAL: Breakdown_file << "Viscosity Model: POLYNOMIAL "<< endl; Breakdown_file << "Kt(T) polynomial coefficients: \n ("; diff --git a/SU2_CFD/src/output/tools/CWindowingTools.cpp b/SU2_CFD/src/output/tools/CWindowingTools.cpp index c649046ff94..92ca7d8429e 100644 --- a/SU2_CFD/src/output/tools/CWindowingTools.cpp +++ b/SU2_CFD/src/output/tools/CWindowingTools.cpp @@ -2,7 +2,7 @@ * \file signal_processing_toolbox.cpp * \brief Signal processing tools * \author S. Schotthöfer - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/python_wrapper_structure.cpp b/SU2_CFD/src/python_wrapper_structure.cpp index c604f9b8e5c..f02bfb6f092 100644 --- a/SU2_CFD/src/python_wrapper_structure.cpp +++ b/SU2_CFD/src/python_wrapper_structure.cpp @@ -2,7 +2,7 @@ * \file python_wrapper_structure.cpp * \brief Driver subroutines that are used by the Python wrapper. Those routines are usually called from an external Python environment. * \author D. Thomas - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp index 93bd29fa9bf..3207ccc351c 100644 --- a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp @@ -2,7 +2,7 @@ * \file CAdjEulerSolver.cpp * \brief Main subroutines for solving Euler adjoint problems. * \author F. Palacios, T. Economon, H. Kline - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -51,7 +51,7 @@ CAdjEulerSolver::CAdjEulerSolver(void) : CSolver() { CAdjEulerSolver::CAdjEulerSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CSolver() { unsigned long iPoint, iVertex, iMarker, jMarker; string text_line, mesh_filename; - unsigned short iDim, iVar, nLineLets; + unsigned short iDim, iVar; ifstream restart_file; string filename, AdjExt; su2double myArea_Monitored, *Normal; @@ -170,11 +170,6 @@ CAdjEulerSolver::CAdjEulerSolver(CGeometry *geometry, CConfig *config, unsigned cout << "Initialize Jacobian structure (Adjoint Euler). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - if (axisymmetric) { Jacobian_Axisymmetric = new su2double* [nVar]; for (iVar = 0; iVar < nVar; iVar++) @@ -895,41 +890,24 @@ void CAdjEulerSolver::SetForceProj_Vector(CGeometry *geometry, CSolver **solver_ } void CAdjEulerSolver::SetInitialCondition(CGeometry **geometry, CSolver ***solver_container, CConfig *config, unsigned long TimeIter) { - unsigned long iPoint, Point_Fine; - unsigned short iMesh, iChildren, iVar; - su2double Area_Children, Area_Parent, *Solution, *Solution_Fine; - bool restart = config->GetRestart(); - bool dual_time = ((config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || - (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND)); + const bool restart = config->GetRestart(); + const bool dual_time = ((config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || + (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND)); /*--- If restart solution, then interpolate the flow solution to all the multigrid levels, this is important with the dual time strategy ---*/ if (restart) { - Solution = new su2double[nVar]; - for (iMesh = 1; iMesh <= config->GetnMGLevels(); iMesh++) { - for (iPoint = 0; iPoint < geometry[iMesh]->GetnPoint(); iPoint++) { - Area_Parent = geometry[iMesh]->nodes->GetVolume(iPoint); - for (iVar = 0; iVar < nVar; iVar++) Solution[iVar] = 0.0; - for (iChildren = 0; iChildren < geometry[iMesh]->nodes->GetnChildren_CV(iPoint); iChildren++) { - Point_Fine = geometry[iMesh]->nodes->GetChildren_CV(iPoint, iChildren); - Area_Children = geometry[iMesh-1]->nodes->GetVolume(Point_Fine); - Solution_Fine = solver_container[iMesh-1][ADJFLOW_SOL]->GetNodes()->GetSolution(Point_Fine); - for (iVar = 0; iVar < nVar; iVar++) { - Solution[iVar] += Solution_Fine[iVar]*Area_Children/Area_Parent; - } - } - solver_container[iMesh][ADJFLOW_SOL]->GetNodes()->SetSolution(iPoint, Solution); - - } + for (auto iMesh = 1ul; iMesh <= config->GetnMGLevels(); iMesh++) { + MultigridRestriction(*geometry[iMesh - 1], solver_container[iMesh - 1][ADJFLOW_SOL]->GetNodes()->GetSolution(), + *geometry[iMesh], solver_container[iMesh][ADJFLOW_SOL]->GetNodes()->GetSolution()); solver_container[iMesh][ADJFLOW_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION); solver_container[iMesh][ADJFLOW_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION); } - delete [] Solution; } /*--- The value of the solution for the first iteration of the dual time ---*/ - for (iMesh = 0; iMesh <= config->GetnMGLevels(); iMesh++) { + for (auto iMesh = 0ul; iMesh <= config->GetnMGLevels(); iMesh++) { if ((TimeIter == 0) && (dual_time)) { solver_container[iMesh][ADJFLOW_SOL]->GetNodes()->Set_Solution_time_n(); solver_container[iMesh][ADJFLOW_SOL]->GetNodes()->Set_Solution_time_n1(); @@ -951,7 +929,7 @@ void CAdjEulerSolver::Preprocessing(CGeometry *geometry, CSolver **solver_contai bool muscl = config->GetMUSCL_AdjFlow(); bool limiter = (config->GetKind_SlopeLimit_AdjFlow() != LIMITER::NONE); bool center = (config->GetKind_ConvNumScheme_AdjFlow() == SPACE_CENTERED); - bool center_jst = (config->GetKind_Centered_AdjFlow() == JST); + bool center_jst = (config->GetKind_Centered_AdjFlow() == CENTERED::JST); bool fixed_cl = config->GetFixed_CL_Mode(); bool eval_dof_dcx = config->GetEval_dOF_dCX(); @@ -1034,7 +1012,7 @@ void CAdjEulerSolver::Centered_Residual(CGeometry *geometry, CSolver **solver_co unsigned long iEdge, iPoint, jPoint; bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - bool jst_scheme = ((config->GetKind_Centered_AdjFlow() == JST) && (iMesh == MESH_0)); + bool jst_scheme = ((config->GetKind_Centered_AdjFlow() == CENTERED::JST) && (iMesh == MESH_0)); bool grid_movement = config->GetGrid_Movement(); for (iEdge = 0; iEdge < geometry->GetnEdge(); iEdge++) { @@ -3841,8 +3819,8 @@ void CAdjEulerSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConf /*--- Restart the solution from file information ---*/ unsigned short iDim, iVar, iMesh; - unsigned long iPoint, index, iChildren, Point_Fine; - su2double Area_Children, Area_Parent, *Coord, *Solution_Fine; + unsigned long index; + su2double *Coord; string filename, restart_filename; /*--- Restart the solution from file information ---*/ @@ -3922,19 +3900,8 @@ void CAdjEulerSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConf /*--- Interpolate the solution down to the coarse multigrid levels ---*/ for (iMesh = 1; iMesh <= config->GetnMGLevels(); iMesh++) { - for (iPoint = 0; iPoint < geometry[iMesh]->GetnPoint(); iPoint++) { - Area_Parent = geometry[iMesh]->nodes->GetVolume(iPoint); - for (iVar = 0; iVar < nVar; iVar++) Solution[iVar] = 0.0; - for (iChildren = 0; iChildren < geometry[iMesh]->nodes->GetnChildren_CV(iPoint); iChildren++) { - Point_Fine = geometry[iMesh]->nodes->GetChildren_CV(iPoint, iChildren); - Area_Children = geometry[iMesh-1]->nodes->GetVolume(Point_Fine); - Solution_Fine = solver[iMesh-1][ADJFLOW_SOL]->GetNodes()->GetSolution(Point_Fine); - for (iVar = 0; iVar < nVar; iVar++) { - Solution[iVar] += Solution_Fine[iVar]*Area_Children/Area_Parent; - } - } - solver[iMesh][ADJFLOW_SOL]->GetNodes()->SetSolution(iPoint,Solution); - } + MultigridRestriction(*geometry[iMesh - 1], solver[iMesh - 1][ADJFLOW_SOL]->GetNodes()->GetSolution(), + *geometry[iMesh], solver[iMesh][ADJFLOW_SOL]->GetNodes()->GetSolution()); solver[iMesh][ADJFLOW_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION); solver[iMesh][ADJFLOW_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION); solver[iMesh][ADJFLOW_SOL]->Preprocessing(geometry[iMesh], solver[iMesh], config, iMesh, NO_RK_ITER, RUNTIME_FLOW_SYS, false); diff --git a/SU2_CFD/src/solvers/CAdjNSSolver.cpp b/SU2_CFD/src/solvers/CAdjNSSolver.cpp index d2d34572ead..651df0675c9 100644 --- a/SU2_CFD/src/solvers/CAdjNSSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjNSSolver.cpp @@ -2,7 +2,7 @@ * \file CAdjNSSolver.cpp * \brief Main subroutines for solving Navier-Stokes adjoint problems. * \author F. Palacios, T. Economon, H. Kline - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ CAdjNSSolver::CAdjNSSolver(void) : CAdjEulerSolver() { } CAdjNSSolver::CAdjNSSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CAdjEulerSolver() { unsigned long iPoint, iVertex; string text_line, mesh_filename; - unsigned short iDim, iVar, iMarker, nLineLets; + unsigned short iDim, iVar, iMarker; ifstream restart_file; string filename, AdjExt; @@ -141,11 +141,6 @@ CAdjNSSolver::CAdjNSSolver(CGeometry *geometry, CConfig *config, unsigned short cout << "Initialize Jacobian structure (Adjoint N-S). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - } else { if (rank == MASTER_NODE) cout << "Explicit scheme. No Jacobian structure (Adjoint N-S). MG level: " << iMesh <<"." << endl; @@ -323,7 +318,7 @@ void CAdjNSSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); bool limiter = (config->GetKind_SlopeLimit_AdjFlow() != LIMITER::NONE); - bool center_jst = (config->GetKind_Centered_AdjFlow() == JST); + bool center_jst = (config->GetKind_Centered_AdjFlow() == CENTERED::JST); bool fixed_cl = config->GetFixed_CL_Mode(); bool eval_dof_dcx = config->GetEval_dOF_dCX(); diff --git a/SU2_CFD/src/solvers/CAdjTurbSolver.cpp b/SU2_CFD/src/solvers/CAdjTurbSolver.cpp index 99ebbc7640d..bc01707e4c2 100644 --- a/SU2_CFD/src/solvers/CAdjTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjTurbSolver.cpp @@ -2,7 +2,7 @@ * \file CAdjTurbVariable.cpp * \brief Main subroutines for solving turbulent adjoint problems. * \author F. Palacios, A. Bueno, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -32,8 +32,6 @@ CAdjTurbSolver::CAdjTurbSolver(void) : CSolver() {} CAdjTurbSolver::CAdjTurbSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CSolver() { - unsigned short nLineLets; - adjoint = true; nDim = geometry->GetnDim(); @@ -83,12 +81,6 @@ CAdjTurbSolver::CAdjTurbSolver(CGeometry *geometry, CConfig *config, unsigned sh /*--- Initialization of the structure of the whole Jacobian ---*/ Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - Jacobian.SetValZero(); LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); diff --git a/SU2_CFD/src/solvers/CBaselineSolver.cpp b/SU2_CFD/src/solvers/CBaselineSolver.cpp index 922247dbe79..9fb4e2dd25f 100644 --- a/SU2_CFD/src/solvers/CBaselineSolver.cpp +++ b/SU2_CFD/src/solvers/CBaselineSolver.cpp @@ -2,7 +2,7 @@ * \file CBaselineSolver.cpp * \brief Main subroutines for CBaselineSolver class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp b/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp index 7eabb72e90c..e4b8074bd62 100644 --- a/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp +++ b/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp @@ -2,7 +2,7 @@ * \file CBaselineSolver_FEM.cpp * \brief Main subroutines for CBaselineSolver_FEM class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp b/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp index c7c2c0a8da7..585532eb12a 100644 --- a/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp +++ b/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEASolver.cpp * \brief Main subroutines for solving adjoint FEM elasticity problems. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp b/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp index c33c6791871..3ecf8198c21 100644 --- a/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp +++ b/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjMeshSolver.cpp * \brief Main subroutines for solving the discrete adjoint mesh problem. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CDiscAdjSolver.cpp b/SU2_CFD/src/solvers/CDiscAdjSolver.cpp index 2d7bd4060d4..2698e4aefec 100644 --- a/SU2_CFD/src/solvers/CDiscAdjSolver.cpp +++ b/SU2_CFD/src/solvers/CDiscAdjSolver.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjSolver.cpp * \brief Main subroutines for solving the discrete adjoint problem. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -637,20 +637,7 @@ void CDiscAdjSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConfi /*--- Interpolate solution on coarse grids ---*/ for (auto iMesh = 1u; iMesh <= config->GetnMGLevels(); iMesh++) { - - const auto& fineSol = solver[iMesh-1][ADJFLOW_SOL]->GetNodes()->GetSolution(); - - for (auto iPoint = 0ul; iPoint < geometry[iMesh]->GetnPoint(); iPoint++) { - su2double Solution[MAXNVAR] = {0.0}; - const su2double Area_Parent = geometry[iMesh]->nodes->GetVolume(iPoint); - - for (auto iChildren = 0u; iChildren < geometry[iMesh]->nodes->GetnChildren_CV(iPoint); iChildren++) { - const auto Point_Fine = geometry[iMesh]->nodes->GetChildren_CV(iPoint, iChildren); - const su2double weight = geometry[iMesh-1]->nodes->GetVolume(Point_Fine) / Area_Parent; - - for (auto iVar = 0u; iVar < nVar; iVar++) Solution[iVar] += weight * fineSol(Point_Fine, iVar); - } - solver[iMesh][ADJFLOW_SOL]->GetNodes()->SetSolution(iPoint, Solution); - } + MultigridRestriction(*geometry[iMesh - 1], solver[iMesh - 1][ADJFLOW_SOL]->GetNodes()->GetSolution(), + *geometry[iMesh], solver[iMesh][ADJFLOW_SOL]->GetNodes()->GetSolution()); } } diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 5d760231b08..38668efbd57 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -2,7 +2,7 @@ * \file CEulerSolver.cpp * \brief Main subroutines for solving Finite-Volume Euler flow problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -65,7 +65,7 @@ CEulerSolver::CEulerSolver(CGeometry *geometry, CConfig *config, int Unst_RestartIter = 0; unsigned long iPoint, iMarker, counter_local = 0, counter_global = 0; - unsigned short iDim, nLineLets; + unsigned short iDim; su2double StaticEnergy, Density, Velocity2, Pressure, Temperature; /*--- A grid is defined as dynamic if there's rigid grid movement or grid deformation AND the problem is time domain ---*/ @@ -161,12 +161,6 @@ CEulerSolver::CEulerSolver(CGeometry *geometry, CConfig *config, cout << "Initialize Jacobian structure (" << description << "). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) - cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } } else { if (rank == MASTER_NODE) @@ -1170,6 +1164,15 @@ void CEulerSolver::SetNondimensionalization(CConfig *config, unsigned short iMes NonDimTable.PrintFooter(); break; + case VISCOSITYMODEL::COOLPROP: + ModelTable << "COOLPROP"; + if (config->GetSystemMeasurements() == SI) Unit << "N.s/m^2"; + else if (config->GetSystemMeasurements() == US) Unit << "lbf.s/ft^2"; + NonDimTable << "Viscosity" << "--" << "--" << Unit.str() << config->GetMu_ConstantND(); + Unit.str(""); + NonDimTable.PrintFooter(); + break; + case VISCOSITYMODEL::SUTHERLAND: ModelTable << "SUTHERLAND"; if (config->GetSystemMeasurements() == SI) Unit << "N.s/m^2"; @@ -1209,6 +1212,14 @@ void CEulerSolver::SetNondimensionalization(CConfig *config, unsigned short iMes NonDimTable.PrintFooter(); break; + case CONDUCTIVITYMODEL::COOLPROP: + ModelTable << "COOLPROP"; + Unit << "W/m^2.K"; + NonDimTable << "Molecular Cond." << "--" << "--" << Unit.str() << config->GetThermal_Conductivity_ConstantND(); + Unit.str(""); + NonDimTable.PrintFooter(); + break; + default: break; @@ -1519,17 +1530,17 @@ void CEulerSolver::CommonPreprocessing(CGeometry *geometry, CSolver **solver_con bool disc_adjoint = config->GetDiscrete_Adjoint(); bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); bool center = (config->GetKind_ConvNumScheme_Flow() == SPACE_CENTERED); - bool center_jst = (config->GetKind_Centered_Flow() == JST) && (iMesh == MESH_0); - bool center_jst_ke = (config->GetKind_Centered_Flow() == JST_KE) && (iMesh == MESH_0); - bool center_jst_mat = (config->GetKind_Centered_Flow() == JST_MAT) && (iMesh == MESH_0); + bool center_jst = (config->GetKind_Centered_Flow() == CENTERED::JST) && (iMesh == MESH_0); + bool center_jst_ke = (config->GetKind_Centered_Flow() == CENTERED::JST_KE) && (iMesh == MESH_0); + bool center_jst_mat = (config->GetKind_Centered_Flow() == CENTERED::JST_MAT) && (iMesh == MESH_0); bool engine = ((config->GetnMarker_EngineInflow() != 0) || (config->GetnMarker_EngineExhaust() != 0)); bool actuator_disk = ((config->GetnMarker_ActDiskInlet() != 0) || (config->GetnMarker_ActDiskOutlet() != 0)); bool fixed_cl = config->GetFixed_CL_Mode(); unsigned short kind_row_dissipation = config->GetKind_RoeLowDiss(); bool roe_low_dissipation = (kind_row_dissipation != NO_ROELOWDISS) && - (config->GetKind_Upwind_Flow() == ROE || - config->GetKind_Upwind_Flow() == SLAU || - config->GetKind_Upwind_Flow() == SLAU2); + (config->GetKind_Upwind_Flow() == UPWIND::ROE || + config->GetKind_Upwind_Flow() == UPWIND::SLAU || + config->GetKind_Upwind_Flow() == UPWIND::SLAU2); /*--- Set the primitive variables ---*/ @@ -1722,14 +1733,14 @@ void CEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_contain const bool low_mach_corr = config->Low_Mach_Correction(); /*--- Use vectorization if the scheme supports it. ---*/ - if (config->GetKind_Upwind_Flow() == ROE && ideal_gas && !low_mach_corr) { + if (config->GetKind_Upwind_Flow() == UPWIND::ROE && ideal_gas && !low_mach_corr) { EdgeFluxResidual(geometry, solver_container, config); return; } const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - const bool roe_turkel = (config->GetKind_Upwind_Flow() == TURKEL); + const bool roe_turkel = (config->GetKind_Upwind_Flow() == UPWIND::TURKEL); const auto kind_dissipation = config->GetKind_RoeLowDiss(); const bool muscl = (config->GetMUSCL_Flow() && (iMesh == MESH_0)); @@ -2000,6 +2011,7 @@ void CEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_contain const bool harmonic_balance = (config->GetTime_Marching() == TIME_MARCHING::HARMONIC_BALANCE); const bool windgust = config->GetWind_Gust(); const bool body_force = config->GetBody_Force(); + const bool vorticity_confinement = config->GetVorticityConfinement(); const bool ideal_gas = (config->GetKind_FluidModel() == STANDARD_AIR) || (config->GetKind_FluidModel() == IDEAL_GAS); const bool rans = (config->GetKind_Turb_Model() != TURB_MODEL::NONE); @@ -2198,6 +2210,42 @@ void CEulerSolver::Source_Residual(CGeometry *geometry, CSolver **solver_contain END_SU2_OMP_FOR } + if (vorticity_confinement) { + + CNumerics* second_numerics = numerics_container[SOURCE_SECOND_TERM + omp_get_thread_num()*MAX_TERMS]; + + /*--- calculate and set the average volume ---*/ + const su2double AvgVolume = config->GetDomainVolume() / geometry->GetGlobal_nPointDomain(); + second_numerics->SetAvgVolume(AvgVolume); + + /*--- set vorticity magnitude as auxilliary variable ---*/ + SU2_OMP_FOR_STAT(omp_chunk_size) + for (iPoint = 0; iPoint < nPoint; iPoint++) { + const su2double VorticityMag = max(GeometryToolbox::Norm(3, nodes->GetVorticity(iPoint)), 1e-12); + nodes->SetAuxVar(iPoint, 0, VorticityMag); + } + END_SU2_OMP_FOR + + /*--- calculate the gradient of the vorticity magnitude (AuxVarGradient) ---*/ + SetAuxVar_Gradient_GG(geometry, config); + + SU2_OMP_FOR_DYN(omp_chunk_size) + for (iPoint = 0; iPoint < nPointDomain; iPoint++) { + second_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), nullptr); + second_numerics->SetVorticity(nodes->GetVorticity(iPoint), nullptr); + second_numerics->SetAuxVarGrad(nodes->GetAuxVarGradient(iPoint), nullptr); + second_numerics->SetDistance(geometry->nodes->GetWall_Distance(iPoint), 0); + second_numerics->SetVolume(geometry->nodes->GetVolume(iPoint)); + auto residual = second_numerics->ComputeResidual(config); + + LinSysRes.AddBlock(iPoint, residual); + + if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); + } + END_SU2_OMP_FOR + + } + /*--- Check if a verification solution is to be computed. ---*/ if ( VerificationSolution ) { @@ -2411,7 +2459,7 @@ void CEulerSolver::PrepareImplicitIteration(CGeometry *geometry, CSolver**, CCon return matrix; } - } precond(this, config->Low_Mach_Preconditioning() || (config->GetKind_Upwind_Flow() == TURKEL), nVar); + } precond(this, config->Low_Mach_Preconditioning() || (config->GetKind_Upwind_Flow() == UPWIND::TURKEL), nVar); PrepareImplicitIteration_impl(precond, geometry, config); } diff --git a/SU2_CFD/src/solvers/CFEASolver.cpp b/SU2_CFD/src/solvers/CFEASolver.cpp index 016231bcc5f..83006a3037f 100644 --- a/SU2_CFD/src/solvers/CFEASolver.cpp +++ b/SU2_CFD/src/solvers/CFEASolver.cpp @@ -2,7 +2,7 @@ * \file CFEASolver.cpp * \brief Main subroutines for solving direct FEM elasticity problems. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CFEASolverBase.cpp b/SU2_CFD/src/solvers/CFEASolverBase.cpp index d80dfc8e8bf..8bbbf87037c 100644 --- a/SU2_CFD/src/solvers/CFEASolverBase.cpp +++ b/SU2_CFD/src/solvers/CFEASolverBase.cpp @@ -2,7 +2,7 @@ * \file CFEASolverBase.cpp * \brief Common class template for FEA solvers * \author T. Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp index 167a7f44939..04f103addea 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp @@ -2,7 +2,7 @@ * \file CFEM_DG_EulerSolver.cpp * \brief Main subroutines for solving finite element Euler flow problems * \author J. Alonso, E. van der Weide, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -1154,6 +1154,15 @@ void CFEM_DG_EulerSolver::SetNondimensionalization(CConfig *config, NonDimTable.PrintFooter(); break; + case VISCOSITYMODEL::COOLPROP: + ModelTable << "COOLPROP"; + if (config->GetSystemMeasurements() == SI) Unit << "N.s/m^2"; + else if (config->GetSystemMeasurements() == US) Unit << "lbf.s/ft^2"; + NonDimTable << "Viscosity" << "--" << "--" << Unit.str() << config->GetMu_ConstantND(); + Unit.str(""); + NonDimTable.PrintFooter(); + break; + case VISCOSITYMODEL::SUTHERLAND: ModelTable << "SUTHERLAND"; if (config->GetSystemMeasurements() == SI) Unit << "N.s/m^2"; @@ -1193,6 +1202,14 @@ void CFEM_DG_EulerSolver::SetNondimensionalization(CConfig *config, NonDimTable.PrintFooter(); break; + case CONDUCTIVITYMODEL::COOLPROP: + ModelTable << "COOLPROP"; + Unit << "W/m^2.K"; + NonDimTable << "Molecular Cond." << "--" << "--" << Unit.str() << config->GetThermal_Conductivity_ConstantND(); + Unit.str(""); + NonDimTable.PrintFooter(); + break; + default: break; @@ -8906,7 +8923,7 @@ void CFEM_DG_EulerSolver::ComputeInviscidFluxesFace(CConfig *config /* Make a distinction between the several Riemann solvers. */ switch( config->GetRiemann_Solver_FEM() ) { - case ROE: { + case UPWIND::ROE: { /* Roe's approximate Riemann solver. Easier storage of the cut off value for the entropy correction. */ @@ -9151,7 +9168,7 @@ void CFEM_DG_EulerSolver::ComputeInviscidFluxesFace(CConfig *config /*------------------------------------------------------------------------*/ - case LAX_FRIEDRICH: { + case UPWIND::LAX_FRIEDRICH: { /* Local Lax-Friedrich (Rusanov) flux Make a distinction between two and three space dimensions in order to have the most efficient code. */ diff --git a/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp index 98675bc1fa2..2e8352dd647 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp @@ -2,7 +2,7 @@ * \file CFEM_DG_NSSolver.cpp * \brief Main subroutines for solving finite element Navier-Stokes flow problems * \author J. Alonso, E. van der Weide, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp b/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp index fe1e6924bf2..8dbdaeda383 100644 --- a/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp +++ b/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp @@ -2,7 +2,7 @@ * \file CGradientSmoothing.cpp * \brief Main solver routines for the gradient smoothing problem. * \author T. Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 36bc43b524e..d4f385f4a6c 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -2,7 +2,7 @@ * \file CHeatSolver.cpp * \brief Main subroutines for solving the heat equation * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -26,13 +26,21 @@ */ #include "../../include/solvers/CHeatSolver.hpp" +#include #include "../../../Common/include/toolboxes/geometry_toolbox.hpp" +#include "../../include/solvers/CScalarSolver.inl" -CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CSolver(), - flow(config->GetFluidProblem()), heat_equation(config->GetHeatProblem()) { +/*--- Explicit instantiation of the parent class of CHeatSolver. ---*/ +template class CScalarSolver; - /* A grid is defined as dynamic if there's rigid grid movement or grid deformation AND the problem is time domain */ - dynamic_grid = config->GetDynamic_Grid(); +CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) + : CScalarSolver(geometry, config, false), + flow(config->GetFluidProblem()), heat_equation(config->GetHeatProblem()) { + + /*--- This solver will not run with OpenMP yet so force this to false. ---*/ +#ifdef HAVE_OMP + ReducerStrategy = false; +#endif /*--- Dimension of the problem --> temperature is the only conservative variable ---*/ @@ -47,13 +55,6 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM /*--- Define geometry constants in the solver structure ---*/ nDim = geometry->GetnDim(); - nMarker = config->GetnMarker_All(); - - /*--- Store the number of vertices on each marker for deallocation later ---*/ - - nVertex.resize(nMarker); - for (auto iMarker = 0u; iMarker < nMarker; iMarker++) - nVertex[iMarker] = geometry->nVertex[iMarker]; /*--- Define some auxiliary vector related with the residual ---*/ @@ -80,12 +81,6 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (heat equation) MG level: " << iMesh << "." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - auto nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); @@ -176,14 +171,21 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM InitiateComms(geometry, config, SOLUTION); CompleteComms(geometry, config, SOLUTION); - /*--- Add the solver name (max 8 characters) ---*/ + /*--- Store the initial CFL number for all grid points. ---*/ - SolverName = "HEAT"; -} + const su2double CFL = config->GetCFL(MGLevel) * config->GetCFLRedCoeff_Turb(); + SU2_OMP_FOR_STAT(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPoint; iPoint++) { + nodes->SetLocalCFL(iPoint, CFL); + } + END_SU2_OMP_FOR + Min_CFL_Local = CFL; + Max_CFL_Local = CFL; + Avg_CFL_Local = CFL; -CHeatSolver::~CHeatSolver(void) { + /*--- Add the solver name (max 8 characters) ---*/ - delete nodes; + SolverName = "HEAT"; } void CHeatSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) { @@ -195,27 +197,7 @@ void CHeatSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, SetUndivided_Laplacian(geometry, config); } - for (auto iPoint = 0ul; iPoint < nPoint; iPoint ++) { - - /*--- Initialize the residual vector ---*/ - - LinSysRes.SetBlock_Zero(iPoint); - } - - /*--- Initialize the Jacobian matrices ---*/ - - Jacobian.SetValZero(); - - if (config->GetReconstructionGradientRequired()) { - if (config->GetKind_Gradient_Method_Recon() == GREEN_GAUSS) - SetSolution_Gradient_GG(geometry, config, true); - if (config->GetKind_Gradient_Method_Recon() == LEAST_SQUARES) - SetSolution_Gradient_LS(geometry, config, true); - if (config->GetKind_Gradient_Method_Recon() == WEIGHTED_LEAST_SQUARES) - SetSolution_Gradient_LS(geometry, config, true); - } - if (config->GetKind_Gradient_Method() == GREEN_GAUSS) SetSolution_Gradient_GG(geometry, config); - if (config->GetKind_Gradient_Method() == WEIGHTED_LEAST_SQUARES) SetSolution_Gradient_LS(geometry, config); + CommonPreprocessing(geometry, config, Output); } void CHeatSolver::Postprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh) { } @@ -285,23 +267,8 @@ void CHeatSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConfig * /*--- Interpolate the solution down to the coarse multigrid levels ---*/ for (auto iMesh = 1u; iMesh <= config->GetnMGLevels(); iMesh++) { - - for (auto iPoint = 0ul; iPoint < geometry[iMesh]->GetnPoint(); iPoint++) { - const su2double Area_Parent = geometry[iMesh]->nodes->GetVolume(iPoint); - su2double Solution_Coarse[MAXNVAR] = {0.0}; - - for (auto iChildren = 0ul; iChildren < geometry[iMesh]->nodes->GetnChildren_CV(iPoint); iChildren++) { - const auto Point_Fine = geometry[iMesh]->nodes->GetChildren_CV(iPoint, iChildren); - const su2double Area_Children = geometry[iMesh - 1]->nodes->GetVolume(Point_Fine); - const su2double* Solution_Fine = solver[iMesh - 1][HEAT_SOL]->GetNodes()->GetSolution(Point_Fine); - - for (auto iVar = 0u; iVar < nVar; iVar++) { - Solution_Coarse[iVar] += Solution_Fine[iVar] * Area_Children / Area_Parent; - } - } - solver[iMesh][HEAT_SOL]->GetNodes()->SetSolution(iPoint,Solution_Coarse); - } - + MultigridRestriction(*geometry[iMesh - 1], solver[iMesh - 1][HEAT_SOL]->GetNodes()->GetSolution(), + *geometry[iMesh], solver[iMesh][HEAT_SOL]->GetNodes()->GetSolution()); solver[iMesh][HEAT_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION); solver[iMesh][HEAT_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION); @@ -459,63 +426,30 @@ void CHeatSolver::Viscous_Residual(CGeometry *geometry, CSolver **solver_contain CNumerics* numerics = numerics_container[VISC_TERM]; - su2double laminar_viscosity, Prandtl_Lam, Prandtl_Turb, eddy_viscosity_i, eddy_viscosity_j, - thermal_diffusivity_i, thermal_diffusivity_j, Temp_i, Temp_j; - - const bool turb = ((config->GetKind_Solver() == MAIN_SOLVER::INC_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_INC_RANS)); + const CVariable* flow_nodes = flow ? solver_container[FLOW_SOL]->GetNodes() : nullptr; - eddy_viscosity_i = 0.0; - eddy_viscosity_j = 0.0; - laminar_viscosity = config->GetMu_ConstantND(); - Prandtl_Lam = config->GetPrandtl_Lam(); - Prandtl_Turb = config->GetPrandtl_Turb(); + const su2double const_diffusivity = config->GetThermalDiffusivity(); + const su2double pr_lam = config->GetPrandtl_Lam(); + const su2double pr_turb = config->GetPrandtl_Turb(); for (auto iEdge = 0ul; iEdge < geometry->GetnEdge(); iEdge++) { + su2double thermal_diffusivity_i{}, thermal_diffusivity_j{}; - const auto iPoint = geometry->edges->GetNode(iEdge,0); - const auto jPoint = geometry->edges->GetNode(iEdge,1); - - /*--- Points coordinates, and normal vector ---*/ - - numerics->SetCoord(geometry->nodes->GetCoord(iPoint), - geometry->nodes->GetCoord(jPoint)); - numerics->SetNormal(geometry->edges->GetNormal(iEdge)); - - const auto Temp_i_Grad = nodes->GetGradient(iPoint); - const auto Temp_j_Grad = nodes->GetGradient(jPoint); - numerics->SetConsVarGradient(Temp_i_Grad, Temp_j_Grad); - - /*--- Primitive variables w/o reconstruction ---*/ - Temp_i = nodes->GetTemperature(iPoint); - Temp_j = nodes->GetTemperature(jPoint); - numerics->SetTemperature(Temp_i, Temp_j); - - /*--- Eddy viscosity to compute thermal conductivity ---*/ - if (flow) { - if (turb) { - eddy_viscosity_i = solver_container[TURB_SOL]->GetNodes()->GetmuT(iPoint); - eddy_viscosity_j = solver_container[TURB_SOL]->GetNodes()->GetmuT(jPoint); + /*--- Computes the thermal diffusivity to use in the viscous numerics. ---*/ + auto compute_thermal_diffusivity = [&](unsigned long iPoint, unsigned long jPoint) { + if (flow) { + thermal_diffusivity_i = flow_nodes->GetLaminarViscosity(iPoint) / pr_lam + + flow_nodes->GetEddyViscosity(iPoint) / pr_turb; + thermal_diffusivity_j = flow_nodes->GetLaminarViscosity(jPoint) / pr_lam + + flow_nodes->GetEddyViscosity(jPoint) / pr_turb; + numerics->SetDiffusionCoeff(&thermal_diffusivity_i, &thermal_diffusivity_j); } - thermal_diffusivity_i = (laminar_viscosity/Prandtl_Lam) + (eddy_viscosity_i/Prandtl_Turb); - thermal_diffusivity_j = (laminar_viscosity/Prandtl_Lam) + (eddy_viscosity_j/Prandtl_Turb); - } - else { - thermal_diffusivity_i = config->GetThermalDiffusivity(); - thermal_diffusivity_j = config->GetThermalDiffusivity(); - } - - numerics->SetThermalDiffusivity(thermal_diffusivity_i,thermal_diffusivity_j); - - /*--- Compute residual, and Jacobians ---*/ - - numerics->ComputeResidual(Residual, Jacobian_i, Jacobian_j, config); - - /*--- Add and subtract residual, and update Jacobians ---*/ - - LinSysRes.SubtractBlock(iPoint, Residual); - LinSysRes.AddBlock(jPoint, Residual); - - Jacobian.UpdateBlocksSub(iEdge, iPoint, jPoint, Jacobian_i, Jacobian_j); + else { + numerics->SetDiffusionCoeff(&const_diffusivity, &const_diffusivity); + } + }; + /*--- Compute residual and Jacobians. ---*/ + Viscous_Residual_impl(compute_thermal_diffusivity, iEdge, geometry, solver_container, numerics, config); } } @@ -574,52 +508,14 @@ void CHeatSolver::Set_Heatflux_Areas(CGeometry *geometry, CConfig *config) { delete[] Local_Surface_Areas; } -void CHeatSolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, - unsigned short val_marker) { - - unsigned long iPoint, Point_Normal; - su2double *Normal, *Coord_i, *Coord_j, Area, dist_ij, Twall, dTdn; - const bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); - - const su2double laminar_viscosity = config->GetMu_ConstantND(); - const su2double Prandtl_Lam = config->GetPrandtl_Lam(); - const su2double thermal_diffusivity = flow ? laminar_viscosity/Prandtl_Lam : config->GetThermalDiffusivity(); - - //su2double Prandtl_Turb = config->GetPrandtl_Turb(); - //laminar_viscosity = config->GetViscosity_FreeStreamND(); // TDE check for consistency for CHT - - string Marker_Tag = config->GetMarker_All_TagBound(val_marker); +void CHeatSolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, + CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - Twall = config->GetIsothermal_Temperature(Marker_Tag)/config->GetTemperature_Ref(); + const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); + const su2double Twall = config->GetIsothermal_Temperature(Marker_Tag) / config->GetTemperature_Ref(); for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { - - iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - - if (geometry->nodes->GetDomain(iPoint)) { - - Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); - - Normal = geometry->vertex[val_marker][iVertex]->GetNormal(); - Area = GeometryToolbox::Norm(nDim, Normal); - - Coord_i = geometry->nodes->GetCoord(iPoint); - Coord_j = geometry->nodes->GetCoord(Point_Normal); - dist_ij = 0; - for (auto iDim = 0u; iDim < nDim; iDim++) - dist_ij += (Coord_j[iDim]-Coord_i[iDim])*(Coord_j[iDim]-Coord_i[iDim]); - dist_ij = sqrt(dist_ij); - - dTdn = -(nodes->GetTemperature(Point_Normal) - Twall)/dist_ij; - - Res_Visc[0] = thermal_diffusivity*dTdn*Area; - - if(implicit) - Jacobian_i[0][0] = -thermal_diffusivity/dist_ij * Area; - - LinSysRes.SubtractBlock(iPoint, Res_Visc); - Jacobian.SubtractBlock2Diag(iPoint, Jacobian_i); - } + IsothermalBoundaryCondition(geometry, solver_container[FLOW_SOL], config, val_marker, iVertex, Twall); } } @@ -634,19 +530,13 @@ void CHeatSolver::BC_HeatFlux_Wall(CGeometry* geometry, CSolver** solver_contain for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + if (!geometry->nodes->GetDomain(iPoint)) continue; - if (geometry->nodes->GetDomain(iPoint)) { - const auto Normal = geometry->vertex[val_marker][iVertex]->GetNormal(); - const auto Area = GeometryToolbox::Norm(nDim, Normal); - - Res_Visc[0] = 0.0; - - Res_Visc[0] = Wall_HeatFlux * Area; - - /*--- Viscous contribution to the residual at the wall ---*/ - - LinSysRes.SubtractBlock(iPoint, Res_Visc); - } + /*--- Viscous contribution to the residual at the wall. ---*/ + const auto* Normal = geometry->vertex[val_marker][iVertex]->GetNormal(); + const su2double Area = GeometryToolbox::Norm(nDim, Normal); + const su2double flux = Wall_HeatFlux * Area; + LinSysRes(iPoint, 0) -= flux; } } @@ -654,23 +544,16 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { unsigned short iDim; - unsigned long iVertex, iPoint, Point_Normal; + unsigned long iVertex, iPoint; su2double Vel_Mag, *V_inlet, *V_domain; - bool viscous = config->GetViscous(); - bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); - string Marker_Tag = config->GetMarker_All_TagBound(val_marker); + const bool viscous = config->GetViscous(); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); su2double Normal[MAXNDIM]; - su2double *Coord_i, *Coord_j, Area, dist_ij, laminar_viscosity, thermal_diffusivity, Twall, dTdn, Prandtl_Lam; - //su2double Prandtl_Turb; - Prandtl_Lam = config->GetPrandtl_Lam(); -// Prandtl_Turb = config->GetPrandtl_Turb(); - laminar_viscosity = config->GetMu_ConstantND(); - //laminar_viscosity = config->GetViscosity_FreeStreamND(); //TDE check for consistency with CHT - - Twall = config->GetTemperature_FreeStreamND(); + const su2double Twall = config->GetTemperature_FreeStreamND(); for (iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { @@ -681,7 +564,7 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, geometry->vertex[val_marker][iVertex]->GetNormal(Normal); for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; - if(flow) { + if (flow) { /*--- Normal vector for this vertex (negate for outward convention) ---*/ @@ -725,33 +608,7 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, /*--- Viscous contribution ---*/ if (viscous) { - - Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); - - geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - Area = GeometryToolbox::Norm(nDim, Normal); - - Coord_i = geometry->nodes->GetCoord(iPoint); - Coord_j = geometry->nodes->GetCoord(Point_Normal); - dist_ij = 0; - for (iDim = 0; iDim < nDim; iDim++) - dist_ij += (Coord_j[iDim]-Coord_i[iDim])*(Coord_j[iDim]-Coord_i[iDim]); - dist_ij = sqrt(dist_ij); - - dTdn = -(nodes->GetTemperature(Point_Normal) - Twall)/dist_ij; - - thermal_diffusivity = laminar_viscosity/Prandtl_Lam; - - Res_Visc[0] = thermal_diffusivity*dTdn*Area; - - if(implicit) { - - Jacobian_i[0][0] = -thermal_diffusivity/dist_ij * Area; - } - /*--- Viscous contribution to the residual at the wall ---*/ - - LinSysRes.SubtractBlock(iPoint, Res_Visc); - Jacobian.SubtractBlock2Diag(iPoint, Jacobian_i); + IsothermalBoundaryCondition(geometry, solver_container[FLOW_SOL], config, val_marker, iVertex, Twall); } } } @@ -889,20 +746,6 @@ void CHeatSolver::BC_ConjugateHeat_Interface(CGeometry *geometry, CSolver **solv } } -void CHeatSolver::BC_Periodic(CGeometry* geometry, CSolver** solver_container, CNumerics* numerics, - CConfig* config) { - /*--- Complete residuals for periodic boundary conditions. We loop over - the periodic BCs in matching pairs so that, in the event that there are - adjacent periodic markers, the repeated points will have their residuals - accumulated corectly during the communications. For implicit calculations - the Jacobians and linear system are also correctly adjusted here. ---*/ - - for (unsigned short iPeriodic = 1; iPeriodic <= config->GetnMarker_Periodic() / 2; iPeriodic++) { - InitiatePeriodicComms(geometry, config, iPeriodic, PERIODIC_RESIDUAL); - CompletePeriodicComms(geometry, config, iPeriodic, PERIODIC_RESIDUAL); - } -} - void CHeatSolver::Heat_Fluxes(CGeometry *geometry, CSolver **solver_container, CConfig *config) { unsigned long iPointNormal; @@ -1019,346 +862,219 @@ void CHeatSolver::Heat_Fluxes(CGeometry *geometry, CSolver **solver_container, C void CHeatSolver::SetTime_Step(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned long Iteration) { - unsigned long iPoint, jPoint; - su2double Area, Vol, laminar_viscosity, eddy_viscosity, thermal_diffusivity, Prandtl_Lam, Prandtl_Turb, Mean_ProjVel, Mean_BetaInc2, Mean_DensityInc, Mean_SoundSpeed, Lambda; - su2double Global_Delta_Time = 0.0, Global_Delta_UnstTimeND = 0.0, Local_Delta_Time = 0.0, Local_Delta_Time_Inv, Local_Delta_Time_Visc, CFL_Reduction, K_v = 0.25; - const su2double* Normal; + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + const bool time_stepping = (config->GetTime_Marching() == TIME_MARCHING::TIME_STEPPING); + const bool dual_time = (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || + (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND); + const su2double K_v = 0.25; - const bool turb = ((config->GetKind_Solver() == MAIN_SOLVER::INC_RANS) || (config->GetKind_Solver() == MAIN_SOLVER::DISC_ADJ_INC_RANS)); - const bool dual_time = ((config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || - (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND)); - const bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); + const su2double prandtl_lam = config->GetPrandtl_Lam(); + const su2double prandtl_turb = config->GetPrandtl_Turb(); + const su2double constant_thermal_diffusivity = config->GetThermalDiffusivity(); - eddy_viscosity = 0.0; - laminar_viscosity = config->GetMu_ConstantND(); - Prandtl_Lam = config->GetPrandtl_Lam(); - Prandtl_Turb = config->GetPrandtl_Turb(); + const CVariable* flow_nodes = solver_container[FLOW_SOL] ? solver_container[FLOW_SOL]->GetNodes() : nullptr; - thermal_diffusivity = config->GetThermalDiffusivity(); + /*--- Init thread-shared variables to compute min/max values. + * Critical sections are used for this instead of reduction + * clauses for compatibility with OpenMP 2.0 (Windows...). ---*/ + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS { + Min_Delta_Time = 1e30; + Max_Delta_Time = 0.0; + Global_Delta_UnstTimeND = 1e30; + } END_SU2_OMP_SAFE_GLOBAL_ACCESS - /*--- Compute spectral radius based on thermal conductivity ---*/ + /*--- Loop domain points. ---*/ - Min_Delta_Time = 1.E30; Max_Delta_Time = 0.0; - CFL_Reduction = config->GetCFLRedCoeff_Turb(); + SU2_OMP_FOR_DYN(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPointDomain; ++iPoint) { - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - nodes->SetMax_Lambda_Inv(iPoint,0.0); - nodes->SetMax_Lambda_Visc(iPoint,0.0); - } + /*--- Set maximum eigenvalues to zero. ---*/ - /*--- Loop interior edges ---*/ - - for (auto iEdge = 0ul; iEdge < geometry->GetnEdge(); iEdge++) { + nodes->SetMax_Lambda_Visc(iPoint, 0.0); - iPoint = geometry->edges->GetNode(iEdge,0); - jPoint = geometry->edges->GetNode(iEdge,1); + /*--- Loop over the neighbors of point i. ---*/ - /*--- get the edge's normal vector to compute the edge's area ---*/ - Normal = geometry->edges->GetNormal(iEdge); - Area = GeometryToolbox::Norm(nDim, Normal); + for (unsigned short iNeigh = 0; iNeigh < geometry->nodes->GetnPoint(iPoint); ++iNeigh) { + const auto jPoint = geometry->nodes->GetPoint(iPoint,iNeigh); + const auto iEdge = geometry->nodes->GetEdge(iPoint,iNeigh); + const auto* Normal = geometry->edges->GetNormal(iEdge); + const su2double Area2 = GeometryToolbox::SquaredNorm(nDim, Normal); - /*--- Inviscid contribution ---*/ - - if (flow) { - Mean_ProjVel = 0.5 * (solver_container[FLOW_SOL]->GetNodes()->GetProjVel(iPoint,Normal) + solver_container[FLOW_SOL]->GetNodes()->GetProjVel(jPoint,Normal)); - Mean_BetaInc2 = 0.5 * (solver_container[FLOW_SOL]->GetNodes()->GetBetaInc2(iPoint) + solver_container[FLOW_SOL]->GetNodes()->GetBetaInc2(jPoint)); - Mean_DensityInc = 0.5 * (solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint) + solver_container[FLOW_SOL]->GetNodes()->GetDensity(jPoint)); - Mean_SoundSpeed = sqrt(Mean_ProjVel*Mean_ProjVel + (Mean_BetaInc2/Mean_DensityInc)*Area*Area); - - Lambda = fabs(Mean_ProjVel) + Mean_SoundSpeed; - if (geometry->nodes->GetDomain(iPoint)) nodes->AddMax_Lambda_Inv(iPoint, Lambda); - if (geometry->nodes->GetDomain(jPoint)) nodes->AddMax_Lambda_Inv(jPoint, Lambda); - } - - /*--- Viscous contribution ---*/ - - thermal_diffusivity = config->GetThermalDiffusivity(); - if(flow) { - if(turb) { - eddy_viscosity = solver_container[TURB_SOL]->GetNodes()->GetmuT(iPoint); + if (flow) { + const su2double laminar_viscosity = 0.5 * (flow_nodes->GetLaminarViscosity(iPoint) + + flow_nodes->GetLaminarViscosity(jPoint)); + const su2double eddy_viscosity = 0.5 * (flow_nodes->GetEddyViscosity(iPoint) + + flow_nodes->GetEddyViscosity(jPoint)); + + const su2double thermal_diffusivity = laminar_viscosity / prandtl_lam + eddy_viscosity / prandtl_turb; + nodes->AddMax_Lambda_Visc(iPoint, thermal_diffusivity * Area2); + } else { + nodes->AddMax_Lambda_Visc(iPoint, constant_thermal_diffusivity * Area2); } - - thermal_diffusivity = laminar_viscosity/Prandtl_Lam + eddy_viscosity/Prandtl_Turb; } - - Lambda = thermal_diffusivity*Area*Area; - if (geometry->nodes->GetDomain(iPoint)) nodes->AddMax_Lambda_Visc(iPoint, Lambda); - if (geometry->nodes->GetDomain(jPoint)) nodes->AddMax_Lambda_Visc(jPoint, Lambda); - } + END_SU2_OMP_FOR /*--- Loop boundary edges ---*/ - for (auto iMarker = 0u; iMarker < geometry->GetnMarker(); iMarker++) { - for (auto iVertex = 0ul; iVertex < geometry->GetnVertex(iMarker); iVertex++) { + for (unsigned short iMarker = 0; iMarker < geometry->GetnMarker(); iMarker++) { + if ((config->GetMarker_All_KindBC(iMarker) != INTERNAL_BOUNDARY) && + (config->GetMarker_All_KindBC(iMarker) != NEARFIELD_BOUNDARY) && + (config->GetMarker_All_KindBC(iMarker) != PERIODIC_BOUNDARY)) { - /*--- Point identification, Normal vector and area ---*/ + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) + for (auto iVertex = 0ul; iVertex < geometry->GetnVertex(iMarker); iVertex++) { - iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); - Normal = geometry->vertex[iMarker][iVertex]->GetNormal(); - Area = GeometryToolbox::Norm(nDim, Normal); + /*--- Point identification, Normal vector and area ---*/ - /*--- Inviscid contribution ---*/ + const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); - if (flow) { - Mean_ProjVel = solver_container[FLOW_SOL]->GetNodes()->GetProjVel(iPoint, Normal); - Mean_BetaInc2 = solver_container[FLOW_SOL]->GetNodes()->GetBetaInc2(iPoint); - Mean_DensityInc = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); - Mean_SoundSpeed = sqrt(Mean_ProjVel*Mean_ProjVel + (Mean_BetaInc2/Mean_DensityInc)*Area*Area); + if (!geometry->nodes->GetDomain(iPoint)) continue; - Lambda = fabs(Mean_ProjVel) + Mean_SoundSpeed; - if (geometry->nodes->GetDomain(iPoint)) nodes->AddMax_Lambda_Inv(iPoint, Lambda); - } + const auto* Normal = geometry->vertex[iMarker][iVertex]->GetNormal(); + const su2double Area2 = GeometryToolbox::SquaredNorm(nDim, Normal); - /*--- Viscous contribution ---*/ - - thermal_diffusivity = config->GetThermalDiffusivity(); - if(flow) { - if(turb) { - eddy_viscosity = solver_container[TURB_SOL]->GetNodes()->GetmuT(iPoint); + if (flow) { + const su2double thermal_diffusivity = flow_nodes->GetLaminarViscosity(iPoint) / prandtl_lam + + flow_nodes->GetEddyViscosity(iPoint) / prandtl_turb; + nodes->AddMax_Lambda_Visc(iPoint, thermal_diffusivity * Area2); + } else { + nodes->AddMax_Lambda_Visc(iPoint, constant_thermal_diffusivity * Area2); } - - thermal_diffusivity = laminar_viscosity/Prandtl_Lam + eddy_viscosity/Prandtl_Turb; } - - Lambda = thermal_diffusivity*Area*Area; - if (geometry->nodes->GetDomain(iPoint)) nodes->AddMax_Lambda_Visc(iPoint, Lambda); - + END_SU2_OMP_FOR } } - /*--- Each element uses their own speed, steady state simulation ---*/ - - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - - Vol = geometry->nodes->GetVolume(iPoint); - - if (Vol != 0.0) { - - if(flow) { - Local_Delta_Time_Inv = config->GetCFL(iMesh)*Vol / nodes->GetMax_Lambda_Inv(iPoint); - Local_Delta_Time_Visc = config->GetCFL(iMesh)*K_v*Vol*Vol/ nodes->GetMax_Lambda_Visc(iPoint); - } - else { - Local_Delta_Time_Inv = config->GetMax_DeltaTime(); - Local_Delta_Time_Visc = config->GetCFL(iMesh)*K_v*Vol*Vol/ nodes->GetMax_Lambda_Visc(iPoint); - //Local_Delta_Time_Visc = 100.0*K_v*Vol*Vol/ nodes->GetMax_Lambda_Visc(iPoint); - } + /*--- Each element uses their own speed, steady state simulation. ---*/ + { + /*--- Thread-local variables for min/max reduction. ---*/ + su2double minDt = 1e30, maxDt = 0.0; - /*--- Time step setting method ---*/ + SU2_OMP_FOR_(schedule(static,omp_chunk_size) SU2_NOWAIT) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - if (config->GetKind_TimeStep_Heat() == BYFLOW && flow) { - Local_Delta_Time = solver_container[FLOW_SOL]->GetNodes()->GetDelta_Time(iPoint); - } - else if (config->GetKind_TimeStep_Heat() == MINIMUM) { - Local_Delta_Time = min(Local_Delta_Time_Inv, Local_Delta_Time_Visc); - } - else if (config->GetKind_TimeStep_Heat() == CONVECTIVE) { - Local_Delta_Time = Local_Delta_Time_Inv; - } - else if (config->GetKind_TimeStep_Heat() == VISCOUS) { - Local_Delta_Time = Local_Delta_Time_Visc; + su2double local_delta_time = 0.0; + + const su2double Vol = geometry->nodes->GetVolume(iPoint); + if (Vol != 0.0) { + local_delta_time = nodes->GetLocalCFL(iPoint) * K_v * pow(Vol, 2) / nodes->GetMax_Lambda_Visc(iPoint); + if (flow) { + switch (config->GetKind_TimeStep_Heat()) { + case BYFLOW: + case CONVECTIVE: + local_delta_time = flow_nodes->GetDelta_Time(iPoint); + break; + case MINIMUM: + local_delta_time = min(local_delta_time, flow_nodes->GetDelta_Time(iPoint)); + break; + case VISCOUS: + break; + default: + break; + } + } + minDt = min(minDt, local_delta_time); + maxDt = max(maxDt, local_delta_time); } - - /*--- Min-Max-Logic ---*/ - - Global_Delta_Time = min(Global_Delta_Time, Local_Delta_Time); - Min_Delta_Time = min(Min_Delta_Time, Local_Delta_Time); - Max_Delta_Time = max(Max_Delta_Time, Local_Delta_Time); - if (Local_Delta_Time > config->GetMax_DeltaTime()) - Local_Delta_Time = config->GetMax_DeltaTime(); - - nodes->SetDelta_Time(iPoint,CFL_Reduction*Local_Delta_Time); + nodes->SetDelta_Time(iPoint, local_delta_time); } - else { - nodes->SetDelta_Time(iPoint,0.0); + END_SU2_OMP_FOR + /*--- Min/max over threads. ---*/ + SU2_OMP_CRITICAL + { + Min_Delta_Time = min(Min_Delta_Time, minDt); + Max_Delta_Time = max(Max_Delta_Time, maxDt); + Global_Delta_Time = Min_Delta_Time; } + END_SU2_OMP_CRITICAL } - /*--- Compute the max and the min dt (in parallel) ---*/ - if (config->GetComm_Level() == COMM_FULL) { -#ifdef HAVE_MPI - su2double rbuf_time, sbuf_time; - sbuf_time = Min_Delta_Time; - SU2_MPI::Reduce(&sbuf_time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, MASTER_NODE, SU2_MPI::GetComm()); - SU2_MPI::Bcast(&rbuf_time, 1, MPI_DOUBLE, MASTER_NODE, SU2_MPI::GetComm()); - Min_Delta_Time = rbuf_time; - - sbuf_time = Max_Delta_Time; - SU2_MPI::Reduce(&sbuf_time, &rbuf_time, 1, MPI_DOUBLE, MPI_MAX, MASTER_NODE, SU2_MPI::GetComm()); - SU2_MPI::Bcast(&rbuf_time, 1, MPI_DOUBLE, MASTER_NODE, SU2_MPI::GetComm()); - Max_Delta_Time = rbuf_time; -#endif - } + /*--- Compute the min/max dt (in parallel, now over mpi ranks). ---*/ - /*--- For exact time solution use the minimum delta time of the whole mesh ---*/ - if (config->GetTime_Marching() == TIME_MARCHING::TIME_STEPPING) { -#ifdef HAVE_MPI - su2double rbuf_time, sbuf_time; - sbuf_time = Global_Delta_Time; - SU2_MPI::Reduce(&sbuf_time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, MASTER_NODE, SU2_MPI::GetComm()); - SU2_MPI::Bcast(&rbuf_time, 1, MPI_DOUBLE, MASTER_NODE, SU2_MPI::GetComm()); - Global_Delta_Time = rbuf_time; -#endif - for (iPoint = 0; iPoint < nPointDomain; iPoint++) - nodes->SetDelta_Time(iPoint,Global_Delta_Time); - } + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS { + if (config->GetComm_Level() == COMM_FULL) { + su2double rbuf_time; + SU2_MPI::Allreduce(&Min_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, SU2_MPI::GetComm()); + Min_Delta_Time = rbuf_time; - /*--- Recompute the unsteady time step for the dual time strategy - if the unsteady CFL is diferent from 0 ---*/ - if ((dual_time) && (Iteration == 0) && (config->GetUnst_CFL() != 0.0) && (iMesh == MESH_0)) { - Global_Delta_UnstTimeND = config->GetUnst_CFL()*Global_Delta_Time/config->GetCFL(iMesh); - -#ifdef HAVE_MPI - su2double rbuf_time, sbuf_time; - sbuf_time = Global_Delta_UnstTimeND; - SU2_MPI::Reduce(&sbuf_time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, MASTER_NODE, SU2_MPI::GetComm()); - SU2_MPI::Bcast(&rbuf_time, 1, MPI_DOUBLE, MASTER_NODE, SU2_MPI::GetComm()); - Global_Delta_UnstTimeND = rbuf_time; -#endif - config->SetDelta_UnstTimeND(Global_Delta_UnstTimeND); - } + SU2_MPI::Allreduce(&Max_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MAX, SU2_MPI::GetComm()); + Max_Delta_Time = rbuf_time; + } + } END_SU2_OMP_SAFE_GLOBAL_ACCESS - /*--- The pseudo local time (explicit integration) cannot be greater than the physical time ---*/ - if (dual_time) - for (iPoint = 0; iPoint < nPointDomain; iPoint++) { - if (!implicit) { - cout << "Using unsteady time: " << config->GetDelta_UnstTimeND() << endl; - Local_Delta_Time = min((2.0/3.0)*config->GetDelta_UnstTimeND(), nodes->GetDelta_Time(iPoint)); - nodes->SetDelta_Time(iPoint,Local_Delta_Time); - } - } -} + /*--- For exact time solution use the minimum delta time of the whole mesh. ---*/ + if (time_stepping) { -void CHeatSolver::ExplicitEuler_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config) { + /*--- If the unsteady CFL is set to zero, it uses the defined unsteady time step, + * otherwise it computes the time step based on the unsteady CFL. ---*/ - su2double *local_Residual, *local_Res_TruncError, Vol, Delta, Res; + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS + { + if (config->GetUnst_CFL() == 0.0) { + Global_Delta_Time = config->GetDelta_UnstTime(); + } + else { + Global_Delta_Time = Min_Delta_Time; + } + Max_Delta_Time = Global_Delta_Time; - SetResToZero(); + config->SetDelta_UnstTimeND(Global_Delta_Time); + } + END_SU2_OMP_SAFE_GLOBAL_ACCESS - /*--- Update the solution ---*/ + /*--- Sets the regular CFL equal to the unsteady CFL. ---*/ - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - Vol = geometry->nodes->GetVolume(iPoint); - Delta = nodes->GetDelta_Time(iPoint) / Vol; - - local_Res_TruncError = nodes->GetResTruncError(iPoint); - local_Residual = LinSysRes.GetBlock(iPoint); - - if (!config->GetContinuous_Adjoint()) { - for (auto iVar = 0u; iVar < nVar; iVar++) { - Res = local_Residual[iVar] + local_Res_TruncError[iVar]; - nodes->AddSolution(iPoint,iVar, -Res*Delta); - Residual_RMS[iVar] += Res*Res; - AddRes_Max(iVar, fabs(Res), geometry->nodes->GetGlobalIndex(iPoint), geometry->nodes->GetCoord(iPoint)); - } + SU2_OMP_FOR_STAT(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { + nodes->SetLocalCFL(iPoint, config->GetUnst_CFL()); + nodes->SetDelta_Time(iPoint, Global_Delta_Time); } + END_SU2_OMP_FOR } - /*--- MPI solution ---*/ - - InitiateComms(geometry, config, SOLUTION); - CompleteComms(geometry, config, SOLUTION); - - /*--- Compute the root mean square residual ---*/ - - SetResidual_RMS(geometry, config); - -} - - -void CHeatSolver::ImplicitEuler_Iteration(CGeometry *geometry, CSolver **solver_container, CConfig *config) { + /*--- Recompute the unsteady time step for the dual time strategy if the unsteady CFL is diferent from 0. + * This is only done once because in dual time the time step cannot be variable. ---*/ - /*--- Set maximum residual to zero ---*/ + if (dual_time && (Iteration == config->GetRestart_Iter()) && (config->GetUnst_CFL() != 0.0) && (iMesh == MESH_0)) { - SetResToZero(); + /*--- Thread-local variable for reduction. ---*/ + su2double glbDtND = 1e30; - /*--- Build implicit system ---*/ - - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - - /*--- Read the residual ---*/ - - su2double* local_Res_TruncError = nodes->GetResTruncError(iPoint); - - /*--- Modify matrix diagonal to assure diagonal dominance ---*/ - - const su2double dt = nodes->GetDelta_Time(iPoint); - if (dt != 0.0) { - /*--- For nodes on periodic boundaries, add the respective partner volume. ---*/ - // Identical for flow and heat - const su2double Vol = geometry->nodes->GetVolume(iPoint) + geometry->nodes->GetPeriodicVolume(iPoint); - Jacobian.AddVal2Diag(iPoint, Vol / dt); - - } else { - Jacobian.SetVal2Diag(iPoint, 1.0); - for (auto iVar = 0u; iVar < nVar; iVar++) { - const auto total_index = iPoint*nVar + iVar; - LinSysRes[total_index] = 0.0; - local_Res_TruncError[iVar] = 0.0; - } - } - - /*--- Right hand side of the system (-Residual) and initial guess (x = 0) ---*/ - - for (auto iVar = 0; iVar < nVar; iVar++) { - const auto total_index = iPoint*nVar+iVar; - LinSysRes[total_index] = - (LinSysRes[total_index] + local_Res_TruncError[iVar]); - LinSysSol[total_index] = 0.0; - Residual_RMS[iVar] += LinSysRes[total_index]*LinSysRes[total_index]; - AddRes_Max(iVar, fabs(LinSysRes[total_index]), geometry->nodes->GetGlobalIndex(iPoint), geometry->nodes->GetCoord(iPoint)); + SU2_OMP_FOR_(schedule(static,omp_chunk_size) SU2_NOWAIT) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { + glbDtND = min(glbDtND, config->GetUnst_CFL()*Global_Delta_Time / nodes->GetLocalCFL(iPoint)); } - } + END_SU2_OMP_FOR + SU2_OMP_CRITICAL + Global_Delta_UnstTimeND = min(Global_Delta_UnstTimeND, glbDtND); + END_SU2_OMP_CRITICAL - /*--- Initialize residual and solution at the ghost points ---*/ + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS + { + SU2_MPI::Allreduce(&Global_Delta_UnstTimeND, &glbDtND, 1, MPI_DOUBLE, MPI_MIN, SU2_MPI::GetComm()); + Global_Delta_UnstTimeND = glbDtND; - for (auto iPoint = nPointDomain; iPoint < nPoint; iPoint++) { - for (auto iVar = 0u; iVar < nVar; iVar++) { - const auto total_index = iPoint*nVar + iVar; - LinSysRes[total_index] = 0.0; - LinSysSol[total_index] = 0.0; + config->SetDelta_UnstTimeND(Global_Delta_UnstTimeND); } + END_SU2_OMP_SAFE_GLOBAL_ACCESS } - /*--- Solve or smooth the linear system ---*/ - - auto iter = System.Solve(Jacobian, LinSysRes, LinSysSol, geometry, config); - - /*--- Store the the number of iterations of the linear solver ---*/ - SetIterLinSolver(iter); - - /*--- Store the value of the residual. ---*/ - SetResLinSolver(System.GetResidual()); + /*--- The pseudo local time (explicit integration) cannot be greater than the physical time ---*/ - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - for (auto iVar = 0u; iVar < nVar; iVar++) { - nodes->AddSolution(iPoint,iVar, LinSysSol[iPoint*nVar+iVar]); + if (dual_time && !implicit) { + SU2_OMP_FOR_STAT(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { + su2double dt = min((2.0/3.0)*config->GetDelta_UnstTimeND(), nodes->GetDelta_Time(iPoint)); + nodes->SetDelta_Time(iPoint, dt); } + END_SU2_OMP_FOR } - - /*--- Synchronize the solution between master and passive periodic nodes after the linear solve. ---*/ - for (unsigned short iPeriodic = 1; iPeriodic <= config->GetnMarker_Periodic() / 2; iPeriodic++) { - InitiatePeriodicComms(geometry, config, iPeriodic, PERIODIC_IMPLICIT); - CompletePeriodicComms(geometry, config, iPeriodic, PERIODIC_IMPLICIT); - } - - /*--- MPI solution ---*/ - - InitiateComms(geometry, config, SOLUTION); - CompleteComms(geometry, config, SOLUTION); - - /*--- Compute the root mean square residual ---*/ - - SetResidual_RMS(geometry, config); - } void CHeatSolver::SetInitialCondition(CGeometry **geometry, CSolver ***solver_container, CConfig *config, unsigned long TimeIter) { - unsigned long Point_Fine; - su2double Area_Children, Area_Parent, *Solution_Fine; - const bool restart = (config->GetRestart() || config->GetRestart_Flow()); const bool dual_time = ((config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND)); @@ -1368,21 +1084,9 @@ void CHeatSolver::SetInitialCondition(CGeometry **geometry, CSolver ***solver_co if (restart && (TimeIter == 0)) { - su2double Solution[MAXNVAR]; for (auto iMesh = 1u; iMesh <= config->GetnMGLevels(); iMesh++) { - for (auto iPoint = 0ul; iPoint < geometry[iMesh]->GetnPoint(); iPoint++) { - Area_Parent = geometry[iMesh]->nodes->GetVolume(iPoint); - for (auto iVar = 0u; iVar < nVar; iVar++) Solution[iVar] = 0.0; - for (auto iChildren = 0ul; iChildren < geometry[iMesh]->nodes->GetnChildren_CV(iPoint); iChildren++) { - Point_Fine = geometry[iMesh]->nodes->GetChildren_CV(iPoint, iChildren); - Area_Children = geometry[iMesh-1]->nodes->GetVolume(Point_Fine); - Solution_Fine = solver_container[iMesh-1][HEAT_SOL]->GetNodes()->GetSolution(Point_Fine); - for (auto iVar = 0u; iVar < nVar; iVar++) { - Solution[iVar] += Solution_Fine[iVar]*Area_Children/Area_Parent; - } - } - solver_container[iMesh][HEAT_SOL]->GetNodes()->SetSolution(iPoint,Solution); - } + MultigridRestriction(*geometry[iMesh - 1], solver_container[iMesh - 1][HEAT_SOL]->GetNodes()->GetSolution(), + *geometry[iMesh], solver_container[iMesh][HEAT_SOL]->GetNodes()->GetSolution()); solver_container[iMesh][HEAT_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION); solver_container[iMesh][HEAT_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION); } @@ -1418,67 +1122,57 @@ void CHeatSolver::SetInitialCondition(CGeometry **geometry, CSolver ***solver_co void CHeatSolver::SetResidual_DualTime(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iRKStep, unsigned short iMesh, unsigned short RunTime_EqSystem) { - - /*--- Local variables ---*/ - - const su2double *U_time_n, *U_time_nP1, *U_time_nM1; - su2double Volume_nP1; - + if (flow) { + CScalarSolver::SetResidual_DualTime(geometry, solver_container, config, iRKStep, iMesh, RunTime_EqSystem); + return; + } const bool first_order = (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST); const bool second_order = (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND); - const bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); /*--- Store the physical time step ---*/ const su2double TimeStep = config->GetDelta_UnstTimeND(); - /*--- Compute the dual time-stepping source term for static meshes ---*/ - - if (!dynamic_grid) { + /*--- Compute the dual time-stepping source term ---*/ + /*--- Loop over all nodes (excluding halos) ---*/ - /*--- Loop over all nodes (excluding halos) ---*/ - - for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { + AD::StartNoSharedReading(); - /*--- Retrieve the solution at time levels n-1, n, and n+1. Note that - we are currently iterating on U^n+1 and that U^n & U^n-1 are fixed, - previous solutions that are stored in memory. ---*/ - - U_time_nM1 = nodes->GetSolution_time_n1(iPoint); - U_time_n = nodes->GetSolution_time_n(iPoint); - U_time_nP1 = nodes->GetSolution(iPoint); + SU2_OMP_FOR_STAT(omp_chunk_size) + for (auto iPoint = 0ul; iPoint < nPointDomain; iPoint++) { - /*--- CV volume at time n+1. As we are on a static mesh, the volume - of the CV will remained fixed for all time steps. ---*/ + /*--- Retrieve the solution at time levels n-1, n, and n+1. Note that + we are currently iterating on U^n+1 and that U^n & U^n-1 are fixed, + previous solutions that are stored in memory. ---*/ - Volume_nP1 = geometry->nodes->GetVolume(iPoint); + const auto* U_time_nM1 = nodes->GetSolution_time_n1(iPoint); + const auto* U_time_n = nodes->GetSolution_time_n(iPoint); + const auto* U_time_nP1 = nodes->GetSolution(iPoint); - /*--- Compute the dual time-stepping source term based on the chosen - time discretization scheme (1st- or 2nd-order).---*/ + /*--- CV volume at time n+1. As we are on a static mesh, the volume + of the CV will remained fixed for all time steps. ---*/ - for (auto iVar = 0u; iVar < nVar; iVar++) { - if (first_order) - Residual[iVar] = (U_time_nP1[iVar] - U_time_n[iVar])*Volume_nP1 / TimeStep; - if (second_order) - Residual[iVar] = ( 3.0*U_time_nP1[iVar] - 4.0*U_time_n[iVar] - +1.0*U_time_nM1[iVar])*Volume_nP1 / (2.0*TimeStep); - } + const su2double Volume_nP1 = geometry->nodes->GetVolume(iPoint); - /*--- Store the residual and compute the Jacobian contribution due - to the dual time source term. ---*/ + /*--- Compute the dual time-stepping source term based on the chosen + time discretization scheme (1st- or 2nd-order).---*/ - LinSysRes.AddBlock(iPoint, Residual); - if (implicit) { - for (auto iVar = 0u; iVar < nVar; iVar++) { - for (auto jVar = 0u; jVar < nVar; jVar++) Jacobian_i[iVar][jVar] = 0.0; - if (first_order) - Jacobian_i[iVar][iVar] = Volume_nP1 / TimeStep; - if (second_order) - Jacobian_i[iVar][iVar] = (Volume_nP1*3.0)/(2.0*TimeStep); - } + for (auto iVar = 0u; iVar < nVar; iVar++) { + if (first_order) + LinSysRes(iPoint, iVar) += (U_time_nP1[iVar] - U_time_n[iVar]) * Volume_nP1 / TimeStep; + if (second_order) + LinSysRes(iPoint, iVar) += (3.0 * U_time_nP1[iVar] - 4.0 * U_time_n[iVar] + + 1.0 * U_time_nM1[iVar]) * Volume_nP1 / (2.0 * TimeStep); + } - Jacobian.AddBlock2Diag(iPoint, Jacobian_i); - } + /*--- Compute the Jacobian contribution due to the dual time source term. ---*/ + if (implicit) { + if (first_order) Jacobian.AddVal2Diag(iPoint, Volume_nP1 / TimeStep); + if (second_order) Jacobian.AddVal2Diag(iPoint, (Volume_nP1 * 3.0) / (2.0 * TimeStep)); } } + END_SU2_OMP_FOR + + AD::EndNoSharedReading(); } diff --git a/SU2_CFD/src/solvers/CIncEulerSolver.cpp b/SU2_CFD/src/solvers/CIncEulerSolver.cpp index 371055f31bb..8ba501758d6 100644 --- a/SU2_CFD/src/solvers/CIncEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CIncEulerSolver.cpp @@ -2,7 +2,7 @@ * \file CIncEulerSolver.cpp * \brief Main subroutines for solving incompressible flow (Euler, Navier-Stokes, etc.). * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -45,7 +45,7 @@ CIncEulerSolver::CIncEulerSolver(CGeometry *geometry, CConfig *config, unsigned * being called by itself, or by its derived class CIncNSSolver. ---*/ const string description = navier_stokes? "Navier-Stokes" : "Euler"; - unsigned short iMarker, nLineLets; + unsigned short iMarker; ifstream restart_file; unsigned short nZone = geometry->GetnZone(); bool restart = (config->GetRestart() || config->GetRestart_Flow()); @@ -161,11 +161,6 @@ CIncEulerSolver::CIncEulerSolver(CGeometry *geometry, CConfig *config, unsigned cout << "Initialize Jacobian structure (" << description << "). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } } else { if (rank == MASTER_NODE) @@ -222,6 +217,10 @@ CIncEulerSolver::CIncEulerSolver(CGeometry *geometry, CConfig *config, unsigned CommunicateInitialState(geometry, config); + /*--- Sizing edge mass flux array ---*/ + if (config->GetBounded_Scalar()) + EdgeMassFluxes.resize(geometry->GetnEdge()) = su2double(0.0); + /*--- Add the solver name (max 8 characters) ---*/ SolverName = "INC.FLOW"; @@ -324,10 +323,9 @@ void CIncEulerSolver::SetNondimensionalization(CConfig *config, unsigned short i case FLUID_MIXTURE: config->SetGas_Constant(UNIVERSAL_GAS_CONSTANT / (config->GetMolecular_Weight() / 1000.0)); - Pressure_Thermodynamic = Density_FreeStream * Temperature_FreeStream * config->GetGas_Constant(); + Pressure_Thermodynamic = config->GetPressure_Thermodynamic(); auxFluidModel = new CFluidScalar(config->GetSpecific_Heat_Cp(), config->GetGas_Constant(), Pressure_Thermodynamic, config); auxFluidModel->SetTDState_T(Temperature_FreeStream, config->GetSpecies_Init()); - config->SetPressure_Thermodynamic(Pressure_Thermodynamic); break; default: @@ -627,6 +625,15 @@ void CIncEulerSolver::SetNondimensionalization(CConfig *config, unsigned short i NonDimTable.PrintFooter(); break; + case VISCOSITYMODEL::COOLPROP: + ModelTable << "COOLPROP_VISCOSITY"; + if (config->GetSystemMeasurements() == SI) Unit << "N.s/m^2"; + else if (config->GetSystemMeasurements() == US) Unit << "lbf.s/ft^2"; + NonDimTable << "Viscosity" << "--" << "--" << Unit.str() << config->GetMu_ConstantND(); + Unit.str(""); + NonDimTable.PrintFooter(); + break; + case VISCOSITYMODEL::SUTHERLAND: ModelTable << "SUTHERLAND"; if (config->GetSystemMeasurements() == SI) Unit << "N.s/m^2"; @@ -675,6 +682,14 @@ void CIncEulerSolver::SetNondimensionalization(CConfig *config, unsigned short i NonDimTable.PrintFooter(); break; + case CONDUCTIVITYMODEL::COOLPROP: + ModelTable << "COOLPROP"; + Unit << "W/m^2.K"; + NonDimTable << "Molecular Cond." << "--" << "--" << Unit.str() << config->GetThermal_Conductivity_ConstantND(); + Unit.str(""); + NonDimTable.PrintFooter(); + break; + case CONDUCTIVITYMODEL::POLYNOMIAL: ModelTable << "POLYNOMIAL"; for (iVar = 0; iVar < config->GetnPolyCoeffs(); iVar++) { @@ -883,7 +898,7 @@ void CIncEulerSolver::CommonPreprocessing(CGeometry *geometry, CSolver **solver_ const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); const bool center = (config->GetKind_ConvNumScheme_Flow() == SPACE_CENTERED); - const bool center_jst = (config->GetKind_Centered_Flow() == JST) && (iMesh == MESH_0); + const bool center_jst = (config->GetKind_Centered_Flow() == CENTERED::JST) && (iMesh == MESH_0); const bool outlet = (config->GetnMarker_Outlet() != 0); /*--- Set the primitive variables ---*/ @@ -1051,8 +1066,9 @@ void CIncEulerSolver::Centered_Residual(CGeometry *geometry, CSolver **solver_co unsigned long iPoint, jPoint; - bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - bool jst_scheme = ((config->GetKind_Centered_Flow() == JST) && (iMesh == MESH_0)); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + const bool jst_scheme = ((config->GetKind_Centered_Flow() == CENTERED::JST) && (iMesh == MESH_0)); + const bool bounded_scalar = config->GetBounded_Scalar(); /*--- For hybrid parallel AD, pause preaccumulation if there is shared reading of * variables, otherwise switch to the faster adjoint evaluation mode. ---*/ @@ -1100,6 +1116,8 @@ void CIncEulerSolver::Centered_Residual(CGeometry *geometry, CSolver **solver_co auto residual = numerics->ComputeResidual(config); + if (bounded_scalar) EdgeMassFluxes[iEdge] = residual[0]; + /*--- Update residual value ---*/ if (ReducerStrategy) { @@ -1155,6 +1173,7 @@ void CIncEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_cont const bool muscl = (config->GetMUSCL_Flow() && (iMesh == MESH_0)); const bool limiter = (config->GetKind_SlopeLimit_Flow() != LIMITER::NONE); const bool van_albada = (config->GetKind_SlopeLimit_Flow() == LIMITER::VAN_ALBADA_EDGE); + const bool bounded_scalar = config->GetBounded_Scalar(); /*--- For hybrid parallel AD, pause preaccumulation if there is shared reading of * variables, otherwise switch to the faster adjoint evaluation mode. ---*/ @@ -1273,6 +1292,8 @@ void CIncEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_cont auto residual = numerics->ComputeResidual(config); + if (bounded_scalar) EdgeMassFluxes[iEdge] = residual[0]; + /*--- Update residual value ---*/ if (ReducerStrategy) { @@ -1293,6 +1314,7 @@ void CIncEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_cont Viscous_Residual(iEdge, geometry, solver_container, numerics_container[VISC_TERM + omp_get_thread_num()*MAX_TERMS], config); + } END_SU2_OMP_FOR } // end color loop @@ -2886,7 +2908,7 @@ void CIncEulerSolver::GetOutlet_Properties(CGeometry *geometry, CConfig *config, geometry->vertex[iMarker][iVertex]->GetNormal(Vector); - su2double AxiFactor = 1.0; + su2double AxiFactor = 1.0; if (axisymmetric) { if (geometry->nodes->GetCoord(iPoint, 1) > EPS) AxiFactor = 2.0*PI_NUMBER*geometry->nodes->GetCoord(iPoint, 1); @@ -2897,7 +2919,7 @@ void CIncEulerSolver::GetOutlet_Properties(CGeometry *geometry, CConfig *config, } } } - } + } Density = V_outlet[prim_idx.Density()]; @@ -3002,10 +3024,13 @@ void CIncEulerSolver::GetOutlet_Properties(CGeometry *geometry, CConfig *config, cout <<"Length (m): " << config->GetOutlet_Area(Outlet_TagBound) << "." << endl; } - cout << setprecision(5) << "Outlet Avg. Density (kg/m^3): " << config->GetOutlet_Density(Outlet_TagBound) * config->GetDensity_Ref() << endl; + cout << setprecision(5) << "Outlet Avg. Density (kg/m^3): " << config->GetOutlet_Density(Outlet_TagBound) * config->GetDensity_Ref() << endl; su2double Outlet_mDot = fabs(config->GetOutlet_MassFlow(Outlet_TagBound)) * config->GetDensity_Ref() * config->GetVelocity_Ref(); - cout << "Outlet mass flow (kg/s): "; cout << setprecision(5) << Outlet_mDot; - + su2double Outlet_mDot_Target = fabs(config->GetOutlet_Pressure(Outlet_TagBound)) / (config->GetDensity_Ref() * config->GetVelocity_Ref()); + cout << "Outlet mass flow (kg/s): " << setprecision(5) << Outlet_mDot << endl; + cout << "target mass flow (kg/s): " << setprecision(5) << Outlet_mDot_Target << endl; + su2double goal = 100.0*Outlet_mDot/Outlet_mDot_Target; + cout << "Target achieved:" << setprecision(5) << goal << " % "<< endl; } } diff --git a/SU2_CFD/src/solvers/CIncNSSolver.cpp b/SU2_CFD/src/solvers/CIncNSSolver.cpp index 11a40c3a839..f14322a3343 100644 --- a/SU2_CFD/src/solvers/CIncNSSolver.cpp +++ b/SU2_CFD/src/solvers/CIncNSSolver.cpp @@ -2,7 +2,7 @@ * \file CIncNSSolver.cpp * \brief Main subroutines for solving Navier-Stokes incompressible flow. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -309,7 +309,7 @@ unsigned long CIncNSSolver::SetPrimitive_Variables(CSolver **solver_container, c if (species_model != SPECIES_MODEL::NONE && solver_container[SPECIES_SOL] != nullptr) { scalar = solver_container[SPECIES_SOL]->GetNodes()->GetSolution(iPoint); } - + /*--- Incompressible flow, primitive variables --- */ bool physical = static_cast(nodes)->SetPrimVar(iPoint,eddy_visc, turb_ke, GetFluidModel(), scalar); @@ -733,7 +733,7 @@ void CIncNSSolver::SetTau_Wall_WF(CGeometry *geometry, CSolver **solver_containe const su2double U_Plus = VelTangMod / U_Tau; /*--- Y+ defined by White & Christoph ---*/ - + const su2double kUp = kappa * U_Plus; // incompressible adiabatic result diff --git a/SU2_CFD/src/solvers/CMeshSolver.cpp b/SU2_CFD/src/solvers/CMeshSolver.cpp index 7deb66aac17..e921dc534ec 100644 --- a/SU2_CFD/src/solvers/CMeshSolver.cpp +++ b/SU2_CFD/src/solvers/CMeshSolver.cpp @@ -2,7 +2,7 @@ * \file CMeshSolver.cpp * \brief Main subroutines to solve moving meshes using a pseudo-linear elastic approach. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 3623fdd6947..3bfea141619 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2,7 +2,7 @@ * \file CNEMOEulerSolver.cpp * \brief Headers of the CNEMOEulerSolver class * \author S. R. Copeland, F. Palacios, W. Maier, C. Garbacz - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -57,7 +57,6 @@ CNEMOEulerSolver::CNEMOEulerSolver(CGeometry *geometry, CConfig *config, int Unst_RestartIter = 0; unsigned long iMarker; - unsigned short nLineLets; su2double *Mvec_Inf, Alpha, Beta; /*--- A grid is defined as dynamic if there's rigid grid movement or grid deformation AND the problem is time domain ---*/ @@ -137,11 +136,6 @@ CNEMOEulerSolver::CNEMOEulerSolver(CGeometry *geometry, CConfig *config, /*--- Jacobians and vector structures for implicit computations ---*/ if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (" << description << "). MG level: " << iMesh <<"." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } } else { if (rank == MASTER_NODE) cout<< "Explicit Scheme. No Jacobian structure (" << description << "). MG level: " << iMesh <<"."<GetKind_TimeIntScheme() == EULER_IMPLICIT); bool center = (config->GetKind_ConvNumScheme_Flow() == SPACE_CENTERED); - bool center_jst = (config->GetKind_Centered_Flow() == JST) && (iMesh == MESH_0); - bool center_jst_ke = (config->GetKind_Centered_Flow() == JST_KE) && (iMesh == MESH_0); + bool center_jst = (config->GetKind_Centered_Flow() == CENTERED::JST) && (iMesh == MESH_0); + bool center_jst_ke = (config->GetKind_Centered_Flow() == CENTERED::JST_KE) && (iMesh == MESH_0); /*--- Set the primitive variables ---*/ ompMasterAssignBarrier(ErrorCounter,0); @@ -279,7 +273,7 @@ void CNEMOEulerSolver::CommonPreprocessing(CGeometry *geometry, CSolver **solver } /*--- Set Pressure diffusion sensor ---*/ - if (config->GetKind_Upwind_Flow() == AUSMPLUSM) + if (config->GetKind_Upwind_Flow() == UPWIND::AUSMPLUSM) SetPressureDiffusionSensor(geometry, config); /*--- Initialize the Jacobian matrix and residual, not needed for the reducer strategy @@ -599,7 +593,7 @@ void CNEMOEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_con if (!chk_err_j) Gamma_j = ComputeConsistentExtrapolation(GetFluidModel(), nSpecies, Primitive_j, dPdU_j, dTdU_j, dTvedU_j, Eve_j, Cvve_j); /*--- Recompute Conserved variables if Roe or MSW scheme ---*/ - if ((config->GetKind_Upwind_Flow() == ROE) || (config->GetKind_Upwind_Flow() == MSW)){ + if ((config->GetKind_Upwind_Flow() == UPWIND::ROE) || (config->GetKind_Upwind_Flow() == UPWIND::MSW)){ if (!chk_err_i) RecomputeConservativeVector(Conserved_i, Primitive_i); if (!chk_err_j) RecomputeConservativeVector(Conserved_j, Primitive_j); } @@ -615,7 +609,7 @@ void CNEMOEulerSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_con numerics->SetGamma (chk_err_i ? nodes->GetGamma (iPoint) : Gamma_i, chk_err_j ? nodes->GetGamma (jPoint) : Gamma_j); } - if (config->GetKind_Upwind_Flow() == AUSMPLUSM) + if (config->GetKind_Upwind_Flow() == UPWIND::AUSMPLUSM) numerics->SetSensor (nodes->GetSensor(iPoint), nodes->GetSensor(jPoint)); /*--- Compute the residual ---*/ @@ -1566,7 +1560,7 @@ void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contai conv_numerics->SetEve (nodes->GetEve(iPoint), node_infty->GetEve(0)); conv_numerics->SetCvve (nodes->GetCvve(iPoint), node_infty->GetCvve(0)); conv_numerics->SetGamma (nodes->GetGamma(iPoint), node_infty->GetGamma(0)); - if(config->GetKind_Upwind_Flow() == AUSMPLUSM) + if(config->GetKind_Upwind_Flow() == UPWIND::AUSMPLUSM) conv_numerics->SetSensor (nodes->GetSensor(iPoint), nodes->GetSensor(iPoint)); /*--- Compute the convective residual (and Jacobian) ---*/ @@ -2094,7 +2088,7 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container conv_numerics->SetEve (nodes->GetEve(iPoint), node_infty->GetEve(0)); conv_numerics->SetCvve (nodes->GetCvve(iPoint), node_infty->GetCvve(0)); conv_numerics->SetGamma (nodes->GetGamma(iPoint), node_infty->GetGamma(0)); - if(config->GetKind_Upwind_Flow() == AUSMPLUSM) + if(config->GetKind_Upwind_Flow() == UPWIND::AUSMPLUSM) conv_numerics->SetSensor (nodes->GetSensor(iPoint), nodes->GetSensor(iPoint)); /*--- Compute the residual using an upwind scheme ---*/ diff --git a/SU2_CFD/src/solvers/CNEMONSSolver.cpp b/SU2_CFD/src/solvers/CNEMONSSolver.cpp index 0b37f996fe9..617a0d31e90 100644 --- a/SU2_CFD/src/solvers/CNEMONSSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMONSSolver.cpp @@ -2,7 +2,7 @@ * \file CNEMONSSolver.cpp * \brief Headers of the CNEMONSSolver class * \author S. R. Copeland, F. Palacios, W. Maier. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CNSSolver.cpp b/SU2_CFD/src/solvers/CNSSolver.cpp index 9ba1d572158..f1144f95e91 100644 --- a/SU2_CFD/src/solvers/CNSSolver.cpp +++ b/SU2_CFD/src/solvers/CNSSolver.cpp @@ -2,7 +2,7 @@ * \file CNSSolver.cpp * \brief Main subroutines for solving Finite-Volume Navier-Stokes flow problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CRadP1Solver.cpp b/SU2_CFD/src/solvers/CRadP1Solver.cpp index 0be7f191148..cfb5a20b07c 100644 --- a/SU2_CFD/src/solvers/CRadP1Solver.cpp +++ b/SU2_CFD/src/solvers/CRadP1Solver.cpp @@ -2,7 +2,7 @@ * \file CRadP1Solver.cpp * \brief Main subroutines for solving P1 radiation problems. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CRadSolver.cpp b/SU2_CFD/src/solvers/CRadSolver.cpp index 1c08adff597..5fc59d1963a 100644 --- a/SU2_CFD/src/solvers/CRadSolver.cpp +++ b/SU2_CFD/src/solvers/CRadSolver.cpp @@ -2,7 +2,7 @@ * \file CRadP1Solver.cpp * \brief Main subroutines for solving generic radiation problems (P1, M1, discrete ordinates...) * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CSolver.cpp b/SU2_CFD/src/solvers/CSolver.cpp index 951b0b33ef7..2d7c1f326fa 100644 --- a/SU2_CFD/src/solvers/CSolver.cpp +++ b/SU2_CFD/src/solvers/CSolver.cpp @@ -2,7 +2,7 @@ * \file CSolver.cpp * \brief Main subroutines for CSolver class. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CSolverFactory.cpp b/SU2_CFD/src/solvers/CSolverFactory.cpp index 08f756835cb..bf2a09ddfe5 100644 --- a/SU2_CFD/src/solvers/CSolverFactory.cpp +++ b/SU2_CFD/src/solvers/CSolverFactory.cpp @@ -2,7 +2,7 @@ * \file CSolverFactory.cpp * \brief Main subroutines for CSolverFactoryclass. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -100,6 +100,7 @@ CSolver** CSolverFactory::CreateSolverContainer(MAIN_SOLVER kindMainSolver, CCon solver[HEAT_SOL] = CreateSubSolver(SUB_SOLVER_TYPE::HEAT, solver, geometry, config, iMGLevel); solver[SPECIES_SOL] = CreateSubSolver(SUB_SOLVER_TYPE::SPECIES, solver, geometry, config, iMGLevel); solver[TURB_SOL] = CreateSubSolver(SUB_SOLVER_TYPE::TURB, solver, geometry, config, iMGLevel); + solver[TRANS_SOL] = CreateSubSolver(SUB_SOLVER_TYPE::TRANSITION, solver, geometry, config, iMGLevel); solver[RAD_SOL] = CreateSubSolver(SUB_SOLVER_TYPE::RADIATION, solver, geometry, config, iMGLevel); break; case MAIN_SOLVER::HEAT_EQUATION: diff --git a/SU2_CFD/src/solvers/CSpeciesSolver.cpp b/SU2_CFD/src/solvers/CSpeciesSolver.cpp index c578e04cb9b..2b2dddba029 100644 --- a/SU2_CFD/src/solvers/CSpeciesSolver.cpp +++ b/SU2_CFD/src/solvers/CSpeciesSolver.cpp @@ -2,7 +2,7 @@ * \file CSpeciesSolver.cpp * \brief Main subroutines of CSpeciesSolver class * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -81,13 +81,6 @@ CSpeciesSolver::CSpeciesSolver(CGeometry* geometry, CConfig* config, unsigned sh if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (species transport model)." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - const auto nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) - cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); System.SetxIsZero(true); @@ -135,6 +128,16 @@ CSpeciesSolver::CSpeciesSolver(CGeometry* geometry, CConfig* config, unsigned sh InitiateComms(geometry, config, SOLUTION); CompleteComms(geometry, config, SOLUTION); + SlidingState.resize(nMarker); + SlidingStateNodes.resize(nMarker); + + for (unsigned long iMarker = 0; iMarker < nMarker; iMarker++) { + if (config->GetMarker_All_KindBC(iMarker) == FLUID_INTERFACE) { + SlidingState[iMarker].resize(nVertex[iMarker], nPrimVar+1) = nullptr; + SlidingStateNodes[iMarker].resize(nVertex[iMarker],0); + } + } + /*--- Set the column number for species in inlet-files. * e.g. Coords(nDim), Temp(1), VelMag(1), Normal(nDim), Turb(1 or 2), Species(arbitrary) ---*/ Inlet_Position = nDim + 2 + nDim + config->GetnTurbVar(); @@ -252,25 +255,8 @@ void CSpeciesSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfi /*--- Interpolate the solution down to the coarse multigrid levels ---*/ for (auto iMesh = 1u; iMesh <= config->GetnMGLevels(); iMesh++) { - - SU2_OMP_FOR_STAT(omp_chunk_size) - for (auto iPoint = 0ul; iPoint < geometry[iMesh]->GetnPoint(); iPoint++) { - const su2double Area_Parent = geometry[iMesh]->nodes->GetVolume(iPoint); - su2double Solution_Coarse[MAXNVAR] = {0.0}; - - for (auto iChildren = 0ul; iChildren < geometry[iMesh]->nodes->GetnChildren_CV(iPoint); iChildren++) { - const auto Point_Fine = geometry[iMesh]->nodes->GetChildren_CV(iPoint, iChildren); - const su2double Area_Children = geometry[iMesh - 1]->nodes->GetVolume(Point_Fine); - const su2double* Solution_Fine = solver[iMesh - 1][SPECIES_SOL]->GetNodes()->GetSolution(Point_Fine); - - for (auto iVar = 0u; iVar < nVar; iVar++) { - Solution_Coarse[iVar] += Solution_Fine[iVar] * Area_Children / Area_Parent; - } - } - solver[iMesh][SPECIES_SOL]->GetNodes()->SetSolution(iPoint, Solution_Coarse); - } - END_SU2_OMP_FOR - + MultigridRestriction(*geometry[iMesh - 1], solver[iMesh - 1][SPECIES_SOL]->GetNodes()->GetSolution(), + *geometry[iMesh], solver[iMesh][SPECIES_SOL]->GetNodes()->GetSolution()); solver[iMesh][SPECIES_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION); solver[iMesh][SPECIES_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION); @@ -299,7 +285,7 @@ void CSpeciesSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfi void CSpeciesSolver::Preprocessing(CGeometry* geometry, CSolver** solver_container, CConfig* config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) { - config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem); + SU2_OMP_SAFE_GLOBAL_ACCESS(config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem);) /*--- Set the laminar mass Diffusivity for the species solver. ---*/ SU2_OMP_FOR_STAT(omp_chunk_size) @@ -335,6 +321,8 @@ void CSpeciesSolver::BC_Inlet(CGeometry* geometry, CSolver** solver_container, C CNumerics* visc_numerics, CConfig* config, unsigned short val_marker) { string Marker_Tag = config->GetMarker_All_TagBound(val_marker); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + /*--- Loop over all the vertices on this boundary marker ---*/ SU2_OMP_FOR_STAT(OMP_MIN_SIZE) @@ -383,16 +371,23 @@ void CSpeciesSolver::BC_Inlet(CGeometry* geometry, CSolver** solver_container, C if (dynamic_grid) conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); + if (conv_numerics->GetBoundedScalar()) { + const su2double* velocity = &V_inlet[prim_idx.Velocity()]; + const su2double density = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); + conv_numerics->SetMassFlux(BoundedScalarBCFlux(iPoint, implicit, density, velocity, Normal)); + } + /*--- Compute the residual using an upwind scheme ---*/ auto residual = conv_numerics->ComputeResidual(config); LinSysRes.AddBlock(iPoint, residual); /*--- Jacobian contribution for implicit integration ---*/ - const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); // Unfinished viscous contribution removed before right after d8a0da9a00. Further testing required. + } } END_SU2_OMP_FOR @@ -476,6 +471,9 @@ void CSpeciesSolver::SetUniformInlet(const CConfig* config, unsigned short iMark void CSpeciesSolver::BC_Outlet(CGeometry* geometry, CSolver** solver_container, CNumerics* conv_numerics, CNumerics* visc_numerics, CConfig* config, unsigned short val_marker) { + + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + /*--- Loop over all the vertices on this boundary marker ---*/ SU2_OMP_FOR_STAT(OMP_MIN_SIZE) @@ -501,8 +499,8 @@ void CSpeciesSolver::BC_Outlet(CGeometry* geometry, CSolver** solver_container, Jacobian.DeleteValsRowi(total_index); } } else { // weak BC - /*--- Allocate the value at the outlet ---*/ + /*--- Allocate the value at the outlet ---*/ auto V_outlet = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); /*--- Retrieve solution at the farfield boundary node ---*/ @@ -514,8 +512,8 @@ void CSpeciesSolver::BC_Outlet(CGeometry* geometry, CSolver** solver_container, conv_numerics->SetPrimitive(V_domain, V_outlet); /*--- Set the species variables. Here we use a Neumann BC such - that the species variable is copied from the interior of the - domain to the outlet before computing the residual. ---*/ + that the species variable is copied from the interior of the + domain to the outlet before computing the residual. ---*/ conv_numerics->SetScalarVar(nodes->GetSolution(iPoint), nodes->GetSolution(iPoint)); @@ -528,16 +526,21 @@ void CSpeciesSolver::BC_Outlet(CGeometry* geometry, CSolver** solver_container, if (dynamic_grid) conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); - /*--- Compute the residual using an upwind scheme ---*/ + if (conv_numerics->GetBoundedScalar()) { + const su2double* velocity = &V_outlet[prim_idx.Velocity()]; + const su2double density = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); + conv_numerics->SetMassFlux(BoundedScalarBCFlux(iPoint, implicit, density, velocity, Normal)); + } + /*--- Compute the residual using an upwind scheme ---*/ auto residual = conv_numerics->ComputeResidual(config); LinSysRes.AddBlock(iPoint, residual); /*--- Jacobian contribution for implicit integration ---*/ - const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); // Unfinished viscous contribution removed before right after d8a0da9a00. Further testing required. + } } END_SU2_OMP_FOR @@ -551,7 +554,7 @@ void CSpeciesSolver::Source_Residual(CGeometry *geometry, CSolver **solver_conta if (axisymmetric) { CNumerics *numerics = numerics_container[SOURCE_FIRST_TERM + omp_get_thread_num()*MAX_TERMS]; - + SU2_OMP_FOR_DYN(omp_chunk_size) for (auto iPoint = 0u; iPoint < nPointDomain; iPoint++) { /*--- Set primitive variables w/o reconstruction ---*/ @@ -572,23 +575,23 @@ void CSpeciesSolver::Source_Residual(CGeometry *geometry, CSolver **solver_conta /*--- Axisymmetry source term for the scalar equation. ---*/ /*--- Set y coordinate ---*/ - + numerics->SetCoord(geometry->nodes->GetCoord(iPoint), nullptr); - + /*--- Set gradients ---*/ - + numerics->SetScalarVarGradient(nodes->GetGradient(iPoint), nullptr); auto residual = numerics->ComputeResidual(config); /*--- Add Residual ---*/ - + LinSysRes.SubtractBlock(iPoint, residual); - + /*--- Implicit part ---*/ - + if (implicit) Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); - + } END_SU2_OMP_FOR } diff --git a/SU2_CFD/src/solvers/CTemplateSolver.cpp b/SU2_CFD/src/solvers/CTemplateSolver.cpp index 9d67e4e0760..7fb240f9f26 100644 --- a/SU2_CFD/src/solvers/CTemplateSolver.cpp +++ b/SU2_CFD/src/solvers/CTemplateSolver.cpp @@ -2,7 +2,7 @@ * \file CTemplateSolver.cpp * \brief Subroutines to be implemented for any new solvers * \author F. Palacios - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CTransLMSolver.cpp b/SU2_CFD/src/solvers/CTransLMSolver.cpp index 2f15bf8ba59..01a254e98b7 100644 --- a/SU2_CFD/src/solvers/CTransLMSolver.cpp +++ b/SU2_CFD/src/solvers/CTransLMSolver.cpp @@ -2,7 +2,7 @@ * \file CTransLMSolver.cpp * \brief Main subroutines for Langtry-Menter Transition model solver. * \author A. Aranake, S. Kang. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -40,7 +40,6 @@ CTransLMSolver::CTransLMSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CTurbSolver(geometry, config, true) { - unsigned short nLineLets; unsigned long iPoint; ifstream restart_file; string text_line; @@ -61,6 +60,11 @@ CTransLMSolver::CTransLMSolver(CGeometry *geometry, CConfig *config, unsigned sh nDim = geometry->GetnDim(); + /*--- Define variables needed for transition from config file */ + options = config->GetLMParsedOptions(); + TransCorrelations.SetOptions(options); + TurbFamily = TurbModelFamily(config->GetKind_Turb_Model()); + /*--- Single grid simulation ---*/ if (iMesh == MESH_0) { @@ -76,12 +80,6 @@ CTransLMSolver::CTransLMSolver(CGeometry *geometry, CConfig *config, unsigned sh if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (LM transition model)." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); System.SetxIsZero(true); @@ -176,7 +174,7 @@ CTransLMSolver::CTransLMSolver(CGeometry *geometry, CConfig *config, unsigned sh void CTransLMSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) { - config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem); + SU2_OMP_SAFE_GLOBAL_ACCESS(config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem);) /*--- Upwind second order reconstruction and gradients ---*/ CommonPreprocessing(geometry, config, Output); @@ -195,43 +193,61 @@ void CTransLMSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai AD::StartNoSharedReading(); auto* flowNodes = su2staticcast_p(solver_container[FLOW_SOL]->GetNodes()); + auto* turbNodes = su2staticcast_p(solver_container[TURB_SOL]->GetNodes()); SU2_OMP_FOR_STAT(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPoint; iPoint ++) { + // Here the nodes already have the new solution, thus I have to compute everything from scratch + const su2double rho = flowNodes->GetDensity(iPoint); const su2double mu = flowNodes->GetLaminarViscosity(iPoint); + const su2double muT = turbNodes->GetmuT(iPoint); const su2double dist = geometry->nodes->GetWall_Distance(iPoint); su2double VorticityMag = GeometryToolbox::Norm(3, flowNodes->GetVorticity(iPoint)); - su2double StrainMag =flowNodes->GetStrainMag(iPoint); + su2double StrainMag =flowNodes->GetStrainMag(iPoint); VorticityMag = max(VorticityMag, 1e-12); StrainMag = max(StrainMag, 1e-12); // safety against division by zero - const su2double Intermittecy = nodes->GetSolution(iPoint,0); + const su2double Intermittency = nodes->GetSolution(iPoint,0); const su2double Re_t = nodes->GetSolution(iPoint,1); - const su2double Re_v = rho*dist*dist*StrainMag/mu; - const su2double omega = solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,1); - const su2double k = solver_container[TURB_SOL]->GetNodes()->GetSolution(iPoint,0); - - su2double Corr_Rec = 0.0; - if(Re_t <= 1870){ - Corr_Rec = Re_t - (396.035e-02 + (-120.656e-04)*Re_t + (868.230e-06)*pow(Re_t, 2.) - +( -696.506e-09)*pow(Re_t, 3.) + (174.105e-12)*pow(Re_t, 4.)); - } else { - Corr_Rec = Re_t - ( 593.11 + (Re_t - 1870.0) * 0.482); - } - - const su2double R_t = rho*k/ mu/ omega; - const su2double f_reattach = exp(-pow(R_t/20,4)); - const su2double re_omega = rho*omega*dist*dist/mu; - const su2double f_wake = exp(-pow(re_omega/(1.0e+05),2)); + const su2double Re_v = rho*dist*dist*StrainMag/mu; const su2double vel_u = flowNodes->GetVelocity(iPoint, 0); const su2double vel_v = flowNodes->GetVelocity(iPoint, 1); const su2double vel_w = (nDim ==3) ? flowNodes->GetVelocity(iPoint, 2) : 0.0; const su2double VelocityMag = sqrt(vel_u*vel_u + vel_v*vel_v + vel_w*vel_w); + su2double omega = 0.0; + su2double k = 0.0; + if(TurbFamily == TURB_FAMILY::KW){ + omega = turbNodes->GetSolution(iPoint,1); + k = turbNodes->GetSolution(iPoint,0); + } + su2double Tu = 1.0; + if(TurbFamily == TURB_FAMILY::KW) + Tu = max(100.0*sqrt( 2.0 * k / 3.0 ) / VelocityMag,0.027); + if(TurbFamily == TURB_FAMILY::SA) + Tu = config->GetTurbulenceIntensity_FreeStream()*100; + + const su2double Corr_Rec = TransCorrelations.ReThetaC_Correlations(Tu, Re_t); + + su2double R_t = 1.0; + if(TurbFamily == TURB_FAMILY::KW) + R_t = rho*k/ mu/ omega; + if(TurbFamily == TURB_FAMILY::SA) + R_t = muT/ mu; + + const su2double f_reattach = exp(-pow(R_t/20,4)); + su2double f_wake = 0.0; + if(TurbFamily == TURB_FAMILY::KW){ + const su2double re_omega = rho*omega*dist*dist/mu; + f_wake = exp(-pow(re_omega/(1.0e+05),2)); + } + if(TurbFamily == TURB_FAMILY::SA) + f_wake = 1.0; + const su2double theta_bl = Re_t*mu / rho /VelocityMag; const su2double delta_bl = 7.5*theta_bl; const su2double delta = 50.0*VorticityMag*dist/VelocityMag*delta_bl + 1e-20; - const su2double var1 = (Intermittecy-1.0/50.0)/(1.0-1.0/50.0); + const su2double var1 = (Intermittency-1.0/50.0)/(1.0-1.0/50.0); const su2double var2 = 1.0 - pow(var1,2.0); const su2double f_theta = min(max(f_wake*exp(-pow(dist/delta, 4)), var2), 1.0); su2double Intermittency_Sep = 2.0*max(0.0, Re_v/(3.235*Corr_Rec)-1.0)*f_reattach; @@ -262,7 +278,7 @@ void CTransLMSolver::Viscous_Residual(unsigned long iEdge, CGeometry* geometry, void CTransLMSolver::Source_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) { - + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); auto* flowNodes = su2staticcast_p(solver_container[FLOW_SOL]->GetNodes()); @@ -279,7 +295,7 @@ void CTransLMSolver::Source_Residual(CGeometry *geometry, CSolver **solver_conta SU2_OMP_FOR_DYN(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPointDomain; iPoint++) { - + /*--- Conservative variables w/o reconstruction ---*/ @@ -295,7 +311,7 @@ void CTransLMSolver::Source_Residual(CGeometry *geometry, CSolver **solver_conta numerics->SetScalarVar(turbNodes->GetSolution(iPoint), nullptr); numerics->SetScalarVarGradient(turbNodes->GetGradient(iPoint), nullptr); - /*--- Transition variables w/o reconstruction, and its gradient ---*/ + /*--- Transition variables w/o reconstruction, and its gradient ---*/ numerics->SetTransVar(nodes->GetSolution(iPoint), nullptr); numerics->SetTransVarGradient(nodes->GetGradient(iPoint), nullptr); @@ -307,16 +323,21 @@ void CTransLMSolver::Source_Residual(CGeometry *geometry, CSolver **solver_conta /*--- Set distance to the surface ---*/ numerics->SetDistance(geometry->nodes->GetWall_Distance(iPoint), 0.0); - + /*--- Set vorticity and strain rate magnitude ---*/ numerics->SetVorticity(flowNodes->GetVorticity(iPoint), nullptr); numerics->SetStrainMag(flowNodes->GetStrainMag(iPoint), 0.0); - /*--- Set coordnate (for debugging) ---*/ + /*--- Set coordinate (for debugging) ---*/ numerics->SetCoord(geometry->nodes->GetCoord(iPoint), nullptr); - + + if (options.LM2015) { + /*--- Set local grid length (for LM2015)*/ + numerics->SetLocalGridLength(geometry->nodes->GetMaxLength(iPoint)); + } + /*--- Compute the source term ---*/ auto residual = numerics->ComputeResidual(config); @@ -400,62 +421,6 @@ void CTransLMSolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_co } - - -void CTransLMSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - - const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - - SU2_OMP_FOR_STAT(OMP_MIN_SIZE) - for (auto iVertex = 0u; iVertex < geometry->nVertex[val_marker]; iVertex++) { - - const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - - /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ - - if (geometry->nodes->GetDomain(iPoint)) { - - /*--- Allocate the value at the infinity ---*/ - - auto V_infty = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); - - /*--- Retrieve solution at the farfield boundary node ---*/ - - auto V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); - - conv_numerics->SetPrimitive(V_domain, V_infty); - - /*--- Set turbulent variable at the wall, and at infinity ---*/ - - conv_numerics->SetScalarVar(nodes->GetSolution(iPoint), Solution_Inf); - - /*--- Set Normal (it is necessary to change the sign) ---*/ - - su2double Normal[MAXNDIM] = {0.0}; - for (auto iDim = 0u; iDim < nDim; iDim++) - Normal[iDim] = -geometry->vertex[val_marker][iVertex]->GetNormal(iDim); - conv_numerics->SetNormal(Normal); - - /*--- Grid Movement ---*/ - - if (dynamic_grid) - conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), - geometry->nodes->GetGridVel(iPoint)); - - /*--- Compute residuals and Jacobians ---*/ - - auto residual = conv_numerics->ComputeResidual(config); - - /*--- Add residuals and Jacobians ---*/ - - LinSysRes.AddBlock(iPoint, residual); - if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); - } - } - END_SU2_OMP_FOR - -} - void CTransLMSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); @@ -524,15 +489,12 @@ void CTransLMSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, C } -void CTransLMSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, - CConfig *config, unsigned short val_marker) { - -BC_Far_Field(geometry, solver_container, conv_numerics, visc_numerics, config, val_marker); - +void CTransLMSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, + CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { + BC_Far_Field(geometry, solver_container, conv_numerics, visc_numerics, config, val_marker); } - -void CTransLMSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfig* config, int val_iter, +void CTransLMSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfig* config, int val_iter, bool val_update_geo) { const string restart_filename = config->GetFilename(config->GetSolution_FileName(), "", val_iter); @@ -561,7 +523,7 @@ void CTransLMSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfi const bool energy = config->GetEnergy_Equation(); const bool weakly_coupled_heat = config->GetWeakly_Coupled_Heat(); - if (incompressible && ((!energy) && (!weakly_coupled_heat))) skipVars--; + if (incompressible && ((!energy) && (!weakly_coupled_heat))) skipVars--; /*--- Load data from the restart into correct containers. ---*/ @@ -614,31 +576,15 @@ void CTransLMSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfi for (auto iMesh = 1u; iMesh <= config->GetnMGLevels(); iMesh++) { - SU2_OMP_FOR_STAT(omp_chunk_size) - for (auto iPoint = 0ul; iPoint < geometry[iMesh]->GetnPoint(); iPoint++) { - const su2double Area_Parent = geometry[iMesh]->nodes->GetVolume(iPoint); - su2double Solution_Coarse[MAXNVAR] = {0.0}; - - for (auto iChildren = 0ul; iChildren < geometry[iMesh]->nodes->GetnChildren_CV(iPoint); iChildren++) { - const auto Point_Fine = geometry[iMesh]->nodes->GetChildren_CV(iPoint, iChildren); - const su2double Area_Children = geometry[iMesh - 1]->nodes->GetVolume(Point_Fine); - const su2double* Solution_Fine = solver[iMesh - 1][TURB_SOL]->GetNodes()->GetSolution(Point_Fine); - - for (auto iVar = 0u; iVar < nVar; iVar++) { - Solution_Coarse[iVar] += Solution_Fine[iVar] * Area_Children / Area_Parent; - } - } - solver[iMesh][TURB_SOL]->GetNodes()->SetSolution(iPoint, Solution_Coarse); - } - END_SU2_OMP_FOR - - solver[iMesh][TURB_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION); - solver[iMesh][TURB_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION); + MultigridRestriction(*geometry[iMesh - 1], solver[iMesh - 1][TRANS_SOL]->GetNodes()->GetSolution(), + *geometry[iMesh], solver[iMesh][TRANS_SOL]->GetNodes()->GetSolution()); + solver[iMesh][TRANS_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION); + solver[iMesh][TRANS_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION); if (config->GetKind_Species_Model() == SPECIES_MODEL::NONE) { solver[iMesh][FLOW_SOL]->Preprocessing(geometry[iMesh], solver[iMesh], config, iMesh, NO_RK_ITER, RUNTIME_FLOW_SYS, false); - solver[iMesh][TURB_SOL]->Postprocessing(geometry[iMesh], solver[iMesh], config, iMesh); + solver[iMesh][TRANS_SOL]->Postprocessing(geometry[iMesh], solver[iMesh], config, iMesh); } } @@ -652,5 +598,5 @@ void CTransLMSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfi Restart_Data = nullptr; } END_SU2_OMP_SAFE_GLOBAL_ACCESS - + } \ No newline at end of file diff --git a/SU2_CFD/src/solvers/CTurbSASolver.cpp b/SU2_CFD/src/solvers/CTurbSASolver.cpp index 5183536d44d..30d7308cd2e 100644 --- a/SU2_CFD/src/solvers/CTurbSASolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSASolver.cpp @@ -2,7 +2,7 @@ * \file CTurbSASolver.cpp * \brief Main subroutines of CTurbSASolver class * \author F. Palacios, A. Bueno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,8 +34,6 @@ CTurbSASolver::CTurbSASolver(CGeometry *geometry, CConfig *config, unsigned short iMesh, CFluidModel* FluidModel) : CTurbSolver(geometry, config, false) { - - unsigned short nLineLets; unsigned long iPoint; su2double Density_Inf, Viscosity_Inf, Factor_nu_Inf, Factor_nu_Engine, Factor_nu_ActDisk; @@ -71,12 +69,6 @@ CTurbSASolver::CTurbSASolver(CGeometry *geometry, CConfig *config, unsigned shor if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (SA model)." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); System.SetxIsZero(true); @@ -250,6 +242,52 @@ void CTurbSASolver::Postprocessing(CGeometry *geometry, CSolver **solver_contain } END_SU2_OMP_FOR + + /*--- Compute turbulence index ---*/ + if (config->GetKind_Trans_Model() != TURB_TRANS_MODEL::NONE || config->GetSAParsedOptions().bc) { + auto* flowNodes = su2staticcast_p(solver_container[FLOW_SOL]->GetNodes()); + + for (auto iMarker = 0; iMarker < config->GetnMarker_All(); iMarker++){ + if (config->GetViscous_Wall(iMarker)) { + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) + for (auto iVertex = 0u; iVertex < geometry->nVertex[iMarker]; iVertex++) { + const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); + + /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ + + if (geometry->nodes->GetDomain(iPoint)) { + const auto jPoint = geometry->vertex[iMarker][iVertex]->GetNormal_Neighbor(); + + su2double FrictionVelocity = 0.0; + /*--- Formulation varies for 2D and 3D problems: in 3D the friction velocity is assumed to be sqrt(mu * |Omega|) + (provided by the reference paper https://doi.org/10.2514/6.1992-439), whereas in 2D we have to use the + standard definition sqrt(c_f / rho) since Omega = 0. ---*/ + if(nDim == 2){ + su2double shearStress = 0.0; + for(auto iDim = 0u; iDim < nDim; iDim++) { + shearStress += pow(solver_container[FLOW_SOL]->GetCSkinFriction(iMarker, iVertex, iDim), 2.0); + } + shearStress = sqrt(shearStress); + + FrictionVelocity = sqrt(shearStress/flowNodes->GetDensity(iPoint)); + } else { + su2double VorticityMag = max(GeometryToolbox::Norm(3, flowNodes->GetVorticity(iPoint)), 1e-12); + FrictionVelocity = sqrt(flowNodes->GetLaminarViscosity(iPoint)*VorticityMag); + } + + const su2double wall_dist = geometry->nodes->GetWall_Distance(jPoint); + const su2double Derivative = nodes->GetSolution(jPoint, 0) / wall_dist; + const su2double turbulence_index = Derivative / (FrictionVelocity * 0.41); + + nodes->SetTurbIndex(iPoint, turbulence_index); + + } + } + END_SU2_OMP_FOR + } + } + } + AD::EndNoSharedReading(); } @@ -338,14 +376,21 @@ void CTurbSASolver::Source_Residual(CGeometry *geometry, CSolver **solver_contai } + /*--- Effective Intermittency ---*/ + + if (config->GetKind_Trans_Model() != TURB_TRANS_MODEL::NONE) { + numerics->SetIntermittencyEff(solver_container[TRANS_SOL]->GetNodes()->GetIntermittencyEff(iPoint)); + numerics->SetIntermittency(solver_container[TRANS_SOL]->GetNodes()->GetSolution(iPoint, 0)); + } + /*--- Compute the source term ---*/ auto residual = numerics->ComputeResidual(config); /*--- Store the intermittency ---*/ - if (transition_BC) { - nodes->SetGammaBC(iPoint,numerics->GetGammaBC()); + if (transition_BC || config->GetKind_Trans_Model() != TURB_TRANS_MODEL::NONE) { + nodes->SetIntermittency(iPoint,numerics->GetIntermittencyEff()); } /*--- Subtract residual and the Jacobian ---*/ @@ -464,61 +509,6 @@ void CTurbSASolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_con } -void CTurbSASolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, - CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - - const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - - SU2_OMP_FOR_STAT(OMP_MIN_SIZE) - for (auto iVertex = 0u; iVertex < geometry->nVertex[val_marker]; iVertex++) { - - const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - - /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ - - if (geometry->nodes->GetDomain(iPoint)) { - - /*--- Allocate the value at the infinity ---*/ - - auto V_infty = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); - - /*--- Retrieve solution at the farfield boundary node ---*/ - - auto V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); - - /*--- Grid Movement ---*/ - - if (dynamic_grid) - conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); - - conv_numerics->SetPrimitive(V_domain, V_infty); - - /*--- Set turbulent variable at the wall, and at infinity ---*/ - - conv_numerics->SetScalarVar(nodes->GetSolution(iPoint), Solution_Inf); - - /*--- Set Normal (it is necessary to change the sign) ---*/ - - su2double Normal[MAXNDIM] = {0.0}; - for (auto iDim = 0u; iDim < nDim; iDim++) - Normal[iDim] = -geometry->vertex[val_marker][iVertex]->GetNormal(iDim); - conv_numerics->SetNormal(Normal); - - /*--- Compute residuals and Jacobians ---*/ - - auto residual = conv_numerics->ComputeResidual(config); - - /*--- Add residuals and Jacobians ---*/ - - LinSysRes.AddBlock(iPoint, residual); - if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); - - } - } - END_SU2_OMP_FOR - -} - void CTurbSASolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { @@ -572,6 +562,12 @@ void CTurbSASolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, CN conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); + if (conv_numerics->GetBoundedScalar()) { + const su2double* velocity = &V_inlet[prim_idx.Velocity()]; + const su2double density = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); + conv_numerics->SetMassFlux(BoundedScalarBCFlux(iPoint, implicit, density, velocity, Normal)); + } + /*--- Compute the residual using an upwind scheme ---*/ auto residual = conv_numerics->ComputeResidual(config); @@ -610,7 +606,6 @@ void CTurbSASolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, CN } } END_SU2_OMP_FOR - } void CTurbSASolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, @@ -658,6 +653,12 @@ void CTurbSASolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, C conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); + if (conv_numerics->GetBoundedScalar()) { + const su2double* velocity = &V_outlet[prim_idx.Velocity()]; + const su2double density = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); + conv_numerics->SetMassFlux(BoundedScalarBCFlux(iPoint, implicit, density, velocity, Normal)); + } + /*--- Compute the residual using an upwind scheme ---*/ auto residual = conv_numerics->ComputeResidual(config); @@ -696,7 +697,6 @@ void CTurbSASolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, C } } END_SU2_OMP_FOR - } void CTurbSASolver::BC_Engine_Inflow(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 16ec987d8b1..c2f1983cd73 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -2,7 +2,7 @@ * \file CTurbSSTSolver.cpp * \brief Main subroutines of CTurbSSTSolver class * \author F. Palacios, A. Bueno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -28,14 +28,12 @@ #include "../../include/solvers/CTurbSSTSolver.hpp" #include "../../include/variables/CTurbSSTVariable.hpp" #include "../../include/variables/CFlowVariable.hpp" -#include "../../include/variables/CPrimitiveIndices.hpp" #include "../../../Common/include/parallelization/omp_structure.hpp" #include "../../../Common/include/toolboxes/geometry_toolbox.hpp" CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh) : CTurbSolver(geometry, config, true) { - unsigned short nLineLets; unsigned long iPoint; ifstream restart_file; string text_line; @@ -73,12 +71,6 @@ CTurbSSTSolver::CTurbSSTSolver(CGeometry *geometry, CConfig *config, unsigned sh if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (SST model)." << endl; Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); - - if (config->GetKind_Linear_Solver_Prec() == LINELET) { - nLineLets = Jacobian.BuildLineletPreconditioner(geometry, config); - if (rank == MASTER_NODE) cout << "Compute linelet structure. " << nLineLets << " elements in each line (average)." << endl; - } - LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); System.SetxIsZero(true); @@ -247,6 +239,40 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai } END_SU2_OMP_FOR + + /*--- Compute turbulence index ---*/ + if (config->GetKind_Trans_Model() != TURB_TRANS_MODEL::NONE) { + for (auto iMarker = 0; iMarker < config->GetnMarker_All(); iMarker++) + if (config->GetViscous_Wall(iMarker)) { + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) + for (auto iVertex = 0u; iVertex < geometry->nVertex[iMarker]; iVertex++) { + const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); + + /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ + + if (geometry->nodes->GetDomain(iPoint)) { + const auto jPoint = geometry->vertex[iMarker][iVertex]->GetNormal_Neighbor(); + + su2double shearStress = 0.0; + for(auto iDim = 0u; iDim < nDim; iDim++) { + shearStress += pow(solver_container[FLOW_SOL]->GetCSkinFriction(iMarker, iVertex, iDim), 2.0); + } + shearStress = sqrt(shearStress); + + const su2double FrictionVelocity = sqrt(shearStress/flowNodes->GetDensity(iPoint)); + const su2double wall_dist = geometry->nodes->GetWall_Distance(jPoint); + const su2double Derivative = flowNodes->GetLaminarViscosity(jPoint) * pow(nodes->GetSolution(jPoint, 0), 0.673) / wall_dist; + const su2double turbulence_index = 6.1 * Derivative / pow(FrictionVelocity, 2.346); + + nodes->SetTurbIndex(iPoint, turbulence_index); + + } + } + END_SU2_OMP_FOR + } + } + + AD::EndNoSharedReading(); } @@ -323,8 +349,7 @@ void CTurbSSTSolver::Source_Residual(CGeometry *geometry, CSolver **solver_conta numerics->SetCrossDiff(nodes->GetCrossDiff(iPoint)); /*--- Effective Intermittency ---*/ - - if (TURB_TRANS_MODEL::LM == config->GetKind_Trans_Model()) { + if (config->GetKind_Trans_Model() == TURB_TRANS_MODEL::LM) { numerics->SetIntermittencyEff(solver_container[TRANS_SOL]->GetNodes()->GetIntermittencyEff(iPoint)); } @@ -337,6 +362,12 @@ void CTurbSSTSolver::Source_Residual(CGeometry *geometry, CSolver **solver_conta auto residual = numerics->ComputeResidual(config); + /*--- Store the intermittency ---*/ + + if (config->GetKind_Trans_Model() != TURB_TRANS_MODEL::NONE) { + nodes->SetIntermittency(iPoint, numerics->GetIntermittencyEff()); + } + /*--- Subtract residual and the Jacobian ---*/ LinSysRes.SubtractBlock(iPoint, residual); @@ -519,69 +550,11 @@ void CTurbSSTSolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_co } -void CTurbSSTSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, - CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - - const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - - SU2_OMP_FOR_STAT(OMP_MIN_SIZE) - for (auto iVertex = 0u; iVertex < geometry->nVertex[val_marker]; iVertex++) { - - const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - - /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ - - if (geometry->nodes->GetDomain(iPoint)) { - - /*--- Allocate the value at the infinity ---*/ - - auto V_infty = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); - - /*--- Retrieve solution at the farfield boundary node ---*/ - - auto V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); - - conv_numerics->SetPrimitive(V_domain, V_infty); - - /*--- Set turbulent variable at the wall, and at infinity ---*/ - - conv_numerics->SetScalarVar(nodes->GetSolution(iPoint), Solution_Inf); - - /*--- Set Normal (it is necessary to change the sign) ---*/ - - su2double Normal[MAXNDIM] = {0.0}; - for (auto iDim = 0u; iDim < nDim; iDim++) - Normal[iDim] = -geometry->vertex[val_marker][iVertex]->GetNormal(iDim); - conv_numerics->SetNormal(Normal); - - /*--- Grid Movement ---*/ - - if (dynamic_grid) - conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), - geometry->nodes->GetGridVel(iPoint)); - - /*--- Compute residuals and Jacobians ---*/ - - auto residual = conv_numerics->ComputeResidual(config); - - /*--- Add residuals and Jacobians ---*/ - - LinSysRes.AddBlock(iPoint, residual); - if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); - } - } - END_SU2_OMP_FOR - -} - void CTurbSSTSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - const CPrimitiveIndices prim_idx(config->GetKind_Regime() == ENUM_REGIME::INCOMPRESSIBLE, - config->GetNEMOProblem(), nDim, config->GetnSpecies()); - /*--- Loop over all the vertices on this boundary marker ---*/ SU2_OMP_FOR_STAT(OMP_MIN_SIZE) @@ -638,8 +611,9 @@ void CTurbSSTSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, C Density_Inlet = FluidModel->GetDensity(); } const su2double Laminar_Viscosity_Inlet = FluidModel->GetLaminarViscosity(); - const su2double Intensity = config->GetTurbulenceIntensity_FreeStream(); - const su2double viscRatio = config->GetTurb2LamViscRatio_FreeStream(); + const su2double* Turb_Properties = config->GetInlet_TurbVal(config->GetMarker_All_TagBound(val_marker)); + const su2double Intensity = Turb_Properties[0]; + const su2double viscRatio = Turb_Properties[1]; const su2double VelMag2 = GeometryToolbox::SquaredNorm(nDim, Velocity_Inlet); Inlet_Vars[0] = 3.0 / 2.0 * (VelMag2 * pow(Intensity, 2)); @@ -658,6 +632,12 @@ void CTurbSSTSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, C conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); + if (conv_numerics->GetBoundedScalar()) { + const su2double* velocity = &V_inlet[prim_idx.Velocity()]; + const su2double density = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); + conv_numerics->SetMassFlux(BoundedScalarBCFlux(iPoint, implicit, density, velocity, Normal)); + } + /*--- Compute the residual using an upwind scheme ---*/ auto residual = conv_numerics->ComputeResidual(config); @@ -701,7 +681,6 @@ void CTurbSSTSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, C } END_SU2_OMP_FOR - } void CTurbSSTSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, @@ -750,6 +729,12 @@ void CTurbSSTSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); + if (conv_numerics->GetBoundedScalar()) { + const su2double* velocity = &V_outlet[prim_idx.Velocity()]; + const su2double density = solver_container[FLOW_SOL]->GetNodes()->GetDensity(iPoint); + conv_numerics->SetMassFlux(BoundedScalarBCFlux(iPoint, implicit, density, velocity, Normal)); + } + /*--- Compute the residual using an upwind scheme ---*/ auto residual = conv_numerics->ComputeResidual(config); @@ -792,7 +777,6 @@ void CTurbSSTSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, } } END_SU2_OMP_FOR - } diff --git a/SU2_CFD/src/solvers/CTurbSolver.cpp b/SU2_CFD/src/solvers/CTurbSolver.cpp index 73a1bffc36a..06b000bc46d 100644 --- a/SU2_CFD/src/solvers/CTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSolver.cpp @@ -2,7 +2,7 @@ * \file CTurbSolver.cpp * \brief Main subroutines of CTurbSolver class * \author F. Palacios, A. Bueno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -100,115 +100,6 @@ void CTurbSolver::BC_Giles(CGeometry *geometry, CSolver **solver_container, CNum } } -void CTurbSolver::BC_Fluid_Interface(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, - CNumerics *visc_numerics, CConfig *config) { - - const bool sst = (config->GetKind_Turb_Model() == TURB_MODEL::SST); - const auto nPrimVar = solver_container[FLOW_SOL]->GetnPrimVar(); - su2double *PrimVar_j = new su2double[nPrimVar]; - su2double solution_j[MAXNVAR] = {0.0}; - - for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); iMarker++) { - - if (config->GetMarker_All_KindBC(iMarker) != FLUID_INTERFACE) continue; - - SU2_OMP_FOR_STAT(OMP_MIN_SIZE) - for (auto iVertex = 0u; iVertex < geometry->nVertex[iMarker]; iVertex++) { - - const auto iPoint = geometry->vertex[iMarker][iVertex]->GetNode(); - - if (!geometry->nodes->GetDomain(iPoint)) continue; - - const auto Point_Normal = geometry->vertex[iMarker][iVertex]->GetNormal_Neighbor(); - const auto nDonorVertex = GetnSlidingStates(iMarker,iVertex); - - su2double Normal[MAXNDIM] = {0.0}; - for (auto iDim = 0u; iDim < nDim; iDim++) - Normal[iDim] = -geometry->vertex[iMarker][iVertex]->GetNormal()[iDim]; - - su2double* PrimVar_i = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); - - auto Jacobian_i = Jacobian.GetBlock(iPoint,iPoint); - - /*--- Loop over the nDonorVertexes and compute the averaged flux ---*/ - - for (auto jVertex = 0; jVertex < nDonorVertex; jVertex++) { - - for (auto iVar = 0u; iVar < nPrimVar; iVar++) - PrimVar_j[iVar] = solver_container[FLOW_SOL]->GetSlidingState(iMarker, iVertex, iVar, jVertex); - - /*--- Get the weight computed in the interpolator class for the j-th donor vertex ---*/ - - const su2double weight = solver_container[FLOW_SOL]->GetSlidingState(iMarker, iVertex, nPrimVar, jVertex); - - /*--- Set primitive variables ---*/ - - conv_numerics->SetPrimitive( PrimVar_i, PrimVar_j ); - - /*--- Set the turbulent variable states ---*/ - - for (auto iVar = 0u; iVar < nVar; ++iVar) - solution_j[iVar] = GetSlidingState(iMarker, iVertex, iVar, jVertex); - - conv_numerics->SetScalarVar(nodes->GetSolution(iPoint), solution_j); - - /*--- Set the normal vector ---*/ - - conv_numerics->SetNormal(Normal); - - if (dynamic_grid) - conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); - - auto residual = conv_numerics->ComputeResidual(config); - - /*--- Accumulate the residuals to compute the average ---*/ - - for (auto iVar = 0u; iVar < nVar; iVar++) { - LinSysRes(iPoint,iVar) += weight*residual[iVar]; - for (auto jVar = 0u; jVar < nVar; jVar++) - Jacobian_i[iVar*nVar+jVar] += SU2_TYPE::GetValue(weight*residual.jacobian_i[iVar][jVar]); - } - } - - /*--- Set the normal vector and the coordinates ---*/ - - visc_numerics->SetNormal(Normal); - su2double Coord_Reflected[MAXNDIM]; - GeometryToolbox::PointPointReflect(nDim, geometry->nodes->GetCoord(Point_Normal), - geometry->nodes->GetCoord(iPoint), Coord_Reflected); - visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected); - - /*--- Primitive variables ---*/ - - visc_numerics->SetPrimitive(PrimVar_i, PrimVar_j); - - /*--- Turbulent variables and their gradients ---*/ - - visc_numerics->SetScalarVar(nodes->GetSolution(iPoint), solution_j); - visc_numerics->SetScalarVarGradient(nodes->GetGradient(iPoint), nodes->GetGradient(iPoint)); - - /*--- Menter's first blending function ---*/ - - if(sst) visc_numerics->SetF1blending(nodes->GetF1blending(iPoint), nodes->GetF1blending(iPoint)); - - /*--- Compute and update residual ---*/ - - auto residual = visc_numerics->ComputeResidual(config); - - LinSysRes.SubtractBlock(iPoint, residual); - - /*--- Jacobian contribution for implicit integration ---*/ - - Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); - - } - END_SU2_OMP_FOR - } - - delete [] PrimVar_j; - -} - void CTurbSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfig* config, int val_iter, bool val_update_geo) { /*--- Restart the solution from file information ---*/ @@ -288,25 +179,8 @@ void CTurbSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfig* /*--- Interpolate the solution down to the coarse multigrid levels ---*/ for (auto iMesh = 1u; iMesh <= config->GetnMGLevels(); iMesh++) { - - SU2_OMP_FOR_STAT(omp_chunk_size) - for (auto iPoint = 0ul; iPoint < geometry[iMesh]->GetnPoint(); iPoint++) { - const su2double Area_Parent = geometry[iMesh]->nodes->GetVolume(iPoint); - su2double Solution_Coarse[MAXNVAR] = {0.0}; - - for (auto iChildren = 0ul; iChildren < geometry[iMesh]->nodes->GetnChildren_CV(iPoint); iChildren++) { - const auto Point_Fine = geometry[iMesh]->nodes->GetChildren_CV(iPoint, iChildren); - const su2double Area_Children = geometry[iMesh - 1]->nodes->GetVolume(Point_Fine); - const su2double* Solution_Fine = solver[iMesh - 1][TURB_SOL]->GetNodes()->GetSolution(Point_Fine); - - for (auto iVar = 0u; iVar < nVar; iVar++) { - Solution_Coarse[iVar] += Solution_Fine[iVar] * Area_Children / Area_Parent; - } - } - solver[iMesh][TURB_SOL]->GetNodes()->SetSolution(iPoint, Solution_Coarse); - } - END_SU2_OMP_FOR - + MultigridRestriction(*geometry[iMesh - 1], solver[iMesh - 1][TURB_SOL]->GetNodes()->GetSolution(), + *geometry[iMesh], solver[iMesh][TURB_SOL]->GetNodes()->GetSolution()); solver[iMesh][TURB_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION); solver[iMesh][TURB_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION); diff --git a/SU2_CFD/src/variables/CAdjEulerVariable.cpp b/SU2_CFD/src/variables/CAdjEulerVariable.cpp index 7bde7b6c0eb..628bfac6985 100644 --- a/SU2_CFD/src/variables/CAdjEulerVariable.cpp +++ b/SU2_CFD/src/variables/CAdjEulerVariable.cpp @@ -2,7 +2,7 @@ * \file CAdjEulerVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CAdjNSVariable.cpp b/SU2_CFD/src/variables/CAdjNSVariable.cpp index e4873aff720..8654a2a3aac 100644 --- a/SU2_CFD/src/variables/CAdjNSVariable.cpp +++ b/SU2_CFD/src/variables/CAdjNSVariable.cpp @@ -2,7 +2,7 @@ * \file CAdjNSVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CAdjTurbVariable.cpp b/SU2_CFD/src/variables/CAdjTurbVariable.cpp index d52bfcbd5e7..ecb99adcf88 100644 --- a/SU2_CFD/src/variables/CAdjTurbVariable.cpp +++ b/SU2_CFD/src/variables/CAdjTurbVariable.cpp @@ -2,7 +2,7 @@ * \file CAdjTurbVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CBaselineVariable.cpp b/SU2_CFD/src/variables/CBaselineVariable.cpp index 66b957eec35..bb962db9b8e 100644 --- a/SU2_CFD/src/variables/CBaselineVariable.cpp +++ b/SU2_CFD/src/variables/CBaselineVariable.cpp @@ -2,7 +2,7 @@ * \file CBaselineVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp b/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp index 7e248790f14..b3f17c7fb11 100644 --- a/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp +++ b/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEAVariable.cpp * \brief Definition of the variables for FEM adjoint elastic structural problems. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp b/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp index 4fc72f3614a..6eb634a9c4f 100644 --- a/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp +++ b/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjMeshVariable.cpp * \brief Main subroutines for the discrete adjoint mesh variable structure. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CDiscAdjVariable.cpp b/SU2_CFD/src/variables/CDiscAdjVariable.cpp index 25954093036..497ade11dd3 100644 --- a/SU2_CFD/src/variables/CDiscAdjVariable.cpp +++ b/SU2_CFD/src/variables/CDiscAdjVariable.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjVariable.cpp * \brief Main subroutines for the discrete adjoint variable structure. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CEulerVariable.cpp b/SU2_CFD/src/variables/CEulerVariable.cpp index 30ffcc08242..f7b4e17e1b4 100644 --- a/SU2_CFD/src/variables/CEulerVariable.cpp +++ b/SU2_CFD/src/variables/CEulerVariable.cpp @@ -2,7 +2,7 @@ * \file CEulerVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -72,6 +72,12 @@ CEulerVariable::CEulerVariable(su2double density, const su2double *velocity, su2 WindGust.resize(nPoint,nDim); WindGustDer.resize(nPoint,nDim+1); } + + if (config->GetVorticityConfinement()) { + nAuxVar = 1; + Grad_AuxVar.resize(nPoint, nAuxVar, nDim, 0.0); + AuxVar.resize(nPoint, nAuxVar) = su2double(0.0); + } } bool CEulerVariable::SetPrimVar(unsigned long iPoint, CFluidModel *FluidModel) { diff --git a/SU2_CFD/src/variables/CFEABoundVariable.cpp b/SU2_CFD/src/variables/CFEABoundVariable.cpp index 6b72de425e2..94940b8c952 100644 --- a/SU2_CFD/src/variables/CFEABoundVariable.cpp +++ b/SU2_CFD/src/variables/CFEABoundVariable.cpp @@ -2,7 +2,7 @@ * \file CFEABoundVariable.cpp * \brief Definition of the variables for FEM elastic structural problems. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CFEAVariable.cpp b/SU2_CFD/src/variables/CFEAVariable.cpp index 8633398051f..633d94efb1d 100644 --- a/SU2_CFD/src/variables/CFEAVariable.cpp +++ b/SU2_CFD/src/variables/CFEAVariable.cpp @@ -2,7 +2,7 @@ * \file CFEAVariable.cpp * \brief Definition of the variables for FEM elastic structural problems. * \author R. Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CFlowVariable.cpp b/SU2_CFD/src/variables/CFlowVariable.cpp index 6feeaccdd52..261e94cabba 100644 --- a/SU2_CFD/src/variables/CFlowVariable.cpp +++ b/SU2_CFD/src/variables/CFlowVariable.cpp @@ -1,7 +1,7 @@ /*! * \file CFlowVariable.cpp * \brief Definition of common solution fields for flow solvers. - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CHeatVariable.cpp b/SU2_CFD/src/variables/CHeatVariable.cpp index 9802e8d26a1..1f696a2f66f 100644 --- a/SU2_CFD/src/variables/CHeatVariable.cpp +++ b/SU2_CFD/src/variables/CHeatVariable.cpp @@ -2,7 +2,7 @@ * \file CHeatVariable.cpp * \brief Definition of the variables for heat equation problems. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -25,16 +25,13 @@ * License along with SU2. If not, see . */ - #include "../../include/variables/CHeatVariable.hpp" - CHeatVariable::CHeatVariable(su2double heat, unsigned long npoint, unsigned long ndim, unsigned long nvar, CConfig *config) - : CVariable(npoint, ndim, nvar, config), Gradient_Reconstruction(config->GetReconstructionGradientRequired() ? Gradient_Aux : Gradient) { + : CScalarVariable(npoint, ndim, nvar, config) { - bool low_fidelity = false; - bool dual_time = ((config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || - (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND)); + const bool dual_time = ((config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST) || + (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND)); /*--- Initialization of heat variable ---*/ @@ -43,14 +40,14 @@ CHeatVariable::CHeatVariable(su2double heat, unsigned long npoint, unsigned long /*--- Allocate residual structures ---*/ - Res_TruncError.resize(nPoint,nVar) = su2double(0.0); + Res_TruncError.resize(nPoint, nVar) = su2double(0.0); /*--- Only for residual smoothing (multigrid) ---*/ for (unsigned long iMesh = 0; iMesh <= config->GetnMGLevels(); iMesh++) { - if ((config->GetMG_CorrecSmooth(iMesh) > 0) || low_fidelity) { - Residual_Sum.resize(nPoint,nVar); - Residual_Old.resize(nPoint,nVar); + if (config->GetMG_CorrecSmooth(iMesh) > 0) { + Residual_Sum.resize(nPoint, nVar); + Residual_Old.resize(nPoint, nVar); break; } } @@ -61,27 +58,11 @@ CHeatVariable::CHeatVariable(su2double heat, unsigned long npoint, unsigned long Solution_time_n1 = heat; } - /*--- Gradient related fields ---*/ - Gradient.resize(nPoint,nVar,nDim,0.0); - - if (config->GetReconstructionGradientRequired()) { - Gradient_Aux.resize(nPoint,nVar,nDim,0.0); - } - - if (config->GetLeastSquaresRequired()) { - Rmatrix.resize(nPoint,nDim,nDim,0.0); - } - if (config->GetKind_ConvNumScheme_Heat() == SPACE_CENTERED) - Undivided_Laplacian.resize(nPoint,nVar); + Undivided_Laplacian.resize(nPoint, nVar); Max_Lambda_Inv.resize(nPoint); Max_Lambda_Visc.resize(nPoint); - Delta_Time.resize(nPoint); - - /* Under-relaxation parameter. */ - UnderRelaxation.resize(nPoint) = su2double(1.0); - LocalCFL.resize(nPoint) = su2double(0.0); if (config->GetMultizone_Problem()) Set_BGSSolution_k(); diff --git a/SU2_CFD/src/variables/CIncEulerVariable.cpp b/SU2_CFD/src/variables/CIncEulerVariable.cpp index aa7eec96db1..df48f82da5c 100644 --- a/SU2_CFD/src/variables/CIncEulerVariable.cpp +++ b/SU2_CFD/src/variables/CIncEulerVariable.cpp @@ -2,7 +2,7 @@ * \file CIncEulerVariable.cpp * \brief Definition of the variable classes for incompressible flow. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CIncNSVariable.cpp b/SU2_CFD/src/variables/CIncNSVariable.cpp index 3c644ac13c0..a3458a9eb46 100644 --- a/SU2_CFD/src/variables/CIncNSVariable.cpp +++ b/SU2_CFD/src/variables/CIncNSVariable.cpp @@ -2,7 +2,7 @@ * \file CIncNSVariable.cpp * \brief Definition of the variable classes for incompressible flow. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CMeshBoundVariable.cpp b/SU2_CFD/src/variables/CMeshBoundVariable.cpp index 6bb5f97e1cd..568d7d12713 100644 --- a/SU2_CFD/src/variables/CMeshBoundVariable.cpp +++ b/SU2_CFD/src/variables/CMeshBoundVariable.cpp @@ -2,7 +2,7 @@ * \file CMeshBoundVariable.cpp * \brief Definition of the boundary variables for mesh motion using a pseudo-elastic approach. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CMeshElement.cpp b/SU2_CFD/src/variables/CMeshElement.cpp index 8fb48e2a6d4..aeabfcea921 100644 --- a/SU2_CFD/src/variables/CMeshElement.cpp +++ b/SU2_CFD/src/variables/CMeshElement.cpp @@ -2,7 +2,7 @@ * \file CMeshElement.cpp * \brief Definition of the mesh elements for mesh deformation using a pseudo-elastic approach. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CMeshVariable.cpp b/SU2_CFD/src/variables/CMeshVariable.cpp index dd1a85ae8ab..17e69a9376b 100644 --- a/SU2_CFD/src/variables/CMeshVariable.cpp +++ b/SU2_CFD/src/variables/CMeshVariable.cpp @@ -2,7 +2,7 @@ * \file CMeshVariable.cpp * \brief Definition of the variables for mesh motion using a pseudo-elastic approach. * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp index 45d50b66cd1..8e266e70182 100644 --- a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp +++ b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp @@ -2,7 +2,7 @@ * \file CNEMOEulerVariable.cpp * \brief Definition of the solution fields. * \author C. Garbacz, W. Maier, S.R. Copeland - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CNEMONSVariable.cpp b/SU2_CFD/src/variables/CNEMONSVariable.cpp index 52c193a2765..00ebcb62029 100644 --- a/SU2_CFD/src/variables/CNEMONSVariable.cpp +++ b/SU2_CFD/src/variables/CNEMONSVariable.cpp @@ -2,7 +2,7 @@ * \file CNEMONSVariable.cpp * \brief Definition of the solution fields. * \author C. Garbacz, W. Maier, S.R. Copeland - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CNSVariable.cpp b/SU2_CFD/src/variables/CNSVariable.cpp index 11221a34eae..cbc52de9673 100644 --- a/SU2_CFD/src/variables/CNSVariable.cpp +++ b/SU2_CFD/src/variables/CNSVariable.cpp @@ -2,7 +2,7 @@ * \file CNSVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CRadP1Variable.cpp b/SU2_CFD/src/variables/CRadP1Variable.cpp index ac7f579fe6c..c380cc67507 100644 --- a/SU2_CFD/src/variables/CRadP1Variable.cpp +++ b/SU2_CFD/src/variables/CRadP1Variable.cpp @@ -2,7 +2,7 @@ * \file CRadP1Variable.cpp * \brief Definition of the P1 model variables * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CRadVariable.cpp b/SU2_CFD/src/variables/CRadVariable.cpp index c67bf8c41ff..a681ee0c8fe 100644 --- a/SU2_CFD/src/variables/CRadVariable.cpp +++ b/SU2_CFD/src/variables/CRadVariable.cpp @@ -2,7 +2,7 @@ * \file CRadVariable.cpp * \brief Definition of the radiation variables * \author Ruben Sanchez - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CScalarVariable.cpp b/SU2_CFD/src/variables/CScalarVariable.cpp index 3a333c5fe30..8ce392aab6b 100644 --- a/SU2_CFD/src/variables/CScalarVariable.cpp +++ b/SU2_CFD/src/variables/CScalarVariable.cpp @@ -2,7 +2,7 @@ * \file CScalarVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp b/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp index 275f3207095..d9c18c7d20d 100644 --- a/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp +++ b/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp @@ -2,7 +2,7 @@ * \file CSobolevSmoothingVariable.cpp * \brief Definition of the variables for gradient smoothing problems. * \author T. Dick - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CSpeciesVariable.cpp b/SU2_CFD/src/variables/CSpeciesVariable.cpp index 210ac62bdde..7a8a0787410 100644 --- a/SU2_CFD/src/variables/CSpeciesVariable.cpp +++ b/SU2_CFD/src/variables/CSpeciesVariable.cpp @@ -2,7 +2,7 @@ * \file CSpeciesVariable.cpp * \brief Definition of the solution fields. * \author T. Kattmann - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CTransLMVariable.cpp b/SU2_CFD/src/variables/CTransLMVariable.cpp index 0ef5e53a545..df345c23aef 100644 --- a/SU2_CFD/src/variables/CTransLMVariable.cpp +++ b/SU2_CFD/src/variables/CTransLMVariable.cpp @@ -2,7 +2,7 @@ * \file CTransLMVariable.cpp * \brief Definition of the solution fields. * \author A. Aranake, S. Kang - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CTurbSAVariable.cpp b/SU2_CFD/src/variables/CTurbSAVariable.cpp index 3d2ac8dfcfa..50fdb39a261 100644 --- a/SU2_CFD/src/variables/CTurbSAVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSAVariable.cpp @@ -2,7 +2,7 @@ * \file CTurbSAVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CTurbSSTVariable.cpp b/SU2_CFD/src/variables/CTurbSSTVariable.cpp index a4c37d52e17..c4506529d10 100644 --- a/SU2_CFD/src/variables/CTurbSSTVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSSTVariable.cpp @@ -2,7 +2,7 @@ * \file CTurbSSTVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CTurbVariable.cpp b/SU2_CFD/src/variables/CTurbVariable.cpp index 6fa45ff1d07..b24289a63b5 100644 --- a/SU2_CFD/src/variables/CTurbVariable.cpp +++ b/SU2_CFD/src/variables/CTurbVariable.cpp @@ -2,7 +2,7 @@ * \file CTurbVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CVariable.cpp b/SU2_CFD/src/variables/CVariable.cpp index a6eda70718f..c56ad1838e9 100644 --- a/SU2_CFD/src/variables/CVariable.cpp +++ b/SU2_CFD/src/variables/CVariable.cpp @@ -2,7 +2,7 @@ * \file CVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_DEF/include/SU2_DEF.hpp b/SU2_DEF/include/SU2_DEF.hpp index 46ebf3c0c2e..ee29a732ad9 100644 --- a/SU2_DEF/include/SU2_DEF.hpp +++ b/SU2_DEF/include/SU2_DEF.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_DEF. * The subroutines and functions are in the SU2_DEF.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_DEF/obj/Makefile.am b/SU2_DEF/obj/Makefile.am index 84650dbad04..5081ba4fc04 100644 --- a/SU2_DEF/obj/Makefile.am +++ b/SU2_DEF/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_DEF # \author M. Colonno, T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_DEF/src/SU2_DEF.cpp b/SU2_DEF/src/SU2_DEF.cpp index d6f853571c8..d50ef1fc374 100644 --- a/SU2_DEF/src/SU2_DEF.cpp +++ b/SU2_DEF/src/SU2_DEF.cpp @@ -2,7 +2,7 @@ * \file SU2_DEF.cpp * \brief Main file of Mesh Deformation Code (SU2_DEF). * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_DOT/include/SU2_DOT.hpp b/SU2_DOT/include/SU2_DOT.hpp index a3942f6b0a3..a386e880c63 100644 --- a/SU2_DOT/include/SU2_DOT.hpp +++ b/SU2_DOT/include/SU2_DOT.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_DOT. * The subroutines and functions are in the SU2_DOT.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_DOT/obj/Makefile.am b/SU2_DOT/obj/Makefile.am index 635f6a54938..e53553b1d41 100644 --- a/SU2_DOT/obj/Makefile.am +++ b/SU2_DOT/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_DOT # \author M. Colonno, T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_DOT/src/SU2_DOT.cpp b/SU2_DOT/src/SU2_DOT.cpp index e15bd2af8ee..e1dd7355194 100644 --- a/SU2_DOT/src/SU2_DOT.cpp +++ b/SU2_DOT/src/SU2_DOT.cpp @@ -2,7 +2,7 @@ * \file SU2_DOT.cpp * \brief Main file of the Gradient Projection Code (SU2_DOT). * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_GEO/include/SU2_GEO.hpp b/SU2_GEO/include/SU2_GEO.hpp index 05e7422a688..2fcc154d90f 100644 --- a/SU2_GEO/include/SU2_GEO.hpp +++ b/SU2_GEO/include/SU2_GEO.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_GEO. * The subroutines and functions are in the SU2_GEO.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_GEO/obj/Makefile.am b/SU2_GEO/obj/Makefile.am index 5fc074d5601..aea8c2931eb 100644 --- a/SU2_GEO/obj/Makefile.am +++ b/SU2_GEO/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_GEO # \author M. Colonno, T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_GEO/src/SU2_GEO.cpp b/SU2_GEO/src/SU2_GEO.cpp index 509778f251d..99097964873 100644 --- a/SU2_GEO/src/SU2_GEO.cpp +++ b/SU2_GEO/src/SU2_GEO.cpp @@ -2,7 +2,7 @@ * \file SU2_GEO.cpp * \brief Main file of the Geometry Definition Code (SU2_GEO). * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_PY/FSI_tools/FSIInterface.py b/SU2_PY/FSI_tools/FSIInterface.py index d09fec9e5c2..e4e89dce7ce 100644 --- a/SU2_PY/FSI_tools/FSIInterface.py +++ b/SU2_PY/FSI_tools/FSIInterface.py @@ -3,7 +3,7 @@ ## \file FSIInterface.py # \brief FSI interface class that handles fluid/solid solvers synchronisation and communication. # \authors Nicola Fonzi, Vittorio Cavalieri based on the work of David Thomas -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/FSI_tools/FSI_config.py b/SU2_PY/FSI_tools/FSI_config.py index 1cf397f54ba..8bd7920dee1 100644 --- a/SU2_PY/FSI_tools/FSI_config.py +++ b/SU2_PY/FSI_tools/FSI_config.py @@ -3,7 +3,7 @@ ## \file FSI_config.py # \brief Python class for handling configuration file for FSI computation. # \authors Nicola Fonzi, Vittorio Cavalieri based on the work of David Thomas -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/Makefile.am b/SU2_PY/Makefile.am index cb7f1eca66e..8e0ab1f5dbf 100644 --- a/SU2_PY/Makefile.am +++ b/SU2_PY/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for the SU2 Python framework # \author M. Colonno, T. Economon, F. Palacios, T. Lukaczyk -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index 709096b1253..e3057d1d48a 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -1,7 +1,7 @@ ## \file OptimalPropeller.py # \brief Python script for generating the ActuatorDisk.dat file. # \author E. Saetta, L. Russo, R. Tognaccini -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/eval/design.py b/SU2_PY/SU2/eval/design.py index 4ffc1382e1e..69f5930ae59 100644 --- a/SU2_PY/SU2/eval/design.py +++ b/SU2_PY/SU2/eval/design.py @@ -3,7 +3,7 @@ ## \file design.py # \brief python package for designs # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/eval/functions.py b/SU2_PY/SU2/eval/functions.py index 58d793b1ba1..fb767a87f66 100644 --- a/SU2_PY/SU2/eval/functions.py +++ b/SU2_PY/SU2/eval/functions.py @@ -3,7 +3,7 @@ ## \file functions.py # \brief python package for functions # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/eval/gradients.py b/SU2_PY/SU2/eval/gradients.py index c784fef1106..2298a475999 100644 --- a/SU2_PY/SU2/eval/gradients.py +++ b/SU2_PY/SU2/eval/gradients.py @@ -3,7 +3,7 @@ ## \file gradients.py # \brief python package for gradients # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/config.py b/SU2_PY/SU2/io/config.py index f887723947d..21fe28d79da 100755 --- a/SU2_PY/SU2/io/config.py +++ b/SU2_PY/SU2/io/config.py @@ -3,7 +3,7 @@ ## \file config.py # \brief python package for config # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/config_options.py b/SU2_PY/SU2/io/config_options.py index 991ca0b56a0..16d5ee9ee1a 100644 --- a/SU2_PY/SU2/io/config_options.py +++ b/SU2_PY/SU2/io/config_options.py @@ -1,7 +1,7 @@ # \file config_options.py # \brief python package for config # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/data.py b/SU2_PY/SU2/io/data.py index 60c641d9c33..1454b983414 100644 --- a/SU2_PY/SU2/io/data.py +++ b/SU2_PY/SU2/io/data.py @@ -3,7 +3,7 @@ ## \file data.py # \brief python package for data utility functions # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/filelock.py b/SU2_PY/SU2/io/filelock.py index cf19b74683d..9b281b08304 100644 --- a/SU2_PY/SU2/io/filelock.py +++ b/SU2_PY/SU2/io/filelock.py @@ -3,7 +3,7 @@ ## \file filelock.py # \brief python package for filelocking # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/redirect.py b/SU2_PY/SU2/io/redirect.py index bbf5412df2b..548f93aa991 100644 --- a/SU2_PY/SU2/io/redirect.py +++ b/SU2_PY/SU2/io/redirect.py @@ -3,7 +3,7 @@ ## \file redirect.py # \brief python package for file redirection # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/state.py b/SU2_PY/SU2/io/state.py index 16977ded814..66bf2e9c51a 100644 --- a/SU2_PY/SU2/io/state.py +++ b/SU2_PY/SU2/io/state.py @@ -3,7 +3,7 @@ ## \file state.py # \brief python package for state # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/tools.py b/SU2_PY/SU2/io/tools.py index a3a6afea0b8..2522ff0c2f8 100755 --- a/SU2_PY/SU2/io/tools.py +++ b/SU2_PY/SU2/io/tools.py @@ -3,7 +3,7 @@ ## \file tools.py # \brief file i/o functions # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/opt/project.py b/SU2_PY/SU2/opt/project.py index 5d144421cbf..486cc195667 100644 --- a/SU2_PY/SU2/opt/project.py +++ b/SU2_PY/SU2/opt/project.py @@ -3,7 +3,7 @@ ## \file project.py # \brief package for optimization projects # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/opt/scipy_tools.py b/SU2_PY/SU2/opt/scipy_tools.py index b46df92ed79..cd931688a01 100644 --- a/SU2_PY/SU2/opt/scipy_tools.py +++ b/SU2_PY/SU2/opt/scipy_tools.py @@ -3,7 +3,7 @@ ## \file scipy_tools.py # \brief tools for interfacing with scipy # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/adjoint.py b/SU2_PY/SU2/run/adjoint.py index 035c9fda9da..bdc1f416061 100644 --- a/SU2_PY/SU2/run/adjoint.py +++ b/SU2_PY/SU2/run/adjoint.py @@ -3,7 +3,7 @@ ## \file adjoint.py # \brief python package for running adjoint problems # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/deform.py b/SU2_PY/SU2/run/deform.py index 445397c924f..e742f6b0e2a 100644 --- a/SU2_PY/SU2/run/deform.py +++ b/SU2_PY/SU2/run/deform.py @@ -3,7 +3,7 @@ ## \file deform.py # \brief python package for deforming meshes # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/direct.py b/SU2_PY/SU2/run/direct.py index 6632dd0dcab..520caf468ba 100644 --- a/SU2_PY/SU2/run/direct.py +++ b/SU2_PY/SU2/run/direct.py @@ -3,7 +3,7 @@ ## \file direct.py # \brief python package for running direct solutions # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/geometry.py b/SU2_PY/SU2/run/geometry.py index 1fd77e1fd22..45296cf9509 100644 --- a/SU2_PY/SU2/run/geometry.py +++ b/SU2_PY/SU2/run/geometry.py @@ -3,7 +3,7 @@ ## \file geometry.py # \brief python package for running geometry analyses # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/interface.py b/SU2_PY/SU2/run/interface.py index 548bf8eafaa..a0512d5aef3 100644 --- a/SU2_PY/SU2/run/interface.py +++ b/SU2_PY/SU2/run/interface.py @@ -3,7 +3,7 @@ ## \file interface.py # \brief python package interfacing with the SU2 suite # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/merge.py b/SU2_PY/SU2/run/merge.py index 07e29a6ac52..65fa96db065 100644 --- a/SU2_PY/SU2/run/merge.py +++ b/SU2_PY/SU2/run/merge.py @@ -1,7 +1,7 @@ ## \file merge.py # \brief python package for merging meshes # \author T. Economon, T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/projection.py b/SU2_PY/SU2/run/projection.py index dc7c1a0340b..254db62ca29 100644 --- a/SU2_PY/SU2/run/projection.py +++ b/SU2_PY/SU2/run/projection.py @@ -3,7 +3,7 @@ ## \file projection.py # \brief python package for running gradient projection # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/util/filter_adjoint.py b/SU2_PY/SU2/util/filter_adjoint.py index f693ec618bf..da73328a37e 100644 --- a/SU2_PY/SU2/util/filter_adjoint.py +++ b/SU2_PY/SU2/util/filter_adjoint.py @@ -3,7 +3,7 @@ ## \file filter_adjoint.py # \brief Applies various filters to the adjoint surface sensitivities of an airfoil # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/util/plot.py b/SU2_PY/SU2/util/plot.py index 366d8a8314e..aef78d6e7bf 100644 --- a/SU2_PY/SU2/util/plot.py +++ b/SU2_PY/SU2/util/plot.py @@ -3,7 +3,7 @@ ## \file plot.py # \brief python package for plotting # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/util/polarSweepLib.py b/SU2_PY/SU2/util/polarSweepLib.py index bed78770927..729232a4412 100755 --- a/SU2_PY/SU2/util/polarSweepLib.py +++ b/SU2_PY/SU2/util/polarSweepLib.py @@ -2,7 +2,7 @@ # \file polarSweepLib.py # \brief Functions library for compute_polar.py script. # \author E Arad -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/util/which.py b/SU2_PY/SU2/util/which.py index efe0a9297fb..ec79e78b9b8 100644 --- a/SU2_PY/SU2/util/which.py +++ b/SU2_PY/SU2/util/which.py @@ -3,7 +3,7 @@ ## \file which.py # \brief looks for where a program is # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2_CFD.py b/SU2_PY/SU2_CFD.py index 98e9d70a6f4..1d71584278c 100755 --- a/SU2_PY/SU2_CFD.py +++ b/SU2_PY/SU2_CFD.py @@ -3,7 +3,7 @@ ## \file SU2_CFD.py # \brief Python script to launch SU2_CFD through the Python Wrapper. # \author David Thomas -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2_Nastran/pysu2_nastran.py b/SU2_PY/SU2_Nastran/pysu2_nastran.py index f2ba4183527..6647c23b372 100644 --- a/SU2_PY/SU2_Nastran/pysu2_nastran.py +++ b/SU2_PY/SU2_Nastran/pysu2_nastran.py @@ -3,7 +3,7 @@ ## \file pysu2_nastran.py # \brief Structural solver using Nastran models # \authors Nicola Fonzi, Vittorio Cavalieri, based on the work of David Thomas -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/change_version_number.py b/SU2_PY/change_version_number.py index 4201a2f41ab..715bcbf996a 100755 --- a/SU2_PY/change_version_number.py +++ b/SU2_PY/change_version_number.py @@ -3,7 +3,7 @@ ## \file change_version_number.py # \brief Python script for updating the version number of the SU2 suite. # \author A. Aranake -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -42,8 +42,8 @@ if not options.version: parser.error("new version number must be provided with -v option") -oldvers = '7.4.0 "Blackbird"' -oldvers_q= r'7.4.0 \"Blackbird\"' +oldvers = '7.5.0 "Blackbird"' +oldvers_q= r'7.5.0 \"Blackbird\"' newvers = str(options.version) + ' "' + str(options.releasename) + '"' newvers_q= str(options.version) + ' \\"' + str(options.releasename) + '\\"' #oldvers = 'Copyright 2012-2022, SU2' diff --git a/SU2_PY/compute_multipoint.py b/SU2_PY/compute_multipoint.py index ddae9ce2b93..32966f00b89 100755 --- a/SU2_PY/compute_multipoint.py +++ b/SU2_PY/compute_multipoint.py @@ -3,7 +3,7 @@ ## \file Compute_multipoint.py # \brief Python script for performing a multipoint design. # \author Indiana Stokes -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/compute_polar.py b/SU2_PY/compute_polar.py index fd0ad527b21..4f0d5712cf7 100755 --- a/SU2_PY/compute_polar.py +++ b/SU2_PY/compute_polar.py @@ -3,7 +3,7 @@ ## \file Compute_polar.py # \brief Python script for performing polar sweep. # \author E Arad (based on T. Lukaczyk and F. Palacios script) -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/compute_stability.py b/SU2_PY/compute_stability.py index 67c504e7319..cf7b19d72b2 100755 --- a/SU2_PY/compute_stability.py +++ b/SU2_PY/compute_stability.py @@ -3,7 +3,7 @@ ## \file compute_stability.py # \brief Python script for performing the shape optimization. # \author T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/compute_uncertainty.py b/SU2_PY/compute_uncertainty.py index eca3a775c6e..a55f0ccee2a 100755 --- a/SU2_PY/compute_uncertainty.py +++ b/SU2_PY/compute_uncertainty.py @@ -3,7 +3,7 @@ ## \file compute_uncertainty.py # \brief Python script for performing model-form UQ for SST turbulence model # \author J. Mukhopadhaya -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/config_gui.py b/SU2_PY/config_gui.py index 90755201249..0f7caf1c82b 100755 --- a/SU2_PY/config_gui.py +++ b/SU2_PY/config_gui.py @@ -3,7 +3,7 @@ ## \file config_gui.py # \brief _____________. # \author A. Aranake -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/continuous_adjoint.py b/SU2_PY/continuous_adjoint.py index 931bd8b54fc..7e24facc3bc 100755 --- a/SU2_PY/continuous_adjoint.py +++ b/SU2_PY/continuous_adjoint.py @@ -3,7 +3,7 @@ ## \file continuous_adjoint.py # \brief Python script for continuous adjoint computation using the SU2 suite. # \author F. Palacios, T. Economon, T. Lukaczyk -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/convert_to_csv.py b/SU2_PY/convert_to_csv.py index fa3428c2f82..5a064673eb8 100755 --- a/SU2_PY/convert_to_csv.py +++ b/SU2_PY/convert_to_csv.py @@ -3,7 +3,7 @@ ## \file convert_to_csv.py # \brief This script converts SU2 ASCII restart files generated with a version prior v7 to the CSV format # \author T. Albring -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/direct_differentiation.py b/SU2_PY/direct_differentiation.py index 5873ea5d5f6..3e17188ec63 100755 --- a/SU2_PY/direct_differentiation.py +++ b/SU2_PY/direct_differentiation.py @@ -3,7 +3,7 @@ ## \file direct_differentiation.py # \brief Python script for doing the direct differentiation computation using the SU2 suite. # \author F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/discrete_adjoint.py b/SU2_PY/discrete_adjoint.py index c599ec8ccfa..55a857b4b3d 100755 --- a/SU2_PY/discrete_adjoint.py +++ b/SU2_PY/discrete_adjoint.py @@ -3,7 +3,7 @@ ## \file discrete_adjoint.py # \brief Python script for doing the discrete adjoint computation using the SU2 suite. # \author F. Palacios, T. Economon, T. Lukaczyk -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/finite_differences.py b/SU2_PY/finite_differences.py index 6a762769509..cf4ffcecda5 100755 --- a/SU2_PY/finite_differences.py +++ b/SU2_PY/finite_differences.py @@ -3,7 +3,7 @@ ## \file finite_differences.py # \brief Python script for doing the finite differences computation using the SU2 suite. # \author F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/fsi_computation.py b/SU2_PY/fsi_computation.py index 7caf6aedac3..84bc07d200a 100644 --- a/SU2_PY/fsi_computation.py +++ b/SU2_PY/fsi_computation.py @@ -3,7 +3,7 @@ ## \file fsi_computation.py # \brief Python wrapper code for FSI computation by coupling a third-party structural solver to SU2. # \authors Nicola Fonzi, Vittorio Cavalieri based on the work of David Thomas -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/merge_solution.py b/SU2_PY/merge_solution.py index 8b5c7d65fff..52539f71db8 100755 --- a/SU2_PY/merge_solution.py +++ b/SU2_PY/merge_solution.py @@ -3,7 +3,7 @@ ## \file merge_solution.py # \brief Python script for merging of the solution files. # \author F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/mesh_deformation.py b/SU2_PY/mesh_deformation.py index 7ea233593d7..9f6ffe0da18 100755 --- a/SU2_PY/mesh_deformation.py +++ b/SU2_PY/mesh_deformation.py @@ -3,7 +3,7 @@ ## \file mesh_deformation.py # \brief Python script for doing the parallel deformation using SU2_DEF. # \author F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/package_tests.py b/SU2_PY/package_tests.py index cc14a2afd29..3f92929ff23 100755 --- a/SU2_PY/package_tests.py +++ b/SU2_PY/package_tests.py @@ -3,7 +3,7 @@ ## \file package_tests.py # \brief _____________. # \author T. Lukaczyk -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/parallel_computation.py b/SU2_PY/parallel_computation.py index d5aa0043e44..4ef5f056073 100755 --- a/SU2_PY/parallel_computation.py +++ b/SU2_PY/parallel_computation.py @@ -3,7 +3,7 @@ ## \file parallel_computation.py # \brief Python script for doing the continuous adjoint computation using the SU2 suite. # \author T. Economon, T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/parallel_computation_fsi.py b/SU2_PY/parallel_computation_fsi.py index f60595dbaee..fbb5c3a903d 100755 --- a/SU2_PY/parallel_computation_fsi.py +++ b/SU2_PY/parallel_computation_fsi.py @@ -3,7 +3,7 @@ ## \file parallel_computation_fsi.py # \brief Python script for running FSI simulations using the SU2 suite. # \author T. Economon, T. Lukaczyk, F. Palacios, H. Kline, R. Sanchez -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/parse_config.py b/SU2_PY/parse_config.py index 8ff678a482e..dba492e8faa 100755 --- a/SU2_PY/parse_config.py +++ b/SU2_PY/parse_config.py @@ -3,7 +3,7 @@ ## \file parse_config.py # \brief Builds a worksheet of all SU2.cpp options # \author A. Aranake, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/profiling.py b/SU2_PY/profiling.py index 98da128c6ae..f9f45f68523 100755 --- a/SU2_PY/profiling.py +++ b/SU2_PY/profiling.py @@ -3,7 +3,7 @@ ## \file profiling.py # \brief Python script for postprocessing the SU2 custom profiling (profiling.csv) # \author T. Economon -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/pySU2/Makefile.am b/SU2_PY/pySU2/Makefile.am index 6b749935da1..210c5df9341 100644 --- a/SU2_PY/pySU2/Makefile.am +++ b/SU2_PY/pySU2/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for the SU2 Python wrapper. # \author D. Thomas -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/pySU2/pySU2.i b/SU2_PY/pySU2/pySU2.i index 3c21c1e9a87..d54f03501ca 100644 --- a/SU2_PY/pySU2/pySU2.i +++ b/SU2_PY/pySU2/pySU2.i @@ -4,7 +4,7 @@ # \file pySU2.i # \brief Configuration file for the Swig compilation of the Python wrapper. # \author D. Thomas -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/pySU2/pySU2ad.i b/SU2_PY/pySU2/pySU2ad.i index e595a3f2cdd..f93d3f099de 100644 --- a/SU2_PY/pySU2/pySU2ad.i +++ b/SU2_PY/pySU2/pySU2ad.i @@ -4,7 +4,7 @@ # \file pySU2ad.i # \brief Configuration file for the Swig compilation of the Python wrapper. # \author D. Thomas, R. Sanchez -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/set_ffd_design_var.py b/SU2_PY/set_ffd_design_var.py index be8e5667f6f..c114f16ac03 100755 --- a/SU2_PY/set_ffd_design_var.py +++ b/SU2_PY/set_ffd_design_var.py @@ -3,7 +3,7 @@ ## \file set_ffd_design_var.py # \brief Python script for automatically generating a list of FFD variables. # \author T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/shape_optimization.py b/SU2_PY/shape_optimization.py index 48a5d7752e9..e56b7c41e9f 100755 --- a/SU2_PY/shape_optimization.py +++ b/SU2_PY/shape_optimization.py @@ -3,7 +3,7 @@ ## \file shape_optimization.py # \brief Python script for performing the shape optimization. # \author T. Economon, T. Lukaczyk, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -63,7 +63,7 @@ def main(): sys.stdout.write('\n-------------------------------------------------------------------------\n') sys.stdout.write('| ___ _ _ ___ |\n') - sys.stdout.write('| / __| | | |_ ) Release 7.4.0 \"Blackbird\" |\n') + sys.stdout.write('| / __| | | |_ ) Release 7.5.0 \"Blackbird\" |\n') sys.stdout.write('| \\__ \\ |_| |/ / |\n') sys.stdout.write('| |___/\\___//___| Aerodynamic Shape Optimization Script |\n') sys.stdout.write('| |\n') diff --git a/SU2_PY/topology_optimization.py b/SU2_PY/topology_optimization.py index 4b9957c4696..a8fd8f96802 100755 --- a/SU2_PY/topology_optimization.py +++ b/SU2_PY/topology_optimization.py @@ -2,7 +2,7 @@ ## \file topology_optimization.py # \brief Python script to drive SU2 in topology optimization. -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/updateHistoryMap.py b/SU2_PY/updateHistoryMap.py index 7e86ac4d8c4..49dfc382e7b 100644 --- a/SU2_PY/updateHistoryMap.py +++ b/SU2_PY/updateHistoryMap.py @@ -3,7 +3,7 @@ ## \file updateHistoryMap.py # \brief Python script for updating the historyMap.py file. # \author T. Albring -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_SOL/include/SU2_SOL.hpp b/SU2_SOL/include/SU2_SOL.hpp index 14a97c812ff..e11a7e8e7e2 100644 --- a/SU2_SOL/include/SU2_SOL.hpp +++ b/SU2_SOL/include/SU2_SOL.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_SOL. * The subroutines and functions are in the SU2_SOL.cpp file. * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_SOL/obj/Makefile.am b/SU2_SOL/obj/Makefile.am index d57da15bfb2..94b99d59ffb 100644 --- a/SU2_SOL/obj/Makefile.am +++ b/SU2_SOL/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_SOL # \author M. Colonno, T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_SOL/src/SU2_SOL.cpp b/SU2_SOL/src/SU2_SOL.cpp index 64b0cf5fedd..7bb2afb7cb5 100644 --- a/SU2_SOL/src/SU2_SOL.cpp +++ b/SU2_SOL/src/SU2_SOL.cpp @@ -2,7 +2,7 @@ * \file SU2_SOL.cpp * \brief Main file for the solution export/conversion code (SU2_SOL). * \author F. Palacios, T. Economon - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/TestCases/TestCase.py b/TestCases/TestCase.py index c4fdf7635e8..96058193aaf 100644 --- a/TestCases/TestCase.py +++ b/TestCases/TestCase.py @@ -3,7 +3,7 @@ ## \file TestCase.py # \brief Python class for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/aeroelastic/aeroelastic_NACA64A010.cfg b/TestCases/aeroelastic/aeroelastic_NACA64A010.cfg index 42d975893dc..bf98f82f088 100644 --- a/TestCases/aeroelastic/aeroelastic_NACA64A010.cfg +++ b/TestCases/aeroelastic/aeroelastic_NACA64A010.cfg @@ -5,88 +5,49 @@ % Author: Santiago Padron % % Institution: Stanford University % % Date: 07-09-15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% -% + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.85 -% -% Angle of attack (degrees, only for compressible flows) AOA= 1.0 -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K, 518.67 R by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = -0.5 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional -% moment (m or in) REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Time domain TIME_DOMAIN=YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, SPECTRAL_METHOD) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.00174532925199 % 36 steps per period, based on the pitch natural frequency % -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 50.0 -% -% Number of internal iterations (dual time method) INNER_ITER= 100 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -SURFACE_MOVEMENT= AEROELASTIC % -% Motion mach number (non-dimensional). Used for initializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. +SURFACE_MOVEMENT= AEROELASTIC MACH_MOTION= 0.85 -% -% Moving wall boundary marker(s) (NONE = no marker, ignored for RIGID_MOTION) MARKER_MOVING= ( airfoil ) % -------------- AEROELASTIC SIMULATION (Typical Section Model) ---------------% -% Activated by GRID_MOVEMENT_KIND option % % The flutter speed index (modifies the freestream condition in the solver) FLUTTER_SPEED_INDEX = 1.3 @@ -113,188 +74,88 @@ AEROELASTIC_ITER = 3 % --------------------------- GUST SIMULATION ---------------------------------% % -% Apply a wind gust (NO, YES) WIND_GUST = NO -% -% Type of gust (NONE, TOP_HAT, SINE, ONE_M_COSINE, VORTEX, EOG) GUST_TYPE = TOP_HAT -% -% Direction of the gust (X_DIR or Y_DIR) GUST_DIR = Y_DIR -% -% Gust wavelenght (meters) GUST_WAVELENGTH= 7.90876841815 % 1/4 of period based on the pitch natural frequency % -% Number of gust periods GUST_PERIODS= 1.0 -% -% Gust amplitude (m/s) GUST_AMPL= 8.78841285061 % Corresponds to 1 deg AoA. % -% Time at which to begin the gust (sec) GUST_BEGIN_TIME= 0.0 -% -% Location at which the gust begins (meters) */ GUST_BEGIN_LOC= -7.90876841815 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% CFL number (stating value for the adaptive CFL number) CFL_NUMBER= 4.0 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-grid levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar -% artificial dissipation) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= NO -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations TIME_ITER= 360 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 0 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA64A010_hybrid_inv.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG_ON_SURFACE, PLUNGE, PITCH) -% -OUTPUT_FILES= (RESTART_ASCII) - +OUTPUT_FILES= (RESTART_ASCII) \ No newline at end of file diff --git a/TestCases/axisymmetric_rans/air_nozzle/air_nozzle_restart.cfg b/TestCases/axisymmetric_rans/air_nozzle/air_nozzle_restart.cfg index e02de724994..b5ef5f46717 100644 --- a/TestCases/axisymmetric_rans/air_nozzle/air_nozzle_restart.cfg +++ b/TestCases/axisymmetric_rans/air_nozzle/air_nozzle_restart.cfg @@ -4,7 +4,7 @@ % Case description: Axisymmetric supersonic converging-diverging air nozzle % % Author: Florian Dittmann % % Date: 2021.12.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -13,36 +13,32 @@ SOLVER= RANS KIND_TURB_MODEL= SST RESTART_SOL= YES -% AXISYMMETRIC= YES -% + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % MACH_NUMBER= 1E-9 -% INIT_OPTION= TD_CONDITIONS -% FREESTREAM_OPTION= TEMPERATURE_FS FREESTREAM_PRESSURE= 1400000 FREESTREAM_TEMPERATURE= 373.15 -% REF_DIMENSIONALIZATION= DIMENSIONAL -% + % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % FLUID_MODEL= STANDARD_AIR -% + % --------------------------- VISCOSITY MODEL ---------------------------------% % VISCOSITY_MODEL= CONSTANT_VISCOSITY MU_CONSTANT= 1.716E-5 -% + % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % CONDUCTIVITY_MODEL= CONSTANT_PRANDTL PRANDTL_LAM= 0.72 PRANDTL_TURB= 0.90 -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_HEATFLUX= ( WALL, 0.0 ) @@ -58,12 +54,12 @@ CFL_NUMBER= 1000.0 CFL_ADAPT= NO MAX_DELTA_TIME= 1E6 OBJECTIVE_FUNCTION= DRAG -% + % ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% % MUSCL_FLOW= YES SLOPE_LIMITER_FLOW= NONE -% + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % LINEAR_SOLVER= FGMRES @@ -71,33 +67,30 @@ LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ILU_FILL_IN= 0 LINEAR_SOLVER_ERROR= 0.01 LINEAR_SOLVER_ITER= 10 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= ROE ENTROPY_FIX_COEFF= 0.1 TIME_DISCRE_FLOW= EULER_IMPLICIT -% + % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % CONV_NUM_METHOD_TURB= SCALAR_UPWIND TIME_DISCRE_TURB= EULER_IMPLICIT CFL_REDUCTION_TURB= 1.0 -% + % --------------------------- CONVERGENCE PARAMETERS --------------------------% % ITER= 3000 CONV_RESIDUAL_MINVAL= -12 CONV_STARTITER= 10 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= nozzle.su2 -% SOLUTION_FILENAME= solution_flow.dat RESTART_FILENAME= restart_flow.dat OUTPUT_WRT_FREQ= 1000 -% -% Note: This cfg is used for a primal and adjoint Testcase, therefore both residuals are present here. SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, RMS_TKE, RMS_DISSIPATION, TOTAL_HEATFLUX, \ RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, RMS_ADJ_TKE, RMS_ADJ_DISSIPATION, SENS_AOA, SENS_MACH) diff --git a/TestCases/cont_adj_euler/naca0012/inv_NACA0012.cfg b/TestCases/cont_adj_euler/naca0012/inv_NACA0012.cfg index c1c2da535ec..fc0e4fe97bf 100644 --- a/TestCases/cont_adj_euler/naca0012/inv_NACA0012.cfg +++ b/TestCases/cont_adj_euler/naca0012/inv_NACA0012.cfg @@ -5,351 +5,136 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% -% Number of zones NZONES= 1 + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= GREEN_GAUSS % -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) +NUM_METHOD_GRAD= GREEN_GAUSS OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 150 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -% Linear solver ILU preconditioner fill-in level (1 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 2, 2 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 1, 1, 1, 1 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 1, 1, 1, 1 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.01 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= ILU -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) HISTORY_OUTPUT= (ITER, RMS_RES, AERO_COEFF, SENSITIVITY) VOLUME_OUTPUT= (COORDINATES, SOLUTION, PRESSURE, TEMPERATURE, SENSITIVITY) OUTPUT_FILES=(RESTART_ASCII, PARAVIEW, SURFACE_CSV) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.327 ) * 0.001; ( MOMENT_Z > 0.0 ) * 0.001; ( AIRFOIL_THICKNESS > 0.12 ) * 0.001 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/cont_adj_euler/naca0012/inv_NACA0012_FD.cfg b/TestCases/cont_adj_euler/naca0012/inv_NACA0012_FD.cfg index 2555b363c9c..782221988e0 100644 --- a/TestCases/cont_adj_euler/naca0012/inv_NACA0012_FD.cfg +++ b/TestCases/cont_adj_euler/naca0012/inv_NACA0012_FD.cfg @@ -5,347 +5,134 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% -% Number of Zones NZONES= 1 + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Finite difference step size for python scripts (0.001 default, recommended -% 0.001 x REF_LENGTH) FIN_DIFF_STEP = 0.001 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= GREEN_GAUSS % -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) +NUM_METHOD_GRAD= GREEN_GAUSS OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 10 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (1 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 2, 2 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 1, 1, 1, 1 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 1, 1, 1, 1 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.01 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES % -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% History output HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, D_AERO_COEFF) OUTPUT_FILES=(RESTART_ASCII, PARAVIEW) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.327 ) * 0.001; ( MOMENT_Z > 0.0 ) * 0.001; ( AIRFOIL_THICKNESS > 0.12 ) * 0.001 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); diff --git a/TestCases/cont_adj_euler/naca0012/inv_NACA0012_discadj.cfg b/TestCases/cont_adj_euler/naca0012/inv_NACA0012_discadj.cfg index 84130bf40e4..55835cfbedb 100644 --- a/TestCases/cont_adj_euler/naca0012/inv_NACA0012_discadj.cfg +++ b/TestCases/cont_adj_euler/naca0012/inv_NACA0012_discadj.cfg @@ -5,311 +5,108 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= GREEN_GAUSS % -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) +NUM_METHOD_GRAD= GREEN_GAUSS OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 150 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level -MG_PRE_SMOOTH= ( 1, 2, 2, 2 ) -% -% Multi-Grid PostSmoothing Level -MG_POST_SMOOTH= ( 1, 1, 1, 1 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 1, 1, 1, 1 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 1.0 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.01 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_PRESS, SENS_AOA) -% OUTPUT_FILES=(RESTART_ASCII) -% + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.327 ) * 0.001; ( MOMENT_Z > 0.0 ) * 0.001; ( AIRFOIL_THICKNESS > 0.12 ) * 0.001 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/cont_adj_euler/oneram6/inv_ONERAM6.cfg b/TestCases/cont_adj_euler/oneram6/inv_ONERAM6.cfg index 21ce4bcc237..0014082c1ff 100644 --- a/TestCases/cont_adj_euler/oneram6/inv_ONERAM6.cfg +++ b/TestCases/cont_adj_euler/oneram6/inv_ONERAM6.cfg @@ -5,403 +5,151 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2015.08.25 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees) AOA= 3.06 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yaMAIN_BOX non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 implies no marker) MARKER_EULER= ( WING ) -% -% Marker of the far field (0 implies no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker of symmetry boundary (0 implies no marker) MARKER_SYM= ( SYMMETRY ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( WING ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( WING ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( WING ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= YES % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------& % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 25 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_inv_ffd.su2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Mesh input file format (SU2) MESH_FORMAT= SU2 -% TABULAR_FORMAT= CSV -% -% Output file convergence history CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution frequency OUTPUT_WRT_FREQ= 100 -% -% Screen output SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA) -% OUTPUT_FILES=(RESTART_ASCII) + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( WING ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( MAIN_BOX, 2, 3, 1, 0.0, 0.0, 1.0 ) -% -% Value of the shape deformation DV_VALUE= 0.05 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, -% BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 2 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= NO -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, -0.0403, 0.0, -0.04836, 0.8463, 0.0, -0.04836, 1.209, 1.2896, -0.04836, 0.6851, 1.2896, -0.04836, -0.0403, 0.0, 0.04836, 0.8463, 0.0, 0.04836, 1.209, 1.2896, 0.04836, 0.6851, 1.2896, 0.04836) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 8, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 1.0 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.282557 ) * 1.0 -% -% Maximum number of iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 11, 1.0 | WING | MAIN_BOX, 0, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 8, 1, 0.0, 0.0, 1.0 ) diff --git a/TestCases/cont_adj_euler/wedge/inv_wedge_ROE.cfg b/TestCases/cont_adj_euler/wedge/inv_wedge_ROE.cfg index 16d33602149..bfe12dc6acd 100644 --- a/TestCases/cont_adj_euler/wedge/inv_wedge_ROE.cfg +++ b/TestCases/cont_adj_euler/wedge/inv_wedge_ROE.cfg @@ -5,374 +5,137 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( upper, lower ) -% -% Supersonic inlet boundary marker(s) (NONE = no marker) -% Total Conditions: (inlet marker, temperature, static pressure, velocity_x, -% velocity_y, velocity_z, ... ), i.e. all variables specified. MARKER_SUPERSONIC_INLET= ( inlet, 300.0, 100000.0, 695.4290761824674, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 10000.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( outlet ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER=100 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.006 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Relaxation coefficient RELAXATION_FACTOR_ADJOINT= 1.0 -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E15 -% -% Multigrid adjoint problem (NO, YES) MG_ADJFLOW= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= SURFACE_TOTAL_PRESSURE -% -% Marker on which to track one-dimensionalized outputs MARKER_ANALYZE = (outlet) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -11 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_wedge_inv_FFD.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA) -% OUTPUT_FILES=(RESTART_ASCII) + % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.5, -0.25, 0, 1.5, -0.25, 0, 1.5, 0.25, 0, 0.5, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 1,0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( lower ) -% DV_KIND= FFD_CONTROL_POINT_2D -% -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= (MAIN_BOX, 3,0, 0,1.0,0,0 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.5 -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Sca OPT_OBJECTIVE=SURFACE_TOTAL_PRESSURE -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= (19, 1.0| lower | MAIN_BOX, 3,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 4,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 5,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 6,0,0,1.0) diff --git a/TestCases/cont_adj_euler/wedge/inv_wedge_ROE_multiobj.cfg b/TestCases/cont_adj_euler/wedge/inv_wedge_ROE_multiobj.cfg index 67455358a0b..d64c99e4559 100644 --- a/TestCases/cont_adj_euler/wedge/inv_wedge_ROE_multiobj.cfg +++ b/TestCases/cont_adj_euler/wedge/inv_wedge_ROE_multiobj.cfg @@ -6,398 +6,143 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Number of Zones NZONES= 1 -% OUTPUT_FILES=(RESTART_ASCII) + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( upper, lower ) -% -% Supersonic inlet boundary marker(s) (NONE = no marker) -% Total Conditions: (inlet marker, temperature, static pressure, velocity_x, -% velocity_y, velocity_z, ... ), i.e. all variables specified. MARKER_SUPERSONIC_INLET= ( inlet, 300.0, 100000.0, 695.4290761824674, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 10000.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (outlet, lower) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER=1000 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (1 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 - - % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.006 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Relaxation coefficient RELAXATION_FACTOR_ADJOINT= 1.0 -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E15 -% -% Multigrid adjoint problem (NO, YES) MG_ADJFLOW= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION = SURFACE_TOTAL_PRESSURE, DRAG -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT= -1.0E-7,1.0 -% -% Marker on which to track one-dimensionalized quantities MARKER_ANALYZE = (outlet) -% -% Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = AREA % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -11 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_wedge_inv_FFD.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Read binary restart files READ_BINARY_RESTART = NO % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.5, -0.25, 0, 1.5, -0.25, 0, 1.5, 0.25, 0, 0.5, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 1,0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( lower ) -% DV_KIND= FFD_CONTROL_POINT_2D -% -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= (MAIN_BOX, 3,0, 0,1.0,0,0 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.5 -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME -% -% History output HISTORY_OUTPUT= (ITER, RMS_RES, AERO_COEFF) % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor, separated by semicolons. -% To include quadratic penalty function: use OPT_CONSTRAINT option syntax within the OPT_OBJECTIVE list. -% ex= Objective * Scale OPT_OBJECTIVE=SURFACE_TOTAL_PRESSURE*-1E-4; (DRAG = 0.05)*1E6 -% -% Use combined objective within gradient evaluation: may reduce cost to compute gradients when using the adjoint formulation. OPT_COMBINE_OBJECTIVE = YES -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 1 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons -DEFINITION_DV= (19, 1.0| lower | MAIN_BOX, 3,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 4,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 5,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 6,0,0,1.0) - +DEFINITION_DV= (19, 1.0| lower | MAIN_BOX, 3,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 4,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 5,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 6,0,0,1.0) \ No newline at end of file diff --git a/TestCases/cont_adj_navierstokes/cylinder/lam_cylinder.cfg b/TestCases/cont_adj_navierstokes/cylinder/lam_cylinder.cfg index 1a6c985f1fa..9ca74a9381b 100644 --- a/TestCases/cont_adj_navierstokes/cylinder/lam_cylinder.cfg +++ b/TestCases/cont_adj_navierstokes/cylinder/lam_cylinder.cfg @@ -5,307 +5,116 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 40.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( cylinder, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 150 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) -%LINEAR_SOLVER_PREC= NONE -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-8 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 1 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.0, 0.001 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.001 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.75 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, PARABOLIC, NACA_4DIGITS, -% DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION, FFD_CAMBER, FFD_THICKNESS, FFD_VOLUME) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( cylinder ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( 1, 0.5 ) -% -% New value of the shape deformation DV_VALUE= 0.05 -% -% Hold the grid fixed in a region (NO, YES) HOLD_GRID_FIXED= NO -% -% Coordinates of the box where the grid will be deformed (Xmin, Ymin, Zmin, Xmax, Ymax, Zmax) HOLD_GRID_FIXED_COORD= ( -0.5, -0.49, 0.0, 2.5, 0.49, 0.0 ) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -14 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder_lam.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA) -% OUTPUT_FILES=(RESTART_ASCII) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - DEFINITION_DV= ( 30, 1.0 | cylinder | 0, 0.961538461538 ); ( 30, 1.0 | cylinder | 0, 0.923076923077 ); ( 30, 1.0 | cylinder | 0, 0.884615384615 ); ( 30, 1.0 | cylinder | 0, 0.846153846154 ); ( 30, 1.0 | cylinder | 0, 0.807692307692 ); ( 30, 1.0 | cylinder | 0, 0.769230769231 ); ( 30, 1.0 | cylinder | 0, 0.730769230769 ); ( 30, 1.0 | cylinder | 0, 0.692307692308 ); ( 30, 1.0 | cylinder | 0, 0.653846153846 ); ( 30, 1.0 | cylinder | 0, 0.615384615385 ); ( 30, 1.0 | cylinder | 0, 0.576923076923 ); ( 30, 1.0 | cylinder | 0, 0.538461538462 ); ( 30, 1.0 | cylinder | 0, 0.5 ); ( 30, 1.0 | cylinder | 0, 0.461538461538 ); ( 30, 1.0 | cylinder | 0, 0.423076923077 ); ( 30, 1.0 | cylinder | 0, 0.384615384615 ); ( 30, 1.0 | cylinder | 0, 0.346153846154 ); ( 30, 1.0 | cylinder | 0, 0.307692307692 ); ( 30, 1.0 | cylinder | 0, 0.269230769231 ); ( 30, 1.0 | cylinder | 0, 0.230769230769 ); ( 30, 1.0 | cylinder | 0, 0.192307692308 ); ( 30, 1.0 | cylinder | 0, 0.153846153846 ); ( 30, 1.0 | cylinder | 0, 0.115384615385 ); ( 30, 1.0 | cylinder | 0, 0.0769230769231 ); ( 30, 1.0 | cylinder | 0, 0.0384615384615 ); ( 30, 1.0 | cylinder | 1, 0.0384615384615 ); ( 30, 1.0 | cylinder | 1, 0.0769230769231 ); ( 30, 1.0 | cylinder | 1, 0.115384615385 ); ( 30, 1.0 | cylinder | 1, 0.153846153846 ); ( 30, 1.0 | cylinder | 1, 0.192307692308 ); ( 30, 1.0 | cylinder | 1, 0.230769230769 ); ( 30, 1.0 | cylinder | 1, 0.269230769231 ); ( 30, 1.0 | cylinder | 1, 0.307692307692 ); ( 30, 1.0 | cylinder | 1, 0.346153846154 ); ( 30, 1.0 | cylinder | 1, 0.384615384615 ); ( 30, 1.0 | cylinder | 1, 0.423076923077 ); ( 30, 1.0 | cylinder | 1, 0.461538461538 ); ( 30, 1.0 | cylinder | 1, 0.5 ); ( 30, 1.0 | cylinder | 1, 0.538461538462 ); ( 30, 1.0 | cylinder | 1, 0.576923076923 ); ( 30, 1.0 | cylinder | 1, 0.615384615385 ); ( 30, 1.0 | cylinder | 1, 0.653846153846 ); ( 30, 1.0 | cylinder | 1, 0.692307692308 ); ( 30, 1.0 | cylinder | 1, 0.730769230769 ); ( 30, 1.0 | cylinder | 1, 0.769230769231 ); ( 30, 1.0 | cylinder | 1, 0.807692307692 ); ( 30, 1.0 | cylinder | 1, 0.846153846154 ); ( 30, 1.0 | cylinder | 1, 0.884615384615 ); ( 30, 1.0 | cylinder | 1, 0.923076923077 ); ( 30, 1.0 | cylinder | 1, 0.961538461538 ) diff --git a/TestCases/cont_adj_navierstokes/naca0012_sub/lam_NACA0012.cfg b/TestCases/cont_adj_navierstokes/naca0012_sub/lam_NACA0012.cfg index bc81449a9c6..b6717b1454d 100644 --- a/TestCases/cont_adj_navierstokes/naca0012_sub/lam_NACA0012.cfg +++ b/TestCases/cont_adj_navierstokes/naca0012_sub/lam_NACA0012.cfg @@ -5,306 +5,106 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Jul 18th, 2014 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) -% SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 3000.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 150 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 2, 2 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.85 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.85 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.001 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.001 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.25 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.01 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_lam_hybrid_v2.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA) -% OUTPUT_FILES= (RESTART_ASCII) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.01 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= (LIFT > 0.1) * 0.01 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/cont_adj_navierstokes/naca0012_trans/lam_NACA0012.cfg b/TestCases/cont_adj_navierstokes/naca0012_trans/lam_NACA0012.cfg index fa6323eb3a0..69b13f82505 100644 --- a/TestCases/cont_adj_navierstokes/naca0012_trans/lam_NACA0012.cfg +++ b/TestCases/cont_adj_navierstokes/naca0012_trans/lam_NACA0012.cfg @@ -5,318 +5,110 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Jul 18th, 2014 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) -% SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees, only for compressible flows) AOA= 10.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 500.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 25.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 150 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-8 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 2, 2 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.5 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.5 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 1.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.0, 0.001 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.001 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.1 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.01 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_lam_hybrid_v2.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% SCREEN_WRT_FREQ_INNER= 5 -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA) -% OUTPUT_FILES=(RESTART_ASCII) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.01 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= (LIFT > 0.1) * 0.01 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/cont_adj_rans/naca0012/turb_nasa.cfg b/TestCases/cont_adj_rans/naca0012/turb_nasa.cfg index 5b305afa197..0a289d40e06 100644 --- a/TestCases/cont_adj_rans/naca0012/turb_nasa.cfg +++ b/TestCases/cont_adj_rans/naca0012/turb_nasa.cfg @@ -5,303 +5,116 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) -% SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 100 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) -%LINEAR_SOLVER_PREC= NONE -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-8 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 4 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.9 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.01 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.005 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.002 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.25 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, PARABOLIC, NACA_4DIGITS, -% DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION, FFD_CAMBER, FFD_THICKNESS, FFD_VOLUME) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( 1, 0.5 ) -% -% New value of the shape deformation DV_VALUE= 0.05 -% -% Hold the grid fixed in a region (NO, YES) HOLD_GRID_FIXED= NO -% -% Coordinates of the box where the grid will be deformed (Xmin, Ymin, Zmin, Xmax, Ymax, Zmax) HOLD_GRID_FIXED_COORD= ( -0.5, -0.49, 0.0, 2.5, 0.49, 0.0 ) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= naca0012rans_ff10.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA) -% OUTPUT_FILES=(RESTART_ASCII) - diff --git a/TestCases/cont_adj_rans/naca0012/turb_nasa_binary.cfg b/TestCases/cont_adj_rans/naca0012/turb_nasa_binary.cfg index 9ecb7996561..2da4c41af3e 100644 --- a/TestCases/cont_adj_rans/naca0012/turb_nasa_binary.cfg +++ b/TestCases/cont_adj_rans/naca0012/turb_nasa_binary.cfg @@ -5,302 +5,116 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) -% SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= YES + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 22 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) %LINEAR_SOLVER_PREC= NONE -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-8 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 4 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.9 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.01 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.005 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.002 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.25 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, PARABOLIC, NACA_4DIGITS, -% DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION, FFD_CAMBER, FFD_THICKNESS, FFD_VOLUME) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( 1, 0.5 ) -% -% New value of the shape deformation DV_VALUE= 0.05 -% -% Hold the grid fixed in a region (NO, YES) HOLD_GRID_FIXED= NO -% -% Coordinates of the box where the grid will be deformed (Xmin, Ymin, Zmin, Xmax, Ymax, Zmax) HOLD_GRID_FIXED_COORD= ( -0.5, -0.49, 0.0, 2.5, 0.49, 0.0 ) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= naca0012rans_ff10.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= bin_solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= bin_solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA) - diff --git a/TestCases/cont_adj_rans/oneram6/turb_ONERAM6.cfg b/TestCases/cont_adj_rans/oneram6/turb_ONERAM6.cfg index 3b4cded45b6..5a4fe311f45 100644 --- a/TestCases/cont_adj_rans/oneram6/turb_ONERAM6.cfg +++ b/TestCases/cont_adj_rans/oneram6/turb_ONERAM6.cfg @@ -5,367 +5,140 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, etc.) SOLVER= NAVIER_STOKES -% -% Specify turbulence model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees, only for compressible flows) AOA= 3.06 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 11.72E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 0.64607 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.64607 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wing, 0.0 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wing ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wing ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 4.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 10 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-5 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.7 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter (VENKATAKRISHNAN, SHARP_EDGES) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO -% -% Sensitivity smoothing (NONE, SOBOLEV, BIGRID) SENS_SMOOTHING= NONE -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC= YES % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( wing ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= WING -% -% Coordinate of the stations to be analyzed GEO_LOCATION_STATIONS= (0.0, 0.2, 0.4, 0.6, 0.8) -% -% Geometrical bounds (Y coordinate) for the wing geometry analysis or -% fuselage evaluation (X coordinate). GEO_BOUNDS= (0.0806, 1.1284) -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= NO -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( wing ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( WING_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ) -% -% New value of the shape deformation DV_VALUE= 0.1 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 1 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.02 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' (LIFT > 0.267) * 0.02 OPT_CONSTRAINT= (LIFT > 0.268) * 0.02; (STATION1_THICKNESS > 0.0570) * 0.02; (STATION2_THICKNESS > 0.0513) * 0.02; (STATION3_THICKNESS > 0.0457) * 0.02; (STATION4_THICKNESS > 0.0399) * 0.02; (STATION5_THICKNESS > 0.0343) * 0.02 - -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 11, 1.0 | wing | WING_BOX, 0, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 4, 0, 0.0, 0.0, 1.0 ) diff --git a/TestCases/cont_adj_rans/rae2822/turb_SA_RAE2822.cfg b/TestCases/cont_adj_rans/rae2822/turb_SA_RAE2822.cfg index 490d476a1e6..bb5b60a1b78 100644 --- a/TestCases/cont_adj_rans/rae2822/turb_SA_RAE2822.cfg +++ b/TestCases/cont_adj_rans/rae2822/turb_SA_RAE2822.cfg @@ -5,321 +5,120 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) -% SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 150 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.01 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.001 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.25 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA) -% OUTPUT_FILES= (RESTART_ASCII) + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, PARABOLIC, NACA_4DIGITS, -% DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION, FFD_CAMBER, FFD_THICKNESS, FFD_VOLUME -% SURFACE_FILE) DV_KIND= FFD_SETTING -% -% Marker of the surface to which we are going apply the shape deformation DV_MARKER= ( AIRFOIL ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( 1, 0.5 ) % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE - -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | AIRFOIL | 0, 0.05 ); ( 30, 1.0 | AIRFOIL | 0, 0.10 ); ( 30, 1.0 | AIRFOIL | 0, 0.15 ); ( 30, 1.0 | AIRFOIL | 0, 0.20 ); ( 30, 1.0 | AIRFOIL | 0, 0.25 ); ( 30, 1.0 | AIRFOIL | 0, 0.30 ); ( 30, 1.0 | AIRFOIL | 0, 0.35 ); ( 30, 1.0 | AIRFOIL | 0, 0.40 ); ( 30, 1.0 | AIRFOIL | 0, 0.45 ); ( 30, 1.0 | AIRFOIL | 0, 0.50 ); ( 30, 1.0 | AIRFOIL | 0, 0.55 ); ( 30, 1.0 | AIRFOIL | 0, 0.60 ); ( 30, 1.0 | AIRFOIL | 0, 0.65 ); ( 30, 1.0 | AIRFOIL | 0, 0.70 ); ( 30, 1.0 | AIRFOIL | 0, 0.75 ); ( 30, 1.0 | AIRFOIL | 0, 0.80 ); ( 30, 1.0 | AIRFOIL | 0, 0.85 ); ( 30, 1.0 | AIRFOIL | 0, 0.90 ); ( 30, 1.0 | AIRFOIL | 0, 0.95 ); ( 30, 1.0 | AIRFOIL | 1, 0.05 ); ( 30, 1.0 | AIRFOIL | 1, 0.10 ); ( 30, 1.0 | AIRFOIL | 1, 0.15 ); ( 30, 1.0 | AIRFOIL | 1, 0.20 ); ( 30, 1.0 | AIRFOIL | 1, 0.25 ); ( 30, 1.0 | AIRFOIL | 1, 0.30 ); ( 30, 1.0 | AIRFOIL | 1, 0.35 ); ( 30, 1.0 | AIRFOIL | 1, 0.40 ); ( 30, 1.0 | AIRFOIL | 1, 0.45 ); ( 30, 1.0 | AIRFOIL | 1, 0.50 ); ( 30, 1.0 | AIRFOIL | 1, 0.55 ); ( 30, 1.0 | AIRFOIL | 1, 0.60 ); ( 30, 1.0 | AIRFOIL | 1, 0.65 ); ( 30, 1.0 | AIRFOIL | 1, 0.70 ); ( 30, 1.0 | AIRFOIL | 1, 0.75 ); ( 30, 1.0 | AIRFOIL | 1, 0.80 ); ( 30, 1.0 | AIRFOIL | 1, 0.85 ); ( 30, 1.0 | AIRFOIL | 1, 0.90 ); ( 30, 1.0 | AIRFOIL | 1, 0.95 ) diff --git a/TestCases/control_surface/inv_ONERAM6_moving.cfg b/TestCases/control_surface/inv_ONERAM6_moving.cfg index 6a0e11929e8..5b2387101c8 100644 --- a/TestCases/control_surface/inv_ONERAM6_moving.cfg +++ b/TestCases/control_surface/inv_ONERAM6_moving.cfg @@ -5,350 +5,135 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 09.07.2011 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees) AOA= 3.06 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15K by default) FREESTREAM_TEMPERATURE= 288.15 % --------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.058 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.058 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 implies no marker) MARKER_EULER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the far field (0 implies no marker) MARKER_FAR= ( XNORMAL_FACES, ZNORMAL_FACES, YNORMAL_FACE ) -% -% Marker of symmetry boundary (0 implies no marker) MARKER_SYM= ( SYMMETRY_FACE ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( UPPER_SIDE, LOWER_SIDE, TIP ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for computation of spatial gradients: (GREEN_GAUSS, -% WIEGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.04 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.04 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------& % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -6 -% -% Start convergence criteria at iteration number CONV_STARTITER= 100 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_inv_FFD.su2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Mesh input file format (SU2) MESH_FORMAT= SU2 -% TABULAR_FORMAT= CSV -% -% Output file convergence history CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution frequency OUTPUT_WRT_FREQ= 50 -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, FFD_CONTROL_SURFACE, SURFACE_FILE, AIRFOIL) DV_KIND= FFD_CONTROL_SURFACE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag, i_Ind, j_Ind ) DV_PARAM= ( FLAP, 0.630005, 0.0620207, 0.0, 0.847989, 0.79647, 0.0 ) -% -% New value of the shape deformation DV_VALUE= -5.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 50 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-8 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 100.0 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= (LIFT > 0.2855362768) * 100.0 - -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 4, 1, 0.0, 0.0, 1.0 ) diff --git a/TestCases/control_surface/inv_ONERAM6_setting.cfg b/TestCases/control_surface/inv_ONERAM6_setting.cfg index b634ce49464..ab9f9b8e35c 100644 --- a/TestCases/control_surface/inv_ONERAM6_setting.cfg +++ b/TestCases/control_surface/inv_ONERAM6_setting.cfg @@ -5,350 +5,135 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 09.07.2011 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees) AOA= 3.06 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15K by default) FREESTREAM_TEMPERATURE= 288.15 % --------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.058 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.058 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 implies no marker) MARKER_EULER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the far field (0 implies no marker) MARKER_FAR= ( XNORMAL_FACES, ZNORMAL_FACES, YNORMAL_FACE ) -% -% Marker of symmetry boundary (0 implies no marker) MARKER_SYM= ( SYMMETRY_FACE ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( UPPER_SIDE, LOWER_SIDE, TIP ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for computation of spatial gradients: (GREEN_GAUSS, -% WIEGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.04 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.04 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------& % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -6 -% -% Start convergence criteria at iteration number CONV_STARTITER= 100 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_inv.su2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_ONERAM6_inv_FFD.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Mesh input file format (SU2) MESH_FORMAT= SU2 -% TABULAR_FORMAT= CSV -% -% Output file convergence history CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution frequency OUTPUT_WRT_FREQ= 50 -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, FFD_CONTROL_SURFACE, SURFACE_FILE, AIRFOIL) DV_KIND= FFD_SETTING -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag, i_Ind, j_Ind ) DV_PARAM= ( FLAP, 0.630005, 0.0620207, 0.0, 0.847989, 0.79647, 0.0 ) -% -% New value of the shape deformation DV_VALUE= -5.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 50 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-8 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 100.0 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= (LIFT > 0.2855362768) * 100.0 - -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 4, 1, 0.0, 0.0, 1.0 ) diff --git a/TestCases/coupled_cht/comp_2d/cht_2d_3cylinders.cfg b/TestCases/coupled_cht/comp_2d/cht_2d_3cylinders.cfg index bbdadbb0a4e..195ba2dcd9f 100644 --- a/TestCases/coupled_cht/comp_2d/cht_2d_3cylinders.cfg +++ b/TestCases/coupled_cht/comp_2d/cht_2d_3cylinders.cfg @@ -5,75 +5,26 @@ % Author: O. Burghardt % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 6, 2020 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= MULTIPHYSICS -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DIRECT -% -% CONFIG_LIST = (flow_cylinder.cfg, solid_cylinder1.cfg, solid_cylinder2.cfg, solid_cylinder3.cfg) -% -% MARKER_ZONE_INTERFACE= (cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3) -% -% MARKER_CHT_INTERFACE= (cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3) -% -% TIME_DOMAIN = NO -% -% Number of total iterations OUTER_ITER = 11 -% -% Mesh input file MESH_FILENAME= mesh_cht_3cyl.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% These are just default parameters so that we can run SU2_DOT_AD, they have no physical meaning for this test case. - % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (NO_DEFORMATION, TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, FFD_NACELLE -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS, FFD_TWIST -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, FFD_TWIST_2D, -% HICKS_HENNE, SURFACE_BUMP) +% These are just default parameters so that we can run SU2_DOT_AD, they have no physical meaning for this test case. DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3 ) -% -% Parameters of the shape deformation -% - NO_DEFORMATION ( 1.0 ) -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - ANGLE_OF_ATTACK ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_NACELLE ( FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Disp, phi_Disp ) -% - FFD_GULL ( FFD_BoxTag, j_Ind ) -% - FFD_ANGLE_OF_ATTACK ( FFD_BoxTag, 1.0 ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST ( FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - FFD_TWIST_2D ( FFD_BoxTag, x_Orig, y_Orig ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - SURFACE_BUMP ( x_Start, x_End, x_Loc ) DV_PARAM= (0.0, 0.5) -% -% Value of the shape deformation DV_VALUE= 0.1 diff --git a/TestCases/coupled_cht/comp_2d/flow_cylinder.cfg b/TestCases/coupled_cht/comp_2d/flow_cylinder.cfg index a6290d58da0..3b7870d310b 100644 --- a/TestCases/coupled_cht/comp_2d/flow_cylinder.cfg +++ b/TestCases/coupled_cht/comp_2d/flow_cylinder.cfg @@ -7,192 +7,79 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES -% -% Data written to history file HISTORY_OUTPUT=( ITER, RMS_RES, HEAT ) % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 297.62 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 100 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder_outer1, cylinder_outer2, cylinder_outer3 ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( cylinder_outer1, cylinder_outer2, cylinder_outer3 ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) -DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - +DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME \ No newline at end of file diff --git a/TestCases/coupled_cht/comp_2d/solid_cylinder1.cfg b/TestCases/coupled_cht/comp_2d/solid_cylinder1.cfg index 0e963250a54..a68eec8fb9c 100644 --- a/TestCases/coupled_cht/comp_2d/solid_cylinder1.cfg +++ b/TestCases/coupled_cht/comp_2d/solid_cylinder1.cfg @@ -7,95 +7,43 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core1, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_inner1 ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % -% We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 350.0 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) % -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.000210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP= 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% @@ -104,74 +52,31 @@ TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) -DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - +DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME \ No newline at end of file diff --git a/TestCases/coupled_cht/comp_2d/solid_cylinder2.cfg b/TestCases/coupled_cht/comp_2d/solid_cylinder2.cfg index 8384cdc4e88..18c18588158 100644 --- a/TestCases/coupled_cht/comp_2d/solid_cylinder2.cfg +++ b/TestCases/coupled_cht/comp_2d/solid_cylinder2.cfg @@ -7,181 +7,76 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core2, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_inner2) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % -% We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 350.0 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) % -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.000210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP= 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % -% Time discretization (EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) -DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - +DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME \ No newline at end of file diff --git a/TestCases/coupled_cht/comp_2d/solid_cylinder3.cfg b/TestCases/coupled_cht/comp_2d/solid_cylinder3.cfg index 9c4e5713efb..d3784d904ca 100644 --- a/TestCases/coupled_cht/comp_2d/solid_cylinder3.cfg +++ b/TestCases/coupled_cht/comp_2d/solid_cylinder3.cfg @@ -7,181 +7,75 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core3, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder_inner3 ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % -% We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 350.0 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) % -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.000210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP= 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% -% -% Time discretization (EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) -DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - +DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME \ No newline at end of file diff --git a/TestCases/coupled_cht/disc_adj_incomp_2d/cht_2d_3cylinders.cfg b/TestCases/coupled_cht/disc_adj_incomp_2d/cht_2d_3cylinders.cfg index 19ded27f542..002f8283853 100644 --- a/TestCases/coupled_cht/disc_adj_incomp_2d/cht_2d_3cylinders.cfg +++ b/TestCases/coupled_cht/disc_adj_incomp_2d/cht_2d_3cylinders.cfg @@ -5,75 +5,26 @@ % Author: O. Burghardt, T. Economon % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: August 8, 2019 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= MULTIPHYSICS -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% CONFIG_LIST = (flow_cylinder.cfg, solid_cylinder1.cfg, solid_cylinder2.cfg, solid_cylinder3.cfg) -% -% MARKER_ZONE_INTERFACE= (cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3) -% -% MARKER_CHT_INTERFACE= (cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3) -% -% TIME_DOMAIN = NO -% -% Number of total iterations OUTER_ITER = 11 -% -% Mesh input file MESH_FILENAME= mesh_cht_3cyl.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% These are just default parameters so that we can run SU2_DOT_AD, they have no physical meaning for this test case. - % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (NO_DEFORMATION, TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, FFD_NACELLE -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS, FFD_TWIST -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, FFD_TWIST_2D, -% HICKS_HENNE, SURFACE_BUMP) +% These are just default parameters so that we can run SU2_DOT_AD, they have no physical meaning for this test case. DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3 ) -% -% Parameters of the shape deformation -% - NO_DEFORMATION ( 1.0 ) -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - ANGLE_OF_ATTACK ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_NACELLE ( FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Disp, phi_Disp ) -% - FFD_GULL ( FFD_BoxTag, j_Ind ) -% - FFD_ANGLE_OF_ATTACK ( FFD_BoxTag, 1.0 ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST ( FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - FFD_TWIST_2D ( FFD_BoxTag, x_Orig, y_Orig ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - SURFACE_BUMP ( x_Start, x_End, x_Loc ) DV_PARAM= (0.0, 0.5) -% -% Value of the shape deformation DV_VALUE= 0.1 diff --git a/TestCases/coupled_cht/disc_adj_incomp_2d/flow_cylinder.cfg b/TestCases/coupled_cht/disc_adj_incomp_2d/flow_cylinder.cfg index 2a738735d09..500d5db42f1 100644 --- a/TestCases/coupled_cht/disc_adj_incomp_2d/flow_cylinder.cfg +++ b/TestCases/coupled_cht/disc_adj_incomp_2d/flow_cylinder.cfg @@ -7,246 +7,102 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. -% + % Gradient for this test case from direct differentiation (to confirm adjoints results, if desired): -0.716778 -% OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES -% -% Data written to history file HISTORY_OUTPUT=(ITER, RMS_RES, HEAT ) % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_outer1, cylinder_outer2, cylinder_outer3) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (cylinder_outer1, cylinder_outer2, cylinder_outer3) % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. INC_DENSITY_MODEL= VARIABLE -% -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = YES -% -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 0.000210322 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 3.40297, 0.0, 0.0 ) -% -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 288.15 -% -% Non-dimensionalization scheme for incompressible flows. Options are -% INITIAL_VALUES (default), REFERENCE_VALUES, or DIMENSIONAL. -% INC_*_REF values are ignored unless REFERENCE_VALUES is chosen. INC_NONDIM= DIMENSIONAL % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS) FLUID_MODEL= INC_IDEAL_GAS -% -% Specific heat at constant pressure, Cp (1004.703 J/kg*K (air)). -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). SPECIFIC_HEAT_CP= 1004.703 -% -% Molecular weight for an incompressible ideal gas (28.96 g/mol (air) default) -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). MOLECULAR_WEIGHT= 28.96 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.7893e-05 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0257 -% -% Laminar Prandtl number (0.72 (air), only for CONSTANT_PRANDTL) PRANDTL_LAM= 0.72 -% -% Turbulent Prandtl number (0.9 (air), only for CONSTANT_PRANDTL) PRANDTL_TURB= 0.90 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) -DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - +DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME \ No newline at end of file diff --git a/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder1.cfg b/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder1.cfg index a63963c9542..99b61f65992 100644 --- a/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder1.cfg +++ b/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder1.cfg @@ -7,95 +7,43 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core1, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_inner1 ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 350.0 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) -% -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.000210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP = 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% @@ -104,74 +52,31 @@ TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) -DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - +DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME \ No newline at end of file diff --git a/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder2.cfg b/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder2.cfg index 37fffcd287b..bb8267047bb 100644 --- a/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder2.cfg +++ b/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder2.cfg @@ -7,181 +7,76 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core2, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_inner2) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 350.0 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) -% -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.000210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP = 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % -% Time discretization (EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) -DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - +DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME \ No newline at end of file diff --git a/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder3.cfg b/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder3.cfg index 6e95af6bce7..5670dc79ea0 100644 --- a/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder3.cfg +++ b/TestCases/coupled_cht/disc_adj_incomp_2d/solid_cylinder3.cfg @@ -7,181 +7,76 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core3, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder_inner3 ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 350.0 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) -% -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.000210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP = 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % -% Time discretization (EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - diff --git a/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/chtMaster.cfg b/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/chtMaster.cfg index a32ece5723b..6f3f5c486da 100644 --- a/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/chtMaster.cfg +++ b/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/chtMaster.cfg @@ -10,91 +10,62 @@ SOLUTION_FILENAME= solution RESTART_FILENAME= solution % CONFIG_LIST = ( fluid.cfg, solid.cfg ) -% MARKER_ZONE_INTERFACE= ( cylinder_fluid, cylinder_solid ) MARKER_CHT_INTERFACE= ( cylinder_fluid, cylinder_solid ) -% + % ------------------------- UNSTEADY SIMULATION -------------------------------% % TIME_DOMAIN= YES TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% TIME_STEP= 500 -% MAX_TIME= 1e9 % For a primal restart change TIME_ITER=56 for the correct number of steps. 54 is for the adjoint run. TIME_ITER= 54 % For the primal (and therefore FD sweep) OUTER_ITER=200 is suitable. % For an accurate adjont run set OUTER_ITER=500. 100 is for the regression test. OUTER_ITER= 100 -%INNER_ITER= 1 -% UNST_ADJOINT_ITER= 56 -% ITER_AVERAGE_OBJ= 54 -% + % ------------------------- INPUT/OUTPUT FILE INFORMATION --------------------------% % MESH_FILENAME= MeshCHT.su2 -% SCREEN_OUTPUT= (TIME_ITER, OUTER_ITER, BGS_ADJ_PRESSURE[0], BGS_ADJ_VELOCITY-X[0], BGS_ADJ_VELOCITY-Y[0], BGS_ADJ_TEMPERATURE[0], BGS_ADJ_TEMPERATURE[1], SENS_TEMP[0], SENS_GEO[0], SENS_GEO[1] ) % Suitable output for primal simulations %SCREEN_OUTPUT= (TIME_ITER, OUTER_ITER, WALL_TIME, BGS_PRESSURE[0], BGS_TEMPERATURE[0], BGS_TEMPERATURE[1], DRAG[0], AVG_TEMPERATURE[1] ) SCREEN_WRT_FREQ_OUTER= 50 -% HISTORY_OUTPUT= ( ITER, BGS_RES[0], RMS_RES[0], BGS_RES[1], RMS_RES[1],\ FLOW_COEFF[0], HEAT[0], AERO_COEFF[0], HEAT[1],\ LINSOL[0], LINSOL[1], TAVG_HEAT[1]) -% OUTPUT_FILES= (RESTART, PARAVIEW) OUTPUT_WRT_FREQ= 1 VOLUME_FILENAME= flow WRT_PERFORMANCE= YES -% SOLUTION_ADJ_FILENAME= solution_adj RESTART_ADJ_FILENAME= solution_adj VOLUME_ADJ_FILENAME= flow_adj -% TABULAR_FORMAT= CSV GRAD_OBJFUNC_FILENAME= of_grad.csv OUTPUT_PRECISION=16 -% + % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % FFD_TOLERANCE= 1E-10 FFD_ITERATIONS= 500 -% -% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% Counterclockwise definition of FFD cornerpoints FFD_DEFINITION= (BOX,\ -0.6,-0.6,0.0,\ 0.6,-0.6,0.0,\ 0.6, 0.6,0.0,\ -0.6, 0.6,0.0,\ 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) -% -% FFD box degree: 2D case (x_degree, y_degree, 0) FFD_DEGREE= (8, 1, 0) -% -% Surface grid continuity at the intersection with the faces of the FFD boxes. -% To keep a particular level of surface continuity, SU2 automatically freezes the right -% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) FFD_CONTINUITY= NO_DERIVATIVE -% + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -%DV_KIND= FFD_SETTING % First 9 are upper, second 9 are lower DV's DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( cylinder_fluid, cylinder_solid ) -% -% Parameters of the shape deformation -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -%DV_PARAM= ( 1.0 ) DV_PARAM= \ ( BOX, 0, 1, 0.0, 1.0);\ ( BOX, 1, 1, 0.0, 1.0);\ @@ -114,10 +85,8 @@ DV_PARAM= \ ( BOX, 6, 0, 0.0, 1.0);\ ( BOX, 7, 0, 0.0, 1.0);\ ( BOX, 8, 0, 0.0, 1.0) -% -% Value of the shape deformation DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0, 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -% + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % DEFORM_LINEAR_SOLVER= FGMRES @@ -125,10 +94,8 @@ DEFORM_LINEAR_SOLVER_PREC= ILU DEFORM_LINEAR_SOLVER_ERROR= 1E-14 DEFORM_NONLINEAR_ITER= 1 DEFORM_LINEAR_SOLVER_ITER= 1000 -% DEFORM_CONSOLE_OUTPUT= YES DEFORM_STIFFNESS_TYPE= WALL_DISTANCE -% DEFINITION_DV= \ ( 19, 1.0 | cylinder_fluid, cylinder_solid | BOX, 0, 1, 0.0, 1.0 ); \ ( 19, 1.0 | cylinder_fluid, cylinder_solid | BOX, 1, 1, 0.0, 1.0 ); \ @@ -147,5 +114,4 @@ DEFINITION_DV= \ ( 19, 1.0 | cylinder_fluid, cylinder_solid | BOX, 5, 0, 0.0, 1.0 ); \ ( 19, 1.0 | cylinder_fluid, cylinder_solid | BOX, 6, 0, 0.0, 1.0 ); \ ( 19, 1.0 | cylinder_fluid, cylinder_solid | BOX, 7, 0, 0.0, 1.0 ); \ -( 19, 1.0 | cylinder_fluid, cylinder_solid | BOX, 8, 0, 0.0, 1.0 ) - +( 19, 1.0 | cylinder_fluid, cylinder_solid | BOX, 8, 0, 0.0, 1.0 ) \ No newline at end of file diff --git a/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/fluid.cfg b/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/fluid.cfg index b4fe5b28efb..d4e4a3ce2ef 100644 --- a/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/fluid.cfg +++ b/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/fluid.cfg @@ -1,11 +1,10 @@ % TobiKattmann 2021-03-11 % SOLVER= INC_NAVIER_STOKES -% OBJECTIVE_FUNCTION= AVG_TEMPERATURE %OBJECTIVE_FUNCTION= DRAG OBJECTIVE_WEIGHT= 0.0 -% + % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % INC_NONDIM= DIMENSIONAL @@ -19,7 +18,6 @@ INC_VELOCITY_INIT= ( 2.0e-4, 0.0, 0.0 ) INC_ENERGY_EQUATION= YES INC_TEMPERATURE_INIT= 288.15 SPECIFIC_HEAT_CP= 4180 -% VISCOSITY_MODEL= CONSTANT_VISCOSITY MU_CONSTANT= 1.0e-3 % @@ -27,54 +25,40 @@ MU_CONSTANT= 1.0e-3 % lambda_water = 0.6 => Pr = 4180 * 1e-3 / 0.6 = 6.96 CONDUCTIVITY_MODEL= CONSTANT_PRANDTL PRANDTL_LAM = 6.96 -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_FAR= ( farfield ) %MARKER_HEATFLUX= ( cylinder_fluid, 1e2 ) -% + % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % NUM_METHOD_GRAD= GREEN_GAUSS -% CFL_NUMBER= 1e3 CFL_ADAPT= NO CFL_ADAPT_PARAM= ( 0.8, 1.4, 10.0, 1e10, 0.001 ) -% RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU -%LINEAR_SOLVER_ERROR= 1E-4 LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 20 -% CONV_NUM_METHOD_FLOW= FDS MUSCL_FLOW= YES SLOPE_LIMITER_FLOW= NONE TIME_DISCRE_FLOW= EULER_IMPLICIT -% + % --------------------------- CONVERGENCE PARAMETERS --------------------------% % CONV_RESIDUAL_MINVAL= -20 CONV_STARTITER= 2000 CONV_CAUCHY_ELEMS= 100 CONV_CAUCHY_EPS= 1E-6 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -%MESH_FILENAME= fluid.su2 -% -%SCREEN_OUTPUT= (TIME_ITER, WALL_TIME, INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, DRAG, LIFT, AVG_TEMPERATURE, TOTAL_HEATFLUX ) -%SCREEN_WRT_FREQ_INNER= 100 -% -%HISTORY_OUTPUT= (ITER, RMS_RES, AERO_COEFF, HEAT, FLOW_COEFF, LINSOL) -%HISTORY_WRT_FREQ_INNER= 100 MARKER_MONITORING= ( cylinder_fluid ) MARKER_ANALYZE= ( cylinder_fluid ) MARKER_ANALYZE_AVERAGE= AREA -% -%OUTPUT_FILES= ( RESTART, PARAVIEW ) - diff --git a/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/solid.cfg b/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/solid.cfg index 56aad35a2c0..3fb2d6bafd2 100644 --- a/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/solid.cfg +++ b/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/solid.cfg @@ -1,11 +1,10 @@ % 2021-03-11 TobiKattmann % SOLVER= HEAT_EQUATION -% OBJECTIVE_FUNCTION= AVG_TEMPERATURE %OBJECTIVE_FUNCTION= DRAG OBJECTIVE_WEIGHT= 1.0 -% + % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % ~Aluminium at room temperature @@ -15,45 +14,38 @@ FREESTREAM_TEMPERATURE= 340.0 MATERIAL_DENSITY= 2719 SPECIFIC_HEAT_CP = 0.8710 THERMAL_CONDUCTIVITY_CONSTANT= 200 -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_HEATFLUX= ( inner_pin, 1e3 ) -% + % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % NUM_METHOD_GRAD= GREEN_GAUSS -% CFL_NUMBER= 1e4 CFL_ADAPT= NO CFL_ADAPT_PARAM= ( 0.1, 2.0, 10.0, 1e10, 0.001 ) -% BETA_FACTOR= 50 MAX_DELTA_TIME= 1.0 -% + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-15 LINEAR_SOLVER_ITER= 20 -% + % --------------------------- CONVERGENCE PARAMETERS --------------------------% % CONV_RESIDUAL_MINVAL= -20 CONV_STARTITER= 10000 -% + % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_HEAT = SPACE_CENTERED TIME_DISCRE_HEAT= EULER_IMPLICIT -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -%MESH_FILENAME= solid.su2 -% -%HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) HISTORY_OUTPUT= (HEAT) MARKER_MONITORING= ( inner_pin ) -%MARKER_ANALYZE= ( inner_pin ) - diff --git a/TestCases/coupled_cht/incomp_2d/cht_2d_3cylinders.cfg b/TestCases/coupled_cht/incomp_2d/cht_2d_3cylinders.cfg index 40687a73746..cb4f1982f9f 100644 --- a/TestCases/coupled_cht/incomp_2d/cht_2d_3cylinders.cfg +++ b/TestCases/coupled_cht/incomp_2d/cht_2d_3cylinders.cfg @@ -5,78 +5,27 @@ % Author: O. Burghardt, T. Economon % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: August 8, 2019 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= MULTIPHYSICS -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DIRECT -% -% CONFIG_LIST = (flow_cylinder.cfg, solid_cylinder1.cfg, solid_cylinder2.cfg, solid_cylinder3.cfg) -% -% MARKER_ZONE_INTERFACE= (cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3) -% -% MARKER_CHT_INTERFACE= (cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3) -% -% CHT_COUPLING_METHOD= DIRECT_TEMPERATURE_ROBIN_HEATFLUX -% -% TIME_DOMAIN = NO -% -% Number of total iterations OUTER_ITER = 11 -% -% Mesh input file MESH_FILENAME= mesh_cht_3cyl.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% These are just default parameters so that we can run SU2_DOT_AD, they have no physical meaning for this test case. - % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (NO_DEFORMATION, TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, FFD_NACELLE -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS, FFD_TWIST -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, FFD_TWIST_2D, -% HICKS_HENNE, SURFACE_BUMP) +% These are just default parameters so that we can run SU2_DOT_AD, they have no physical meaning for this test case. DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3 ) -% -% Parameters of the shape deformation -% - NO_DEFORMATION ( 1.0 ) -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - ANGLE_OF_ATTACK ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_NACELLE ( FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Disp, phi_Disp ) -% - FFD_GULL ( FFD_BoxTag, j_Ind ) -% - FFD_ANGLE_OF_ATTACK ( FFD_BoxTag, 1.0 ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST ( FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - FFD_TWIST_2D ( FFD_BoxTag, x_Orig, y_Orig ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - SURFACE_BUMP ( x_Start, x_End, x_Loc ) DV_PARAM= (0.0, 0.5) -% -% Value of the shape deformation DV_VALUE= 0.1 diff --git a/TestCases/coupled_cht/incomp_2d/flow_cylinder.cfg b/TestCases/coupled_cht/incomp_2d/flow_cylinder.cfg index ea34a488071..360d8a94e50 100644 --- a/TestCases/coupled_cht/incomp_2d/flow_cylinder.cfg +++ b/TestCases/coupled_cht/incomp_2d/flow_cylinder.cfg @@ -7,243 +7,100 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES -% -% Data written to history file HISTORY_OUTPUT=(ITER, RMS_RES, HEAT ) % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_outer1, cylinder_outer2, cylinder_outer3) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (cylinder_outer1, cylinder_outer2, cylinder_outer3) % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. INC_DENSITY_MODEL= VARIABLE -% -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = YES -% -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 0.000210322 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 3.40297, 0.0, 0.0 ) -% -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 288.15 -% -% Non-dimensionalization scheme for incompressible flows. Options are -% INITIAL_VALUES (default), REFERENCE_VALUES, or DIMENSIONAL. -% INC_*_REF values are ignored unless REFERENCE_VALUES is chosen. INC_NONDIM= DIMENSIONAL % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS) FLUID_MODEL= INC_IDEAL_GAS -% -% Specific heat at constant pressure, Cp (1004.703 J/kg*K (air)). -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). SPECIFIC_HEAT_CP= 1004.703 -% -% Molecular weight for an incompressible ideal gas (28.96 g/mol (air) default) -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). MOLECULAR_WEIGHT= 28.96 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.7893e-05 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0257 -% -% Laminar Prandtl number (0.72 (air), only for CONSTANT_PRANDTL) PRANDTL_LAM= 0.72 -% -% Turbulent Prandtl number (0.9 (air), only for CONSTANT_PRANDTL) PRANDTL_TURB= 0.90 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - diff --git a/TestCases/coupled_cht/incomp_2d/solid_cylinder1.cfg b/TestCases/coupled_cht/incomp_2d/solid_cylinder1.cfg index ba2a43f5b39..63a00c08dea 100644 --- a/TestCases/coupled_cht/incomp_2d/solid_cylinder1.cfg +++ b/TestCases/coupled_cht/incomp_2d/solid_cylinder1.cfg @@ -7,95 +7,44 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core1, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_inner1 ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 350.0 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) % -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.000210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP= 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% @@ -104,74 +53,31 @@ TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - diff --git a/TestCases/coupled_cht/incomp_2d/solid_cylinder2.cfg b/TestCases/coupled_cht/incomp_2d/solid_cylinder2.cfg index 6f336369e9d..ab8221cce5c 100644 --- a/TestCases/coupled_cht/incomp_2d/solid_cylinder2.cfg +++ b/TestCases/coupled_cht/incomp_2d/solid_cylinder2.cfg @@ -7,181 +7,77 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core2, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_inner2) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 350.0 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) % -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.000210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP= 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % -% Time discretization (EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - diff --git a/TestCases/coupled_cht/incomp_2d/solid_cylinder3.cfg b/TestCases/coupled_cht/incomp_2d/solid_cylinder3.cfg index 5c45bfb3105..7db6b4b6c75 100644 --- a/TestCases/coupled_cht/incomp_2d/solid_cylinder3.cfg +++ b/TestCases/coupled_cht/incomp_2d/solid_cylinder3.cfg @@ -7,181 +7,77 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core3, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder_inner3 ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 350.0 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) % -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.000210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP= 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % -% Time discretization (EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - diff --git a/TestCases/coupled_cht/incomp_2d_unsteady/cht_2d_3cylinders.cfg b/TestCases/coupled_cht/incomp_2d_unsteady/cht_2d_3cylinders.cfg index 2c13eae13e4..edb3c23823f 100644 --- a/TestCases/coupled_cht/incomp_2d_unsteady/cht_2d_3cylinders.cfg +++ b/TestCases/coupled_cht/incomp_2d_unsteady/cht_2d_3cylinders.cfg @@ -5,59 +5,24 @@ % Author: O. Burghardt, T. Economon % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: August 8, 2019 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% SOLVER= MULTIPHYSICS -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DIRECT -% -% CONFIG_LIST = (flow_cylinder.cfg, solid_cylinder1.cfg, solid_cylinder2.cfg, solid_cylinder3.cfg) -% -% MARKER_ZONE_INTERFACE= (cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3) -% -% MARKER_CHT_INTERFACE= (cylinder_outer1, cylinder_inner1, cylinder_outer2, cylinder_inner2, cylinder_outer3, cylinder_inner3) -% -% Time domain simulation TIME_DOMAIN = YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, HARMONIC_BALANCE) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0 -% For the DG-FEM solver it is used as a synchronization time when UNST_CFL_NUMBER != 0.0 TIME_STEP= 0.05 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 100.0 -% -% Maximum number of time iterations TIME_ITER= 3 -% -% Number of total iterations OUTER_ITER = 10 -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 100.0 -% -% Mesh input file MESH_FILENAME= mesh_cht_3cyl.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% HISTORY_OUTPUT= (ITER, BGS_RES[0], BGS_RES[1], BGS_RES[2], BGS_RES[3], HEAT[0], AERO_COEFF[0]) -% -% OUTPUT_FILES=(RESTART, PARAVIEW_MULTIBLOCK) diff --git a/TestCases/coupled_cht/incomp_2d_unsteady/flow_cylinder.cfg b/TestCases/coupled_cht/incomp_2d_unsteady/flow_cylinder.cfg index ffc9c528454..c99794377c8 100644 --- a/TestCases/coupled_cht/incomp_2d_unsteady/flow_cylinder.cfg +++ b/TestCases/coupled_cht/incomp_2d_unsteady/flow_cylinder.cfg @@ -7,230 +7,96 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES -% -% Data written to history file HISTORY_OUTPUT=(ITER, RMS_RES, HEAT) % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_outer1, cylinder_outer2, cylinder_outer3) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (cylinder_outer1, cylinder_outer2, cylinder_outer3) % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. INC_DENSITY_MODEL= VARIABLE -% -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = YES -% -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 0.0210322 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 3.40297, 0.0, 0.0 ) -% -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 288.15 -% -% Non-dimensionalization scheme for incompressible flows. Options are -% INITIAL_VALUES (default), REFERENCE_VALUES, or DIMENSIONAL. -% INC_*_REF values are ignored unless REFERENCE_VALUES is chosen. INC_NONDIM= DIMENSIONAL % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS) FLUID_MODEL= INC_IDEAL_GAS -% -% Specific heat at constant pressure, Cp (1004.703 J/kg*K (air)). -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). SPECIFIC_HEAT_CP= 1004.703 -% -% Molecular weight for an incompressible ideal gas (28.96 g/mol (air) default) -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). MOLECULAR_WEIGHT= 28.96 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.7893e-05 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0257 -% -% Laminar Prandtl number (0.72 (air), only for CONSTANT_PRANDTL) PRANDTL_LAM= 0.72 -% -% Turbulent Prandtl number (0.9 (air), only for CONSTANT_PRANDTL) PRANDTL_TURB= 0.90 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - diff --git a/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder1.cfg b/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder1.cfg index 524001f3a88..a0d29c2fce9 100644 --- a/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder1.cfg +++ b/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder1.cfg @@ -7,82 +7,39 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core1, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_inner1 ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 288.15 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) -% -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.0210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP= 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% @@ -91,74 +48,31 @@ TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - diff --git a/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder2.cfg b/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder2.cfg index 09bb6a3d2d2..5aee001767d 100644 --- a/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder2.cfg +++ b/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder2.cfg @@ -7,159 +7,72 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core2, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (cylinder_inner2) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 288.15 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) -% -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.0210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP= 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % -% Time discretization (EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) -DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - +DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME \ No newline at end of file diff --git a/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder3.cfg b/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder3.cfg index d0867a6c833..31dd8103509 100644 --- a/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder3.cfg +++ b/TestCases/coupled_cht/incomp_2d_unsteady/solid_cylinder3.cfg @@ -7,159 +7,72 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= HEAT_EQUATION -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART = YES % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ISOTHERMAL= ( core3, 350.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder_inner3 ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% % % We should keep the dimensionalization of the coupled flow solver INC_NONDIM= DIMENSIONAL -% -% Temperature initialization value FREESTREAM_TEMPERATURE= 288.15 % % Nettis case: hollow cylinder (air w/ 4x the conductivity) -% -% Solid density (kg/m^3) MATERIAL_DENSITY= 0.0210322 -% -% Solid specific heat (J/kg*K) SPECIFIC_HEAT_CP= 1004.703 -% -% Solid thermal conductivity (W/m*K) THERMAL_CONDUCTIVITY_CONSTANT= 0.1028 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % -% Time discretization (EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -19 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 200 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) -DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME - +DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME \ No newline at end of file diff --git a/TestCases/ddes/flatplate/ddes_flatplate.cfg b/TestCases/ddes/flatplate/ddes_flatplate.cfg index 13878517e61..cfbf729eacf 100644 --- a/TestCases/ddes/flatplate/ddes_flatplate.cfg +++ b/TestCases/ddes/flatplate/ddes_flatplate.cfg @@ -5,226 +5,103 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= SA HYBRID_RANSLES= SA_EDDES -% -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 5000000.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 2.0 % ------------------------- UNSTEADY SIMULATION -------------------------------% -% Enable time domain TIME_DOMAIN= YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % -% Time Step for dual time stepping simulations (s) % U_inf = 69.4448 - dt*=0.02 - dt=0.000288 TIME_STEP= 0.000288 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 20.0 -% -% Unsteady Courant-Friedrichs-Lewy number of the finest grid UNST_CFL_NUMBER= 0.0 -% -% Number of internal iterations (dual time method) INNER_ITER= 20 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) MARKER_INLET= ( inlet, 302.4, 118309.784, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure, ... ) MARKER_OUTLET= ( outlet, 115056.0, farfield, 115056.0 ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations TIME_ITER= 10 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Coefficient for the Venkat's limiter (upwind scheme). A larger values decrease -% the extent of limiting, values approaching zero cause -% lower-order approximation to the solution (0.05 by default) VENKAT_LIMITER_COEFF= 0.05 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= SLAU2 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start convergence criteria at iteration number CONV_STARTITER= 0 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_flatplate_turb_137x97.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1000 -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG, TOTAL_HEATFLUX) diff --git a/TestCases/deformation/brick_hex/def_brick_hex.cfg b/TestCases/deformation/brick_hex/def_brick_hex.cfg index 556da04b539..4864a6bcf25 100755 --- a/TestCases/deformation/brick_hex/def_brick_hex.cfg +++ b/TestCases/deformation/brick_hex/def_brick_hex.cfg @@ -5,245 +5,105 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version SU2 v4.1.3 % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (POTENTIAL_FLOW, EULER, NAVIER_STOKES, -% MULTI_SPECIES_NAVIER_STOKES, TWO_PHASE_FLOW, -% COMBUSTION) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED, ONE_SHOT_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( z_m ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( x_p, x_m, y_p, z_p, y_m ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( z_m ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( z_m ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 4.0 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 5 -% -% Linear solver for the implicit formulation (LU_SGS, SYM_GAUSS_SEIDEL, BCGSTAB) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER, AUSM-1ST_ORDER, AUSM-2ND_ORDER, -% HLLC-1ST_ORDER, HLLC-2ND_ORDER) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( z_m ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( MAIN_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ) -% -% Value of the shape deformation DV_VALUE= 3.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-15 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.01, 0.01, -0.25, 1.99, 0.01, -0.25, 1.99, 0.99, -0.25, 0.01, 0.99, -0.25, 0.01, 0.01, 0.25, 1.99, 0.01, 0.25, 1.99, 0.99, 0.25, 0.01, 0.99, 0.25) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (4, 4, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 1ST_DERIVATIVE % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_brick_hex_ffd.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_brick_hex_ffd.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% diff --git a/TestCases/deformation/brick_hex_rans/def_brick_hex_rans.cfg b/TestCases/deformation/brick_hex_rans/def_brick_hex_rans.cfg index c792b4f6690..49720c93729 100755 --- a/TestCases/deformation/brick_hex_rans/def_brick_hex_rans.cfg +++ b/TestCases/deformation/brick_hex_rans/def_brick_hex_rans.cfg @@ -5,250 +5,106 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version SU2 v4.1.3 % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (POTENTIAL_FLOW, EULER, NAVIER_STOKES, -% MULTI_SPECIES_NAVIER_STOKES, TWO_PHASE_FLOW, -% COMBUSTION) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED, ONE_SHOT_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( z_m ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( x_p, x_m, y_p, z_p, y_m ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( z_m ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( z_m ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 4.0 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 5 -% -% Linear solver for the implicit formulation (LU_SGS, SYM_GAUSS_SEIDEL, BCGSTAB) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER, AUSM-1ST_ORDER, AUSM-2ND_ORDER, -% HLLC-1ST_ORDER, HLLC-2ND_ORDER) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( z_m ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( MAIN_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ) -% -% Value of the shape deformation DV_VALUE= 3.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-15 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.01, 0.01, -0.25, 1.99, 0.01, -0.25, 1.99, 0.99, -0.25, 0.01, 0.99, -0.25, 0.01, 0.01, 0.25, 1.99, 0.01, 0.25, 1.99, 0.99, 0.25, 0.01, 0.99, 0.25) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (4, 4, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 1ST_DERIVATIVE % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_brick_hex_rans_ffd.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_brick_hex_rans_ffd.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% - diff --git a/TestCases/deformation/brick_prism/def_brick_prism.cfg b/TestCases/deformation/brick_prism/def_brick_prism.cfg index 08f17f6795a..2d50bb38399 100755 --- a/TestCases/deformation/brick_prism/def_brick_prism.cfg +++ b/TestCases/deformation/brick_prism/def_brick_prism.cfg @@ -5,246 +5,105 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version SU2 v4.1.3 % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (POTENTIAL_FLOW, EULER, NAVIER_STOKES, -% MULTI_SPECIES_NAVIER_STOKES, TWO_PHASE_FLOW, -% COMBUSTION) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED, ONE_SHOT_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( z_m ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( x_p, x_m, y_p, z_p, y_m ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( z_m ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( z_m ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 4.0 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 5 -% -% Linear solver for the implicit formulation (LU_SGS, SYM_GAUSS_SEIDEL, BCGSTAB) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER, AUSM-1ST_ORDER, AUSM-2ND_ORDER, -% HLLC-1ST_ORDER, HLLC-2ND_ORDER) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( z_m ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( MAIN_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ) -% -% Value of the shape deformation DV_VALUE= 3.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-15 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.01, 0.01, -0.25, 1.99, 0.01, -0.25, 1.99, 0.99, -0.25, 0.01, 0.99, -0.25, 0.01, 0.01, 0.25, 1.99, 0.01, 0.25, 1.99, 0.99, 0.25, 0.01, 0.99, 0.25) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (4, 4, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 1ST_DERIVATIVE % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_brick_prism_ffd.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_brick_prism_ffd.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% - diff --git a/TestCases/deformation/brick_prism_rans/def_brick_prism_rans.cfg b/TestCases/deformation/brick_prism_rans/def_brick_prism_rans.cfg index ccdeb4b4812..f2707e4f519 100755 --- a/TestCases/deformation/brick_prism_rans/def_brick_prism_rans.cfg +++ b/TestCases/deformation/brick_prism_rans/def_brick_prism_rans.cfg @@ -5,246 +5,105 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version SU2 v4.1.3 % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (POTENTIAL_FLOW, EULER, NAVIER_STOKES, -% MULTI_SPECIES_NAVIER_STOKES, TWO_PHASE_FLOW, -% COMBUSTION) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED, ONE_SHOT_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( z_m ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( x_p, x_m, y_p, z_p, y_m ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( z_m ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( z_m ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 4.0 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 5 -% -% Linear solver for the implicit formulation (LU_SGS, SYM_GAUSS_SEIDEL, BCGSTAB) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER, AUSM-1ST_ORDER, AUSM-2ND_ORDER, -% HLLC-1ST_ORDER, HLLC-2ND_ORDER) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( z_m ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( MAIN_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ) -% -% Value of the shape deformation DV_VALUE= 5.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-15 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.01, 0.01, -0.25, 1.99, 0.01, -0.25, 1.99, 0.99, -0.25, 0.01, 0.99, -0.25, 0.01, 0.01, 0.25, 1.99, 0.01, 0.25, 1.99, 0.99, 0.25, 0.01, 0.99, 0.25) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (4, 4, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 1ST_DERIVATIVE % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_brick_prism_rans_ffd.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_brick_prism_rans_ffd.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% - diff --git a/TestCases/deformation/brick_pyra/def_brick_pyra.cfg b/TestCases/deformation/brick_pyra/def_brick_pyra.cfg index de18b89bf9d..82a1e35e3c9 100755 --- a/TestCases/deformation/brick_pyra/def_brick_pyra.cfg +++ b/TestCases/deformation/brick_pyra/def_brick_pyra.cfg @@ -5,249 +5,106 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version SU2 v4.1.3 % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (POTENTIAL_FLOW, EULER, NAVIER_STOKES, -% MULTI_SPECIES_NAVIER_STOKES, TWO_PHASE_FLOW, -% COMBUSTION) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED, ONE_SHOT_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( z_m ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( x_p, x_m, y_p, z_p, y_m ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( z_m ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( z_m ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 4.0 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 5 -% -% Linear solver for the implicit formulation (LU_SGS, SYM_GAUSS_SEIDEL, BCGSTAB) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER, AUSM-1ST_ORDER, AUSM-2ND_ORDER, -% HLLC-1ST_ORDER, HLLC-2ND_ORDER) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( z_m ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( MAIN_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ) -% -% Value of the shape deformation DV_VALUE= 3.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-15 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.01, 0.01, -0.25, 1.99, 0.01, -0.25, 1.99, 0.99, -0.25, 0.01, 0.99, -0.25, 0.01, 0.01, 0.25, 1.99, 0.01, 0.25, 1.99, 0.99, 0.25, 0.01, 0.99, 0.25) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (4, 4, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 1ST_DERIVATIVE % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_brick_pyra_ffd.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_brick_pyra_ffd.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% - diff --git a/TestCases/deformation/brick_tets/def_brick_tets.cfg b/TestCases/deformation/brick_tets/def_brick_tets.cfg index 6bf27364f2f..e0b62d50675 100755 --- a/TestCases/deformation/brick_tets/def_brick_tets.cfg +++ b/TestCases/deformation/brick_tets/def_brick_tets.cfg @@ -5,249 +5,106 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version SU2 v4.1.3 % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (POTENTIAL_FLOW, EULER, NAVIER_STOKES, -% MULTI_SPECIES_NAVIER_STOKES, TWO_PHASE_FLOW, -% COMBUSTION) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED, ONE_SHOT_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( z_m ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( x_p, x_m, y_p, z_p, y_m ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( z_m ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( z_m ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 4.0 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 5 -% -% Linear solver for the implicit formulation (LU_SGS, SYM_GAUSS_SEIDEL, BCGSTAB) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER, AUSM-1ST_ORDER, AUSM-2ND_ORDER, -% HLLC-1ST_ORDER, HLLC-2ND_ORDER) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( z_m ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( MAIN_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ) -% -% Value of the shape deformation DV_VALUE= 5.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-15 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.01, 0.01, -0.25, 1.99, 0.01, -0.25, 1.99, 0.99, -0.25, 0.01, 0.99, -0.25, 0.01, 0.01, 0.25, 1.99, 0.01, 0.25, 1.99, 0.99, 0.25, 0.01, 0.99, 0.25) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (4, 4, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 1ST_DERIVATIVE % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_brick_tets_ffd.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_brick_tets_ffd.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% - diff --git a/TestCases/deformation/cylindrical_ffd/def_cylindrical.cfg b/TestCases/deformation/cylindrical_ffd/def_cylindrical.cfg index 4723fcfb33b..6a9f1e04da3 100644 --- a/TestCases/deformation/cylindrical_ffd/def_cylindrical.cfg +++ b/TestCases/deformation/cylindrical_ffd/def_cylindrical.cfg @@ -5,295 +5,121 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% System of measurements (SI, US) -% International system of units (SI): ( meters, kilograms, Kelvins, -% Newtons = kg m/s^2, Pascals = N/m^2, -% Density = kg/m^3, Speed = m/s, -% Equiv. Area = m^2 ) -% United States customary units (US): ( inches, slug, Rankines, lbf = slug ft/s^2, -% psf = lbf/ft^2, Density = slug/ft^3, -% Speed = ft/s, Equiv. Area = ft^2 ) SYSTEM_MEASUREMENTS= US % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (518.67 R by default) FREESTREAM_TEMPERATURE= 518.67 -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 2116.216 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (in) REF_ORIGIN_MOMENT_X = 0.0 REF_ORIGIN_MOMENT_Y = 0.0 REF_ORIGIN_MOMENT_Z = 0.0 -% -% Reference length for pitching, rolling, and yawing non-dimensional -% moment (in) REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic -% calculation) (in^2) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( CYLINDER ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( FARFIELD ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( CYLINDER ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( CYLINDER ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( CYLINDER ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.0, 1.0, 1.0, 10.0 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, AVG_TOTAL_PRESSURE, -% MASS_FLOW_RATE) OBJECTIVE_FUNCTION= DRAG % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Sensitivity for detecting sharp edges (< 3 high sensitivity). ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Venkatakrishnan's limiter coefficient (from 0.3 to 0.003) VENKAT_LIMITER_COEFF= 0.003 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-12 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( CYLINDER ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( CYLINDER_BOX, 0, 3, 2, 1.0, 0.0, 0.0 ) -% -% Value of the shape deformation DV_VALUE= 1.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 100 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (CYLINDER_BOX, -0.6, -0.1, 1.5, -0.6, -0.1, 0.5, -0.6, 0.1, 0.5, -0.6, 0.1, 1.5, 0.6, -0.1, 1.5, 0.6, -0.1, 0.5, 0.6, 0.1, 0.5, 0.6, 0.1, 1.5) -% -% FFD box degree: 3D case (r_degree, theta_degree, phi_degree) FFD_DEGREE= (1, 9, 4) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 1ST_DERIVATIVE -% -% FFD coordinate system (CARTESIAN, CYLINDRICAL, SPHERICAL) FFD_COORD_SYSTEM= CYLINDRICAL -% -% Axis for the FFD box (cylindrical and spherical coordinates) FFD_AXIS= (0.0, 0.0, 0.0) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 5 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= cylindrical.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 -% -% diff --git a/TestCases/deformation/intersection_prevention/def_intersect.cfg b/TestCases/deformation/intersection_prevention/def_intersect.cfg index 0501383900a..39375b4b679 100644 --- a/TestCases/deformation/intersection_prevention/def_intersect.cfg +++ b/TestCases/deformation/intersection_prevention/def_intersect.cfg @@ -15,353 +15,150 @@ % Institution: % % Technische Universiteit Eindhoven % % Date: 2021.01.08 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER = INC_NAVIER_STOKES - -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE - -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DIRECT - -% Restart solution (NO, YES) RESTART_SOL = NO - AXISYMMETRIC = NO -% % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. - INC_DENSITY_MODEL= CONSTANT - -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = NO - -% Initial density for incompressible flows -% (1.2886 kg/m^3 by default (air), 998.2 Kg/m^3 (water)) INC_DENSITY_INIT= 1.1728 - -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= (1.0, 0.0, 0.0 ) - -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 300.0 - -% List of inlet types for incompressible flows. List length must -% match number of inlet markers. Options: VELOCITY_INLET, PRESSURE_INLET. INC_INLET_TYPE= VELOCITY_INLET -% -% Damping coefficient for iterative updates at pressure inlets. (0.1 by default) INC_INLET_DAMPING= 0.1 - -% 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 -% -% Damping coefficient for iterative updates at mass flow outlets. (0.1 by default) INC_OUTLET_DAMPING= 0.1 - -% Non-dimensionalization scheme for incompressible flows. Options are -% INITIAL_VALUES (default), REFERENCE_VALUES, or DIMENSIONAL. -% INC_*_REF values are ignored unless REFERENCE_VALUES is chosen. INC_NONDIM= DIMENSIONAL - % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS) FLUID_MODEL= CONSTANT_DENSITY -% -% Specific heat at constant pressure, Cp (1004.703 J/kg*K (air)). -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). SPECIFIC_HEAT_CP= 1004.703 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.83463e-05 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Laminar Prandtl number (0.72 (air), only for CONSTANT_PRANDTL) PRANDTL_LAM= 0.72 -% -% Turbulent Prandtl number (0.9 (air), only for CONSTANT_PRANDTL) PRANDTL_TURB= 0.90 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% - -% Reference origin for moment computation +% REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 - -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 - -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% - -% Navier-Stokes wall boundary marker(s) (NONE = no marker) - +% MARKER_PLOTTING = (outlet) MARKER_ANALYZE = (outlet) - MARKER_HEATFLUX= (wall_inner_bottom, 0.0, wall_inner_right, 0.0, wall_inner_top, 0.0) - SPECIFIED_INLET_PROFILE= NO - INLET_FILENAME = inletVelocity.dat - INLET_MATCHING_TOLERANCE= 1e-5 - -% Inlet boundary marker(s) MARKER_INLET = (inlet, 300.0, 1.0, 1.0, 0.0, 0.0) - -% Outler boundary marker (s) MARKER_OUTLET = (outlet, 0.0) - -% Symmetry boundary marker MARKER_SYM = (wall_outer) - -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (outlet) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% - -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) +% NUM_METHOD_GRAD= GREEN_GAUSS - -% Courant-Friedrichs-Lewy condition of the finest grid - CFL_NUMBER=100 - -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO - -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) - - -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) - -% Number of total iterations -%EXT_ITER = 25 ITER = 10000 - -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% - -% Linear solver for implicit formulations (BCGSTAB, FGMRES) +% LINEAR_SOLVER= FGMRES - -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU - -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 - -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 100 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% - -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 - -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE - -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) - -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) - -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) - -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 - -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% - -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) +% CONV_NUM_METHOD_FLOW= FDS - -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO - -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE - -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 10.0 - -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.05, 0.02 ) - -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT - CONV_NUM_METHOD_ADJFLOW= FDS ADJ_JST_SENSOR_COEFF= ( 0.05, 0.02 ) CFL_REDUCTION_ADJFLOW= 0.5 TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% - -% Min value of the residual (log10 of the residual) +% CONV_RESIDUAL_MINVAL= -10 - -% Start convergence criteria at iteration number CONV_STARTITER= 100 - -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 20 - -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 - -% Function to apply the criteria (LIFT, DRAG, NEARFIELD_PRESS, SENS_GEOMETRY, -% SENS_MACH, DELTA_LIFT, DELTA_DRAG) - SCREEN_OUTPUT = INNER_ITER WALL_TIME RMS_PRESSURE RMS_VELOCITY-X RMS_ADJ_PRESSURE RMS_ADJ_VELOCITY-X U CONV_FIELD = (RMS_PRESSURE, RMS_ADJ_PRESSURE) % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% - -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +% MESH_FORMAT= SU2 - -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat - -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% OUTPUT_FILES = (RESTART, PARAVIEW_ASCII, SURFACE_CSV) -% TABULAR_FORMAT = CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history - -% Output file restart flow RESTART_FILENAME= restart_flow.dat - -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat - -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow - -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint - -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat - -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow - -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint - VOLUME_OUTPUT= RESIDUAL PRIMITIVE SOURCE SENSITIVITY COEFFICIENT - -% Writing convergence history frequency SCREEN_WRT_FREQ_INNER = 1 SCREEN_WRT_FREQ_OUTER = 1 % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (NO_DEFORMATION, TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, FFD_NACELLE -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS, FFD_TWIST -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, FFD_TWIST_2D, -% HICKS_HENNE, SURFACE_BUMP) - DV_KIND= FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D, FFD_CONTROL_POINT_2D - MESH_FILENAME = mesh_ffd.su2 - -% Mesh output file MESH_OUT_FILENAME= mesh_ffd_deformed.su2 - -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= (wall_inner_bottom, wall_inner_right, wall_inner_top) - -% Parameters of the shape deformation DV_PARAM= (MAIN_BOX, 0, 0, 0.0, 1.0); (MAIN_BOX, 1, 0, 0.0, 1.0); (MAIN_BOX, 2, 0, 0.0, 1.0); (MAIN_BOX, 3, 0, 0.0, 1.0); (MAIN_BOX, 4, 0, 0.0, 1.0); (MAIN_BOX, 5, 0, 0.0, 1.0); (MAIN_BOX, 6, 0, 0.0, 1.0); (MAIN_BOX, 7, 0, 0.0, 1.0); (MAIN_BOX, 8, 0, 0.0, 1.0); (MAIN_BOX, 9, 0, 0.0, 1.0); (MAIN_BOX, 10, 0, 0.0, 1.0); (MAIN_BOX, 0, 1, 0.0, 1.0); (MAIN_BOX, 1, 1, 0.0, 1.0); (MAIN_BOX, 2, 1, 0.0, 1.0); (MAIN_BOX, 3, 1, 0.0, 1.0); (MAIN_BOX, 4, 1, 0.0, 1.0); (MAIN_BOX, 5, 1, 0.0, 1.0); (MAIN_BOX, 6, 1, 0.0, 1.0); (MAIN_BOX, 7, 1, 0.0, 1.0); (MAIN_BOX, 8, 1, 0.0, 1.0); (MAIN_BOX, 9, 1, 0.0, 1.0); (MAIN_BOX, 10, 1, 0.0, 1.0) - -% Value of the shape deformation DV_VALUE = 0, 0.0002, 0.0004, 0.0006, 0.0008, 0.001, 0.0012, 0.0014, 0.0016, 0.0018, 0.002, 0,-0.0002, -0.0004, -0.0006, -0.0008, -0.0010, -0.0012, -0.0014, -0.0016, -0.0018, -0.002 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Factor to multiply smallest cell volume for deform tolerance (0.001 default) -% DEFORM_TOL_FACTOR = 1e-10 DEFORM_LINEAR_SOLVER_ERROR = 1e-5 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= WALL_DISTANCE -% - % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 - -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 % ----- CHECK AND REPAIR MESH INTERSECTION ------------------------- % +% % Parameters to check and repair self-intersections within FFD box % (after deformation) % @@ -373,6 +170,7 @@ FFD_INTPREV_ITER = 2 FFD_INTPREV_DEPTH= 3 % ----- CHECK AND REPAIR NONCONVEX CELLS ------------------------- % +% % Parameters to check and repair nonconvex elements in mesh % (after deformation) % @@ -384,59 +182,17 @@ 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.02, 0.005, 0, 0.05, 0.005, 0.0, 0.05, 0.007, 0.0, 0.02, 0.007, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) - -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= ( 10, 1, 0) - -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= USER_INPUT - -% -% Optimization objective function with scaling factor, separated by semicolons. -% To include quadratic penalty function: use OPT_CONSTRAINT option syntax within the OPT_OBJECTIVE list. -% ex= Objective * Scale -%OPT_OBJECTIVE= TOTAL_HEATFLUX * 1e-5 OPT_OBJECTIVE= DRAG*5.0e-3 - -% -% Optimization constraint functions with pushing factors (affects its value, not the gradient in the python scripts), separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE - -% -% Factor to reduce the norm of the gradient (affects the objective function and gradient in the python scripts) -% In general, a norm of the gradient ~1E-6 is desired. OPT_GRADIENT_FACTOR= 1.0 -% -% Factor to relax or accelerate the optimizer convergence (affects the line search in SU2_DEF) -% In general, surface deformations of 0.01'' or 0.0001m are desirable OPT_RELAX_FACTOR= 1.0 -% -% Maximum number of iterations OPT_ITERATIONS= 20 -% -% Requested accuracy OPT_ACCURACY= 1E-200 - -% Optimization bound (bounds the line search in SU2_DEF) OPT_LINE_SEARCH_BOUND= 1E6 -% -% Upper bound for each design variable (bound in the python optimizer) OPT_BOUND_UPPER = 1e10 OPT_BOUND_LOWER = -1e10 - -% -% Finite difference step size for python scripts (0.001 default, recommended -% 0.001 x REF_LENGTH) FIN_DIFF_STEP = 1e-3 -% DEFINITION_DV= (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 0, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 1, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 2, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 3, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 4, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 5, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 6, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 7, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 8, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 9, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 10, 0, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 0, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 1, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 2, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 3, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 4, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 5, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 6, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 7, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 8, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 9, 1, 0.0, 1.0); (19, 1.0 | wall_inner_bottom, wall_inner_right, wall_inner_top | MAIN_BOX, 10, 1, 0.0, 1.0) diff --git a/TestCases/deformation/naca0012/def_NACA0012.cfg b/TestCases/deformation/naca0012/def_NACA0012.cfg index 2b0032c28d0..d6e316a1d29 100644 --- a/TestCases/deformation/naca0012/def_NACA0012.cfg +++ b/TestCases/deformation/naca0012/def_NACA0012.cfg @@ -5,345 +5,134 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 4.0 -% -% Number of total iterations ITER= 250 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE, AIRFOIL) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT_2D ( FFD_Box_ID, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_Box_ID, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_Box_ID, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - FOURIER ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), index, cos(0)/sin(1) ) -% - SPHERICAL ( ControlPoint_Index, Theta_Disp, R_Disp ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.1 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_NACA0012_inv.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_NACA0012_inv.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.328188 ) * 0.001; ( MOMENT_Z > 0.034068 ) * 0.001; ( AIRFOIL_THICKNESS > 0.11 ) * 0.001 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/deformation/naca0012/surface_file_NACA0012.cfg b/TestCases/deformation/naca0012/surface_file_NACA0012.cfg index 599a2bd90a6..7ebeb30173c 100644 --- a/TestCases/deformation/naca0012/surface_file_NACA0012.cfg +++ b/TestCases/deformation/naca0012/surface_file_NACA0012.cfg @@ -5,353 +5,134 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 4.0 -% -% Number of total iterations ITER= 250 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE, AIRFOIL) DV_KIND= SURFACE_FILE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT_2D ( FFD_Box_ID, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_Box_ID, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_Box_ID, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - FOURIER ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), index, cos(0)/sin(1) ) -% - SPHERICAL ( ControlPoint_Index, Theta_Disp, R_Disp ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.1 -% -% Filename for surface deformation from external parameterization. List moving -% markers in DV_MARKER and provide ASCII file with format: -% GlobalID_0, x_0, y_0, z_0 -% GlobalID_1, x_1, y_1, z_1 -% ... -% GlobalID_N, x_N, y_N, z_N -% where N is the total number of vertices on all moving markers, and x/y/z are -% the new position of each vertex. Points can be in any order. DV_FILENAME= surface_bump.dat % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_NACA0012_inv.su2 -%MESH_FILENAME= mesh_def.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_NACA0012_inv.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.328188 ) * 0.001; ( MOMENT_Z > 0.034068 ) * 0.001; ( AIRFOIL_THICKNESS > 0.11 ) * 0.001 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/deformation/naca4412/def_NACA4412.cfg b/TestCases/deformation/naca4412/def_NACA4412.cfg index dfd8d82cbe3..e1905e3f3ff 100644 --- a/TestCases/deformation/naca4412/def_NACA4412.cfg +++ b/TestCases/deformation/naca4412/def_NACA4412.cfg @@ -6,328 +6,128 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.06 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.09 -% -% Angle of attack (degrees, only for compressible flows) AOA= 13.87 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 297.778 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 1520000.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( pressure, 0.0, suction, 0.0, TE, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( pressure, suction, TE ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( pressure, suction, TE ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 15.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 1000.0 ) -% -% Number of total iterations ITER= 99999 -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW) OBJECTIVE_FUNCTION= DRAG % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.9 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Relaxation coefficient RELAXATION_FACTOR_ADJOINT= 1.0 -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.15 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E0 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA4412_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE, AIRFOIL) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( pressure, suction, TE ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT_2D ( FFD_Box_ID, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_Box_ID, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_Box_ID, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - FOURIER ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), index, cos(0)/sin(1) ) -% - SPHERICAL ( ControlPoint_Index, Theta_Disp, R_Disp ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.1 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= WALL_DISTANCE - diff --git a/TestCases/deformation/rae2822/def_RAE2822.cfg b/TestCases/deformation/rae2822/def_RAE2822.cfg index ea6d14c847b..e71b485970c 100644 --- a/TestCases/deformation/rae2822/def_RAE2822.cfg +++ b/TestCases/deformation/rae2822/def_RAE2822.cfg @@ -5,282 +5,117 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-5 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.01 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb_ffd.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% OUTPUT_FILES=(PARAVIEW_ASCII) + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) -% DV_KIND= FFD_CONTROL_POINT_2D DV_MARKER= ( AIRFOIL ) DV_PARAM= ( MAIN_BOX, 7, 1, 0.0, 1.0) @@ -288,99 +123,25 @@ DV_VALUE= 0.1 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (in theory from -1.0 to 0.5, a large value is also valid) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-15 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, -0.00000001, -0.07, 0.0, 1.00000001, -0.07, 0.0, 1.00000001, 0.07, 0.0, -0.00000001, 0.07, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= ( 14, 1, 0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE - -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 19, 1.0 | AIRFOIL | MAIN_BOX, 0, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 1, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 2, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 3, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 4, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 5, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 6, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 7, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 8, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 9, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 10, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 11, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 12, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 13, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 14, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 0, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 1, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 2, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 3, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 4, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 5, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 6, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 7, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 8, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 9, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 10, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 11, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 12, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 13, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | MAIN_BOX, 14, 1, 0.0, 1.0 ) diff --git a/TestCases/deformation/spherical_ffd/def_spherical.cfg b/TestCases/deformation/spherical_ffd/def_spherical.cfg index d1f910c3234..8960ae42f06 100644 --- a/TestCases/deformation/spherical_ffd/def_spherical.cfg +++ b/TestCases/deformation/spherical_ffd/def_spherical.cfg @@ -5,298 +5,122 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% System of measurements (SI, US) -% International system of units (SI): ( meters, kilograms, Kelvins, -% Newtons = kg m/s^2, Pascals = N/m^2, -% Density = kg/m^3, Speed = m/s, -% Equiv. Area = m^2 ) -% United States customary units (US): ( inches, slug, Rankines, lbf = slug ft/s^2, -% psf = lbf/ft^2, Density = slug/ft^3, -% Speed = ft/s, Equiv. Area = ft^2 ) SYSTEM_MEASUREMENTS= US % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (518.67 R by default) FREESTREAM_TEMPERATURE= 518.67 -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 2116.216 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (in) REF_ORIGIN_MOMENT_X = 0.0 REF_ORIGIN_MOMENT_Y = 0.0 REF_ORIGIN_MOMENT_Z = 0.0 -% -% Reference length for pitching, rolling, and yawing non-dimensional -% moment (in) REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic -% calculation) (in^2) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( SPHERE, 0.0) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( FARFIELD ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( SPHERE ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( SPHERE ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( SPHERE ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.0, 1.0, 1.0, 10.0 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, AVG_TOTAL_PRESSURE, -% MASS_FLOW_RATE) OBJECTIVE_FUNCTION= DRAG % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Sensitivity for detecting sharp edges (< 3 high sensitivity). ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Venkatakrishnan's limiter coefficient (from 0.3 to 0.003) VENKAT_LIMITER_COEFF= 0.003 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-12 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( SPHERE ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( SPHERE_BOX, 0, 3, 2, 1.0, 0.0, 0.0 ) -% -% Value of the shape deformation DV_VALUE= 0.1 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 100 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (SPHERE_BOX, -0.6, -0.1, 1.0, -0.6, -0.1, 0.5, -0.6, 0.1, 0.5, -0.6, 0.1, 1.0, 0.6, -0.1, 1.0, 0.6, -0.1, 0.5, 0.6, 0.1, 0.5, 0.6, 0.1, 1.0) -% -% FFD box degree: 3D case (r_degree, theta_degree, phi_degree) FFD_DEGREE= (1, 9, 4) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 1ST_DERIVATIVE -% -% FFD coordinate system (CARTESIAN, CYLINDRICAL, SPHERICAL) FFD_COORD_SYSTEM= SPHERICAL -% -% Axis for the FFD box (cylindrical and spherical coordinates) FFD_AXIS= (0.0, 0.0, 0.0) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 5 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= spherical.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1500 -% -% diff --git a/TestCases/deformation/spherical_ffd/def_spherical_bspline.cfg b/TestCases/deformation/spherical_ffd/def_spherical_bspline.cfg index 20a995bca7f..db9825dd3ef 100644 --- a/TestCases/deformation/spherical_ffd/def_spherical_bspline.cfg +++ b/TestCases/deformation/spherical_ffd/def_spherical_bspline.cfg @@ -5,305 +5,124 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% System of measurements (SI, US) -% International system of units (SI): ( meters, kilograms, Kelvins, -% Newtons = kg m/s^2, Pascals = N/m^2, -% Density = kg/m^3, Speed = m/s, -% Equiv. Area = m^2 ) -% United States customary units (US): ( inches, slug, Rankines, lbf = slug ft/s^2, -% psf = lbf/ft^2, Density = slug/ft^3, -% Speed = ft/s, Equiv. Area = ft^2 ) SYSTEM_MEASUREMENTS= US % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (518.67 R by default) FREESTREAM_TEMPERATURE= 518.67 -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 2116.216 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (in) REF_ORIGIN_MOMENT_X = 0.0 REF_ORIGIN_MOMENT_Y = 0.0 REF_ORIGIN_MOMENT_Z = 0.0 -% -% Reference length for pitching, rolling, and yawing non-dimensional -% moment (in) REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic -% calculation) (in^2) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( SPHERE, 0.0) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( FARFIELD ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( SPHERE ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( SPHERE ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( SPHERE ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.0, 1.0, 1.0, 10.0 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, AVG_TOTAL_PRESSURE, -% MASS_FLOW_RATE) OBJECTIVE_FUNCTION= DRAG % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Sensitivity for detecting sharp edges (< 3 high sensitivity). ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Venkatakrishnan's limiter coefficient (from 0.3 to 0.003) VENKAT_LIMITER_COEFF= 0.003 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-12 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( SPHERE ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( SPHERE_BOX, 0, 3, 2, 1.0, 0.0, 0.0 ) -% -% Value of the shape deformation DV_VALUE= 0.1 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 100 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 1000 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (SPHERE_BOX, -0.6, -0.1, 1.0, -0.6, -0.1, 0.5, -0.6, 0.1, 0.5, -0.6, 0.1, 1.0, 0.6, -0.1, 1.0, 0.6, -0.1, 0.5, 0.6, 0.1, 0.5, 0.6, 0.1, 1.0) -% -% FFD box degree: 3D case (r_degree, theta_degree, phi_degree) FFD_DEGREE= (1, 9, 4) -% -% -% FFD Blending function: Bezier curves with global support (BEZIER), uniform BSplines with local support (BSPLINE_UNIFORM) FFD_BLENDING= BSPLINE_UNIFORM -% -% Order of the BSplines FFD_BSPLINE_ORDER= 2, 2, 2 -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 1ST_DERIVATIVE -% -% FFD coordinate system (CARTESIAN, CYLINDRICAL, SPHERICAL) FFD_COORD_SYSTEM= SPHERICAL -% -% Axis for the FFD box (cylindrical and spherical coordinates) FFD_AXIS= (0.0, 0.0, 0.0) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 5 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= spherical_bspline.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1500 -% -% diff --git a/TestCases/disc_adj_euler/arina2k/Arina2KRS.cfg b/TestCases/disc_adj_euler/arina2k/Arina2KRS.cfg index 6c097f96917..c6646926676 100644 --- a/TestCases/disc_adj_euler/arina2k/Arina2KRS.cfg +++ b/TestCases/disc_adj_euler/arina2k/Arina2KRS.cfg @@ -6,156 +6,65 @@ % Author: Jairo Paes Cavalcante Filho [Based on T. Economon & M. Pini work] % % Institution: University of São Paulo % % Date: 8-JUL-2018 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% -% Axisymmetric simulation, only compressible flows (NO, YES) AXISYMMETRIC= NO -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Discard the data storaged in the solution and geometry files -% e.g. AOA, dCL/dAoA, dCD/dCL, iter, etc. -% Note that AoA in the solution and geometry files is critical -% to aero design using AoA as a variable. (NO, YES) DISCARD_INFILES= NO -% -% System of measurements (SI, US) -% International system of units (SI): ( meters, kilograms, Kelvins, -% Newtons = kg m/s^2, Pascals = N/m^2, -% Density = kg/m^3, Speed = m/s, -% Equiv. Area = m^2 ) -% United States customary units (US): ( inches, slug, Rankines, lbf = slug ft/s^2, -% psf = lbf/ft^2, Density = slug/ft^3, -% Speed = ft/s, Equiv. Area = ft^2 ) SYSTEM_MEASUREMENTS= SI % -------------------- COMPRESSIBLE FREE-STREAM % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2395 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream option to choose between density and temperature (default) for -% initializing the solution (TEMPERATURE_FS, DENSITY_FS) FREESTREAM_OPTION= TEMPERATURE_FS -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream temperature (288.15 K, 518.67 R by default) FREESTREAM_TEMPERATURE= 288.0 % -% Free-stream density (1.2886 Kg/m^3, 0.0025 slug/ft^3 by default) FREESTREAM_DENSITY= 1.2092 -% -% Free-stream velocity (1.0 m/s, 1.0 ft/s by default) FREESTREAM_VELOCITY= ( 1.0, 0.00, 0.00 ) -% -% Compressible flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for moment non-dimensional coefficients (m or in) REF_LENGTH= 1.0 -% -% Reference area for non-dimensional force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 1.0 -% + % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS) FLUID_MODEL= IDEAL_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR, compressible only) GAMMA_VALUE= 1.338 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR, compressible only) GAS_CONSTANT= 518.28 -% -% Critical Temperature (131.00 K by default) CRITICAL_TEMPERATURE= 190.564 -% -% Critical Pressure (3588550.0 N/m^2 by default) CRITICAL_PRESSURE= 4599200.0 -% -% Acentric factor (0.035 (air)) ACENTRIC_FACTOR= 0.01142 -% + % ------------------------ SUPERSONIC SIMULATION ------------------------------% -% Evaluate equivalent area on the Near-Field (NO, YES) +% EQUIV_AREA= NO % --------------------- INVERSE DESIGN SIMULATION -----------------------------% % -% Evaluate an inverse design problem using Cp (NO, YES) INV_DESIGN_CP= YES -% % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( WALL1 ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( SYMMETRY ) -% -% Internal boundary marker(s) e.g. no boundary condition (NONE = no marker) MARKER_INTERNAL= ( NONE ) -% -% Near-Field boundary marker(s) (NONE = no marker) MARKER_NEARFIELD= ( NONE ) -% -% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW) INLET_TYPE= TOTAL_CONDITIONS -% -% Read inlet profile from a file (YES, NO) default: NO SPECIFIED_INLET_PROFILE= 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -% Incompressible: (inlet marker, temperature, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( INFLOW, 288.0 100000.0, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( OUTFLOW, 83049.0 ) % MARKER_SHROUD= (NONE) @@ -166,447 +75,145 @@ MARKER_GILES= ( NONE ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( WALL1 ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( WALL1 ) -% -% Marker(s) of the surface where custom thermal BC's are defined. MARKER_PYTHON_CUSTOM = ( NONE ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( WALL1 ) -% -% Marker(s) of the surface that is going to be analyzed in detail (massflow, average pressure, distortion, etc) MARKER_ANALYZE = ( WALL1 ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% CFL number (initial value for the adaptive CFL number) CFL_NUMBER= 0.94 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.25, 50.0 ) -% -% Maximum Delta Time in local time stepping simulations MAX_DELTA_TIME= 1E6 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= INVERSE_DESIGN_PRESSURE -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 % ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% % -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence adjoint equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJTURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_ADJTURB= VENKATAKRISHNAN -% -% Coefficient for the Venkat's limiter (upwind scheme). A larger values decrease -% the extent of limiting, values approaching zero cause -% lower-order approximation to the solution (0.05 by default) VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the adjoint sharp edges limiter (3.0 by default). ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 -% -% 1st order artificial dissipation coefficients for -% the Lax–Friedrichs method ( 0.15 by default ) LAX_SENSOR_COEFF= 0.15 -% -% 2nd and 4th order artificial dissipation coefficients for -% the JST method ( 0.5, 0.02 by default ) JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% 1st order artificial dissipation coefficients for -% the adjoint Lax–Friedrichs method ( 0.15 by default ) ADJ_LAX_SENSOR_COEFF= 0.15 -% -% 2nd, and 4th order artificial dissipation coefficients for -% the adjoint JST method ( 0.5, 0.02 by default ) ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-grid levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW, FDS) CONV_NUM_METHOD_FLOW= JST -% -% Post-reconstruction correction for low Mach number flows (NO, YES) LOW_MACH_CORR= NO -% -% Roe-Turkel preconditioning for low Mach number flows (NO, YES) LOW_MACH_PREC= NO -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar -% artificial dissipation) ENTROPY_FIX_COEFF= 0.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% Relaxation coefficient - % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Relaxation coefficient RELAXATION_FACTOR_ADJOINT= 1.0 -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.96 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Use multigrid in the adjoint problem (NO, YES) MG_ADJFLOW= YES % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( WALL1 ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING) GEO_DESCRIPTION= AIRFOIL -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= NO -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (NO_DEFORMATION, SCALE_GRID, TRANSLATE_GRID, ROTATE_GRID, -% FFD_SETTING, FFD_NACELLE, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS, FFD_TWIST -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% FFD_TWIST_2D, HICKS_HENNE, SURFACE_BUMP, SURFACE_FILE) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( WALL1 ) -% -% Parameters of the shape deformation -% - NO_DEFORMATION ( 1.0 ) -% - TRANSLATE_GRID ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATE_GRID ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) axis, DV_VALUE in deg. -% - SCALE_GRID ( 1.0 ) -% - ANGLE_OF_ATTACK ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_NACELLE ( FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Disp, phi_Disp ) -% - FFD_GULL ( FFD_BoxTag, j_Ind ) -% - FFD_ANGLE_OF_ATTACK ( FFD_BoxTag, 1.0 ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST ( FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - FFD_TWIST_2D ( FFD_BoxTag, x_Orig, y_Orig ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - SURFACE_BUMP ( x_Start, x_End, x_Loc ) -% DV_PARAM= ( 0, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.01 -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= BCGSTAB -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= LU_SGS -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger -% value is also possible) DEFORM_COEFF = 0.1 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME -% -% 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 = 0.3 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 12000 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9.00 -% -% Start convergence criteria at iteration number CONV_STARTITER= 20 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= Arina2Kmesh.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= MESHOUT_Arina2Kmesh.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= YES -% -% Reorient elements based on potential negative volumes (YES/NO) REORIENT_ELEMENTS= YES -% -% Screen output SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_PRESS, SENS_AOA) % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% -% Optimization objective function with scaling factor, separated by semicolons. -% To include quadratic penalty function: use OPT_CONSTRAINT option syntax within the OPT_OBJECTIVE list. -% ex= Objective * Scale OPT_OBJECTIVE= INVERSE_DESIGN_PRESSURE * 0.9 -% -% Optimization constraint functions with pushing factors (affects its value, not the gradient in the python scripts), separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( AIRFOIL_THICKNESS > 0.049999999999 ) * 0.9 -%OPT_CONSTRAINT= NONE -% -% Factor to reduce the norm of the gradient (affects the objective function and gradient in the python scripts) -% In general, a norm of the gradient ~1E-6 is desired. OPT_GRADIENT_FACTOR= 1E-6 -% -% Factor to relax or accelerate the optimizer convergence (affects the line search in SU2_DEF) -% In general, surface deformations of 0.01'' or 0.0001m are desirable OPT_RELAX_FACTOR= 1E3 -% -% Maximum number of iterations OPT_ITERATIONS= 1 -% -% Requested accuracy OPT_ACCURACY= 1E-1 -% -% Optimization bound (bounds the line search in SU2_DEF) OPT_LINE_SEARCH_BOUND= 1E6 -% -% Upper bound for each design variable (bound in the python optimizer) OPT_BOUND_UPPER= 5E-3 -% -% Lower bound for each design variable (bound in the python optimizer) OPT_BOUND_LOWER= -5E-3 -% -% Finite difference step size for python scripts (0.001 default, recommended -% 0.001 x REF_LENGTH) FIN_DIFF_STEP = 0.001 -% -% Optimization design variables, separated by semicolons -% DEFINITION_DV= ( 30 , 1.0 | WALL1 | 0 , 0.05 ); ( 30 , 1.0 | WALL1 | 0 , 0.1 ); ( 30 , 1.0 | WALL1 | 0 , 0.15 ); ( 30 , 1.0 | WALL1 | 0 , 0.2 ); ( 30 , 1.0 | WALL1 | 0 , 0.25 ); ( 30 , 1.0 | WALL1 | 0 , 0.3 ); ( 30 , 1.0 | WALL1 | 0 , 0.35 ); ( 30 , 1.0 | WALL1 | 0 , 0.4 ); ( 30 , 1.0 | WALL1 | 0 , 0.45 ); ( 30 , 1.0 | WALL1 | 0 , 0.5 ); ( 30 , 1.0 | WALL1 | 0 , 0.505 ); ( 30 , 1.0 | WALL1 | 0 , 0.510 ); ( 30 , 1.0 | WALL1 | 0 , 0.515 ); ( 30 , 1.0 | WALL1 | 0 , 0.520 ); ( 30 , 1.0 | WALL1 | 0 , 0.525 ); ( 30 , 1.0 | WALL1 | 0 , 0.530 ); ( 30 , 1.0 | WALL1 | 0 , 0.535 ); ( 30 , 1.0 | WALL1 | 0 , 0.540 ); ( 30 , 1.0 | WALL1 | 0 , 0.545 ); ( 30 , 1.0 | WALL1 | 0 , 0.550 ); ( 30 , 1.0 | WALL1 | 0 , 0.555 ); ( 30 , 1.0 | WALL1 | 0 , 0.560 ); ( 30 , 1.0 | WALL1 | 0 , 0.565 ); ( 30 , 1.0 | WALL1 | 0 , 0.570 ); ( 30 , 1.0 | WALL1 | 0 , 0.575 ); ( 30 , 1.0 | WALL1 | 0 , 0.580 ); ( 30 , 1.0 | WALL1 | 0 , 0.585 ); ( 30 , 1.0 | WALL1 | 0 , 0.590 ); ( 30 , 1.0 | WALL1 | 0 , 0.595 ); ( 30 , 1.0 | WALL1 | 0 , 0.600 ); ( 30 , 1.0 | WALL1 | 0 , 0.605 ); ( 30 , 1.0 | WALL1 | 0 , 0.610 ); ( 30 , 1.0 | WALL1 | 0 , 0.615 ); ( 30 , 1.0 | WALL1 | 0 , 0.620 ); ( 30 , 1.0 | WALL1 | 0 , 0.625 ); ( 30 , 1.0 | WALL1 | 0 , 0.630 ); ( 30 , 1.0 | WALL1 | 0 , 0.635 ); ( 30 , 1.0 | WALL1 | 0 , 0.640 ); ( 30 , 1.0 | WALL1 | 0 , 0.645 ); ( 30 , 1.0 | WALL1 | 0 , 0.650 ); ( 30 , 1.0 | WALL1 | 0 , 0.655 ); ( 30 , 1.0 | WALL1 | 0 , 0.660 ); ( 30 , 1.0 | WALL1 | 0 , 0.665 ); ( 30 , 1.0 | WALL1 | 0 , 0.670 ); ( 30 , 1.0 | WALL1 | 0 , 0.675 ); ( 30 , 1.0 | WALL1 | 0 , 0.680 ); ( 30 , 1.0 | WALL1 | 0 , 0.685 ); ( 30 , 1.0 | WALL1 | 0 , 0.690 ); ( 30 , 1.0 | WALL1 | 0 , 0.695 ); ( 30 , 1.0 | WALL1 | 0 , 0.700 ); ( 30 , 1.0 | WALL1 | 0 , 0.705 ); ( 30 , 1.0 | WALL1 | 0 , 0.710 ); ( 30 , 1.0 | WALL1 | 0 , 0.715 ); ( 30 , 1.0 | WALL1 | 0 , 0.720 ); ( 30 , 1.0 | WALL1 | 0 , 0.725 ); ( 30 , 1.0 | WALL1 | 0 , 0.730 ); ( 30 , 1.0 | WALL1 | 0 , 0.735 ); ( 30 , 1.0 | WALL1 | 0 , 0.740 ); ( 30 , 1.0 | WALL1 | 0 , 0.745 ); ( 30 , 1.0 | WALL1 | 0 , 0.750 ); ( 30 , 1.0 | WALL1 | 0 , 0.755 ); ( 30 , 1.0 | WALL1 | 0 , 0.760 ); ( 30 , 1.0 | WALL1 | 0 , 0.765 ); ( 30 , 1.0 | WALL1 | 0 , 0.770 ); ( 30 , 1.0 | WALL1 | 0 , 0.775 ); ( 30 , 1.0 | WALL1 | 0 , 0.780 ); ( 30 , 1.0 | WALL1 | 0 , 0.785 ); ( 30 , 1.0 | WALL1 | 0 , 0.790 ); ( 30 , 1.0 | WALL1 | 0 , 0.795 ); ( 30 , 1.0 | WALL1 | 0 , 0.8 ); ( 30 , 1.0 | WALL1 | 0 , 0.85 ); ( 30 , 1.0 | WALL1 | 0 , 0.9 ); ( 30 , 1.0 | WALL1 | 0 , 0.95 ) % -% Use combined objective within gradient evaluation: may reduce cost to compute gradients when using the adjoint formulation. OPT_COMBINE_OBJECTIVE = YES diff --git a/TestCases/disc_adj_euler/cylinder3D/inv_cylinder3D.cfg b/TestCases/disc_adj_euler/cylinder3D/inv_cylinder3D.cfg index 4da72568647..c91b61acab8 100644 --- a/TestCases/disc_adj_euler/cylinder3D/inv_cylinder3D.cfg +++ b/TestCases/disc_adj_euler/cylinder3D/inv_cylinder3D.cfg @@ -5,226 +5,89 @@ % Author: ___________________________________________________________________ % % Institution: ______________________________________________________________ % % Date: __________ % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT % -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Discard the data storaged in the solution and geometry files -% e.g. AOA, dCL/dAoA, dCD/dCL, iter, etc. -% Note that AoA in the solution and geometry files is critical -% to aero design using AoA as a variable. (NO, YES) DISCARD_INFILES= NO -% -% System of measurements (SI, US) -% International system of units (SI): ( meters, kilograms, Kelvins, -% Newtons = kg m/s^2, Pascals = N/m^2, -% Density = kg/m^3, Speed = m/s, -% Equiv. Area = m^2 ) -% United States customary units (US): ( inches, slug, Rankines, lbf = slug ft/s^2, -% psf = lbf/ft^2, Density = slug/ft^3, -% Speed = ft/s, Equiv. Area = ft^2 ) SYSTEM_MEASUREMENTS= SI -% -% Reorient elements based on potential negative volumes (YES/NO) REORIENT_ELEMENTS= NO HISTORY_OUTPUT= (ITER, RMS_RES, SENSITIVITY) + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 101325.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for moment non-dimensional coefficients (m or in) REF_LENGTH= 1.0 -% -% Reference area for non-dimensional force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_EULER= (CYLINDER_DOWN, CYLINDER_UP, SIDE, WALL) -% -% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW) INLET_TYPE= MASS_FLOW -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -% Incompressible: (inlet marker, NULL, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( IN, 1.22498, 102.089, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( OUT, 101325 ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( CYLINDER_DOWN, CYLINDER_UP ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( CYLINDER_DOWN, CYLINDER_UP ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( CYLINDER_DOWN, CYLINDER_UP ) -% -% Marker(s) of the surface that is going to be analyzed in detail (massflow, average pressure, distortion, etc) MARKER_ANALYZE = ( IN, OUT ) -% -% Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = AREA % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% CFL number (initial value for the adaptive CFL number) CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.25, 50.0 ) -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= LIFT % ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% % -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence adjoint equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJTURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_ADJTURB= VENKATAKRISHNAN -% -% Coefficient for the Venkat's limiter (upwind scheme). A larger values decrease -% the extent of limiting, values approaching zero cause -% lower-order approximation to the solution (0.05 by default) VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the adjoint sharp edges limiter (3.0 by default). ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 -% -% 1st order artificial dissipation coefficients for -% the Lax–Friedrichs method ( 0.15 by default ) LAX_SENSOR_COEFF= 0.15 -% -% 2nd and 4th order artificial dissipation coefficients for -% the JST method ( 0.5, 0.02 by default ) JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% 1st order artificial dissipation coefficients for -% the adjoint Lax–Friedrichs method ( 0.15 by default ) ADJ_LAX_SENSOR_COEFF= 0.15 -% -% 2nd, and 4th order artificial dissipation coefficients for -% the adjoint JST method ( 0.5, 0.02 by default ) ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 3 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% Relaxation coefficient % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % @@ -232,93 +95,37 @@ TIME_DISCRE_FLOW= EULER_IMPLICIT % adjoint formulation. The AD will use the numerical methods in % the ADJOINT-FLOW NUMERICAL METHOD DEFINITION section (NO, YES) INCONSISTENT_DISC= NO -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Relaxation coefficient RELAXATION_FACTOR_ADJOINT= 0.95 -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 100 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= cylinder3D.cgns -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= CGNS -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 2525 -% -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= YES -% -%Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_PRESS, SENS_AOA) diff --git a/TestCases/disc_adj_euler/naca0012_pitching/inv_NACA0012_pitching.cfg b/TestCases/disc_adj_euler/naca0012_pitching/inv_NACA0012_pitching.cfg index 03f0cfcba25..ae54063eeeb 100644 --- a/TestCases/disc_adj_euler/naca0012_pitching/inv_NACA0012_pitching.cfg +++ b/TestCases/disc_adj_euler/naca0012_pitching/inv_NACA0012_pitching.cfg @@ -1,30 +1,16 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO TIME_ITER= 5 INNER_ITER= 50 -%EXT_ITER= 151 -%UNST_INT_ITER= 110 -SCREEN_OUTPUT=(TIME_ITER, INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_PRESS, SENS_AOA) % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_DOMAIN= YES TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0023555025613149587 % 24 steps per period: 0.0024536485013697488 % 25 steps per period: 0.0023555025613149587 @@ -32,306 +18,132 @@ TIME_STEP= 0.0023555025613149587 % Total Physical Time for dual time stepping simulations (s) % 150 steps MAX_TIME= 0.354 -% -% Iteration number to begin unsteady restarts RESTART_ITER= 10 -% -% Starting direct iteration for unsteady adjoint UNST_ADJOINT_ITER= 151 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Dynamic mesh simulation (NO, YES) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for initializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.796 -% -% Coordinates of the rigid motion origin MOTION_ORIGIN= (0.248 0.0 0.0) -% -% Pitching angular freq. (rad/s) about x, y, & z axes (RIGID_MOTION only) PITCHING_OMEGA= (0.0 0.0 106.69842) -% -% Pitching amplitude (degrees) about x, y, & z axes (RIGID_MOTION only) PITCHING_AMPL= (0.0 0.0 1.01) % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (LU_SGS, -% SYM_GAUSS_SEIDEL, BCGSTAB, GMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET, LUSGS) LINEAR_SOLVER_PREC= ILU -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) -CONV_NUM_METHOD_FLOW= JST % -% Slope limiter (VENKATAKRISHNAN) +CONV_NUM_METHOD_FLOW= JST SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE) +% OBJECTIVE_FUNCTION= EFFICIENCY OPT_OBJECTIVE= EFFICIENCY -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter (VENKATAKRISHNAN, SHARP_EDGES) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (airfoil_box, -0.1, -0.25, 0, 1.1, -0.25, 0, 1.1, 0.25, 0, -0.1, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 1, 0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, COSINE_BUMP, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, FFD_CONTROL_SURFACE, SURFACE_FILE, AIRFOIL) -%DV_KIND= FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT, FFD_CONTROL_POINT DV_KIND= FFD_SETTING -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag, i_Ind, j_Ind ) -%DV_PARAM= ( airfoil_box, 0, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 1, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 2, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 3, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 4, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 5, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 6, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 7, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 8, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 9, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 10, 0, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 0, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 1, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 2, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 3, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 4, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 5, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 6, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 7, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 8, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 9, 1, 0, 0.0, 1.0, 0.0 ); ( airfoil_box, 10, 1, 0, 0.0, 1.0, 0.0 ) DV_PARAM= ( airfoil_box, 5, 0, 0, 0.0, 1.0, 0.0 ) -% -% New value of the shape deformation -%DV_VALUE= 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05 DV_VALUE= 0.05 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Factor to multiply smallest cell volume for deform tolerance (0.001 default) DEFORM_LINEAR_SOLVER_ERROR = 0.000000001 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -20 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv_FFD.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 -% - -% Optimization design variables, separated by semicolons -% FFD_CONTROL_POINT (Y) +SCREEN_OUTPUT=(TIME_ITER, INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_PRESS, SENS_AOA) DEFINITION_DV= ( 11, 1.0 | airfoil | airfoil_box, 0, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 1, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 2, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 3, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 4, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 5, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 6, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 7, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 8, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 9, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 10, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 0, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 1, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 2, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 3, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 4, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 5, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 6, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 7, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 8, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 9, 1, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil | airfoil_box, 10, 1, 0, 0.0, 1.0, 0.0 ) - diff --git a/TestCases/disc_adj_euler/oneram6/inv_ONERAM6.cfg b/TestCases/disc_adj_euler/oneram6/inv_ONERAM6.cfg index ea005f88ee6..0443e598253 100644 --- a/TestCases/disc_adj_euler/oneram6/inv_ONERAM6.cfg +++ b/TestCases/disc_adj_euler/oneram6/inv_ONERAM6.cfg @@ -2,241 +2,110 @@ % % % SU2 configuration file % % Case description: Optimization case for the ONERA M6 wing in inviscid flow % -% Author: Francisco Palacios, Heather Kline % -% Institution: Stanford University % +% Author: Francisco Palacios, Heather Kline % +% Institution: Stanford University % % Date: 01.17.2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Discard the data storaged in the solution and geometry files -% e.g. AOA, dCL/dAoA, dCD/dCL, iter, etc. -% Note that AoA in the solution and geometry files is critical -% to aero design using AoA as a variable. (NO, YES) DISCARD_INFILES= YES - - ITER = 11 % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees) AOA= 3.06 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % -------------------------- CL DRIVER DEFINITION -----------------------------% % -% Activate fixed lift mode (specify a CL instead of AoA, NO/YES) FIXED_CL_MODE= NO -% -% Target coefficient of lift for fixed lift mode (0.80 by default) TARGET_CL= 0.286 -% -% Estimation of dCL/dAlpha (0.2 per degree by default) DCL_DALPHA= 0.1 -% -% Maximum number of iterations between AoA updates UPDATE_AOA_ITER_LIMIT= 100 -% -% Number of iterations to evaluate dCL_dAlpha by using finite differences (500 by default) ITER_DCL_DALPHA= 500 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.2015 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.64607 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 implies no marker) MARKER_EULER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the far field (0 implies no marker) MARKER_FAR= ( XNORMAL_FACES, ZNORMAL_FACES, YNORMAL_FACE ) -% -% Marker of symmetry boundary (0 implies no marker) MARKER_SYM= ( SYMMETRY_FACE ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( UPPER_SIDE, LOWER_SIDE, TIP ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 7.5 -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, ILU, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% -% Convective numerical method: (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) -CONV_NUM_METHOD_FLOW= JST % -% 2nd and 4th order artificial dissipation coefficients +CONV_NUM_METHOD_FLOW= JST JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method: (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) CONV_NUM_METHOD_ADJFLOW= JST -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.75 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING) GEO_DESCRIPTION= WING -% -% Coordinate of the stations to be analyzed GEO_LOCATION_STATIONS= (0.0, 0.2, 0.4, 0.6, 0.8) -% -% Geometrical bounds (Y coordinate) for the wing geometry analysis or -% fuselage evaluation (X coordinate) GEO_BOUNDS= (0, 0.8) -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= YES -% -% Number of section cuts to make when calculating wing geometry GEO_NUMBER_STATIONS= 25 -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % --------------------------- CONVERGENCE PARAMETERS --------------------------& % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 25 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_inv.su2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Mesh input file format (SU2) MESH_FORMAT= SU2 -% TABULAR_FORMAT= CSV -% -% Output file convergence history CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 100 -% diff --git a/TestCases/disc_adj_fea/configAD_fem.cfg b/TestCases/disc_adj_fea/configAD_fem.cfg index 010a200d5bf..f5150911716 100644 --- a/TestCases/disc_adj_fea/configAD_fem.cfg +++ b/TestCases/disc_adj_fea/configAD_fem.cfg @@ -4,7 +4,7 @@ % Author: R.Sanchez % % Institution: Imperial College London % % Date: 2017.11.29 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= ELASTICITY diff --git a/TestCases/disc_adj_fsi/Airfoil_2d/configFEA.cfg b/TestCases/disc_adj_fsi/Airfoil_2d/configFEA.cfg index fab6a9064f7..625809928eb 100755 --- a/TestCases/disc_adj_fsi/Airfoil_2d/configFEA.cfg +++ b/TestCases/disc_adj_fsi/Airfoil_2d/configFEA.cfg @@ -1,6 +1,6 @@ % Physics -------------------------------------------------------------- % SOLVER= ELASTICITY -% + % Optimization --------------------------------------------------------- % GRAD_OBJFUNC_FILENAME= of_grad.dat REFERENCE_NODE= 234 @@ -8,21 +8,21 @@ REFERENCE_NODE_DISPLACEMENT= (0.0, 0.0) REFERENCE_NODE_PENALTY= 1.0 DESIGN_VARIABLE_FEA= YOUNG_MODULUS CUSTOM_OBJFUNC= '1e2 * (1e3 * REFERENCE_NODE + TOPOL_COMPLIANCE)' -% + % Solid properties ----------------------------------------------------- % MATERIAL_MODEL= NEO_HOOKEAN ELASTICITY_MODULUS= 7E9 POISSON_RATIO= 0.35 MATERIAL_DENSITY= 2700.0 -% + % Boundary conditions -------------------------------------------------- % MARKER_CLAMPED= ( clamped ) MARKER_FLUID_LOAD= ( pressure_side_s, suction_side_s ) -% + % Solid numerics ------------------------------------------------------- % GEOMETRIC_CONDITIONS= LARGE_DEFORMATIONS FORMULATION_ELASTICITY_2D= PLANE_STRESS -% + % Linear solvers ------------------------------------------------------- % LINEAR_SOLVER= CONJUGATE_GRADIENT LINEAR_SOLVER_PREC= ILU @@ -30,28 +30,25 @@ LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 1000 DISCADJ_LIN_SOLVER= CONJUGATE_GRADIENT DISCADJ_LIN_PREC= ILU -% + % Convergence criteria ------------------------------------------------- % BGS_RELAXATION= FIXED_PARAMETER STAT_RELAX_PARAMETER= 1.0 INNER_ITER= 11 % Incremental load on to test that it does not break the discadj, it should only affect the direct solution. INCREMENTAL_LOAD= YES -% + % In\Out --------------------------------------------------------------- % MESH_FILENAME= mesh.su2 MESH_FORMAT= SU2 -% + RESTART_SOL= NO SOLUTION_FILENAME= solution_solid.dat SOLUTION_ADJ_FILENAME= adjoint_solid.dat RESTART_FILENAME= solution_solid.dat RESTART_ADJ_FILENAME= adjoint_solid.dat -% TABULAR_FORMAT= CSV VOLUME_FILENAME= solid VOLUME_ADJ_FILENAME= adjoint_solid -% SCREEN_WRT_FREQ_INNER= 10 CONV_FILENAME= history - diff --git a/TestCases/disc_adj_fsi/Airfoil_2d/configFlow.cfg b/TestCases/disc_adj_fsi/Airfoil_2d/configFlow.cfg index 16b9836e62d..845c4799654 100755 --- a/TestCases/disc_adj_fsi/Airfoil_2d/configFlow.cfg +++ b/TestCases/disc_adj_fsi/Airfoil_2d/configFlow.cfg @@ -1,11 +1,11 @@ % Physics -------------------------------------------------------------- % SOLVER= EULER KIND_TURB_MODEL= NONE -% + % Optimization --------------------------------------------------------- % GRAD_OBJFUNC_FILENAME= of_grad.dat CUSTOM_OBJFUNC= '1e5 * DRAG' -% + % Compressible free-stream conditions ---------------------------------- % MACH_NUMBER= 0.8 AOA= 2.5 @@ -14,20 +14,20 @@ FREESTREAM_OPTION= TEMPERATURE_FS FREESTREAM_PRESSURE= 101325.0 FREESTREAM_TEMPERATURE= 273.15 REYNOLDS_LENGTH= 0.5 -% + % Fluid properties ----------------------------------------------------- % FLUID_MODEL= IDEAL_GAS GAMMA_VALUE= 1.4 GAS_CONSTANT= 287.87 VISCOSITY_MODEL= CONSTANT_VISCOSITY MU_CONSTANT= 1.716E-5 -% + % Boundary conditions -------------------------------------------------- % MARKER_FAR= ( farfield ) MARKER_EULER= ( leading_edge, pressure_side, suction_side) MARKER_DEFORM_MESH= ( leading_edge, pressure_side, suction_side ) DEFORM_MESH= YES -% + % Post processing and monitoring --------------------------------------- % REF_ORIGIN_MOMENT_X= -0.125 REF_ORIGIN_MOMENT_Y= 0.00 @@ -37,17 +37,17 @@ REF_AREA= 0.5 MARKER_PLOTTING= ( leading_edge, pressure_side, suction_side ) MARKER_MONITORING= ( leading_edge, pressure_side, suction_side ) MARKER_DESIGNING= ( leading_edge, pressure_side, suction_side ) -% + % Common numerics settings --------------------------------------------- % REF_DIMENSIONALIZATION= DIMENSIONAL NUM_METHOD_GRAD= GREEN_GAUSS CFL_NUMBER= 500.0 -% + % Flow numerics -------------------------------------------------------- % CONV_NUM_METHOD_FLOW= JST JST_SENSOR_COEFF= ( 0.5, 0.02 ) TIME_DISCRE_FLOW= EULER_IMPLICIT -% + % Linear solvers ------------------------------------------------------- % LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU @@ -65,7 +65,7 @@ DEFORM_LINEAR_SOLVER_ERROR= 1e-8 DEFORM_LINEAR_SOLVER_ITER= 1000 DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME DEFORM_POISSONS_RATIO= 1e6 -% + % Convergence criteria ------------------------------------------------- % % interaction TIME_ITER= 1 @@ -75,23 +75,20 @@ STAT_RELAX_PARAMETER= 1.0 INNER_ITER= 51 CONV_STARTITER= 0 CONV_RESIDUAL_MINVAL= -9 -% + % In\Out --------------------------------------------------------------- % MESH_FILENAME= mesh.su2 MESH_FORMAT= SU2 -% + RESTART_SOL= NO SOLUTION_FILENAME= solution_fluid.dat SOLUTION_ADJ_FILENAME= adjoint_fluid.dat RESTART_FILENAME= solution_fluid.dat RESTART_ADJ_FILENAME= adjoint_fluid.dat -% TABULAR_FORMAT= CSV VOLUME_FILENAME= fluid VOLUME_ADJ_FILENAME= adjoint_fluid SURFACE_FILENAME= surface_fluid SURFACE_ADJ_FILENAME= adjoint_surface_fluid -% SCREEN_WRT_FREQ_INNER= 10 -CONV_FILENAME= history - +CONV_FILENAME= history \ No newline at end of file diff --git a/TestCases/disc_adj_fsi/configFEA.cfg b/TestCases/disc_adj_fsi/configFEA.cfg index e463f9d1047..4d321bef7c7 100644 --- a/TestCases/disc_adj_fsi/configFEA.cfg +++ b/TestCases/disc_adj_fsi/configFEA.cfg @@ -4,7 +4,7 @@ % Author: R.Sanchez % % Institution: Imperial College London % % Date: 2017.11.29 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= ELASTICITY diff --git a/TestCases/disc_adj_fsi/configFlow.cfg b/TestCases/disc_adj_fsi/configFlow.cfg index b7554cec015..81c78d40b39 100644 --- a/TestCases/disc_adj_fsi/configFlow.cfg +++ b/TestCases/disc_adj_fsi/configFlow.cfg @@ -4,7 +4,7 @@ % Author: R.Sanchez % % Institution: Imperial College London % % Date: 2017.11.29 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= NAVIER_STOKES diff --git a/TestCases/disc_adj_fsi/dyn_fsi/configFEA.cfg b/TestCases/disc_adj_fsi/dyn_fsi/configFEA.cfg index c657a817932..7070a14d4a5 100644 --- a/TestCases/disc_adj_fsi/dyn_fsi/configFEA.cfg +++ b/TestCases/disc_adj_fsi/dyn_fsi/configFEA.cfg @@ -1,11 +1,11 @@ % Physics -------------------------------------------------------------- % SOLVER= ELASTICITY -% + % Time settings --------------------------------------------------------- % TIME_DISCRE_FEA= NEWMARK_IMPLICIT NEWMARK_BETA=0.2601 NEWMARK_GAMMA=0.52 -% + % Optimization --------------------------------------------------------- % FEA_ADVANCED_MODE= YES FEA_FILENAME= element_properties.dat @@ -14,21 +14,21 @@ REFERENCE_NODE= 234 REFERENCE_NODE_DISPLACEMENT= (0.0, 0.0) REFERENCE_NODE_PENALTY= 1.0 DESIGN_VARIABLE_FEA= YOUNG_MODULUS -% + % Solid properties ----------------------------------------------------- % MATERIAL_MODEL= NEO_HOOKEAN ELASTICITY_MODULUS= 7E8 POISSON_RATIO= 0.35 MATERIAL_DENSITY= 2700.0 -% + % Boundary conditions -------------------------------------------------- % MARKER_CLAMPED= ( clamped ) MARKER_FLUID_LOAD= ( pressure_side_s, suction_side_s ) -% + % Solid numerics ------------------------------------------------------- % GEOMETRIC_CONDITIONS= LARGE_DEFORMATIONS FORMULATION_ELASTICITY_2D= PLANE_STRESS -% + % Linear solvers ------------------------------------------------------- % LINEAR_SOLVER= CONJUGATE_GRADIENT LINEAR_SOLVER_PREC= ILU @@ -36,29 +36,27 @@ LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 1000 DISCADJ_LIN_SOLVER= CONJUGATE_GRADIENT DISCADJ_LIN_PREC= ILU -% + % Convergence criteria ------------------------------------------------- % BGS_RELAXATION= FIXED_PARAMETER STAT_RELAX_PARAMETER= 1.0 INNER_ITER= 11 % Incremental load on to test that it does not break the discadj, it should only affect the direct solution. INCREMENTAL_LOAD= NO -% + % In\Out --------------------------------------------------------------- % MESH_FILENAME= mesh.su2 MESH_FORMAT= SU2 -% + RESTART_SOL= NO SOLUTION_FILENAME= solution_solid.dat SOLUTION_ADJ_FILENAME= adjoint_solid.dat OUTPUT_WRT_FREQ= 1 RESTART_FILENAME= solution_solid.dat RESTART_ADJ_FILENAME= adjoint_solid.dat -% TABULAR_FORMAT= CSV VOLUME_FILENAME= solid VOLUME_ADJ_FILENAME= adjoint_solid -% SCREEN_WRT_FREQ_INNER= 10 CONV_FILENAME= history HISTORY_OUTPUT= ITER, RMS_RES, STRUCT_COEFF, TAVG_STRUCT_COEFF diff --git a/TestCases/disc_adj_fsi/dyn_fsi/configFlow.cfg b/TestCases/disc_adj_fsi/dyn_fsi/configFlow.cfg index 04cf4c83c6e..fbb5552efc8 100644 --- a/TestCases/disc_adj_fsi/dyn_fsi/configFlow.cfg +++ b/TestCases/disc_adj_fsi/dyn_fsi/configFlow.cfg @@ -1,13 +1,13 @@ % Physics -------------------------------------------------------------- % SOLVER= EULER KIND_TURB_MODEL= NONE -% + % Time settings --------------------------------------------------------- % TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% + % Optimization --------------------------------------------------------- % GRAD_OBJFUNC_FILENAME= of_grad.dat -% + % Compressible free-stream conditions ---------------------------------- % MACH_NUMBER= 0.8 AOA= 5.0 @@ -16,20 +16,20 @@ FREESTREAM_OPTION= TEMPERATURE_FS FREESTREAM_PRESSURE= 101325.0 FREESTREAM_TEMPERATURE= 273.15 REYNOLDS_LENGTH= 0.5 -% + % Fluid properties ----------------------------------------------------- % FLUID_MODEL= IDEAL_GAS GAMMA_VALUE= 1.4 GAS_CONSTANT= 287.87 VISCOSITY_MODEL= CONSTANT_VISCOSITY MU_CONSTANT= 1.716E-5 -% + % Boundary conditions -------------------------------------------------- % MARKER_FAR= ( farfield ) MARKER_EULER= ( leading_edge, pressure_side, suction_side) MARKER_DEFORM_MESH= ( leading_edge, pressure_side, suction_side ) DEFORM_MESH= YES -% + % Post processing and monitoring --------------------------------------- % REF_ORIGIN_MOMENT_X= -0.125 REF_ORIGIN_MOMENT_Y= 0.00 @@ -39,17 +39,17 @@ REF_AREA= 0.5 MARKER_PLOTTING= ( leading_edge, pressure_side, suction_side ) MARKER_MONITORING= ( leading_edge, pressure_side, suction_side ) MARKER_DESIGNING= ( leading_edge, pressure_side, suction_side ) -% + % Common numerics settings --------------------------------------------- % REF_DIMENSIONALIZATION= DIMENSIONAL NUM_METHOD_GRAD= GREEN_GAUSS CFL_NUMBER= 1000.0 -% + % Flow numerics -------------------------------------------------------- % CONV_NUM_METHOD_FLOW= JST JST_SENSOR_COEFF= ( 0.5, 0.02 ) TIME_DISCRE_FLOW= EULER_IMPLICIT -% + % Linear solvers ------------------------------------------------------- % LINEAR_SOLVER= BCGSTAB LINEAR_SOLVER_PREC= ILU @@ -58,7 +58,6 @@ LINEAR_SOLVER_ITER= 25 DISCADJ_LIN_SOLVER= SMOOTHER DISCADJ_LIN_PREC= ILU LINEAR_SOLVER_SMOOTHER_RELAXATION= 0.7 -% Multigrid MGLEVEL= 0 NEWTON_KRYLOV= YES QUASI_NEWTON_NUM_SAMPLES= 999 @@ -69,7 +68,7 @@ DEFORM_LINEAR_SOLVER_ERROR= 1e-8 DEFORM_LINEAR_SOLVER_ITER= 1000 DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME DEFORM_POISSONS_RATIO= 1e6 -% + % Convergence criteria ------------------------------------------------- % % interaction BGS_RELAXATION= FIXED_PARAMETER @@ -78,7 +77,7 @@ STAT_RELAX_PARAMETER= 1.0 INNER_ITER= 31 CONV_STARTITER= 0 CONV_RESIDUAL_MINVAL= -7 -% + % In\Out --------------------------------------------------------------- % MESH_FILENAME= mesh.su2 MESH_FORMAT= SU2 @@ -89,13 +88,11 @@ SOLUTION_ADJ_FILENAME= adjoint_fluid.dat OUTPUT_WRT_FREQ= 1 RESTART_FILENAME= solution_fluid.dat RESTART_ADJ_FILENAME= adjoint_fluid.dat -% TABULAR_FORMAT= CSV VOLUME_FILENAME= fluid VOLUME_ADJ_FILENAME= adjoint_fluid SURFACE_FILENAME= surface_fluid SURFACE_ADJ_FILENAME= adjoint_surface_fluid -% SCREEN_WRT_FREQ_INNER= 10 CONV_FILENAME= history HISTORY_OUTPUT= ITER, RMS_RES, AERO_COEFF, TAVG_AERO_COEFF diff --git a/TestCases/disc_adj_heat/disc_adj_heat.cfg b/TestCases/disc_adj_heat/disc_adj_heat.cfg index 928fdcfa76b..78df9c1bd58 100644 --- a/TestCases/disc_adj_heat/disc_adj_heat.cfg +++ b/TestCases/disc_adj_heat/disc_adj_heat.cfg @@ -6,7 +6,7 @@ % Author: Ole Burghardt % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: November 26th, 2018 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -27,9 +27,6 @@ SYSTEM_MEASUREMENTS= SI OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -%DIRECT_DIFF=DESIGN_VARIABLES - - ITER = 11 % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% @@ -116,7 +113,6 @@ JST_SENSOR_COEFF= ( 0.5, 0.05 ) TIME_DISCRE_FLOW= EULER_IMPLICIT - % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% CONV_NUM_METHOD_TURB= SCALAR_UPWIND @@ -148,7 +144,6 @@ CONV_CAUCHY_ELEMS= 100 CONV_CAUCHY_EPS= 1E-10 - % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% DV_KIND= FFD_CONTROL_POINT_2D @@ -219,6 +214,4 @@ SURFACE_ADJ_FILENAME= surface_adjoint OUTPUT_WRT_FREQ= 1 - -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_PRESSURE, RMS_ADJ_NU_TILDE, RMS_ADJ_HEAT, SENS_VEL_IN, SENS_PRESS_OUT) diff --git a/TestCases/disc_adj_incomp_euler/naca0012/incomp_NACA0012_disc.cfg b/TestCases/disc_adj_incomp_euler/naca0012/incomp_NACA0012_disc.cfg index c39e08442fa..112157c7428 100644 --- a/TestCases/disc_adj_incomp_euler/naca0012/incomp_NACA0012_disc.cfg +++ b/TestCases/disc_adj_incomp_euler/naca0012/incomp_NACA0012_disc.cfg @@ -4,237 +4,102 @@ % Case description: Subsonic incompressible inviscid flow around a NACA0012 % % Author: Thomas D. Economon % % Date: 2018.10.30 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Initial density for incompressible flows -% (1.2886 kg/m^3 by default (air), 998.2 Kg/m^3 (water)) INC_DENSITY_INIT= 1.2886 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 33.1588, 1.15793, 0.0 ) % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= GREEN_GAUSS % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= GREEN_GAUSS CFL_NUMBER= 8.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 501 -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. + OBJECTIVE_FUNCTION= LIFT -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.0, 0.01 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -DV_KIND= HICKS_HENNE % -% Marker of the surface in which we are going apply the shape deformation +DV_KIND= HICKS_HENNE DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.01 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_PRESSURE, RMS_ADJ_VELOCITY-X, SENS_PRESS, SENS_AOA) -% OUTPUT_FILES=(RESTART_ASCII) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% List of design variables (Design variables are separated by semicolons) -% From 1 to 99, Geometrycal design variables. -% - HICKS_HENNE ( 1, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 4, Scale | Mark. List | 1st digit, 2nd digit, 3rd and 4th digit ) -% - ROTATION ( 6, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% From 100 to 199, Flow solver design variables. -% - MACH_NUMBER ( 101, Scale | Markers List ) -% - AOA ( 102, Scale | Markers List ) DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/disc_adj_incomp_navierstokes/cylinder/heated_cylinder.cfg b/TestCases/disc_adj_incomp_navierstokes/cylinder/heated_cylinder.cfg index cbaf640dbef..7fd8587c5c9 100644 --- a/TestCases/disc_adj_incomp_navierstokes/cylinder/heated_cylinder.cfg +++ b/TestCases/disc_adj_incomp_navierstokes/cylinder/heated_cylinder.cfg @@ -4,457 +4,160 @@ % Case description: Steady incompressible laminar flow past a heated cylinder % % Author: Thomas D. Economon % % Date: 2018.06.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. INC_DENSITY_MODEL= VARIABLE -% -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = YES -% -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 0.000210322 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 3.40297, 0.0, 0.0 ) -% -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 288.15 % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS) FLUID_MODEL= INC_IDEAL_GAS -% -% Specific heat at constant pressure, Cp (1004.703 J/kg*K (air)). -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). SPECIFIC_HEAT_CP= 1004.703 -% -% Molecular weight for an incompressible ideal gas (28.96 g/mol (air) default) -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). MOLECULAR_WEIGHT= 28.96 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= SUTHERLAND -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.7893e-05 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0257 -% -% Laminar Prandtl number (0.72 (air), only for CONSTANT_PRANDTL) PRANDTL_LAM= 0.72 -% -% Turbulent Prandtl number (0.9 (air), only for CONSTANT_PRANDTL) PRANDTL_TURB= 0.90 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_ISOTHERMAL= ( cylinder, 1000.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1000.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 1000 -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= TOTAL_HEATFLUX -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% % -% Coefficient for the Venkat's limiter (upwind scheme). A larger values decrease -% the extent of limiting, values approaching zero cause -% lower-order approximation to the solution (0.05 by default) VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the adjoint sharp edges limiter (3.0 by default). ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 -% -% 1st order artificial dissipation coefficients for -% the Lax–Friedrichs method ( 0.15 by default ) LAX_SENSOR_COEFF= 0.15 -% -% 2nd and 4th order artificial dissipation coefficients for -% the JST method ( 0.5, 0.02 by default ) JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% 1st order artificial dissipation coefficients for -% the adjoint Lax–Friedrichs method ( 0.15 by default ) ADJ_LAX_SENSOR_COEFF= 0.15 -% -% 2nd, and 4th order artificial dissipation coefficients for -% the adjoint JST method ( 0.5, 0.02 by default ) ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder_lam_ffd.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_PRESSURE, RMS_ADJ_TEMPERATURE, SENS_PRESS, SENS_AOA) + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (NO_DEFORMATION, TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, FFD_NACELLE -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS, FFD_TWIST -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, FFD_TWIST_2D, -% HICKS_HENNE, SURFACE_BUMP) DV_KIND= FFD_CONTROL_POINT_2D -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( cylinder ) -% -% Parameters of the shape deformation -% - NO_DEFORMATION ( 1.0 ) -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - ANGLE_OF_ATTACK ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_NACELLE ( FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Disp, phi_Disp ) -% - FFD_GULL ( FFD_BoxTag, j_Ind ) -% - FFD_ANGLE_OF_ATTACK ( FFD_BoxTag, 1.0 ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST ( FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - FFD_TWIST_2D ( FFD_BoxTag, x_Orig, y_Orig ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - SURFACE_BUMP ( x_Start, x_End, x_Loc ) DV_PARAM= ( MAIN_BOX, 12, 1, 0.0, 1.0 ) -% -% Value of the shape deformation DV_VALUE= 0.1 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-15 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, -0.1, -0.6, 0.0, 1.1, -0.6, 0.0, 1.1, 0.6, 0.0, -0.1, 0.6, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= ( 24, 1, 0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( cylinder ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE, NACELLE) GEO_DESCRIPTION= AIRFOIL -% -% Coordinate of the stations to be analyzed GEO_LOCATION_STATIONS= (0.0, 0.5, 1.0) -% -% Geometrical bounds (Y coordinate) for the wing geometry analysis or -% fuselage evaluation (X coordinate), or nacelle evaluation (theta coordinate) GEO_BOUNDS= (1.5, 3.5) -% -% Location of the nacelle axis (point coordinates and axis) -%GEO_NACELLE_LOCATION= (0.0, 0.0, 0.0, 1.0, 0.0, 0.0) -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= NO -% -% Number of section cuts to make when calculating wing geometry GEO_NUMBER_STATIONS= 25 -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% 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_AOA= (1.25, 1.25, 1.25) MULTIPOINT_SIDESLIP_ANGLE= (0.0, 0.0, 0.0) @@ -464,21 +167,7 @@ MULTIPOINT_FREESTREAM_PRESSURE= (101325.0, 101325.0, 101325.0) MULTIPOINT_FREESTREAM_TEMPERATURE= (288.15, 288.15, 288.15) MULTIPOINT_WEIGHT= (0.33333, 0.33333, 0.33333) % -% Optimization objective function with scaling factor, separated by semicolons. -% To include quadratic penalty function: use OPT_CONSTRAINT option syntax within the OPT_OBJECTIVE list. -% ex= Objective * Scale -%OPT_OBJECTIVE= TOTAL_HEATFLUX * 1e-5 OPT_OBJECTIVE= DRAG * 1.0 -% -% Optimization constraint functions with pushing factors (affects its value, not the gradient in the python scripts), separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' -%OPT_CONSTRAINT= ( DRAG < 1.68 ) * 1.0; ( AIRFOIL_CHORD < 1.01 ) * 1.0 -%OPT_CONSTRAINT= ( AIRFOIL_CHORD < 1.01 ) * 1.0; ( AIRFOIL_AREA > 0.785422 ) * 1.0 -%OPT_CONSTRAINT= ( AIRFOIL_CHORD < 1.01 ) * 1.0; ( AIRFOIL_THICKNESS > 0.12 ) * 1.0 -%OPT_CONSTRAINT= ( AIRFOIL_THICKNESS > 0.12 ) * 1e-1 -%OPT_CONSTRAINT= ( AIRFOIL_THICKNESS > 1.0 ) * 1e-1 -%OPT_CONSTRAINT= ( AIRFOIL_AREA > 0.785422 ) * 1e-1 -%OPT_CONSTRAINT= NONE OPT_CONSTRAINT= ( DRAG < 2.06 ) * 1.0 % % NACA 0012 Area: 0.0816925 m^2, Thickness: 0.120011 m @@ -487,33 +176,12 @@ OPT_CONSTRAINT= ( DRAG < 2.06 ) * 1.0 % Station 1. ZCoord: 0 m, Area: 0.785422 m^2, Thickness: 1 m, % Chord: 1 m, LE radius: 2 1/m, ToC: 1, Alpha: 0.9 deg. % -% -% Factor to reduce the norm of the gradient (affects the objective function and gradient in the python scripts) -% In general, a norm of the gradient ~1E-6 is desired. -OPT_GRADIENT_FACTOR= 1.0 -% -% Factor to relax or accelerate the optimizer convergence (affects the line search in SU2_DEF) -% In general, surface deformations of 0.01'' or 0.0001m are desirable OPT_RELAX_FACTOR= 1.0 -% -% Maximum number of iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-10 % -% Optimization bound (bounds the line search in SU2_DEF) OPT_LINE_SEARCH_BOUND= 1E6 -% -% Upper bound for each design variable (bound in the python optimizer) OPT_BOUND_UPPER= 0.5 -% -% Lower bound for each design variable (bound in the python optimizer) OPT_BOUND_LOWER= -0.5 -% -% Finite difference step size for python scripts (0.001 default, recommended -% 0.001 x REF_LENGTH) FIN_DIFF_STEP = 1e-3 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 19, 1.0 | cylinder | MAIN_BOX, 0, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 1, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 2, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 3, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 4, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 5, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 6, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 7, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 8, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 9, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 10, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 11, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 12, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 13, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 14, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 15, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 16, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 17, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 18, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 19, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 20, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 21, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 22, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 23, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 24, 0, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 0, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 1, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 2, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 3, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 4, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 5, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 6, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 7, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 8, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 9, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 10, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 11, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 12, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 13, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 14, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 15, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 16, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 17, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 18, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 19, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 20, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 21, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 22, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 23, 1, 0.0, 1.0 ); ( 19, 1.0 | cylinder | MAIN_BOX, 24, 1, 0.0, 1.0 ) diff --git a/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sa.cfg b/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sa.cfg index adc4a731aac..c9a9e489edc 100755 --- a/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sa.cfg +++ b/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sa.cfg @@ -5,323 +5,118 @@ % http://turbmodels.larc.nasa.gov/naca0012_val_sa.html % % Author: Thomas D. Economon & Francisco Palacios % % Date: 2018.06.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- INCOMPRESSIBLE FREE-STREAM DEFINITION ------------------% % -% Free-stream density (1.2886 Kg/m^3 (air), 998.2 Kg/m^3 (water)) INC_DENSITY_INIT= 2.13163 -% -% Free-stream velocity (m/s) -% AoA 0.0 deg -%INC_VELOCITY_INIT= ( 52.1572, 0.0, 0.0 ) % AoA 10 deg INC_VELOCITY_INIT= ( 51.36481493540834, 9.0570027322096198, 0.0 ) % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.853e-05 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 25.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 25.0, 10000.0 ) -% -% Maximum Delta Time in local time stepping simulations MAX_DELTA_TIME= 1E6 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= DRAG -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -DV_KIND= HICKS_HENNE % -% Marker of the surface in which we are going apply the shape deformation +DV_KIND= HICKS_HENNE DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.01 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -14 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sa.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_PRESSURE, RMS_ADJ_NU_TILDE, SENS_PRESS, SENS_AOA) % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sst.cfg b/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sst.cfg index 92bab13866e..b3172cd2ed1 100755 --- a/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sst.cfg +++ b/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sst.cfg @@ -5,322 +5,118 @@ % http://turbmodels.larc.nasa.gov/naca0012_val_sst.html % % Author: Thomas D. Economon & Francisco Palacios % % Date: 2018.06.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- INCOMPRESSIBLE FREE-STREAM DEFINITION ------------------% % -% Free-stream density (1.2886 Kg/m^3 (air), 998.2 Kg/m^3 (water)) INC_DENSITY_INIT= 2.13163 -% -% Free-stream velocity (m/s) -% AoA 0.0 deg -%INC_VELOCITY_INIT= ( 52.1572, 0.0, 0.0 ) % AoA 10 deg INC_VELOCITY_INIT= ( 51.36481493540834, 9.0570027322096198, 0.0 ) % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.853e-05 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 25.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 25.0, 10000.0 ) -% -% Maximum Delta Time in local time stepping simulations MAX_DELTA_TIME= 1E6 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= DRAG -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -DV_KIND= HICKS_HENNE % -% Marker of the surface in which we are going apply the shape deformation +DV_KIND= HICKS_HENNE DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.01 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -14 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sst.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_ADJ_PRESSURE, RMS_ADJ_TKE, RMS_ADJ_DISSIPATION, SENS_PRESS, SENS_AOA) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/disc_adj_rans/cylinder/cylinder.cfg b/TestCases/disc_adj_rans/cylinder/cylinder.cfg index 547dacdc116..b1e82ab0372 100644 --- a/TestCases/disc_adj_rans/cylinder/cylinder.cfg +++ b/TestCases/disc_adj_rans/cylinder/cylinder.cfg @@ -5,373 +5,137 @@ % Author: Tim Albring % % Institution: TU Kaiserslautern % % Date: 2016.06.14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO TIME_DOMAIN = YES TIME_ITER = 10 -% + % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0015 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 3.75 % 2500 iterations - 3.75 % 3500 iterations - 5.25 % 5000 iterations - 7.50 -% -% Number of internal iterations (dual time method) INNER_ITER= 30 -% -% Direct iteration to start the adjoint solver UNST_ADJOINT_ITER= 10 -% -% Number of time-steps to average (counted from the back) ITER_AVERAGE_OBJ= 10 -% + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 100.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( Cylinder, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( Farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( Cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( Cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function OBJECTIVE_FUNCTION=DRAG + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.7 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 1.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder.su2 -% -% Mesh input file format (SU2, CGNS NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 -% -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_PRESS, SENS_AOA) -% OUTPUT_FILES= (RESTART_ASCII) + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( Cylinder ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( 0, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 1.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.01 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | Cylinder | 0, 0.05 ); ( 30, 1.0 | Cylinder | 0, 0.10 ); ( 30, 1.0 | Cylinder | 0, 0.15 ); ( 30, 1.0 | Cylinder | 0, 0.20 ); ( 30, 1.0 | Cylinder | 0, 0.25 ); ( 30, 1.0 | Cylinder | 0, 0.30 ); ( 30, 1.0 | Cylinder | 0, 0.35 ); ( 30, 1.0 | Cylinder | 0, 0.40 ); ( 30, 1.0 | Cylinder | 0, 0.45 ); ( 30, 1.0 | Cylinder | 0, 0.50 ); ( 30, 1.0 | Cylinder | 0, 0.55 ); ( 30, 1.0 | Cylinder | 0, 0.60 ); ( 30, 1.0 | Cylinder | 0, 0.65 ); ( 30, 1.0 | Cylinder | 0, 0.70 ); ( 30, 1.0 | Cylinder | 0, 0.75 ); ( 30, 1.0 | Cylinder | 0, 0.80 ); ( 30, 1.0 | Cylinder | 0, 0.85 ); ( 30, 1.0 | Cylinder | 0, 0.90 ); ( 30, 1.0 | Cylinder | 0, 0.95 ); ( 30, 1.0 | Cylinder | 1, 0.05 ); ( 30, 1.0 | Cylinder | 1, 0.10 ); ( 30, 1.0 | Cylinder | 1, 0.15 ); ( 30, 1.0 | Cylinder | 1, 0.20 ); ( 30, 1.0 | Cylinder | 1, 0.25 ); ( 30, 1.0 | Cylinder | 1, 0.30 ); ( 30, 1.0 | Cylinder | 1, 0.35 ); ( 30, 1.0 | Cylinder | 1, 0.40 ); ( 30, 1.0 | Cylinder | 1, 0.45 ); ( 30, 1.0 | Cylinder | 1, 0.50 ); ( 30, 1.0 | Cylinder | 1, 0.55 ); ( 30, 1.0 | Cylinder | 1, 0.60 ); ( 30, 1.0 | Cylinder | 1, 0.65 ); ( 30, 1.0 | Cylinder | 1, 0.70 ); ( 30, 1.0 | Cylinder | 1, 0.75 ); ( 30, 1.0 | Cylinder | 1, 0.80 ); ( 30, 1.0 | Cylinder | 1, 0.85 ); ( 30, 1.0 | Cylinder | 1, 0.90 ); ( 30, 1.0 | Cylinder | 1, 0.95 ) -% diff --git a/TestCases/disc_adj_rans/cylinder/cylinder_Windowing.cfg b/TestCases/disc_adj_rans/cylinder/cylinder_Windowing.cfg index 62090efc4e2..b2278676f04 100644 --- a/TestCases/disc_adj_rans/cylinder/cylinder_Windowing.cfg +++ b/TestCases/disc_adj_rans/cylinder/cylinder_Windowing.cfg @@ -5,336 +5,132 @@ % Author: Tim Albring % % Institution: TU Kaiserslautern % % Date: 2016.06.14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT DIRECT_DIFF = DESIGN_VARIABLES -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= YES TIME_DOMAIN = YES TIME_ITER = 10 -% + % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0015 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 3.75 -% -% Number of internal iterations (dual time method) INNER_ITER= 30 -% -% Direct iteration to start the adjoint solver UNST_ADJOINT_ITER= 10 -% -% Number of time-steps to average (counted from the back) ITER_AVERAGE_OBJ= 10 -% -%% Windowed output time averaging -% Time iteration to start the windowed time average in a direct run WINDOW_START_ITER = 1 -% -% Window used for reverse sweep and direct run. Options (SQUARE, HANN, HANN_SQUARE, BUMP) Square is default. WINDOW_FUNCTION = HANN -% + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 100.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( Cylinder, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( Farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( Cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( Cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 1.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% -%% Time convergence monitoring WINDOW_CAUCHY_CRIT = YES -% -% List of time convergence fields CONV_WINDOW_FIELD = (TAVG_DRAG, TAVG_LIFT) -% -% Time Convergence Monitoring starts at Iteration WINDOW_START_ITER + CONV_WINDOW_STARTITER CONV_WINDOW_STARTITER = 0 -% -% Epsilon to control the series convergence CONV_WINDOW_CAUCHY_EPS = 1 -% -% Number of elements to apply the criteria CONV_WINDOW_CAUCHY_ELEMS = 2 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder.su2 -% -% Mesh input file format (SU2, CGNS NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, DRAG, LIFT, TAVG_DRAG, TAVG_LIFT, CAUCHY_TAVG_DRAG) HISTORY_OUTPUT = (ITER, TAVG_AERO_COEFF, AERO_COEFF) % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( Cylinder ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( 0, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 1.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | Cylinder | 0, 0.05 ); ( 30, 1.0 | Cylinder | 0, 0.10 ); ( 30, 1.0 | Cylinder | 0, 0.15 ); ( 30, 1.0 | Cylinder | 0, 0.20 ); ( 30, 1.0 | Cylinder | 0, 0.25 ); ( 30, 1.0 | Cylinder | 0, 0.30 ); ( 30, 1.0 | Cylinder | 0, 0.35 ); ( 30, 1.0 | Cylinder | 0, 0.40 ); ( 30, 1.0 | Cylinder | 0, 0.45 ); ( 30, 1.0 | Cylinder | 0, 0.50 ); ( 30, 1.0 | Cylinder | 0, 0.55 ); ( 30, 1.0 | Cylinder | 0, 0.60 ); ( 30, 1.0 | Cylinder | 0, 0.65 ); ( 30, 1.0 | Cylinder | 0, 0.70 ); ( 30, 1.0 | Cylinder | 0, 0.75 ); ( 30, 1.0 | Cylinder | 0, 0.80 ); ( 30, 1.0 | Cylinder | 0, 0.85 ); ( 30, 1.0 | Cylinder | 0, 0.90 ); ( 30, 1.0 | Cylinder | 0, 0.95 ); ( 30, 1.0 | Cylinder | 1, 0.05 ); ( 30, 1.0 | Cylinder | 1, 0.10 ); ( 30, 1.0 | Cylinder | 1, 0.15 ); ( 30, 1.0 | Cylinder | 1, 0.20 ); ( 30, 1.0 | Cylinder | 1, 0.25 ); ( 30, 1.0 | Cylinder | 1, 0.30 ); ( 30, 1.0 | Cylinder | 1, 0.35 ); ( 30, 1.0 | Cylinder | 1, 0.40 ); ( 30, 1.0 | Cylinder | 1, 0.45 ); ( 30, 1.0 | Cylinder | 1, 0.50 ); ( 30, 1.0 | Cylinder | 1, 0.55 ); ( 30, 1.0 | Cylinder | 1, 0.60 ); ( 30, 1.0 | Cylinder | 1, 0.65 ); ( 30, 1.0 | Cylinder | 1, 0.70 ); ( 30, 1.0 | Cylinder | 1, 0.75 ); ( 30, 1.0 | Cylinder | 1, 0.80 ); ( 30, 1.0 | Cylinder | 1, 0.85 ); ( 30, 1.0 | Cylinder | 1, 0.90 ); ( 30, 1.0 | Cylinder | 1, 0.95 ) -% diff --git a/TestCases/disc_adj_rans/cylinder/cylinder_Windowing_AD.cfg b/TestCases/disc_adj_rans/cylinder/cylinder_Windowing_AD.cfg index 52a55632fff..94291557ed8 100644 --- a/TestCases/disc_adj_rans/cylinder/cylinder_Windowing_AD.cfg +++ b/TestCases/disc_adj_rans/cylinder/cylinder_Windowing_AD.cfg @@ -5,259 +5,120 @@ % Author: Tim Albring % % Institution: TU Kaiserslautern % % Date: 2016.06.14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO TIME_DOMAIN = YES TIME_ITER = 10 -% + % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0015 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 3.75 -% -% Number of internal iterations (dual time method) INNER_ITER= 30 -% -% Direct iteration to start the adjoint solver UNST_ADJOINT_ITER= 10 -% -% Number of time-steps to average (counted from the back) ITER_AVERAGE_OBJ= 5 % %% Windowed output time averaging -% Time iteration to start the windowed time average in a direct run WINDOW_START_ITER = 5 % % Window used for reverse sweep and direct run. Options (SQUARE, HANN, HANN_SQUARE, BUMP) Square is default. WINDOW_FUNCTION = HANN -% + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 100.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( Cylinder, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( Farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( Cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( Cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Objective function OBJECTIVE_FUNCTION=DRAG + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 1.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% -%% Time convergence monitoring WINDOW_CAUCHY_CRIT = YES -% -% List of time convergence fields CONV_WINDOW_FIELD = TAVG_DRAG -% -% Time Convergence Monitoring starts at Iteration WINDOW_START_ITER + CONV_WINDOW_STARTITER CONV_WINDOW_STARTITER = 0 -% -% Epsilon to control the series convergence CONV_WINDOW_CAUCHY_EPS = 1 -% -% Number of elements to apply the criteria CONV_WINDOW_CAUCHY_ELEMS = 2 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder.su2 -% -% Mesh input file format (SU2, CGNS NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, RMS_ADJ_DENSITY) HISTORY_OUTPUT = (ITER, TAVG_AERO_COEFF, D_TAVG_AERO_COEFF, AERO_COEFF) OUTPUT_FILES = (RESTART_ASCII) -% -% + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% - -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | Cylinder | 0, 0.05 ); ( 30, 1.0 | Cylinder | 0, 0.10 ); ( 30, 1.0 | Cylinder | 0, 0.15 ); ( 30, 1.0 | Cylinder | 0, 0.20 ); ( 30, 1.0 | Cylinder | 0, 0.25 ); ( 30, 1.0 | Cylinder | 0, 0.30 ); ( 30, 1.0 | Cylinder | 0, 0.35 ); ( 30, 1.0 | Cylinder | 0, 0.40 ); ( 30, 1.0 | Cylinder | 0, 0.45 ); ( 30, 1.0 | Cylinder | 0, 0.50 ); ( 30, 1.0 | Cylinder | 0, 0.55 ); ( 30, 1.0 | Cylinder | 0, 0.60 ); ( 30, 1.0 | Cylinder | 0, 0.65 ); ( 30, 1.0 | Cylinder | 0, 0.70 ); ( 30, 1.0 | Cylinder | 0, 0.75 ); ( 30, 1.0 | Cylinder | 0, 0.80 ); ( 30, 1.0 | Cylinder | 0, 0.85 ); ( 30, 1.0 | Cylinder | 0, 0.90 ); ( 30, 1.0 | Cylinder | 0, 0.95 ); ( 30, 1.0 | Cylinder | 1, 0.05 ); ( 30, 1.0 | Cylinder | 1, 0.10 ); ( 30, 1.0 | Cylinder | 1, 0.15 ); ( 30, 1.0 | Cylinder | 1, 0.20 ); ( 30, 1.0 | Cylinder | 1, 0.25 ); ( 30, 1.0 | Cylinder | 1, 0.30 ); ( 30, 1.0 | Cylinder | 1, 0.35 ); ( 30, 1.0 | Cylinder | 1, 0.40 ); ( 30, 1.0 | Cylinder | 1, 0.45 ); ( 30, 1.0 | Cylinder | 1, 0.50 ); ( 30, 1.0 | Cylinder | 1, 0.55 ); ( 30, 1.0 | Cylinder | 1, 0.60 ); ( 30, 1.0 | Cylinder | 1, 0.65 ); ( 30, 1.0 | Cylinder | 1, 0.70 ); ( 30, 1.0 | Cylinder | 1, 0.75 ); ( 30, 1.0 | Cylinder | 1, 0.80 ); ( 30, 1.0 | Cylinder | 1, 0.85 ); ( 30, 1.0 | Cylinder | 1, 0.90 ); ( 30, 1.0 | Cylinder | 1, 0.95 ) -% diff --git a/TestCases/disc_adj_rans/cylinder_DT_1ST/cylinder.cfg b/TestCases/disc_adj_rans/cylinder_DT_1ST/cylinder.cfg index 79e61349f97..07d40ece13b 100644 --- a/TestCases/disc_adj_rans/cylinder_DT_1ST/cylinder.cfg +++ b/TestCases/disc_adj_rans/cylinder_DT_1ST/cylinder.cfg @@ -5,374 +5,141 @@ % Author: Tim Albring % % Institution: TU Kaiserslautern % % Date: 2016.06.14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO TIME_DOMAIN = YES TIME_ITER = 10 -% + % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) TIME_MARCHING= DUAL_TIME_STEPPING-1ST_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0015 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 3.75 % 2500 iterations - 3.75 % 3500 iterations - 5.25 % 5000 iterations - 7.50 -% -% Number of internal iterations (dual time method) INNER_ITER= 30 -% -% Direct iteration to start the adjoint solver UNST_ADJOINT_ITER= 10 % % Number of time-steps to average (counted from the back) ITER_AVERAGE_OBJ= 10 -% + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 100.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( Cylinder, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( Farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( Cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( Cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% -% Objective function OBJECTIVE_FUNCTION=DRAG + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.7 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 1.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO % % Slope limiter (NONE, VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder.su2 -% -% Mesh input file format (SU2, CGNS NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= solution_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= solution_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 -% -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_PRESS, SENS_AOA) -% OUTPUT_FILES= (RESTART_ASCII) + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( Cylinder ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( 0, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 1.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.01 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | Cylinder | 0, 0.05 ); ( 30, 1.0 | Cylinder | 0, 0.10 ); ( 30, 1.0 | Cylinder | 0, 0.15 ); ( 30, 1.0 | Cylinder | 0, 0.20 ); ( 30, 1.0 | Cylinder | 0, 0.25 ); ( 30, 1.0 | Cylinder | 0, 0.30 ); ( 30, 1.0 | Cylinder | 0, 0.35 ); ( 30, 1.0 | Cylinder | 0, 0.40 ); ( 30, 1.0 | Cylinder | 0, 0.45 ); ( 30, 1.0 | Cylinder | 0, 0.50 ); ( 30, 1.0 | Cylinder | 0, 0.55 ); ( 30, 1.0 | Cylinder | 0, 0.60 ); ( 30, 1.0 | Cylinder | 0, 0.65 ); ( 30, 1.0 | Cylinder | 0, 0.70 ); ( 30, 1.0 | Cylinder | 0, 0.75 ); ( 30, 1.0 | Cylinder | 0, 0.80 ); ( 30, 1.0 | Cylinder | 0, 0.85 ); ( 30, 1.0 | Cylinder | 0, 0.90 ); ( 30, 1.0 | Cylinder | 0, 0.95 ); ( 30, 1.0 | Cylinder | 1, 0.05 ); ( 30, 1.0 | Cylinder | 1, 0.10 ); ( 30, 1.0 | Cylinder | 1, 0.15 ); ( 30, 1.0 | Cylinder | 1, 0.20 ); ( 30, 1.0 | Cylinder | 1, 0.25 ); ( 30, 1.0 | Cylinder | 1, 0.30 ); ( 30, 1.0 | Cylinder | 1, 0.35 ); ( 30, 1.0 | Cylinder | 1, 0.40 ); ( 30, 1.0 | Cylinder | 1, 0.45 ); ( 30, 1.0 | Cylinder | 1, 0.50 ); ( 30, 1.0 | Cylinder | 1, 0.55 ); ( 30, 1.0 | Cylinder | 1, 0.60 ); ( 30, 1.0 | Cylinder | 1, 0.65 ); ( 30, 1.0 | Cylinder | 1, 0.70 ); ( 30, 1.0 | Cylinder | 1, 0.75 ); ( 30, 1.0 | Cylinder | 1, 0.80 ); ( 30, 1.0 | Cylinder | 1, 0.85 ); ( 30, 1.0 | Cylinder | 1, 0.90 ); ( 30, 1.0 | Cylinder | 1, 0.95 ) -% diff --git a/TestCases/disc_adj_rans/naca0012/naca0012.cfg b/TestCases/disc_adj_rans/naca0012/naca0012.cfg index 744204d570d..1a4132396b0 100644 --- a/TestCases/disc_adj_rans/naca0012/naca0012.cfg +++ b/TestCases/disc_adj_rans/naca0012/naca0012.cfg @@ -5,7 +5,7 @@ % Author: Steffen Schotthöfer % % Institution: TU Kaiserslautern % % Date: Mar 16, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -15,192 +15,118 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) SOLVER= RANS -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% Objective function OBJECTIVE_FUNCTION=DRAG -% Restart solution (NO, YES) RESTART_SOL= YES -% Restart iteration RESTART_ITER = 10 % % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Time Domain TIME_DOMAIN = YES -% Unsteady simulation TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% Time Step for dual time stepping simulations (s) TIME_STEP= 5e-4 -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 105000 -%Maximum Number of physical time steps used for primal and ajoint run. TIME_ITER= 15 -% Number of internal iterations (dual time method) INNER_ITER= 2 -%Number of iterations to average the objective ITER_AVERAGE_OBJ = 3 -%Iteration number to begin the reverse time integration in the direct solver for the unsteady adjoint. UNST_ADJOINT_ITER = 15 -% Start iteration for windowing WINDOW_START_ITER = 12 -% Window used for reverse sweep. Options (SQUARE, HANN, HANN_SQUARE, BUMP) WINDOW_FUNCTION = HANN_SQUARE % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% Angle of attack (degrees, only for compressible flows) AOA= 17.0 -% De-Dimensionalization REF_DIMENSIONALIZATION = DIMENSIONAL -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 293.0 -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 1e+6 -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker MARKER_HEATFLUX= ( AIRFOIL, 0.0) -% Farfield boundary marker MARKER_FAR= ( FARFIELD) -% Internal boundary marker(s) e.g. no boundary condition MARKER_INTERNAL= ( FWH1 ) -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (AIRFOIL) % % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 20.0 -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method CONV_NUM_METHOD_FLOW= JST -% 1st, 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.01 ) -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% Muscl flow for turbulent simulation MUSCL_TURB= NO -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Field to apply Cauchy Criterion to CONV_FIELD= REL_RMS_DENSITY -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 10 -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 % % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Output settings HISTORY_WRT_FREQ_INNER=0 SCREEN_WRT_FREQ_INNER =1 SCREEN_OUTPUT=(INNER_ITER, TIME_ITER, RMS_ADJ_DENSITY, RMS_DENSITY, , REL_RMS_DENSITY,REL_RMS_ADJ_DENSITY, DRAG, TAVG_DRAG) HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, TAVG_AERO_COEFF, ADJ_AERO_COEFF) -% -% Mesh input file MESH_FILENAME= naca0012_FFD.su2 -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% Restart adjoint input file SOLUTION_ADJ_FILENAME= restart_adj.dat TABULAR_FORMAT= CSV -% Output file convergence history (w/o extension) CONV_FILENAME= 0_history -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 % % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation DV_KIND= FFD_CONTROL_POINT_2D -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( AIRFOIL ) -% Parameters of the shape deformation DV_PARAM= ( AIRFOIL_BOX, 0.0, 0.0, 1.0, 0.0) -% Value of the shape deformation DV_VALUE= 0.01 -% Surface deformation input filename (SURFACE_FILE DV only) DV_FILENAME= mesh_motion.dat % % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% Factor to multiply smallest cell volume for deform tolerance (0.001 default) DEFORM_LINEAR_SOLVER_ERROR = 1E-6 -% Type of element stiffness imposed for FEA mesh deformation DEFORM_STIFFNESS_TYPE= WALL_DISTANCE -% Optimization objective function with scaling factor OPT_OBJECTIVE= DRAG * 1.0 OPT_GRADIENT_FACTOR= 0.1 OPT_RELAX_FACTOR= 1 OPT_BOUND_UPPER= 0.05 OPT_BOUND_LOWER= -0.05 -% Optimization constraint functions with scaling factors, separated by semicolons OPT_CONSTRAINT= ( LIFT > 0.96 ) * 1.0 -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 10, 0.0, 1.0 ) -% diff --git a/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sa.cfg b/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sa.cfg index ffa1ff84f2d..5429a5e2bc0 100644 --- a/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sa.cfg +++ b/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sa.cfg @@ -6,235 +6,101 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations SOLVER= RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= NEGATIVE, EXPERIMENTAL -% -% Mathematical problem MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 10.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_TURB= NONE -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n0012_113-33.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sa.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output -SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_NU_TILDE, SENS_PRESS, SENS_AOA RMS_DENSITY RMS_NU_TILDE LIFT DRAG LINSOL_ITER LINSOL_RESIDUAL LINSOL_ITER_TURB LINSOL_RESIDUAL_TURB) - +SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_NU_TILDE, SENS_PRESS, SENS_AOA RMS_DENSITY RMS_NU_TILDE LIFT DRAG LINSOL_ITER LINSOL_RESIDUAL LINSOL_ITER_TURB LINSOL_RESIDUAL_TURB) \ No newline at end of file diff --git a/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sst.cfg b/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sst.cfg index ae362b476ec..af09bdb7fff 100644 --- a/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sst.cfg +++ b/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sst.cfg @@ -6,236 +6,100 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 10.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 1.0, 100.0 ) -% -% Number of total iterations ITER= 10000 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n0012_113-33.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sst.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output -SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_TKE, SENS_PRESS, SENS_AOA RMS_DENSITY RMS_TKE LIFT DRAG) - +SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_TKE, SENS_PRESS, SENS_AOA RMS_DENSITY RMS_TKE LIFT DRAG) \ No newline at end of file diff --git a/TestCases/disc_adj_turbomachinery/transonic_stator_2D/transonic_stator.cfg b/TestCases/disc_adj_turbomachinery/transonic_stator_2D/transonic_stator.cfg index 931279f1128..2337d51dafd 100644 --- a/TestCases/disc_adj_turbomachinery/transonic_stator_2D/transonic_stator.cfg +++ b/TestCases/disc_adj_turbomachinery/transonic_stator_2D/transonic_stator.cfg @@ -5,412 +5,184 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: 2017.03.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% + + % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DISCRETE_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% number of zones (needed for python scripts) NZONES= 1 -% SINGLEZONE_DRIVER=NO -% + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees, only for compressible flows) AOA= 70.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 13.0E+5 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 592.295 -% -% Free-stream temperature (1.2886 Kg/m3 by default) FREESTREAM_DENSITY= 1.7418 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.03 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS -% + % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE -% -% + % ------------------------------ EQUATION OF STATE ----------------------------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= PR_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.0165 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 35.23 -% -% Critical Temperature (273.15 K by default) CRITICAL_TEMPERATURE= 564.1 -% -% Critical Pressure (101325.0 N/m^2 by default) CRITICAL_PRESSURE= 1415000.0 -% -% Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.529 -% -% + % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.3764E-5 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 -% -% + % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.047280 -% -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= (airfoil, 0.0) -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_PERIODIC= ( periodic_1, periodic_2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05749995, 0.0 ) -% -% + %-------- INFLOW/OUTFLOW BOUNDARY CONDITION SPECIFIC FOR TURBOMACHINERY --------% % -% 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= (inflow, outflow) -% -% Giles boundary condition for inflow, outfolw and mixing-plane -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure , Total Temperature, Flow dir-norm, Flow dir-tang, Flow dir-span, under-relax-avg, under-relax-fourier) -% Format outlet: ( marker, STATIC_PRESSURE, Static Pressure value, -, -, -, -, under-relax-avg, under-relax-fourier) -% Format mixing-plane in and out: ( marker, MIXING_IN or MIXING_OUT, -, -, -, -, -, -, under-relax-avg, under-relax-fourier) MARKER_GILES= (inflow, TOTAL_CONDITIONS_PT, 13.8686E+05, 592.295, 1.0, 0.0, 0.0, 1.0, 1.0, outflow, STATIC_PRESSURE, 9.00E+05, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0) -% -%YES Non reflectivity activated, NO the Giles BC behaves as a normal 1D characteristic-based BC SPATIAL_FOURIER= YES + %---------------------------- TURBOMACHINERY SIMULATION -----------------------------% % -% Specify kind of architecture (AXIAL, CENTRIPETAL, CENTRIFUGAL, CENTRIPETAL_AXIAL) TURBOMACHINERY_KIND = AXIAL -% -% Specify ramp option for Outlet pressure (YES, NO) default NO RAMP_OUTLET_PRESSURE= NO -% -% Parameters of the outlet pressure ramp (starting outlet pressure, updating-iteration-frequency, total number of iteration for the ramp) RAMP_OUTLET_PRESSURE_COEFF= (700000.0, 10.0, 500) -% -% Specify Kind of average process for linearizing the Navier-Stokes equation at inflow and outflow BC included mixing-plane -% (ALGEBRAIC, AREA, MASSSFLUX, MIXEDOUT) default AREA AVERAGE_PROCESS_KIND= MIXEDOUT -% -% Specify Kind of average process for computing turbomachienry performance parameters -% (ALGEBRAIC, AREA, MASSSFLUX, MIXEDOUT) default AREA PERFORMANCE_AVERAGE_PROCESS_KIND= MIXEDOUT -% -%Parameters of the Newton method for the MIXEDOUT average algorithm (under relaxation factor, tollerance, max number of iterations) MIXEDOUT_COEFF= (1.0, 1.0E-05, 15) -% -% Limit of Mach number below which the mixedout algorithm is substituted with a AREA average algorithm AVERAGE_MACH_LIMIT= 0.03 -% -% + % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING= (airfoil) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING= (airfoil) -% -% + % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 40.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 1.3, 1.2, 1.0, 10.0) -% -% + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -% + % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% ----------- NOT WORKING WITH PERIODIC BOUNDARY CONDITIONS !!!!! --------------% -% +% ----------- NOT WORKING WITH PERIODIC BOUNDARY CONDITIONS !!!!! -------------% % + % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 -% -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% Relaxation coefficient -% -% + % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 -% -% + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (NO_DEFORMATION, TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, FFD_NACELLE -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS, FFD_TWIST -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, FFD_TWIST_2D, -% HICKS_HENNE, SURFACE_BUMP) DV_KIND= FFD_SETTING -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation DV_PARAM= ( MAIN_BOX, 3.0, 4.0, 0.0, 0.0) -% -% Value of the shape deformation DV_VALUE= 0.01 -% -% + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -DEFORM_LINEAR_SOLVER_ITER= 250 -% % +DEFORM_LINEAR_SOLVER_ITER= 250 + % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, -0.007280, 0.012690, 0.0, 0.024666, 0.02200, 0.0, 0.04785, -0.04985, 0.0, 0.01709, -0.05911, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= ( 4 , 4 , 0 ) -% -% Surface grid continuity at the intersection with the faces of the FFD boxes. -% To keep a particular level of surface continuity, SU2 automatically freezes the right -% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) FFD_CONTINUITY= 2ND_DERIVATIVE -% -% + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 19, 1.0 | airfoil | MAIN_BOX, 0, 0, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 1, 0, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 2, 0, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 3, 0, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 4, 0, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 0, 1, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 1, 1, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 2, 1, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 3, 1, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 4, 1, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 0, 2, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 1, 2, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 2, 2, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 3, 2, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 4, 2, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 0, 3, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 1, 3, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 2, 3, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 3, 3, 0.0, 0.0 ); ( 19, 1.0 | airfoil | MAIN_BOX, 4, 3, 0.0, 0.0 ) -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( FLOW_ANGLE_OUT < -74.0 ) * 0.001 -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= ENTROPY_GENERATION* 0.0001 -% -% Maximum number of iterations OPT_ITERATIONS= 19 -% -% Requested accuracy OPT_ACCURACY= 1E-10 -% -% + % --------------------- OBJECTIVE FUNCTION DEFINITION -----------------------% % -% Objective function in optimization problem OBJECTIVE_FUNCTION= ENTROPY_GENERATION -% -% + % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 2001 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_stator_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per_optimal.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% -% SCREEN_OUTPUT=(INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_TKE) diff --git a/TestCases/euler/CRM/inv_CRM_JST.cfg b/TestCases/euler/CRM/inv_CRM_JST.cfg index 5aaecad073d..8a321cf5a94 100644 --- a/TestCases/euler/CRM/inv_CRM_JST.cfg +++ b/TestCases/euler/CRM/inv_CRM_JST.cfg @@ -5,238 +5,104 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees) AOA= 3.06 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 implies no marker) MARKER_EULER= ( fuselage , Wing , HTP) -% -% Marker of the far field (0 implies no marker) MARKER_FAR= ( FarField ) -% -% Marker of symmetry boundary (0 implies no marker) MARKER_SYM= ( SymmetryPlane ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( fuselage , Wing , HTP ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( fuselage , Wing , HTP ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for computation of spatial gradients: (GREEN_GAUSS, -% WIEGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.04 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.04 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------& % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -6 -% -% Start convergence criteria at iteration number CONV_STARTITER= 100 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= grid_crm_dpw4_MB-structured.su2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Mesh input file format (SU2) MESH_FORMAT= SU2 -% TABULAR_FORMAT= CSV -% -% Output file convergence history CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/euler/biparabolic/BIPARABOLIC.cfg b/TestCases/euler/biparabolic/BIPARABOLIC.cfg index 63fb2fed33d..0db5bc08be8 100644 --- a/TestCases/euler/biparabolic/BIPARABOLIC.cfg +++ b/TestCases/euler/biparabolic/BIPARABOLIC.cfg @@ -5,266 +5,113 @@ % Author: Trent W. Lukaczyk % % Institution: Stanford University % % Date: 2012.08.16 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 1.7 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ------------------------ SUPERSONIC SIMULATION ------------------------------% % -% Evaluate equivalent area on the Near-Field (NO, YES) EQUIV_AREA= YES -% -% Integration limits of the equivalent area ( xmin, xmax, Dist_NearField ) EA_INT_LIMIT= ( -100.0, 100.0, 2.0 ) % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% -% Euler wall boundary marker(s) (NONE = no marker) -MARKER_EULER= ( airfoil ) % -% Farfield boundary marker(s) (NONE = no marker) +MARKER_EULER= ( airfoil ) MARKER_FAR= ( farfield ) -% -% Near-Field boundary marker(s) (NONE = no marker) MARKER_NEARFIELD= ( upper_nearfield, lower_nearfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil, upper_nearfield ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 25.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999999 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= EQUIVALENT_AREA % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= EQUIVALENT_AREA CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, PARABOLIC, NACA_4DIGITS, -% DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_TWIST, -% FFD_ROTATION, FFD_CAMBER, FFD_THICKNESS, FFD_VOLUME) DV_KIND= PARABOLIC -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag, i_Ind, j_Ind ) DV_PARAM= ( 0.5, 5 ) -% -% New value of the shape deformation DV_VALUE= 0.01 -% -% Hold the grid fixed in a region (NO, YES) HOLD_GRID_FIXED= YES -% -% Coordinates of the box where the grid will be deformed (Xmin, Ymin, Zmin, Xmax, Ymax, Zmax) HOLD_GRID_FIXED_COORD= ( -0.2, -0.4, 0.0, 2.2, 0.4, 0.0 ) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -6 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_BIPARABOLIC_sup.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= volume_flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= volume_adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 100 -% diff --git a/TestCases/euler/bluntbody/blunt.cfg b/TestCases/euler/bluntbody/blunt.cfg index 2c9081c015b..855a95d700b 100644 --- a/TestCases/euler/bluntbody/blunt.cfg +++ b/TestCases/euler/bluntbody/blunt.cfg @@ -5,198 +5,85 @@ % Author: Amit Sachdeva % % Institution: ADSG-VSSC % % Date: 2019.01.23 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) -RESTART_SOL= NO -% +RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 6.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0.785398 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( wall ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( far ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( wall ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( wall ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 3.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.1, 0.9, 5.0, 50.0 ) -% -% Number of total iterations ITER= 2500 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 1.0 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, SLAU, SLAU2, -% AUSMPLUSUP, AUSMPLUSUP2 HLLC, TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= AUSMPLUSUP -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= blunt_91.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= blunt_91.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/euler/channel/inv_channel.cfg b/TestCases/euler/channel/inv_channel.cfg index 90d3ab84953..7140461e2f0 100644 --- a/TestCases/euler/channel/inv_channel.cfg +++ b/TestCases/euler/channel/inv_channel.cfg @@ -5,216 +5,101 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.09.29 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) % SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default) FREESTREAM_PRESSURE= 101300.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( upper_wall, lower_wall ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -% Default: Mach ~ 0.1 MARKER_INLET= ( inlet, 288.6, 102010.0, 1.0, 0.0, 0.0 ) % Comment above line and uncomment next for Mach ~ 0.7 (transonic) %MARKER_INLET= ( inlet, 316.224, 140513.23, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 101300.0 ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower_wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( upper_wall, lower_wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 6.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 999999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_channel_256x128.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% diff --git a/TestCases/euler/channel/inv_channel_RK.cfg b/TestCases/euler/channel/inv_channel_RK.cfg index e5c88a43d30..9041a7d4c42 100644 --- a/TestCases/euler/channel/inv_channel_RK.cfg +++ b/TestCases/euler/channel/inv_channel_RK.cfg @@ -5,212 +5,95 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default) FREESTREAM_PRESSURE= 101300.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( upper_wall, lower_wall ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -% Default: Mach ~ 0.7 (Transonic) MARKER_INLET= ( inlet, 316.224, 140513.23, 1.0, 0.0, 0.0 ) % Comment above line and uncomment next for Mach ~ 0.1 %MARKER_INLET= ( inlet, 288.6, 102010.0, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 101300.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower_wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( upper_wall, lower_wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 110 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= RUNGE-KUTTA_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_channel_256x128.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/euler/naca0012/inv_NACA0012.cfg b/TestCases/euler/naca0012/inv_NACA0012.cfg index 8c735b8ee8e..ddf59229ab3 100644 --- a/TestCases/euler/naca0012/inv_NACA0012.cfg +++ b/TestCases/euler/naca0012/inv_NACA0012.cfg @@ -5,334 +5,128 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 250 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE, AIRFOIL) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT_2D ( FFD_Box_ID, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_Box_ID, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_Box_ID, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - FOURIER ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), index, cos(0)/sin(1) ) -% - SPHERICAL ( ControlPoint_Index, Theta_Disp, R_Disp ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.01 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_NACA0012_inv.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_NACA0012_inv.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% -% Screen output fields SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.328188 ) * 0.001; ( MOMENT_Z > 0.034068 ) * 0.001; ( AIRFOIL_THICKNESS > 0.11 ) * 0.001 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/euler/naca0012/inv_NACA0012_Roe.cfg b/TestCases/euler/naca0012/inv_NACA0012_Roe.cfg index 0c3e28654f8..c4ac9f21203 100644 --- a/TestCases/euler/naca0012/inv_NACA0012_Roe.cfg +++ b/TestCases/euler/naca0012/inv_NACA0012_Roe.cfg @@ -5,200 +5,91 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (POTENTIAL_FLOW, EULER, NAVIER_STOKES, -% MULTI_SPECIES_NAVIER_STOKES, TWO_PHASE_FLOW, -% COMBUSTION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 - % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 4.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 110 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 2, 2 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 1, 1, 1, 1 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 1, 1, 1, 1 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.01 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% -% Screen output fields SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/euler/oneram6/inv_ONERAM6.cfg b/TestCases/euler/oneram6/inv_ONERAM6.cfg index 37452c3a79d..e777e3d2bc4 100644 --- a/TestCases/euler/oneram6/inv_ONERAM6.cfg +++ b/TestCases/euler/oneram6/inv_ONERAM6.cfg @@ -3,409 +3,153 @@ % SU2 configuration file % % Case description: ONERA M6 wing in inviscid, transonic flow % % Author: Thomas D. Economon % -% Institution: Stanford University % +% Institution: Stanford University % % Date: 2015.08.25 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees) AOA= 3.06 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yaMAIN_BOX non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 implies no marker) MARKER_EULER= ( WING ) -% -% Marker of the far field (0 implies no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker of symmetry boundary (0 implies no marker) MARKER_SYM= ( SYMMETRY ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( WING ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( WING ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( WING ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= YES % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------& % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 25 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_inv_ffd.su2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Mesh input file format (SU2) MESH_FORMAT= SU2 -% TABULAR_FORMAT= CSV -% -% Output file convergence history CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution frequency OUTPUT_WRT_FREQ= 100 -% -% -% Screen output fields SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) -% OUTPUT_FILES= (RESTART_ASCII, CGNS, SURFACE_CGNS) + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( WING ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( MAIN_BOX, 2, 3, 1, 0.0, 0.0, 1.0 ) -% -% Value of the shape deformation DV_VALUE= 0.05 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, -% BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 2 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= NO -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, -0.0403, 0.0, -0.04836, 0.8463, 0.0, -0.04836, 1.209, 1.2896, -0.04836, 0.6851, 1.2896, -0.04836, -0.0403, 0.0, 0.04836, 0.8463, 0.0, 0.04836, 1.209, 1.2896, 0.04836, 0.6851, 1.2896, 0.04836) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 8, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 1.0 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.282557 ) * 1.0 -% -% Maximum number of iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 11, 1.0 | WING | MAIN_BOX, 0, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 0, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 1, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 2, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 3, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 4, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 5, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 6, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 7, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 8, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 9, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | WING | MAIN_BOX, 10, 8, 1, 0.0, 0.0, 1.0 ) diff --git a/TestCases/euler/wedge/inv_wedge_HLLC.cfg b/TestCases/euler/wedge/inv_wedge_HLLC.cfg index adf29537564..d9662291509 100644 --- a/TestCases/euler/wedge/inv_wedge_HLLC.cfg +++ b/TestCases/euler/wedge/inv_wedge_HLLC.cfg @@ -5,248 +5,100 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( upper, lower ) -% -% Supersonic inlet boundary marker(s) (NONE = no marker) -% Total Conditions: (inlet marker, temperature, static pressure, velocity_x, -% velocity_y, velocity_z, ... ), i.e. all variables specified. MARKER_SUPERSONIC_INLET= ( inlet, 300.0, 100000.0, 695.4290761824674, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 10000.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( upper, lower ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 11000 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= HLLC -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.006 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_wedge_inv.cgns -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= CGNS -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output fields SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, FFD_ROTATION, -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, NACA_4DIGITS, AIRFOIL) DV_KIND= SCALE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( upper, lower, inlet, outlet ) -% -% Parameters of the shape deformation -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - PARABOLIC ( Center, Thickness ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - AIRFOIL ( 1.0 ) DV_PARAM= ( 1.0 ) -% -% Value of the shape deformation DV_VALUE= 1.0 diff --git a/TestCases/fea_fsi/Airfoil_RBF/config.cfg b/TestCases/fea_fsi/Airfoil_RBF/config.cfg index d7c785d4ce3..73cfd069047 100755 --- a/TestCases/fea_fsi/Airfoil_RBF/config.cfg +++ b/TestCases/fea_fsi/Airfoil_RBF/config.cfg @@ -3,7 +3,7 @@ % Case description: 2D airfoil FSI with radial basis function interp. % % Institution: Imperial College London % % Date: 2015.08.12 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER = MULTIPHYSICS @@ -22,4 +22,3 @@ OUTER_ITER = 50 % enable this option to see convergence output for individual zones WRT_ZONE_CONV = NO - diff --git a/TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg b/TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg index 2e94b469839..7c1d9e0d70e 100644 --- a/TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg +++ b/TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg @@ -2,7 +2,7 @@ % SU2 configuration file % % Case description: 2D airfoil FSI with radial basis function interp. % % Institution: Imperial College London % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Interface options ---------------------------------------------------- % @@ -66,4 +66,3 @@ VOLUME_FILENAME= solid % history and screen SCREEN_WRT_FREQ_INNER= 10 CONV_FILENAME= history - diff --git a/TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg b/TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg index 671fd8bb64a..d307f30dd64 100644 --- a/TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg +++ b/TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg @@ -2,7 +2,7 @@ % SU2 configuration file % % Case description: 2D airfoil FSI with radial basis function interp. % % Institution: Imperial College London % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Interface options ---------------------------------------------------- % @@ -124,4 +124,3 @@ SURFACE_FILENAME= surface_fluid % history and screen SCREEN_WRT_FREQ_INNER= 10 CONV_FILENAME= history - diff --git a/TestCases/fea_fsi/DynBeam_2d/configBeam_2d.cfg b/TestCases/fea_fsi/DynBeam_2d/configBeam_2d.cfg index f1ed1c759a2..2f422131d9e 100644 --- a/TestCases/fea_fsi/DynBeam_2d/configBeam_2d.cfg +++ b/TestCases/fea_fsi/DynBeam_2d/configBeam_2d.cfg @@ -4,7 +4,7 @@ % Author: Ruben Sanchez Fernandez % % Institution: Imperial College London % % Date: 2016.02.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= ELASTICITY diff --git a/TestCases/fea_fsi/MixElemsKnowles/config.cfg b/TestCases/fea_fsi/MixElemsKnowles/config.cfg index 9b44d7fce1c..a4150bbc044 100644 --- a/TestCases/fea_fsi/MixElemsKnowles/config.cfg +++ b/TestCases/fea_fsi/MixElemsKnowles/config.cfg @@ -4,7 +4,7 @@ % Case description: Tip-loaded 3D cantilever beam, mix of element types, % % nonlinear elasticity with Knowles material model. % % Institution: Imperial College London % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/fea_fsi/SquareCyl_Beam/config.cfg b/TestCases/fea_fsi/SquareCyl_Beam/config.cfg index 6dcf4f1e959..c8986a27105 100644 --- a/TestCases/fea_fsi/SquareCyl_Beam/config.cfg +++ b/TestCases/fea_fsi/SquareCyl_Beam/config.cfg @@ -5,35 +5,19 @@ % Author: Ruben Sanchez Fernandez % % Institution: Imperial College London % % Date: 2016.06.01 % -% File Version 4.3.0 "cardinal" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FLUID_STRUCTURE_INTERACTION -% FSI_FLUID_PROBLEM = NAVIER_STOKES -% FSI_STRUCTURAL_PROBLEM = ELASTICITY -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED, ONE_SHOT_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Unsteady restart iteration (need previous restart files) RESTART_ITER= 2 -% -% Restart the solution from a steady state solution (sets Grid Vel to 0) RESTART_STEADY_STATE = NO % -----------------------------------------------------------------------------% @@ -42,38 +26,23 @@ RESTART_STEADY_STATE = NO % --------------------------- MESH INPUT FILE ---------------------------------% % -% Mesh input file format (SU2, CGNS NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh input file MESH_FILENAME= mesh.su2 % ------------------------------- TIME STEP -----------------------------------% % -% Time Step for dual time stepping fluid simulations (s) TIME_STEP= 0.01 -% -% Number of total iterations TIME_ITER= 35 % --------------------------- FSI CONVERGENCE ---------------------------------% % -% Number of Fluid Structure Interaction subiterations FSI_ITER= 10 -% -% Relaxation for the block Gauss Seidel Method BGS_RELAXATION = FIXED_PARAMETER -% -% Relaxation parameter STAT_RELAX_PARAMETER= 0.7 -% -% -% Min value of the residual in the boundary displacement (log10 of the residual) CONV_RESIDUAL_MINVAL_FSI= -5.92 % -------------------------- BOUNDARY CONDITIONS ------------------------------% % -% Marker interface MARKER_ZONE_INTERFACE = (UpperBeam, UpperBeamS, RightBeam, RightBeamS, LowerBeam, LowerBeamS) % -----------------------------------------------------------------------------% @@ -82,51 +51,30 @@ MARKER_ZONE_INTERFACE = (UpperBeam, UpperBeamS, RightBeam, RightBeamS, LowerBeam % -------------------------- PROBLEM DEFINITION -------------------------------% % -% Geometric conditions GEOMETRIC_CONDITIONS= LARGE_DEFORMATIONS -% -% Material model MATERIAL_MODEL= NEO_HOOKEAN % --------------------------- MATERIAL CONSTANTS ------------------------------% % -% Value of the Elasticity modulus ELASTICITY_MODULUS=1.25E5 -% -% Value of the Poisson ratio POISSON_RATIO=0.35 -% -% Value of the material density MATERIAL_DENSITY=50 -% -% Elasticity formulation for 2D problems FORMULATION_ELASTICITY_2D = PLANE_STRESS % -------------------------- CONVERGENCE CRITERIA -----------------------------% % -% Maximum number of subiterations for the structural solver NONLINEAR_FEM_INT_ITER = 20 -% -% Convergence tolerances % -------------------------- DYNAMIC SIMULATION -------------------------------% % -% Dynamic structural analysis DYNAMIC_ANALYSIS= YES -% -% Time discretization TIME_DISCRE_FEA= NEWMARK_IMPLICIT -% -% Newmark parameters NEWMARK_BETA=0.2601 NEWMARK_GAMMA=0.52 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Clamped boundary marker(s) MARKER_CLAMPED = ( Clamped ) -% -% Load boundary marker(s) MARKER_PRESSURE= ( RightBeamS , 0, LowerBeamS, 0, UpperBeamS, 0) % -----------------------------------------------------------------------------% @@ -135,87 +83,48 @@ MARKER_PRESSURE= ( RightBeamS , 0, LowerBeamS, 0, UpperBeamS, 0) % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Total Physical Time for dual time stepping simulations (s) UNST_TIME= 1.0 % --------------------------- FLOW CONVERGENCE --------------------------------% % -% Number of internal iterations (dual time method) UNST_INT_ITER= 1000 % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 180 -% -% Mach number MACH_NUMBER = 0.15 MACH_MOTION = 0.15 -% -% Fix the value of the density and viscosity of the flow FREESTREAM_OPTION = DENSITY_FS FREESTREAM_DENSITY = 1.18 VISCOSITY_MODEL = CONSTANT_VISCOSITY MU_CONSTANT = 1.82E-5 -% -% Initialization option INIT_OPTION = TD_CONDITIONS -% -% Freestream pressure and temperature FREESTREAM_PRESSURE = 2.8873220339 FREESTREAM_TEMPERATURE = 0.0085240024 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.01 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0.01 -% -% Length to compute the Reynolds number REYNOLDS_LENGTH=0.01 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) MARKER_HEATFLUX= ( Square, 0.0, UpperBeam, 0.0, RightBeam, 0.0, LowerBeam, 0.0 ) -% -% Inlet boundary marker(s) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( Inlet, 0.0085240024, 2.9330537305, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( Outlet, 2.8873220339) -% -% Euler boundary marker(s) MARKER_EULER= ( Upper, Lower ) % ------------------------ MARKER MONITORING ----------------------------------% % -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( UpperBeam, RightBeam, LowerBeam) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( UpperBeam, RightBeam, LowerBeam) % -----------------------------------------------------------------------------% @@ -223,43 +132,21 @@ MARKER_MONITORING= ( UpperBeam, RightBeam, LowerBeam) % -----------------------------------------------------------------------------% % TABULAR_FORMAT= CSV -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= results_flow -% -% Output file name (PARAVIEW, TECPLOT) VOLUME_STRUCTURE_FILENAME= results_beam -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Forces breakdown file BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Output file name (PARAVIEW, TECPLOT) SOLUTION_STRUCTURE_FILENAME= solution_beam.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart flow RESTART_STRUCTURE_FILENAME= restart_beam.dat -% -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 % -----------------------------------------------------------------------------% % --------------------------- MESH PARAMETERS ---------------------------------% % -----------------------------------------------------------------------------% % -% Maximum number of iterations when solving the mesh update DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Steps in the mesh updating DEFORM_NONLINEAR_ITER= 1 % -----------------------------------------------------------------------------% @@ -268,74 +155,32 @@ DEFORM_NONLINEAR_ITER= 1 % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) FSI_LINEAR_SOLVER_STRUC= FGMRES -% -% Preconditioner for the structural problem FSI_LINEAR_SOLVER_PREC_STRUC= LU_SGS -% -% Min error of the linear solver for the implicit formulation FSI_LINEAR_SOLVER_ERROR_STRUC= 1E-7 -% -% Number of iterations for the linear solver for the structural problem FSI_LINEAR_SOLVER_ITER_STRUC = 1000 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 1.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% - diff --git a/TestCases/fea_fsi/StatBeam_3d/configBeam_3d.cfg b/TestCases/fea_fsi/StatBeam_3d/configBeam_3d.cfg index 88be065e4a6..926495e2602 100644 --- a/TestCases/fea_fsi/StatBeam_3d/configBeam_3d.cfg +++ b/TestCases/fea_fsi/StatBeam_3d/configBeam_3d.cfg @@ -4,7 +4,7 @@ % Author: Ruben Sanchez Fernandez % % Institution: Imperial College London % % Date: 2016.02.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= ELASTICITY diff --git a/TestCases/fea_fsi/WallChannel_2d/configFEA.cfg b/TestCases/fea_fsi/WallChannel_2d/configFEA.cfg index d2234449cdc..7486d208bf3 100644 --- a/TestCases/fea_fsi/WallChannel_2d/configFEA.cfg +++ b/TestCases/fea_fsi/WallChannel_2d/configFEA.cfg @@ -50,4 +50,3 @@ OUTPUT_WRT_FREQ= 1 VOLUME_FILENAME= results_wall RESTART_FILENAME= solution_wall.dat SOLUTION_FILENAME= solution_wall.dat - diff --git a/TestCases/fea_fsi/WallChannel_2d/configFSI.cfg b/TestCases/fea_fsi/WallChannel_2d/configFSI.cfg index 1063a65d96d..5cac2231c19 100644 --- a/TestCases/fea_fsi/WallChannel_2d/configFSI.cfg +++ b/TestCases/fea_fsi/WallChannel_2d/configFSI.cfg @@ -22,4 +22,3 @@ OUTPUT_FILES=(RESTART_ASCII, PARAVIEW) OUTER_ITER = 5 % Only required by the python scripts MATH_PROBLEM = DIRECT - diff --git a/TestCases/fea_fsi/WallChannel_2d/configFlow.cfg b/TestCases/fea_fsi/WallChannel_2d/configFlow.cfg index b2fae4869db..e14c17898bd 100644 --- a/TestCases/fea_fsi/WallChannel_2d/configFlow.cfg +++ b/TestCases/fea_fsi/WallChannel_2d/configFlow.cfg @@ -77,4 +77,3 @@ OUTPUT_WRT_FREQ= 1 VOLUME_FILENAME= results_flow RESTART_FILENAME= solution_flow.dat SOLUTION_FILENAME= solution_flow.dat - diff --git a/TestCases/fea_fsi/dyn_fsi/configFlow.cfg b/TestCases/fea_fsi/dyn_fsi/configFlow.cfg index 8f81173a29a..b2f12dfcf10 100644 --- a/TestCases/fea_fsi/dyn_fsi/configFlow.cfg +++ b/TestCases/fea_fsi/dyn_fsi/configFlow.cfg @@ -12,7 +12,6 @@ MARKER_DEFORM_MESH= ( wallUpwF, wallDownF, wallUpperF ) INNER_ITER=50 - MATH_PROBLEM= DIRECT READ_BINARY_RESTART= NO diff --git a/TestCases/fea_fsi/stat_fsi/config.cfg b/TestCases/fea_fsi/stat_fsi/config.cfg index 8e74726c7a9..029d94ef928 100755 --- a/TestCases/fea_fsi/stat_fsi/config.cfg +++ b/TestCases/fea_fsi/stat_fsi/config.cfg @@ -22,4 +22,3 @@ RESTART_ITER = 0 TIME_DOMAIN = NO OUTER_ITER = 8 - diff --git a/TestCases/fea_fsi/stat_fsi/configFEA.cfg b/TestCases/fea_fsi/stat_fsi/configFEA.cfg index 8f291ad93f5..3ce2b13322c 100755 --- a/TestCases/fea_fsi/stat_fsi/configFEA.cfg +++ b/TestCases/fea_fsi/stat_fsi/configFEA.cfg @@ -9,10 +9,6 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= ELASTICITY MATH_PROBLEM= DIRECT @@ -24,7 +20,6 @@ MATERIAL_COMPRESSIBILITY= COMPRESSIBLE NONLINEAR_FEM_SOLUTION_METHOD = NEWTON_RAPHSON INNER_ITER = 10 - INCREMENTAL_LOAD = NO % --------------------------- TIME STEP ISSUES --------------------------------% @@ -66,7 +61,7 @@ POISSON_RATIO=0.4 % -------------------------- DYNAMIC SIMULATION -------------------------------% DYNAMIC_ANALYSIS= NO TIME_DISCRE_FEA= NEWMARK_IMPLICIT -% + % -------------------------- STRUCTURAL SOLVER --------------------------------% LINEAR_SOLVER = CONJUGATE_GRADIENT diff --git a/TestCases/fea_fsi/stat_fsi/configFlow.cfg b/TestCases/fea_fsi/stat_fsi/configFlow.cfg index 0fc8c53c8b5..a20f5947d7f 100755 --- a/TestCases/fea_fsi/stat_fsi/configFlow.cfg +++ b/TestCases/fea_fsi/stat_fsi/configFlow.cfg @@ -9,10 +9,6 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES KIND_TURB_MODEL= NONE @@ -63,7 +59,6 @@ MARKER_MONITORING= ( wallF ) % -------------------------- FLUID SIMULATION ---------------------------------% TIME_DOMAIN=NO -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 4.01 % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% @@ -104,10 +99,6 @@ LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-6 LINEAR_SOLVER_ITER= 2 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% - -MGLEVEL= 0 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% CONV_NUM_METHOD_FLOW= ROE diff --git a/TestCases/fea_topology/config.cfg b/TestCases/fea_topology/config.cfg index e652c0d4f48..ad1e25dae7a 100644 --- a/TestCases/fea_topology/config.cfg +++ b/TestCases/fea_topology/config.cfg @@ -2,7 +2,7 @@ % SU2 configuration file % % Case description: 4 by 1 cantilever optim. for stiff. @ 50% material % % Institution: Imperial College London % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Optimization @@ -105,5 +105,4 @@ RESTART_ADJ_FILENAME= restart_adj.dat % or delete them to use best practice values. PARMETIS_TOLERANCE= 0.05 PARMETIS_EDGE_WEIGHT= 0 -PARMETIS_POINT_WEIGHT= 1 - +PARMETIS_POINT_WEIGHT= 1 \ No newline at end of file diff --git a/TestCases/fea_topology/quick_start/settings_compliance.cfg b/TestCases/fea_topology/quick_start/settings_compliance.cfg index a535068f4bf..d9cf275df75 100644 --- a/TestCases/fea_topology/quick_start/settings_compliance.cfg +++ b/TestCases/fea_topology/quick_start/settings_compliance.cfg @@ -48,4 +48,3 @@ TABULAR_FORMAT= CSV SOLUTION_FILENAME= direct.dat RESTART_FILENAME= direct.dat OUTPUT_FILES= PARAVIEW - diff --git a/TestCases/fea_topology/quick_start/settings_volfrac.cfg b/TestCases/fea_topology/quick_start/settings_volfrac.cfg index 2319a83c041..a3ec2ebc3cb 100644 --- a/TestCases/fea_topology/quick_start/settings_volfrac.cfg +++ b/TestCases/fea_topology/quick_start/settings_volfrac.cfg @@ -47,5 +47,4 @@ MESH_FORMAT= SU2 TABULAR_FORMAT= CSV SOLUTION_FILENAME= direct.dat RESTART_FILENAME= direct.dat -OUTPUT_FILES= PARAVIEW - +OUTPUT_FILES= PARAVIEW \ No newline at end of file diff --git a/TestCases/fixed_cl/naca0012/inv_NACA0012.cfg b/TestCases/fixed_cl/naca0012/inv_NACA0012.cfg index 6d7d0310e1a..6bd807aa5e2 100644 --- a/TestCases/fixed_cl/naca0012/inv_NACA0012.cfg +++ b/TestCases/fixed_cl/naca0012/inv_NACA0012.cfg @@ -5,350 +5,137 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% READ_BINARY_RESTART=NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % -------------------------- CL DRIVER DEFINITION -----------------------------% % -% Activate fixed lift mode (specify a CL instead of AoA, NO/YES) FIXED_CL_MODE= YES -% -% Target coefficient of lift for fixed lift mode (0.0 by default) TARGET_CL= 0.30 -% -% Estimation of dCL/dAlpha (0.2 per degree by default) DCL_DALPHA= 0.2 -% -% Maximum number of iterations between AoA updates UPDATE_AOA_ITER_LIMIT= 20 -% -% Number of iterations to evaluate dCL/dAlpha at the end of the simulation ITER_DCL_DALPHA= 50 -% -% Evaluate DeltaC_D/DeltaC_X during runtime (YES) or use the provided numbers (NO). EVAL_DOF_DCX= YES % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Number of total iterations ITER= 1000 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE, AIRFOIL) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT_2D ( FFD_Box_ID, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_Box_ID, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_Box_ID, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - FOURIER ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), index, cos(0)/sin(1) ) -% - SPHERICAL ( ControlPoint_Index, Theta_Disp, R_Disp ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.01 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_NACA0012_inv.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_NACA0012_inv.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) -% OUTPUT_FILES= (RESTART_ASCII) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.328188 ) * 0.001; ( MOMENT_Z > 0.034068 ) * 0.001; ( AIRFOIL_THICKNESS > 0.11 ) * 0.001 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/fixed_cl/naca0012/inv_NACA0012_ContAdj.cfg b/TestCases/fixed_cl/naca0012/inv_NACA0012_ContAdj.cfg index e2abc971bb9..a48b39230c5 100644 --- a/TestCases/fixed_cl/naca0012/inv_NACA0012_ContAdj.cfg +++ b/TestCases/fixed_cl/naca0012/inv_NACA0012_ContAdj.cfg @@ -5,353 +5,138 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% -OUTPUT_FILES= (RESTART_ASCII) + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % -------------------------- CL DRIVER DEFINITION ----------------------------% % -% Activate fixed lift mode (specify a CL instead of AoA, NO/YES) FIXED_CL_MODE= YES -% -% Target coefficient of lift for fixed lift mode (0.0 by default) TARGET_CL= 0.30 -% -% Maximum number of iterations between AoA updates UPDATE_AOA_ITER_LIMIT= 20 -% -% Number of iterations to evaluate dCL/dAlpha at the end of the simulation ITER_DCL_DALPHA= 250 -% -% Estimation of dCL/dAlpha (0.2 per degree by default) DCL_DALPHA= 0.2 -% -% Estimation dCD/dCL (0.07 by default) DCD_DCL_VALUE= 0.07 -% -% Evaluate DeltaC_D/DeltaC_X during runtime (YES) or use the provided numbers (NO). EVAL_DOF_DCX= YES % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Number of total iterations ITER= 500 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE, AIRFOIL) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT_2D ( FFD_Box_ID, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_Box_ID, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_Box_ID, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - FOURIER ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), index, cos(0)/sin(1) ) -% - SPHERICAL ( ControlPoint_Index, Theta_Disp, R_Disp ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.01 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -14 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_NACA0012_inv.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_NACA0012_inv.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output SCREEN_OUTPUT = (INNER_ITER, RMS_ADJ_DENSITY, RMS_ADJ_ENERGY, SENS_GEO, SENS_AOA) +OUTPUT_FILES= (RESTART_ASCII) % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.328188 ) * 0.001; ( MOMENT_Z > 0.034068 ) * 0.001; ( AIRFOIL_THICKNESS > 0.11 ) * 0.001 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/grad_smooth/naca0012/inv_NACA0012_gradsmooth.cfg b/TestCases/grad_smooth/naca0012/inv_NACA0012_gradsmooth.cfg index c251fbfcd6b..7bcc4043e92 100644 --- a/TestCases/grad_smooth/naca0012/inv_NACA0012_gradsmooth.cfg +++ b/TestCases/grad_smooth/naca0012/inv_NACA0012_gradsmooth.cfg @@ -4,7 +4,7 @@ % Case description: Sobolev smoothing for gradient on the NACA 0012 airfoil % % Author: Thomas Dick (TU Kaiserslautern) % % Date: 11.11.2021 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -161,5 +161,4 @@ VOLUME_ADJ_FILENAME= adjoint GRAD_OBJFUNC_FILENAME= of_grad.dat SURFACE_FILENAME= surface_flow SURFACE_ADJ_FILENAME= surface_adjoint -READ_BINARY_RESTART= YES - +READ_BINARY_RESTART= YES \ No newline at end of file diff --git a/TestCases/grad_smooth/oneram6/ONERAM6_gradsmooth.cfg b/TestCases/grad_smooth/oneram6/ONERAM6_gradsmooth.cfg index 41174ed4d1f..a6360efc1ba 100644 --- a/TestCases/grad_smooth/oneram6/ONERAM6_gradsmooth.cfg +++ b/TestCases/grad_smooth/oneram6/ONERAM6_gradsmooth.cfg @@ -4,7 +4,7 @@ % Case description: Sobolev smoothing for gradient on the ONERA M6 wing % % Author: Thomas Dick (TU Kaiserslautern) % % Date: 11.11.2021 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -240,4 +240,3 @@ GRAD_OBJFUNC_FILENAME= of_grad.dat SURFACE_FILENAME= surface_flow SURFACE_ADJ_FILENAME= surface_adjoint READ_BINARY_RESTART= YES - diff --git a/TestCases/gust/inv_gust_NACA0012.cfg b/TestCases/gust/inv_gust_NACA0012.cfg index 3dbc52d8e03..cd689f7afad 100644 --- a/TestCases/gust/inv_gust_NACA0012.cfg +++ b/TestCases/gust/inv_gust_NACA0012.cfg @@ -5,79 +5,42 @@ % Author: Santiago Padron % % Institution: Stanford University % % Date: 06-26-2015 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K, 518.67 R by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional -% moment (m or in) REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Enable time domain TIME_DOMAIN=YES -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, SPECTRAL_METHOD) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.001469304 % Corresponds to a ds of 0.2 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 50.0 -% -% Number of internal iterations (dual time method) INNER_ITER= 100 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, RIGID_MOTION, DEFORMING, ROTATING_FRAME, -% MOVING_WALL, AEROELASTIC, ELASTICITY, -% EXTERNAL, AEROELASTIC_RIGID_MOTION) GRID_MOVEMENT= GUST -% -% Motion mach number (non-dimensional). Used for initializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.2 % --------------------------- GUST SIMULATION ---------------------------------% @@ -86,178 +49,83 @@ MACH_MOTION= 0.2 % and the GRID_MOVEMENT_KIND to be set to GUST or any of the other options. % Apply a wind gust (NO, YES) WIND_GUST = YES -% -% Type of gust (NONE, TOP_HAT, SINE, ONE_M_COSINE, VORTEX, EOG) GUST_TYPE = SINE -% -% Direction of the gust (X_DIR or Y_DIR) GUST_DIR = Y_DIR -% -% Gust wavelenght (meters) GUST_WAVELENGTH= 25.0 -% -% Number of gust periods GUST_PERIODS= 1.0 -% -% Gust amplitude (m/s) GUST_AMPL= 2.37668682 % Corresponds to 2 deg AoA. % -% Time at which to begin the gust (sec) GUST_BEGIN_TIME= 0.0 -% -% Location at which the gust begins (meters) */ GUST_BEGIN_LOC= -25.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% CFL number (stating value for the adaptive CFL number) CFL_NUMBER= 10.0 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-grid levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar -% artificial dissipation) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations TIME_ITER= 401 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 0 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/harmonic_balance/HB.cfg b/TestCases/harmonic_balance/HB.cfg index 62dfb1a84b0..b124ef012b4 100644 --- a/TestCases/harmonic_balance/HB.cfg +++ b/TestCases/harmonic_balance/HB.cfg @@ -5,369 +5,128 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.20.09 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION,FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, LINEARIZED, ONE_SHOT_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, HARMONIC_BALANCE) TIME_MARCHING= HARMONIC_BALANCE -% -% Number of time instances (Zones) TIME_INSTANCES= 3 -% -% Period of Harmonic Balance simulation HB_PERIOD= 0.05891103435003335 -% -% List of frequencies to be resolved for harmonic balance method OMEGA_HB = (0,106.69842,-106.69842) -% -% Time Step for dual time stepping simulations (s) -%UNST_TIMESTEP= 0.0023555025613149587 -% 24 steps per period: 0.0024536485013697488 -% 25 steps per period: 0.0023555025613149587 -% -% Total Physical Time for dual time stepping simulations (s) -%UNST_TIME= 2.0 -% 10 periods: 0.5888756403287397 -% -% Number of internal iterations (dual time method) -%UNST_INT_ITER= 100 -% -% Type of mesh motion (NONE, FLUTTER, RIGID_ROTATION, RIGID_PITCHING) + GRID_MOVEMENT= RIGID_MOTION -% MOTION_ORIGIN= ( 0.248 0.0 0.0 ) - PITCHING_OMEGA= ( 0.0 0.0 106.69842) - PITCHING_AMPL= ( 0.0 0.0 1.01 ) % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.796 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 70000 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level -MG_PRE_SMOOTH= ( 2, 2, 2, 2 ) -% -% Multi-Grid PostSmoothing Level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 1.0 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) -%TIME_DISCRE_FLOW= RUNGE-KUTTA_EXPLICIT TIME_DISCRE_FLOW= EULER_IMPLICIT -% + % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.6 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= NO + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 1.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA64A010_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% -% + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 1, 0.75 ) -%( 30, 1.0 | airfoil | 1, 0.5 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.5 ); ( 30, 1.0 | airfoil | 0, 0.75 ) -%( 30, 1.0 | airfoil | 1, 0.5 ) - - diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/davis.cfg b/TestCases/harmonic_balance/hb_rans_preconditioning/davis.cfg index 0010ca1e28a..279b7d9d046 100644 --- a/TestCases/harmonic_balance/hb_rans_preconditioning/davis.cfg +++ b/TestCases/harmonic_balance/hb_rans_preconditioning/davis.cfg @@ -5,239 +5,103 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.20.09 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION,FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, LINEARIZED, ONE_SHOT_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, HARMONIC_BALANCE) TIME_MARCHING= HARMONIC_BALANCE -% -% Number of time instances (Zones) TIME_INSTANCES= 7 -% -% Precondition harmonic balance source term (NO, YES) HB_PRECONDITION= YES -% -% Period of Harmonic Balance simulation HB_PERIOD= 0.057465 -% -% List of frequencies to be resolved for harmonic balance method OMEGA_HB = (0,109.339, 218.678, 328.017,-109.339, -218.678, -328.017) -% -% -% Type of mesh motion (NONE, FLUTTER, RIGID_ROTATION, RIGID_PITCHING) + GRID_MOVEMENT= RIGID_MOTION -% MOTION_ORIGIN= ( 0.25 0.0 0.0) - PITCHING_OMEGA= ( 0.0 0.0 109.933 ) - PITCHING_AMPL= ( 0.0 0.0 1.01 ) % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.796 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 12.56E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 0.992 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 3.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 70000 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level -MG_PRE_SMOOTH= ( 2, 2, 2, 2 ) -% -% Multi-Grid PostSmoothing Level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 1.0 - % ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% % -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the Venkat's limiter (upwind scheme). A larger values decrease -% the extent of limiting, values approaching zero cause -% lower-order approximation to the solution (0.05 by default) VENKAT_LIMITER_COEFF= 0.05 -% -% 2nd and 4th order artificial dissipation coefficients for -% the JST method ( 0.5, 0.02 by default ) JST_SENSOR_COEFF= ( 0.5, 0.02 ) % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n64a010_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% diff --git a/TestCases/hom_euler/InviscidVortex/2D/Quad32X32_nPoly4/InviscidVortex.cfg b/TestCases/hom_euler/InviscidVortex/2D/Quad32X32_nPoly4/InviscidVortex.cfg index eb134ab808e..36f985e82b6 100644 --- a/TestCases/hom_euler/InviscidVortex/2D/Quad32X32_nPoly4/InviscidVortex.cfg +++ b/TestCases/hom_euler/InviscidVortex/2D/Quad32X32_nPoly4/InviscidVortex.cfg @@ -7,176 +7,79 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 1.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 1.0 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ------------------------- UNSTEADY SIMULATION -------------------------------% % TIME_DOMAIN=YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) -%TIME_MARCHING= NO TIME_MARCHING= TIME_STEPPING -% -% Time Step for time accurate simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0 TIME_STEP= 2.0e-3 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 50.0 -% -% Unsteady Courant-Friedrichs-Lewy number of the finest grid UNST_CFL_NUMBER= 0.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rotation_center_x, rotation_center_y, -% rotation_center_z, rotation_angle_x-axis, rotation_angle_y-axis, -% rotation_angle_z-axis, translation_x, translation_y, translation_z, ... ) MARKER_PERIODIC= ( PeriodicBottom, PeriodicTop, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, PeriodicLeft, PeriodicRight, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.2 -% -% Number of total iterations EXT_ITER= 5000 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5 , 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) -%QUADRATURE_FACTOR_CURVED_FEM = 3.0 QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= CLASSICAL_RK4_EXPLICIT -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= CLASSICAL_RK4_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Quad32X32_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Quad32X32_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file -%SOLUTION_FILENAME= solution_flow.dat SOLUTION_FILENAME= SolInterpolFrom3rdOrder.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 40 -% diff --git a/TestCases/hom_euler/InviscidVortex/3D/nPoly2_Tets/InviscidVortex.cfg b/TestCases/hom_euler/InviscidVortex/3D/nPoly2_Tets/InviscidVortex.cfg index d28863f54f2..97ccb4efb2d 100644 --- a/TestCases/hom_euler/InviscidVortex/3D/nPoly2_Tets/InviscidVortex.cfg +++ b/TestCases/hom_euler/InviscidVortex/3D/nPoly2_Tets/InviscidVortex.cfg @@ -6,176 +6,80 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO %RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 1.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 1.0 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ------------------------- UNSTEADY SIMULATION -------------------------------% % TIME_DOMAIN=YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) -%TIME_MARCHING= NO TIME_MARCHING= TIME_STEPPING -% -% Time Step for time accurate simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0 TIME_STEP= 2.0e-3 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 50.0 -% -% Unsteady Courant-Friedrichs-Lewy number of the finest grid UNST_CFL_NUMBER= 0.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rotation_center_x, rotation_center_y, -% rotation_center_z, rotation_angle_x-axis, rotation_angle_y-axis, -% rotation_angle_z-axis, translation_x, translation_y, translation_z, ... ) MARKER_PERIODIC= ( Bottom, Top, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, Left, Right, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, Back, Front, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.2 -% -% Number of total iterations EXT_ITER= 5000 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5 , 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) -%QUADRATURE_FACTOR_CURVED_FEM = 3.0 QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= CLASSICAL_RK4_EXPLICIT -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= CLASSICAL_RK4_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Tets_nPoly2.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Tets_nPoly2.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file -%SOLUTION_FILENAME= solution_flow.dat SOLUTION_FILENAME= SolInterpolFrom3rdOrder.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 100 -% diff --git a/TestCases/hom_euler/InviscidVortex/3D/nPoly4_Tets/InviscidVortex.cfg b/TestCases/hom_euler/InviscidVortex/3D/nPoly4_Tets/InviscidVortex.cfg index 96339555967..72525894606 100644 --- a/TestCases/hom_euler/InviscidVortex/3D/nPoly4_Tets/InviscidVortex.cfg +++ b/TestCases/hom_euler/InviscidVortex/3D/nPoly4_Tets/InviscidVortex.cfg @@ -6,176 +6,79 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 1.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 1.0 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ------------------------- UNSTEADY SIMULATION -------------------------------% % TIME_DOMAIN=YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) -%TIME_MARCHING= NO TIME_MARCHING= TIME_STEPPING -% -% Time Step for time accurate simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0 TIME_STEP= 1.0e-3 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 50.0 -% -% Unsteady Courant-Friedrichs-Lewy number of the finest grid UNST_CFL_NUMBER= 0.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rotation_center_x, rotation_center_y, -% rotation_center_z, rotation_angle_x-axis, rotation_angle_y-axis, -% rotation_angle_z-axis, translation_x, translation_y, translation_z, ... ) MARKER_PERIODIC= ( Bottom, Top, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, Left, Right, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, Back, Front, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.2 -% -% Number of total iterations EXT_ITER= 5000 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5 , 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) -%QUADRATURE_FACTOR_CURVED_FEM = 3.0 QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= CLASSICAL_RK4_EXPLICIT -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= CLASSICAL_RK4_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Tets_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Tets_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file -%SOLUTION_FILENAME= solution_flow.dat SOLUTION_FILENAME= SolInterpolFrom3rdOrder.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 100 -% diff --git a/TestCases/hom_euler/NACA0012_3D_Hybrid_4thOrder/fem_NACA0012.cfg b/TestCases/hom_euler/NACA0012_3D_Hybrid_4thOrder/fem_NACA0012.cfg index 7cc900eab4e..13f2b44354d 100644 --- a/TestCases/hom_euler/NACA0012_3D_Hybrid_4thOrder/fem_NACA0012.cfg +++ b/TestCases/hom_euler/NACA0012_3D_Hybrid_4thOrder/fem_NACA0012.cfg @@ -5,172 +5,84 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.50 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( Airfoil, Symmetry0, Symmetry1 ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( Airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( Airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( Airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.2 -% -% Number of total iterations EXT_ITER= 1000 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5 , 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667 , 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= RUNGE-KUTTA_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= NACA0012_3D_nPoly3.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= NACA0012_3D_nPoly3.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 2500 -% diff --git a/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012.cfg b/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012.cfg index 5ab6174533d..87d1acf4338 100644 --- a/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012.cfg +++ b/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012.cfg @@ -5,180 +5,87 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO %RESTART_SOL= YES -% % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % % Mach number (non-dimensional, based on the free-stream values) -%MACH_NUMBER= 0.63 MACH_NUMBER= 0.3 -% -% Angle of attack (degrees) AoA= 2.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.1 -% -% Number of total iterations ITER= 40000 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5 , 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) -%QUADRATURE_FACTOR_CURVED_FEM = 3.0 QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= RUNGE-KUTTA_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Naca0012_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Naca0012_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file -%SOLUTION_FILENAME= solution_flow.dat SOLUTION_FILENAME= solution_flow.dat_FullyConverged -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50000 -% -% -% Screen output fields SCREEN_OUTPUT = (RMS_DENSITY, RMS_MOMENTUM-X, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012_reg.cfg b/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012_reg.cfg index 2a1a25f69ec..f340cedd490 100644 --- a/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012_reg.cfg +++ b/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012_reg.cfg @@ -5,183 +5,87 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) -%RESTART_SOL= NO RESTART_SOL= YES READ_BINARY_RESTART= NO -% % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) -%MACH_NUMBER= 0.63 MACH_NUMBER= 0.3 -% -% Angle of attack (degrees) AoA= 2.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.1 -% -% Number of total iterations ITER= 11 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5 , 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) -%QUADRATURE_FACTOR_CURVED_FEM = 3.0 QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Use the lumped mass matrix for steady DGFEM computations (NO, YES) USE_LUMPED_MASSMATRIX_DGFEM= YES -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= RUNGE-KUTTA_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Naca0012_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Naca0012_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_naca0012.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50000 -% -% -% Screen output fields SCREEN_OUTPUT=(INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/hom_euler/Ringleb/Quad100X50_nPoly3/Ringleb.cfg b/TestCases/hom_euler/Ringleb/Quad100X50_nPoly3/Ringleb.cfg index ef852f53a50..5510644aec0 100644 --- a/TestCases/hom_euler/Ringleb/Quad100X50_nPoly3/Ringleb.cfg +++ b/TestCases/hom_euler/Ringleb/Quad100X50_nPoly3/Ringleb.cfg @@ -4,171 +4,78 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO %RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) -%MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries -%MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Quad100X50_nPoly3.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Quad100X50_nPoly3.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/Quad100X50_nPoly3/Ringleb_WallBC.cfg b/TestCases/hom_euler/Ringleb/Quad100X50_nPoly3/Ringleb_WallBC.cfg index 2e49e978a93..2777cd8b4e5 100644 --- a/TestCases/hom_euler/Ringleb/Quad100X50_nPoly3/Ringleb_WallBC.cfg +++ b/TestCases/hom_euler/Ringleb/Quad100X50_nPoly3/Ringleb_WallBC.cfg @@ -4,171 +4,78 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) -%MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Quad100X50_nPoly3.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Quad100X50_nPoly3.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/Quad100X50_nPoly4/Ringleb.cfg b/TestCases/hom_euler/Ringleb/Quad100X50_nPoly4/Ringleb.cfg index 63c86040241..7b117f6dbfa 100644 --- a/TestCases/hom_euler/Ringleb/Quad100X50_nPoly4/Ringleb.cfg +++ b/TestCases/hom_euler/Ringleb/Quad100X50_nPoly4/Ringleb.cfg @@ -4,171 +4,77 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) -%MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries -%MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Quad100X50_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Quad100X50_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/Quad100X50_nPoly4/Ringleb_WallBC.cfg b/TestCases/hom_euler/Ringleb/Quad100X50_nPoly4/Ringleb_WallBC.cfg index 4ebb364b64f..071154a66e1 100644 --- a/TestCases/hom_euler/Ringleb/Quad100X50_nPoly4/Ringleb_WallBC.cfg +++ b/TestCases/hom_euler/Ringleb/Quad100X50_nPoly4/Ringleb_WallBC.cfg @@ -4,171 +4,78 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) -%MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Quad100X50_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Quad100X50_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/Quad200X100_nPoly4/Ringleb.cfg b/TestCases/hom_euler/Ringleb/Quad200X100_nPoly4/Ringleb.cfg index f243de834f1..fb801004899 100644 --- a/TestCases/hom_euler/Ringleb/Quad200X100_nPoly4/Ringleb.cfg +++ b/TestCases/hom_euler/Ringleb/Quad200X100_nPoly4/Ringleb.cfg @@ -4,171 +4,77 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) -%MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries -%MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Quad200X100_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Quad200X100_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/Quad200X100_nPoly4/Ringleb_WallBC.cfg b/TestCases/hom_euler/Ringleb/Quad200X100_nPoly4/Ringleb_WallBC.cfg index a7cae8c8a0e..cb5db14c9f2 100644 --- a/TestCases/hom_euler/Ringleb/Quad200X100_nPoly4/Ringleb_WallBC.cfg +++ b/TestCases/hom_euler/Ringleb/Quad200X100_nPoly4/Ringleb_WallBC.cfg @@ -4,171 +4,78 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) -%MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Quad200X100_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Quad200X100_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/Quad50X50_HalfGeom_nPoly4/Ringleb.cfg b/TestCases/hom_euler/Ringleb/Quad50X50_HalfGeom_nPoly4/Ringleb.cfg index 47ef84a4909..885873e4d23 100644 --- a/TestCases/hom_euler/Ringleb/Quad50X50_HalfGeom_nPoly4/Ringleb.cfg +++ b/TestCases/hom_euler/Ringleb/Quad50X50_HalfGeom_nPoly4/Ringleb.cfg @@ -4,171 +4,77 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) -%MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries -%MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Quad50X50_HalfGeom_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Quad50X50_HalfGeom_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/Quad50X50_HalfGeom_nPoly4/Ringleb_WallBC.cfg b/TestCases/hom_euler/Ringleb/Quad50X50_HalfGeom_nPoly4/Ringleb_WallBC.cfg index b615c7acf33..090d5249bd8 100644 --- a/TestCases/hom_euler/Ringleb/Quad50X50_HalfGeom_nPoly4/Ringleb_WallBC.cfg +++ b/TestCases/hom_euler/Ringleb/Quad50X50_HalfGeom_nPoly4/Ringleb_WallBC.cfg @@ -4,171 +4,78 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) -%MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= Quad50X50_HalfGeom_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Quad50X50_HalfGeom_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/QuadDominantUnstr100X100_HalfGeom_nPoly4/Ringleb.cfg b/TestCases/hom_euler/Ringleb/QuadDominantUnstr100X100_HalfGeom_nPoly4/Ringleb.cfg index ae18e91cb01..c9220619fca 100644 --- a/TestCases/hom_euler/Ringleb/QuadDominantUnstr100X100_HalfGeom_nPoly4/Ringleb.cfg +++ b/TestCases/hom_euler/Ringleb/QuadDominantUnstr100X100_HalfGeom_nPoly4/Ringleb.cfg @@ -4,171 +4,77 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) -%MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries -%MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= QuadDominantUnstr100X100_HalfGeom_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= QuadDominantUnstr100X100_HalfGeom_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/QuadDominantUnstr100X100_HalfGeom_nPoly4/Ringleb_WallBC.cfg b/TestCases/hom_euler/Ringleb/QuadDominantUnstr100X100_HalfGeom_nPoly4/Ringleb_WallBC.cfg index 989c9017e5b..392f6199857 100644 --- a/TestCases/hom_euler/Ringleb/QuadDominantUnstr100X100_HalfGeom_nPoly4/Ringleb_WallBC.cfg +++ b/TestCases/hom_euler/Ringleb/QuadDominantUnstr100X100_HalfGeom_nPoly4/Ringleb_WallBC.cfg @@ -4,171 +4,78 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) -%MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= QuadDominantUnstr100X100_HalfGeom_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= QuadDominantUnstr100X100_HalfGeom_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/Triangle50X50_HalfGeom_nPoly4/Ringleb.cfg b/TestCases/hom_euler/Ringleb/Triangle50X50_HalfGeom_nPoly4/Ringleb.cfg index 17b35beb82f..db2e805fab2 100644 --- a/TestCases/hom_euler/Ringleb/Triangle50X50_HalfGeom_nPoly4/Ringleb.cfg +++ b/TestCases/hom_euler/Ringleb/Triangle50X50_HalfGeom_nPoly4/Ringleb.cfg @@ -4,171 +4,77 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) -%MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries -%MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= TriangleUnstr50X50_HalfGeom_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= TriangleUnstr50X50_HalfGeom_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Ringleb/Triangle50X50_HalfGeom_nPoly4/Ringleb_WallBC.cfg b/TestCases/hom_euler/Ringleb/Triangle50X50_HalfGeom_nPoly4/Ringleb_WallBC.cfg index 50f09adc21a..2178ed57e75 100644 --- a/TestCases/hom_euler/Ringleb/Triangle50X50_HalfGeom_nPoly4/Ringleb_WallBC.cfg +++ b/TestCases/hom_euler/Ringleb/Triangle50X50_HalfGeom_nPoly4/Ringleb_WallBC.cfg @@ -4,171 +4,78 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries MARKER_CUSTOM= ( BottomBoundary, TopBoundary ) -%MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 10000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= TriangleUnstr50X50_HalfGeom_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= TriangleUnstr50X50_HalfGeom_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/Sphere_4thOrder_Hexa/fem_Sphere.cfg b/TestCases/hom_euler/Sphere_4thOrder_Hexa/fem_Sphere.cfg index ddff9cd0bf0..0984ff6b139 100644 --- a/TestCases/hom_euler/Sphere_4thOrder_Hexa/fem_Sphere.cfg +++ b/TestCases/hom_euler/Sphere_4thOrder_Hexa/fem_Sphere.cfg @@ -5,172 +5,84 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( Sphere ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( Sphere ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( Sphere ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( Sphere ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.2 -% -% Number of total iterations EXT_ITER= 100 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) -% QUADRATURE_FACTOR_CURVED_FEM = 3.0 QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= RUNGE-KUTTA_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SphereCoarse_4thOrder.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SphereCoarse_4thOrder.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% diff --git a/TestCases/hom_euler/Sphere_4thOrder_Tet/fem_Sphere.cfg b/TestCases/hom_euler/Sphere_4thOrder_Tet/fem_Sphere.cfg index fd8c8f50147..495aab30a6a 100644 --- a/TestCases/hom_euler/Sphere_4thOrder_Tet/fem_Sphere.cfg +++ b/TestCases/hom_euler/Sphere_4thOrder_Tet/fem_Sphere.cfg @@ -5,176 +5,84 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( Sphere ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( Sphere ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( Sphere ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( Sphere ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.2 -% -% Number of total iterations EXT_ITER= 400 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5 , 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) -%QUADRATURE_FACTOR_CURVED_FEM = 3.0 QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= RUNGE-KUTTA_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -%MESH_FILENAME= SphereNPoly3.su2 -MESH_FILENAME= Sphere_4thOrder.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= Sphere_4thOrder.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file -%SOLUTION_FILENAME= solution_flow.dat SOLUTION_FILENAME= SolInterpolFrom3rdOrder.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel.cfg index 04b8b30643f..384960cd63c 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel.cfg @@ -5,183 +5,85 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LowerWall, UpperWall ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( Inlet, 300.0, 120193.0, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( Outlet, 101325.0 ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LowerWall ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LowerWall ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LowerWall ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 180000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SubsonicChannel_nPoly1.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SubsonicChannel_nPoly1.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel_Farfield.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel_Farfield.cfg index 0d16c30adc5..64811ea7125 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel_Farfield.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel_Farfield.cfg @@ -5,176 +5,84 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LowerWall, UpperWall ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Inlet, Outlet ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LowerWall ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LowerWall ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LowerWall ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 180000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SubsonicChannel_nPoly1.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SubsonicChannel_nPoly1.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel.cfg index 6a883ae3f88..72873ff0d2b 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel.cfg @@ -5,183 +5,86 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO %RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LowerWall, UpperWall ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( Inlet, 300.0, 120193.0, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( Outlet, 101325.0 ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LowerWall ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LowerWall ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LowerWall ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 180000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SubsonicChannel_nPoly2.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SubsonicChannel_nPoly2.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel_Farfield.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel_Farfield.cfg index 226031ccf28..73bc5b5b02b 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel_Farfield.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel_Farfield.cfg @@ -5,176 +5,83 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LowerWall, UpperWall ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Inlet, Outlet ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LowerWall ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LowerWall ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LowerWall ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 180000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SubsonicChannel_nPoly2.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SubsonicChannel_nPoly2.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel.cfg index 63139113bba..3c9f10b0afc 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel.cfg @@ -5,183 +5,85 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LowerWall, UpperWall ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( Inlet, 300.0, 120193.0, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( Outlet, 101325.0 ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LowerWall ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LowerWall ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LowerWall ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 180000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SubsonicChannel_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SubsonicChannel_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel_Farfield.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel_Farfield.cfg index e1e0b18d4c5..88c753a0bf2 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel_Farfield.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel_Farfield.cfg @@ -5,176 +5,82 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH_MOMENT= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( LowerWall, UpperWall ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Inlet, Outlet ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LowerWall ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LowerWall ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LowerWall ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.5 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations EXT_ITER= 180000 -%EXT_ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -%RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SubsonicChannel_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SubsonicChannel_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/hom_navierstokes/CylinderViscous/nPoly3/fem_Cylinder_reg.cfg b/TestCases/hom_navierstokes/CylinderViscous/nPoly3/fem_Cylinder_reg.cfg index cff1ce4c7ed..6af8bc91e95 100644 --- a/TestCases/hom_navierstokes/CylinderViscous/nPoly3/fem_Cylinder_reg.cfg +++ b/TestCases/hom_navierstokes/CylinderViscous/nPoly3/fem_Cylinder_reg.cfg @@ -5,176 +5,86 @@ % Author: Edwin van der Weide % % Institution: University of Twente % % Date: 2016.07.15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_NAVIER_STOKES -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 40 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 1.0 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE -% + % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( Cylinder, 0.0 ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( Cylinder ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( Cylinder ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( Cylinder ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.05 -% -% Number of total iterations ITER= 11 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -% -% Use the lumped mass matrix for steady DGFEM computations (NO, YES) USE_LUMPED_MASSMATRIX_DGFEM= YES -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% + % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= CylinderViscous_nPoly3.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= CylinderViscous_nPoly3.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/hom_navierstokes/FlatPlate/nPoly4/lam_flatplate_reg.cfg b/TestCases/hom_navierstokes/FlatPlate/nPoly4/lam_flatplate_reg.cfg index e59db6fc51d..f06e96808a9 100644 --- a/TestCases/hom_navierstokes/FlatPlate/nPoly4/lam_flatplate_reg.cfg +++ b/TestCases/hom_navierstokes/FlatPlate/nPoly4/lam_flatplate_reg.cfg @@ -5,185 +5,82 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.09.30 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_NAVIER_STOKES -% -% Specify turbulence model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Angle of attack (degrees, only for compressible flows) AoA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 297.62 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 1301233.166 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 0.3048 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0.3048 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX= ( wall, 0.0 ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( inlet, 300.0, 100000.0, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 97250.0, farfield, 97250.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Number of total iterations ITER= 26 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -% -% Factor for the symmetrizing terms in the DG FEM discretization (1.0 by default) THETA_INTERIOR_PENALTY_DG_FEM = 1.0 -% -% Use the lumped mass matrix for steady DGFEM computations (NO, YES) USE_LUMPED_MASSMATRIX_DGFEM= YES -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) -%TIME_DISCRE_FEM_FLOW= CLASSICAL_RK4_EXPLICIT TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_flatplate_64x64_p4.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) - diff --git a/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg.cfg b/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg.cfg index 73cbbdafd59..77f351ca468 100644 --- a/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg.cfg +++ b/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg.cfg @@ -5,178 +5,86 @@ % Author: Edwin van der Weide % % Institution: University of Twente % % Date: 2016.07.15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_NAVIER_STOKES -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 40 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 1.0 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 3.141592654 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE -% + % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( Sphere, 0.0 ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( Sphere ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( Sphere ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( Sphere ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.15 -% -% Number of total iterations ITER= 11 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -% -% Use the lumped mass matrix for steady DGFEM computations (NO, YES) USE_LUMPED_MASSMATRIX_DGFEM= YES -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% + % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SphereViscous_QuadDominant_Coarse_nPoly3.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SphereViscous_QuadDominant_Coarse_nPoly3.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -%SOLUTION_FILENAME= InterpolFromNPoly1.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 2500 -% -% -% Screen output SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg_ADER.cfg b/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg_ADER.cfg index 1b6ae5d3117..6ad166bb421 100644 --- a/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg_ADER.cfg +++ b/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg_ADER.cfg @@ -5,201 +5,97 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_NAVIER_STOKES -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) %RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 40 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 1.0 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 3.141592654 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( Sphere, 0.0 ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( Sphere ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( Sphere ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( Sphere ) % ------------------------- UNSTEADY SIMULATION -------------------------------% % TIME_DOMAIN=YES -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) TIME_MARCHING= TIME_STEPPING -% -% Time Step for time accurate simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0 TIME_STEP= 2.0e-6 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 50.0 -% -% Unsteady Courant-Friedrichs-Lewy number of the finest grid UNST_CFL_NUMBER= 0.15 % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.125 -% -% Number of total iterations TIME_ITER= 11 % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= ADER_DG -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= ADER_DG -% -% Number of time DOFs for the predictor step of ADER-DG (2 by default) TIME_DOFS_ADER_DG= 3 -% Factor applied during quadrature in time for ADER-DG. (2.0 by default) QUADRATURE_FACTOR_TIME_ADER_DG = 2.0 -% -% Type of discretization used in the predictor step of ADER-DG (ADER_ALIASED_PREDICTOR by default) ADER_PREDICTOR= ADER_ALIASED_PREDICTOR -%ADER_PREDICTOR= ADER_NON_ALIASED_PREDICTOR -% Number of time levels for time accurate local time stepping. (1 by default, max. allowed 15) LEVELS_TIME_ACCURATE_LTS= 4 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SphereViscous_QuadDominant_Coarse_nPoly3.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SphereViscous_QuadDominant_Coarse_nPoly3.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output SCREEN_OUTPUT = (TIME_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) - diff --git a/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder.cfg b/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder.cfg index 9dd811269b9..156556b8f5f 100644 --- a/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder.cfg +++ b/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder.cfg @@ -5,195 +5,95 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_NAVIER_STOKES -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% RESTART_ITER=1 % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 100.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( Cylinder, 0.0 ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( Cylinder ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( Cylinder ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( Cylinder ) % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Enable time dependent simulation TIME_DOMAIN=YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) TIME_MARCHING= TIME_STEPPING -% -% Time Step for time accurate simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0 TIME_STEP= 1e-6 -% MAX_TIME= 50.0 -% -% Unsteady Courant-Friedrichs-Lewy number of the finest grid UNST_CFL_NUMBER= 0.05 % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.125 -% -% Number of total iterations TIME_ITER= 12 % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= CLASSICAL_RK4_EXPLICIT -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= CLASSICAL_RK4_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= CylinderViscous_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= CylinderViscous_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder_ADER.cfg b/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder_ADER.cfg index b3a86d84c14..f46bd2a6935 100644 --- a/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder_ADER.cfg +++ b/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder_ADER.cfg @@ -5,208 +5,99 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_NAVIER_STOKES -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% RESTART_ITER= 1 % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 100.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( Cylinder, 0.0 ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( Farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( Cylinder ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( Cylinder ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( Cylinder ) % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Time dependent problem TIME_DOMAIN= YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, TIME_SPECTRAL) TIME_MARCHING= TIME_STEPPING -% -% Time Step for time accurate simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0 TIME_STEP= 1.6e-5 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 50.0 -% -% Unsteady Courant-Friedrichs-Lewy number of the finest grid UNST_CFL_NUMBER= 0.05 % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.125 -% -% Number of total iterations TIME_ITER= 11 % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= ADER_DG -% -% Time discretization. Must be set equal to TIME_DISCRE_FEM_FLOW. TIME_DISCRE_FLOW= ADER_DG -% -% Number of time DOFs for the predictor step of ADER-DG (2 by default) TIME_DOFS_ADER_DG= 3 -% Factor applied during quadrature in time for ADER-DG. (2.0 by default) QUADRATURE_FACTOR_TIME_ADER_DG = 2.0 -% -% Type of discretization used in the predictor step of ADER-DG (ADER_ALIASED_PREDICTOR by default) ADER_PREDICTOR= ADER_ALIASED_PREDICTOR -%ADER_PREDICTOR= ADER_NON_ALIASED_PREDICTOR -% Number of time levels for time accurate local time stepping. (1 by default, max. allowed 15) LEVELS_TIME_ACCURATE_LTS= 8 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= CylinderViscous_nPoly4.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= CylinderViscous_nPoly4.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output -SCREEN_OUTPUT= (TIME_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) - +SCREEN_OUTPUT= (TIME_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) \ No newline at end of file diff --git a/TestCases/hybrid_regression.py b/TestCases/hybrid_regression.py index be64df65c4b..2127f2371dd 100644 --- a/TestCases/hybrid_regression.py +++ b/TestCases/hybrid_regression.py @@ -3,7 +3,7 @@ ## \file hybrid_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -136,7 +136,7 @@ def main(): poiseuille_profile.cfg_dir = "navierstokes/poiseuille" poiseuille_profile.cfg_file = "profile_poiseuille.cfg" poiseuille_profile.test_iter = 10 - poiseuille_profile.test_vals = [-12.494719, -7.711541, -0.000000, 2.085796] + poiseuille_profile.test_vals = [-12.494728, -7.712546, -0.000000, 2.085796] poiseuille_profile.test_vals_aarch64 = [-12.494692, -7.710648, -0.000000, 2.085796] test_list.append(poiseuille_profile) diff --git a/TestCases/hybrid_regression_AD.py b/TestCases/hybrid_regression_AD.py index b7fcea8fab4..8c23b8fb20d 100644 --- a/TestCases/hybrid_regression_AD.py +++ b/TestCases/hybrid_regression_AD.py @@ -3,7 +3,7 @@ ## \file hybrid_regression_AD.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/incomp_euler/naca0012/incomp_NACA0012.cfg b/TestCases/incomp_euler/naca0012/incomp_NACA0012.cfg index 41688fc1c0f..8c7ffe8925c 100644 --- a/TestCases/incomp_euler/naca0012/incomp_NACA0012.cfg +++ b/TestCases/incomp_euler/naca0012/incomp_NACA0012.cfg @@ -5,187 +5,85 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 09/18/2011 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 998.2 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 1.775, 0.0, 0.0 ) -% -% List of inlet types for incompressible flows. List length must -% match number of inlet markers. Options: VELOCITY_INLET, PRESSURE_INLET. INC_INLET_TYPE= VELOCITY_INLET -% -% Damping coefficient for iterative updates at pressure inlets. (0.1 by default) INC_INLET_DAMPING= 0.1 -% -% 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 -% -% Damping coefficient for iterative updates at mass flow outlets. (0.1 by default) INC_OUTLET_DAMPING= 0.1 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( airfoil, lower_wall, upper_wall ) -% -% Incompressible: (inlet marker, NULL, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( inlet, 0.0, 1.775, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) MARKER_OUTLET= ( outlet, 0.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 3.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 9999 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 1, 1, 1, 1 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 1, 1, 1, 1 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.85 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.85 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.0002 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.04 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 50 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_5deg_6814.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 200 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, LIFT, DRAG) - diff --git a/TestCases/incomp_euler/nozzle/inv_nozzle.cfg b/TestCases/incomp_euler/nozzle/inv_nozzle.cfg index 8f6d0c7398f..ec0ea824baf 100644 --- a/TestCases/incomp_euler/nozzle/inv_nozzle.cfg +++ b/TestCases/incomp_euler/nozzle/inv_nozzle.cfg @@ -4,212 +4,93 @@ % Case description: Inv. inc. nozzle with pressure inlet and mass flow outlet % % Author: Thomas D. Economon % % Date: 2018.11.30 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. INC_DENSITY_MODEL= CONSTANT -% -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = NO -% -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 1.0 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 1.0, 0.0, 0.0 ) -% -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 288.15 -% -% List of inlet types for incompressible flows. List length must -% match number of inlet markers. Options: VELOCITY_INLET, PRESSURE_INLET. INC_INLET_TYPE= PRESSURE_INLET -% -% Damping coefficient for iterative updates at pressure inlets. (0.1 by default) INC_INLET_DAMPING= 0.1 -% -% List of outlet types for incompressible flows. List length must -% match number of outlet markers. Options: PRESSURE_OUTLET, MASS_FLOW_OUTLET INC_OUTLET_TYPE= MASS_FLOW_OUTLET -% -% Damping coefficient for iterative updates at mass flow outlets. (0.1 by default) INC_OUTLET_DAMPING= 0.1 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference area for non-dimensional force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 0.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( sides ) -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -% Inc. Velocity: (inlet marker, temperature, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -% Inc. Pressure: (inlet marker, temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( inlet, 288.15, 1.0, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Compressible: ( outlet marker, back pressure (static thermodynamic), ... ) -% Inc. Pressure: ( outlet marker, back pressure (static gauge in Pa), ... ) -% Inc. Mass Flow: ( outlet marker, mass flow target (kg/s), ... ) MARKER_OUTLET= ( outlet, 1.5 ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( sides ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( sides ) -% -% Marker(s) of the surface that is going to be analyzed in detail (massflow, average pressure, distortion, etc) MARKER_ANALYZE = ( outlet, inlet ) -% -% Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = AREA % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% CFL number (initial value for the adaptive CFL number) CFL_NUMBER= 15.0 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-grid levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% % -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW, FDS) CONV_NUM_METHOD_FLOW= FDS % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 9999 -% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_nozzle_inv.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% -% Screen output fields SCREEN_OUTPUT = (INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, LIFT, DRAG) - diff --git a/TestCases/incomp_navierstokes/bend/lam_bend.cfg b/TestCases/incomp_navierstokes/bend/lam_bend.cfg index ff86b3b2bbb..02226a59427 100755 --- a/TestCases/incomp_navierstokes/bend/lam_bend.cfg +++ b/TestCases/incomp_navierstokes/bend/lam_bend.cfg @@ -9,250 +9,95 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% Specify turbulence model (NONE, SA, SST) KIND_TURB_MODEL= NONE % % Mathematical problem (DIRECT, ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. INC_DENSITY_MODEL= CONSTANT -% -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = NO -% -% Initial density for incompressible flows -% (1.2886 kg/m^3 by default (air), 998.2 Kg/m^3 (water)) INC_DENSITY_INIT= 1.2886 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 0.1, 0.0, 0.0 ) -% -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 288.15 -% -% Non-dimensionalization scheme for incompressible flows. Options are -% INITIAL_VALUES (default), REFERENCE_VALUES, or DIMENSIONAL. -% INC_*_REF values are ignored unless REFERENCE_VALUES is chosen. INC_NONDIM= INITIAL_VALUES -% -% Reference density for incompressible flows (1.0 kg/m^3 by default) INC_DENSITY_REF= 1.0 -% -% Reference velocity for incompressible flows (1.0 m/s by default) INC_VELOCITY_REF= 1.0 -% -% Reference temperature for incompressible flows that include the -% energy equation (1.0 K by default) INC_TEMPERATURE_REF = 1.0 -% -% List of inlet types for incompressible flows. List length must -% match number of inlet markers. Options: VELOCITY_INLET, PRESSURE_INLET. INC_INLET_TYPE= VELOCITY_INLET -% -% Damping coefficient for iterative updates at pressure inlets. (0.1 by default) INC_INLET_DAMPING= 0.1 -% -% 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 -% -% Damping coefficient for iterative updates at mass flow outlets. (0.1 by default) INC_OUTLET_DAMPING= 0.1 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY, POLYNOMIAL_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.716E-5 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment (m or in) REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) (m^2 or in^2) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX= ( WALL1, 0.0, WALL2, 0.0 ) -% -% Inlet boundary marker(s) with the following formats (NONE = no marker) -% Inc. Pressure: (inlet marker, temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( INLET, 288.15, 0.1, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Compressible: ( outlet marker, back pressure (static thermodynamic), ... ) -% Inc. Pressure: ( outlet marker, back pressure (static gauge in Pa), ... ) -% Inc. Mass Flow: ( outlet marker, mass flow target (kg/s), ... ) MARKER_OUTLET= ( OUTLET, 0.0 ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( SYMMETRY ) -% -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( INLET, OUTLET, WALL1, WALL2, SYMMETRY ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( INLET, OUTLET, WALL1, WALL2, SYMMETRY ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1e2 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER_JACOBI, -% SMOOTHER_ILU0, SMOOTHER_LUSGS, -% SMOOTHER_LINELET) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU0, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid Cycle (0 = V cycle, 1 = W Cycle) -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 11 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_bend_coarse.cgns -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= CGNS -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, LIFT, DRAG) diff --git a/TestCases/incomp_navierstokes/buoyancy_cavity/lam_buoyancy_cavity.cfg b/TestCases/incomp_navierstokes/buoyancy_cavity/lam_buoyancy_cavity.cfg index 57f75787315..04fdbd4a5f2 100644 --- a/TestCases/incomp_navierstokes/buoyancy_cavity/lam_buoyancy_cavity.cfg +++ b/TestCases/incomp_navierstokes/buoyancy_cavity/lam_buoyancy_cavity.cfg @@ -2,265 +2,119 @@ % % % SU2 configuration file % % Case description: Buoyancy-driven flow inside a cavity % -% Author: Thomas D. Economon % +% Author: Thomas D. Economon % % Date: 2018.06.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. INC_DENSITY_MODEL= VARIABLE -% -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = YES % -% Initial density for incompressible flows (1.2886 kg/m^3 by default) % Uncomment a density below for a desired Rayleigh number %INC_DENSITY_INIT= 0.00018903539834 % Ra ~ 1e3 %INC_DENSITY_INIT= 0.00059778241716 % Ra ~ 1e4 %INC_DENSITY_INIT= 0.00189035398341 % Ra ~ 1e5 INC_DENSITY_INIT= 0.00597782417156 % Ra ~ 1e6 % -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 1.0, 0.0, 0.0 ) -% -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 288.15 % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS) FLUID_MODEL= INC_IDEAL_GAS -% -% Specific heat at constant pressure, Cp (1004.703 J/kg*K (air)). -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). SPECIFIC_HEAT_CP= 1004.703 -% -% Molecular weight for an incompressible ideal gas (28.96 g/mol (air) default) -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). MOLECULAR_WEIGHT= 28.96 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.716e-5 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0246295028571 % ----------------------- BODY FORCE DEFINITION -------------------------------% % -% Apply a body force as a source term (NO, YES) BODY_FORCE= YES -% -% Vector of body force values (BodyForce_X, BodyForce_Y, BodyForce_Z) BODY_FORCE_VECTOR= ( 0.0, -9.81, 0.0 ) % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX= ( upper, 0.0, lower, 0.0 ) -% -% Navier-Stokes (no-slip), isothermal wall marker(s) (NONE = no marker) -% Format: ( marker name, constant wall temperature (K), ... ) MARKER_ISOTHERMAL= ( left, 461.04, right, 115.26 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( upper, left, right, lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( NONE ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1e2 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 15.0, 1e10) -% -% Maximum Delta Time in local time stepping simulations MAX_DELTA_TIME= 1E6 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cavity_65x65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 100 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_TEMPERATURE, LIFT, DRAG) % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% -% -% Geometrical bounds (Y coordinate) for the wing geometry analysis or -% fuselage evaluation (X coordinate). GEO_BOUNDS= ( 0.499, 0.501) diff --git a/TestCases/incomp_navierstokes/cylinder/incomp_cylinder.cfg b/TestCases/incomp_navierstokes/cylinder/incomp_cylinder.cfg index 2e226bff625..43008838809 100644 --- a/TestCases/incomp_navierstokes/cylinder/incomp_cylinder.cfg +++ b/TestCases/incomp_navierstokes/cylinder/incomp_cylinder.cfg @@ -5,182 +5,86 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 2012.03.14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 998.2 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 0.000008, 0.0, 0.0 ) % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 0.798E-3 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( cylinder, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 5000 -% -% Coefficient for the Venkat's limiter. A larger values decrease the extent of limiting, -% values approaching zero cause lower-order approximation to the solution. -% Recomend value for VENKATAKRISHNAN limiter ~0.5 -% Recomend value for VENKATAKRISHNAN_WANG limiter ~0.05 VENKAT_LIMITER_COEFF= 0.01 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 1, 1, 1, 1 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 1, 1, 1, 1 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.04 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder_lam.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 100 -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, LIFT, DRAG) - diff --git a/TestCases/incomp_navierstokes/cylinder/poly_cylinder.cfg b/TestCases/incomp_navierstokes/cylinder/poly_cylinder.cfg index 13328b81314..67168dd50f6 100644 --- a/TestCases/incomp_navierstokes/cylinder/poly_cylinder.cfg +++ b/TestCases/incomp_navierstokes/cylinder/poly_cylinder.cfg @@ -5,286 +5,117 @@ % custom fluid using polynomial fluid models. % % Author: Thomas D. Economon % % Date: 2018.12.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. INC_DENSITY_MODEL= VARIABLE -% -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = YES -% -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 0.000210322 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 3.40297, 0.0, 0.0 ) -% -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 288.15 -% -% Non-dimensionalization scheme for incompressible flows. Options are -% INITIAL_VALUES (default), REFERENCE_VALUES, or DIMENSIONAL. -% INC_*_REF values are ignored unless REFERENCE_VALUES is chosen. INC_NONDIM= DIMENSIONAL % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= INC_IDEAL_GAS_POLY -% -% Specific heat at constant pressure, Cp (1004.703 J/kg*K (air)). -% Incompressible fluids with energy eqn. only (CONSTANT_DENSITY, INC_IDEAL_GAS). SPECIFIC_HEAT_CP= 1004.703 -% -% Molecular weight for an incompressible ideal gas (28.96 g/mol (air) default) MOLECULAR_WEIGHT= 28.96 -% -% Temperature polynomial coefficients (up to quartic) for specific heat Cp. -% Format -> Cp(T) : b0 + b1*T + b2*T^2 + b3*T^3 + b4*T^4 CP_POLYCOEFFS= ( 1004.703, 0.1, 0.0, 0.0, 0.0) % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= POLYNOMIAL_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.7893e-05 -% -% Temperature polynomial coefficients (up to quartic) for viscosity. -% Format -> Mu(T) : b0 + b1*T + b2*T^2 + b3*T^3 + b4*T^4 MU_POLYCOEFFS= (1.7893e-05, 1e-8, 0.0, 0.0, 0.0) % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Laminar Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL, -% POLYNOMIAL_CONDUCTIVITY). CONDUCTIVITY_MODEL= POLYNOMIAL_CONDUCTIVITY -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0257 -% -% Laminar Prandtl number (0.72 (air), only for CONSTANT_PRANDTL) PRANDTL_LAM= 0.72 -% -% Temperature polynomial coefficients (up to quartic) for conductivity. -% Format -> Kt(T) : b0 + b1*T + b2*T^2 + b3*T^3 + b4*T^4 KT_POLYCOEFFS= (0.0257, 1e-5, 0.0, 0.0, 0.0) -% -% Definition of the turbulent thermal conductivity model for RANS -% (CONSTANT_PRANDTL_TURB by default, NONE). TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB -% -% Turbulent Prandtl number (0.9 (air) by default) PRANDTL_TURB= 0.90 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_ISOTHERMAL= ( cylinder, 1000.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1000.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 10.0, 10000.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 1000 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% % -% Coefficient for the Venkat's limiter (upwind scheme). A larger values decrease -% the extent of limiting, values approaching zero cause -% lower-order approximation to the solution (0.05 by default) VENKAT_LIMITER_COEFF= 0.05 -% -% 1st order artificial dissipation coefficients for -% the Lax–Friedrichs method ( 0.15 by default ) LAX_SENSOR_COEFF= 0.15 -% -% 2nd and 4th order artificial dissipation coefficients for -% the JST method ( 0.5, 0.02 by default ) JST_SENSOR_COEFF= ( 0.5, 0.02 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -14 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder_lam.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_TEMPERATURE, LIFT, DRAG, TOTAL_HEATFLUX) diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg index ccda9f380a7..f022d02a736 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg index aa405f0aeed..914d10383f8 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -19,16 +19,11 @@ MARKER_CHT_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_i % CONV_RESIDUAL_MINVAL= -26 % -% Number of total iterations OUTER_ITER= 3000 -% -%CHT_ROBIN= NO -% SCREEN_OUTPUT= (OUTER_ITER, BGS_ADJ_PRESSURE[0], BGS_ADJ_TEMPERATURE[0], BGS_ADJ_TEMPERATURE[1]) SCREEN_WRT_FREQ_OUTER= 100 % HISTORY_OUTPUT= ( ITER, BGS_RES[0], BGS_RES[1], RMS_RES[0], RMS_RES[1] ) -% OUTPUT_FILES= ( RESTART, PARAVIEW_MULTIBLOCK ) OUTPUT_WRT_FREQ= 1000 % @@ -36,37 +31,25 @@ MESH_FILENAME= 2D-PinArray_FFD.su2 MESH_FORMAT= SU2 % SOLUTION_ADJ_FILENAME= restart_adj -% + % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % FFD_TOLERANCE= 1E-10 FFD_ITERATIONS= 500 % -% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (BOX, 0.0029772,0.0,0.0, 0.0081772,0.0,0.0 0.0081772,0.0026,0.0, 0.0029772,0.0026,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) % -% FFD box degree: 2D case (x_degree, y_degree, 0) FFD_DEGREE= (8, 1, 0) % -% Surface grid continuity at the intersection with the faces of the FFD boxes. -% To keep a particular level of surface continuity, SU2 automatically freezes the right -% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) FFD_CONTINUITY= NO_DERIVATIVE -% + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -%DV_KIND= FFD_SETTING DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D % -% Marker of the surface in which we are going apply the shape deformation MARKER_SYM= ( fluid_symmetry ) DV_MARKER= ( fluid_pin2_interface, solid_pin2_interface, fluid_symmetry ) % -% Parameters of the shape deformation -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -%DV_PARAM= ( 1.0 ) DV_PARAM= \ ( BOX, 0, 1, 0.0, 1.0);\ ( BOX, 1, 1, 0.0, 1.0);\ @@ -78,10 +61,8 @@ DV_PARAM= \ ( BOX, 7, 1, 0.0, 1.0);\ ( BOX, 8, 1, 0.0, 1.0) % -% Value of the shape deformation -%DV_VALUE= 1.0 DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -% + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % DEFORM_LINEAR_SOLVER= FGMRES @@ -94,9 +75,6 @@ DEFORM_LINEAR_SOLVER_ITER= 1000 DEFORM_CONSOLE_OUTPUT= YES DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % -% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger -% value is also possible) -% !!! What is this doing !!! DEFORM_COEFF = 1E6 % DEFINITION_DV= \ @@ -109,5 +87,3 @@ DEFINITION_DV= \ ( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 6, 1, 0.0, 1.0 );\ ( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 7, 1, 0.0, 1.0 );\ ( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 8, 1, 0.0, 1.0 ) - -%DEFORM_MESH= YES diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg index d448a4f34d6..d9bb6ed2dd0 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -22,9 +22,6 @@ CONV_RESIDUAL_MINVAL= -26 % FOR FAST RUNING REGRESSION TEST ONLY! % FOR GADIENT VALIDATION USE OUTER_ITER= 3000! OUTER_ITER= 101 - -% -%CHT_ROBIN= NO % SCREEN_OUTPUT= ( WALL_TIME, OUTER_ITER, BGS_PRESSURE[0], BGS_TEMPERATURE[0], BGS_TEMPERATURE[1], STREAMWISE_MASSFLOW[0], STREAMWISE_DP[0], AVG_TEMPERATURE[1] ) SCREEN_WRT_FREQ_OUTER= 100 @@ -45,52 +42,26 @@ SOLUTION_ADJ_FILENAME= restart_adj RESTART_FILENAME= restart CONV_FILENAME= history TABULAR_FORMAT= CSV -% + % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % FFD_TOLERANCE= 1E-10 FFD_ITERATIONS= 500 % -% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (BOX, 0.0029772,0.0,0.0, 0.0081772,0.0,0.0 0.0081772,0.0026,0.0, 0.0029772,0.0026,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) % -% FFD box degree: 2D case (x_degree, y_degree, 0) FFD_DEGREE= (8, 1, 0) % -% Surface grid continuity at the intersection with the faces of the FFD boxes. -% To keep a particular level of surface continuity, SU2 automatically freezes the right -% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) FFD_CONTINUITY= NO_DERIVATIVE % % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % DV_KIND= FFD_SETTING -%DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D -% -% Marker of the surface in which we are going apply the shape deformation MARKER_SYM= ( fluid_symmetry ) DV_MARKER= ( fluid_pin2_interface, solid_pin2_interface, fluid_symmetry ) -% -% Parameters of the shape deformation -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) DV_PARAM= ( 1.0 ) -%DV_PARAM= \ -%( BOX, 0, 1, 0.0, 1.0);\ -%( BOX, 1, 1, 0.0, 1.0);\ -%( BOX, 2, 1, 0.0, 1.0);\ -%( BOX, 3, 1, 0.0, 1.0);\ -%( BOX, 4, 1, 0.0, 1.0);\ -%( BOX, 5, 1, 0.0, 1.0);\ -%( BOX, 6, 1, 0.0, 1.0);\ -%( BOX, 7, 1, 0.0, 1.0);\ -%( BOX, 8, 1, 0.0, 1.0) -% -% Value of the shape deformation DV_VALUE= 1.0 -%DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -% + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % DEFORM_LINEAR_SOLVER= FGMRES @@ -103,9 +74,6 @@ DEFORM_LINEAR_SOLVER_ITER= 1000 DEFORM_CONSOLE_OUTPUT= YES DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % -% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger -% value is also possible) -% !!! What is this doing !!! DEFORM_COEFF = 1E6 % % For gradient validation uncomment the other DV's! @@ -120,8 +88,6 @@ DEFINITION_DV= \ %( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 7, 1, 0.0, 1.0 );\ %( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 8, 1, 0.0, 1.0 ) -%DEFORM_MESH= YES - OPT_OBJECTIVE= AVG_TOTALTEMP FIN_DIFF_STEP= 1e-8 NZONES=2 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg index 1c2e83b46e0..6f866eadaf6 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg index e20f5b4503d..db829877167 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -19,11 +19,8 @@ MARKER_CHT_INTERFACE= ( fluid_pin1_interface, solid_pin1_interface, fluid_pin2_i % CONV_RESIDUAL_MINVAL= -26 % -% Number of total iterations OUTER_ITER= 4000 % -%CHT_ROBIN= NO -% SCREEN_OUTPUT= ( OUTER_ITER, BGS_PRESSURE[0], BGS_TEMPERATURE[0], BGS_TEMPERATURE[1], STREAMWISE_MASSFLOW[0], STREAMWISE_DP[0], AVG_TEMPERATURE[1], SURFACE_MASSFLOW[0] ) SCREEN_WRT_FREQ_OUTER= 100 % @@ -34,43 +31,25 @@ OUTPUT_WRT_FREQ= 1000 % MESH_FILENAME= 2D-PinArray_FFD.su2 MESH_FORMAT= SU2 -% + % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % FFD_TOLERANCE= 1E-10 FFD_ITERATIONS= 500 % -% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (BOX, 0.0029772,0.0,0.0, 0.0081772,0.0,0.0 0.0081772,0.0026,0.0, 0.0029772,0.0026,0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) % -% FFD box degree: 2D case (x_degree, y_degree, 0) FFD_DEGREE= (8, 1, 0) % -% Surface grid continuity at the intersection with the faces of the FFD boxes. -% To keep a particular level of surface continuity, SU2 automatically freezes the right -% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) FFD_CONTINUITY= NO_DERIVATIVE -% + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Config options for writing the FFD-box into the mesh. -% Comment these options if they appear elsewhere in the .cfg file. -%DV_KIND= FFD_SETTING -%DV_PARAM= ( 1.0 ) -%DV_VALUE= 1.0 -%MESH_FILENAME= 2D-PinArray.su2 -%MESH_OUT_FILENAME= 2D-PinArray_FFD.su2 MARKER_SYM= ( fluid_symmetry ) DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( fluid_pin2_interface, solid_pin2_interface, fluid_symmetry ) % -% Parameters of the shape deformation -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) DV_PARAM= \ ( BOX, 0, 1, 0.0, 1.0);\ ( BOX, 1, 1, 0.0, 1.0);\ @@ -81,10 +60,8 @@ DV_PARAM= \ ( BOX, 6, 1, 0.0, 1.0);\ ( BOX, 7, 1, 0.0, 1.0);\ ( BOX, 8, 1, 0.0, 1.0) -% -% Value of the shape deformation DV_VALUE= 1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0 -% + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % DEFORM_LINEAR_SOLVER= FGMRES @@ -97,9 +74,6 @@ DEFORM_LINEAR_SOLVER_ITER= 1000 DEFORM_CONSOLE_OUTPUT= YES DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % -% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger -% value is also possible) -% !!! What is this doing !!! DEFORM_COEFF = 1E6 % DEFINITION_DV= \ @@ -112,5 +86,3 @@ DEFINITION_DV= \ ( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 6, 1, 0.0, 1.0 );\ ( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 7, 1, 0.0, 1.0 );\ ( 19, 1.0 | fluid_pin2_interface, solid_pin2_interface, fluid_symmetry | BOX, 8, 1, 0.0, 1.0 ) - -%DEFORM_MESH= YES diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg index 0a5cce0773f..377699c079f 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref index 51f3fad3680..82730a5fe1e 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/of_grad_findiff.csv.ref @@ -1,2 +1,2 @@ "VARIABLE" , "AVG_DENSITY[0]", "AVG_ENTHALPY[0]", "AVG_NORMALVEL[0]", "DRAG[0]" , "EFFICIENCY[0]" , "FORCE_X[0]" , "FORCE_Y[0]" , "FORCE_Z[0]" , "LIFT[0]" , "MOMENT_X[0]" , "MOMENT_Y[0]" , "MOMENT_Z[0]" , "SIDEFORCE[0]" , "SURFACE_MACH[0]", "SURFACE_MASSFLOW[0]", "SURFACE_MOM_DISTORTION[0]", "SURFACE_PRESSURE_DROP[0]", "SURFACE_SECONDARY[0]", "SURFACE_SECOND_OVER_UNIFORM[0]", "SURFACE_STATIC_PRESSURE[0]", "SURFACE_STATIC_TEMPERATURE[0]", "SURFACE_TOTAL_PRESSURE[0]", "SURFACE_TOTAL_TEMPERATURE[0]", "SURFACE_UNIFORMITY[0]", "AVG_TEMPERATURE[1]", "MAXIMUM_HEATFLUX[1]", "TOTAL_HEATFLUX[1]", "FINDIFF_STEP" -0 , 0.0 , -100000.01639127731, -1.1101999999881826e-08, 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , -0.0399999991462785, 0.0 , -2.1099999997220564 , 0.0 , 2.1799999999627673 , 3.8000000007754053 , 319.9999980552093 , -39.999997625272954 , 318.0000007318995 , -39.999997625272954 , -1.400000004814217 , -139.99999737279722, 0.0 , -540.0000077315781, 1e-08 +0 , 0.0 , -100000.01639127731, -1.1103000000496327e-08, 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , 0.0 , -0.0399999991462785, 3.3309999998872306e-08, -2.1099999997220564 , 0.0 , 2.1799999999627673 , 3.8000000007754053 , 319.9999980552093 , -39.999997625272954 , 318.0000007318995 , -39.999997625272954 , -1.400000004814217 , -139.99999737279722, 0.0 , -540.0000077315781, 1e-08 diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configFluid.cfg index 7927df53201..cfa54a86b52 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configFluid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configFluid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 07.06.2019 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configMaster.cfg index b49a68ea08e..5325519c672 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -21,7 +21,6 @@ MARKER_CHT_INTERFACE= (fluid_bottom_interface, solid_bottom_interface, fluid_pin OUTER_ITER = 31 % CONV_RESIDUAL_MINVAL= -26 -% SCREEN_OUTPUT= (OUTER_ITER, BGS_PRESSURE[0], BGS_TEMPERATURE[0], BGS_TEMPERATURE[1], STREAMWISE_MASSFLOW[0], STREAMWISE_DP[0], AVG_TEMPERATURE[1], TOTAL_HEATFLUX[0] ) SCREEN_WRT_FREQ_OUTER= 100 % @@ -30,7 +29,6 @@ HISTORY_OUTPUT= ( ITER, RMS_RES[0], RMS_RES[1], STREAMWISE_PERIODIC[0], FLOW_COE OUTPUT_FILES= (RESTART, PARAVIEW_MULTIBLOCK) OUTPUT_WRT_FREQ= 2500 % -% Mesh input file MESH_FILENAME= 3D_chtPinArray_coarse.su2 % % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg index 859ae62aa5e..6961daef9fc 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 07.06.2019 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configFluid.cfg index 882dd2a2650..051efb7f9fd 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configFluid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configFluid.cfg @@ -4,7 +4,7 @@ % Case description: Unit Cell flow around pin array (fluid) % % Author: T. Kattmann % % Date: 2022.02.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configMaster.cfg index aa59323e839..d5329424e79 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: None % % Date: 2022.02.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -51,41 +51,20 @@ MESH_FILENAME= 2D-PinArray.su2 FFD_TOLERANCE= 1E-10 FFD_ITERATIONS= 500 % -% FFD box definition: 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (BOX, 0.0029772, 0.0, 0.0, 0.0081772, 0.0, 0.0, 0.0081772, 0.00322, 0.0, 0.0029772, 0.00322, 0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ); \ (FRONTBOX, -0.0026, 0.00322, 0.0, 0.0026, 0.00322, 0.0, 0.0026, 0.0, 0.0, -0.0026, 0.0, 0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ); \ (BACKBOX, 0.0085544, 0.00322, 0.0, 0.0137544, 0.00322, 0.0, 0.0137544, 0.0, 0.0, 0.0085544, 0.0, 0.0, 0.0,0.0,0.0, 0.0,0.0,0.0 0.0,0.0,0.0, 0.0,0.0,0.0 ) % -% FFD box degree: 2D case (x_degree, y_degree, 0) FFD_DEGREE= (8, 8, 0); (8, 8, 0); (8, 8, 0) -% -% Surface grid continuity at the intersection with the faces of the FFD boxes. -% To keep a particular level of surface continuity, SU2 automatically freezes the right -% number of control point planes (NO_DERIVATIVE, 1ST_DERIVATIVE, 2ND_DERIVATIVE, USER_INPUT) FFD_CONTINUITY= USER_INPUT -% -% BEZIER, BSPLINE_UNIFORM -%FFD_BLENDING= BEZIER FFD_BLENDING= BSPLINE_UNIFORM FFD_BSPLINE_ORDER= 4,3,2 -% + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Config options for writing the FFD-box into the mesh. -% Comment these options if they appear elsewhere in the .cfg file. -%DV_KIND= FFD_SETTING -%DV_PARAM= ( 1.0 ) -%DV_VALUE= 1.0 - DV_KIND= FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D,FFD_CONTROL_POINT_2D -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= fluid_pin2_interface, solid_pin2_interface, fluid_pin1_interface, solid_pin1_interface, fluid_pin3_interface, solid_pin3_interface, fluid_inlet, solid_pin1_inlet, fluid_outlet, solid_pin3_outlet -% -% Parameters of the shape deformation -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) + DV_PARAM= \ ( BOX, 1, 5, 0.0, 1.0);\ ( BOX, 2, 5, 0.0, 1.0);\ @@ -94,10 +73,8 @@ DV_PARAM= \ ( BOX, 5, 5, 0.0, 1.0);\ ( BOX, 6, 5, 0.0, 1.0);\ ( BOX, 7, 5, 0.0, 1.0) -% -% Value of the shape deformation DV_VALUE=0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -% + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % DEFORM_LINEAR_SOLVER= FGMRES diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configSolid.cfg index 9e590f5e7c7..b0c3c4eb25f 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configSolid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configSolid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: None % % Date: 2022.02.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg index e71ed2646b7..bb4f244001c 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -48,7 +48,6 @@ MARKER_ANALYZE_AVERAGE = AREA NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES %CFL_NUMBER= 1e10 CFL_NUMBER= 50000 -%CFL_ADAPT= YES CFL_ADAPT= NO CFL_ADAPT_PARAM= ( 0.5, 10, 15.0, 1e30 ) ITER= 15000 @@ -72,7 +71,7 @@ TIME_DISCRE_FLOW= EULER_IMPLICIT CONV_RESIDUAL_MINVAL= -24 CONV_STARTITER= 10 % -% ------------------------- INPUT/OUTPUT INFORMATION ----------------------.su2 +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= pipe1cell3D.su2 % @@ -80,6 +79,5 @@ OUTPUT_FILES= ( RESTART, PARAVIEW_MULTIBLOCK, SURFACE_TECPLOT_ASCII ) OUTPUT_WRT_FREQ= 1000 % HISTORY_OUTPUT= ( RMS_RES, FLOW_COEFF, STREAMWISE_PERIODIC, LINSOL ) -% SCREEN_OUTPUT= ( INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, RMS_VELOCITY-Z, STREAMWISE_MASSFLOW ) SCREEN_WRT_FREQ_INNER= 100 diff --git a/TestCases/incomp_rans/AhmedBody/turb_ahmed.cfg b/TestCases/incomp_rans/AhmedBody/turb_ahmed.cfg index ca9b65f484b..b8046ad1c99 100644 --- a/TestCases/incomp_rans/AhmedBody/turb_ahmed.cfg +++ b/TestCases/incomp_rans/AhmedBody/turb_ahmed.cfg @@ -8,327 +8,134 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% Specify turbulence model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Reynolds length (1 m, 1 inch by default) %REYNOLDS_LENGTH= 1.044 % -------------------- INCOMPRESSIBLE FREE-STREAM DEFINITION ------------------% % -% -% Initial density for incompressible flows -% (1.2886 kg/m^3 by default (air), 998.2 Kg/m^3 (water)) INC_DENSITY_INIT= 1.2642 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) % Re ~ 4.29E6 based on L ~ 1.044 INC_VELOCITY_INIT= ( 60.0, 0.0, 0.0 ) -% -% Free-stream viscosity (1.853E-5 N s/m^2, 3.87E-7 lbf s/ft^2 by default) FREESTREAM_VISCOSITY= 1.845E-5 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.845E-5 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 10.69 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.044 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0.677 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX= ( body, 0.0 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( x1, x0, y1, y0, z1 ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( z0 ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( body ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( body ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( body ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 25.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations EXT_ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.5 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.5 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.0, 0.01 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( body ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= FUSELAGE -% -% Coordinate of the stations to be analyzed GEO_LOCATION_STATIONS= (0.0, 0.5, 1.0) -% -% Geometrical bounds (Y coordinate) for the wing geometry analysis or -% fuselage evaluation (X coordinate). GEO_BOUNDS= (-0.19, 0.19) -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= NO -% -% Number of section cuts to make when calculating wing geometry GEO_NUMBER_STATIONS= 25 -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_EDGE, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS) DV_KIND= FFD_SETTING -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( body ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_SURFACE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) DV_PARAM= ( REAR_BOX, 0, 0, -1, 0.0, -1.0, 0.0 ) -% -% Value of the shape deformation DV_VALUE= 0.05 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-8 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -14 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= AhmedBodyMesh_FFD.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% diff --git a/TestCases/incomp_rans/naca0012/naca0012.cfg b/TestCases/incomp_rans/naca0012/naca0012.cfg index bf63a853d22..625c4407cbf 100644 --- a/TestCases/incomp_rans/naca0012/naca0012.cfg +++ b/TestCases/incomp_rans/naca0012/naca0012.cfg @@ -6,241 +6,105 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= NO % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 2.13163 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 52.1572, 0.0, 0.0 ) % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.853e-05 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 2500 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.01 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_turb_897x257.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 100 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_NU_TILDE, LIFT, DRAG, TOTAL_HEATFLUX) - diff --git a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg index 0a320eeb4a6..8e9e7920c08 100644 --- a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg +++ b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg @@ -6,241 +6,106 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST SST_OPTIONS=(SUSTAINING) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= NO % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 2.13163 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 52.1572, 0.0, 0.0 ) % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.853e-05 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 2500 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.01 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_turb_897x257.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 100 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG) - diff --git a/TestCases/incomp_rans/rough_flatplate/rough_flatplate_incomp.cfg b/TestCases/incomp_rans/rough_flatplate/rough_flatplate_incomp.cfg index 4c1f69b9cd8..4e174b80541 100644 --- a/TestCases/incomp_rans/rough_flatplate/rough_flatplate_incomp.cfg +++ b/TestCases/incomp_rans/rough_flatplate/rough_flatplate_incomp.cfg @@ -5,282 +5,114 @@ % pressure gradient % % Author: Akshay Koodly % % Date: 2020.07.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_RANS -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= SA - -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% + % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Density model within the incompressible flow solver. -% Options are CONSTANT (default), BOUSSINESQ, or VARIABLE. If VARIABLE, -% an appropriate fluid model must be selected. INC_DENSITY_MODEL= CONSTANT -% -% Solve the energy equation in the incompressible flow solver INC_ENERGY_EQUATION = NO -% -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 1.32905 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 69.4448, 0.0, 0.0 ) -% -% Initial temperature for incompressible flows that include the -% energy equation (288.15 K by default). Value is ignored if -% INC_ENERGY_EQUATION is false. INC_TEMPERATURE_INIT= 300.0 -% -% Non-dimensionalization scheme for incompressible flows. Options are -% INITIAL_VALUES (default), REFERENCE_VALUES, or DIMENSIONAL. -% INC_*_REF values are ignored unless REFERENCE_VALUES is chosen. INC_NONDIM= INITIAL_VALUES -% -% Reference density for incompressible flows (1.0 kg/m^3 by default) INC_DENSITY_REF= 1.0 -% -% Reference velocity for incompressible flows (1.0 m/s by default) INC_VELOCITY_REF= 1.0 -% -% Reference temperature for incompressible flows that include the -% energy equation (1.0 K by default) INC_TEMPERATURE_REF = 1.0 -% -% List of inlet types for incompressible flows. List length must -% match number of inlet markers. Options: VELOCITY_INLET, PRESSURE_INLET. INC_INLET_TYPE= VELOCITY_INLET % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.84592e-05 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 2.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -%WALL_ROUGHNESS = (wall, 0.000061) -%WALL_ROUGHNESS = (wall, 0.000123) WALL_ROUGHNESS = (wall, 0.000246) -%WALL_ROUGHNESS = (wall, 0.000984) -% -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) MARKER_INLET= ( inlet, 300.0, 69.4448, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure, ... ) MARKER_OUTLET= ( outlet, 0.0, farfield, 0.0 ) -% INC_OUTLET_TYPE= PRESSURE_OUTLET,PRESSURE_OUTLET -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 100.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.1, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 1000 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-12 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.1 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT + % --------------------------- CONVERGENCE PARAMETERS --------------------------% % CONV_FIELD= RMS_VELOCITY-X -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -14 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file -%MESH_FILENAME= mesh_flatplate_turb_69x49.su2 MESH_FILENAME= mesh_flatplate_turb_137x97.su2 -%MESH_FILENAME= mesh_flatplate_turb_273x193.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow -% TABULAR_FORMAT= CSV - OUTPUT_FILES= RESTART, PARAVIEW, SURFACE_PARAVIEW -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 100, 50, 50 -% -% SCREEN_OUTPUT= (WALL_TIME,INNER_ITER, RMS_VELOCITY-X, RMS_NU_TILDE, LIFT,DRAG) -% WRT_FORCES_BREAKDOWN= YES diff --git a/TestCases/mms/dg_navierstokes/lam_mms_dg.cfg b/TestCases/mms/dg_navierstokes/lam_mms_dg.cfg index 5b3b260f163..64bb9fdddaf 100644 --- a/TestCases/mms/dg_navierstokes/lam_mms_dg.cfg +++ b/TestCases/mms/dg_navierstokes/lam_mms_dg.cfg @@ -2,176 +2,83 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_NAVIER_STOKES -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Specify the verification solution(NO_VERIFICATION_SOLUTION, INVISCID_VORTEX, -% RINGLEB, NS_UNIT_QUAD, TAYLOR_GREEN_VORTEX, -% MMS_NS_UNIT_QUAD, USER_DEFINED_SOLUTION) KIND_VERIFICATION_SOLUTION= MMS_NS_UNIT_QUAD -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 40 -% -% Angle of attack (degrees) AoA= 0.0 -% + % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= IDEAL_GAS -% -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.0 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 10.0 -% + % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Laminar Prandtl number PRANDTL_LAM= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL -% + % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % MARKER_CUSTOM= ( BottomBoundary, LeftBoundary, RightBoundary, TopBoundary ) - % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.03 -% -% Number of total iterations ITER= 101 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Factor for the symmetrizing terms in the DG FEM discretization (1.0 by default) THETA_INTERIOR_PENALTY_DG_FEM = 1.0 -%THETA_INTERIOR_PENALTY_DG_FEM = 0.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% + % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= UnitQuadStructured_8X8_nPoly3.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= UnitQuadStructured_8X8_nPoly3.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 25000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/mms/dg_navierstokes_3d/lam_mms_dg_3d.cfg b/TestCases/mms/dg_navierstokes_3d/lam_mms_dg_3d.cfg index 868b5ceb9ba..39521a77686 100644 --- a/TestCases/mms/dg_navierstokes_3d/lam_mms_dg_3d.cfg +++ b/TestCases/mms/dg_navierstokes_3d/lam_mms_dg_3d.cfg @@ -2,194 +2,87 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_NAVIER_STOKES -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Specify the verification solution(NO_VERIFICATION_SOLUTION, INVISCID_VORTEX, -% RINGLEB, NS_UNIT_QUAD, TAYLOR_GREEN_VORTEX, -% MMS_NS_UNIT_QUAD, MMS_NS_TWO_HALF_SPHERES, -% MMS_INC_EULER, MMS_INC_NS, -% USER_DEFINED_SOLUTION) KIND_VERIFICATION_SOLUTION= MMS_NS_TWO_HALF_SPHERES -% -% Restart solution (NO, YES) RESTART_SOL= NO -%RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 40 -% -% Angle of attack (degrees) AoA= 0.0 -% + % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= IDEAL_GAS -% -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 10.0 -% + % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Laminar Prandtl number PRANDTL_LAM= 0.72 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL -%REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE -% + % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -%MARKER_CUSTOM= ( PlaneZ0, OuterSphere, InnerSphere ) -% MARKER_CUSTOM= ( PlaneZ0 ) -% -% Marker adiabatic wall (NONE = no marker) MARKER_HEATFLUX= ( InnerSphere, 0.0 ) -% -% Marker isothermal wall (NONE = no marker) MARKER_ISOTHERMAL= ( OuterSphere, 400.0 ) -% % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.2 -%CFL_NUMBER=1.e-30 -% -% Number of total iterations ITER= 101 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -% -% Factor for the symmetrizing terms in the DG FEM discretization (1.0 by default) THETA_INTERIOR_PENALTY_DG_FEM = 1.0 -% -% Compute the entropy in the fluid model (YES, NO) COMPUTE_ENTROPY_FLUID_MODEL= NO -% -% Use the lumped mass matrix for steady DGFEM computations (NO, YES) USE_LUMPED_MASSMATRIX_DGFEM= YES -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% + % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= SphereInSphereStructured_nPoly3.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= SphereInSphereStructured_nPoly3.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 25000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/mms/dg_ringleb/ringleb_dg.cfg b/TestCases/mms/dg_ringleb/ringleb_dg.cfg index 31e71eb0d8c..6f3e431e1b3 100644 --- a/TestCases/mms/dg_ringleb/ringleb_dg.cfg +++ b/TestCases/mms/dg_ringleb/ringleb_dg.cfg @@ -5,190 +5,88 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% FEM_EULER, FEM_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= FEM_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Specify the verification solution(NO_VERIFICATION_SOLUTION, INVISCID_VORTEX, -% RINGLEB, NS_UNIT_QUAD, TAYLOR_GREEN_VORTEX, -% MMS_NS_UNIT_QUAD, USER_DEFINED_SOLUTION) KIND_VERIFICATION_SOLUTION= RINGLEB -% -% Restart solution (NO, YES) RESTART_SOL= NO %RESTART_SOL= YES % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AoA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) -%MARKER_EULER= ( LeftBoundary, RightBoundary ) -% -% Custom boundaries -%MARKER_CUSTOM= ( Symmetry, TopBoundary ) MARKER_CUSTOM= ( Symmetry, LeftBoundary, RightBoundary, TopBoundary ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( LeftBoundary, RightBoundary ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( LeftBoundary, RightBoundary ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -%CFL_NUMBER= 0.2 % For AUSM -% -% Number of total iterations ITER= 101 -%ITER= 1 -% -% Runge-Kutta alpha coefficients -%RK_ALPHA_COEFF= ( 0.25, 0.166667, 0.375, 0.5, 1.0 ) RK_ALPHA_COEFF= ( 0.666667, 0.666667, 1.0 ) % ------------------ FEM FLOW NUMERICAL METHOD DEFINITION ----------------------% % -% Convective numerical method (DG) NUM_METHOD_FEM_FLOW= DG -% -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE %RIEMANN_SOLVER_FEM= AUSM -% -% Constant factor applied for quadrature with straight elements (2.0 by default) QUADRATURE_FACTOR_STRAIGHT_FEM = 2.0 -%QUADRATURE_FACTOR_STRAIGHT_FEM = 3.0 -% -% Constant factor applied for quadrature with curved elements (3.0 by default) QUADRATURE_FACTOR_CURVED_FEM = 3.0 -%QUADRATURE_FACTOR_CURVED_FEM = 2.0 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT) TIME_DISCRE_FEM_FLOW= RUNGE-KUTTA_EXPLICIT -% -% -% Compute the entropy in the fluid model (YES, NO) COMPUTE_ENTROPY_FLUID_MODEL= YES -% -% Use the lumped mass matrix for steady DGFEM computations (NO, YES) USE_LUMPED_MASSMATRIX_DGFEM= YES % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= QuadDominant25X25_nPoly3.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= QuadDominant25X25_nPoly3.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 5000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/mms/fvm_incomp_euler/inv_mms_jst.cfg b/TestCases/mms/fvm_incomp_euler/inv_mms_jst.cfg index e8130c81aca..64a58e3e80e 100755 --- a/TestCases/mms/fvm_incomp_euler/inv_mms_jst.cfg +++ b/TestCases/mms/fvm_incomp_euler/inv_mms_jst.cfg @@ -4,218 +4,90 @@ % Case description: Incompressible inviscid MMS test case % % Author: Thomas D. Economon % % Date: 2019.04.09 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Specify the verification solution(NO_VERIFICATION_SOLUTION, INVISCID_VORTEX, -% RINGLEB, NS_UNIT_QUAD, TAYLOR_GREEN_VORTEX, -% MMS_NS_UNIT_QUAD, MMS_INC_EULER, MMS_INC_NS, -% USER_DEFINED_SOLUTION) KIND_VERIFICATION_SOLUTION= MMS_INC_EULER % -------------------- INCOMPRESSIBLE FREE-STREAM DEFINITION ------------------% % -% Initial density for incompressible flows -% (1.2886 kg/m^3 by default (air), 998.2 Kg/m^3 (water)) INC_DENSITY_INIT= 1.0 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 1.0, 0.0, 0.0 ) -% -% Non-dimensionalization scheme for incompressible flows. Options are -% INITIAL_VALUES (default), REFERENCE_VALUES, or DIMENSIONAL. -% INC_*_REF values are ignored unless REFERENCE_VALUES is chosen. INC_NONDIM= DIMENSIONAL % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Marker(s) of the surface(s) where custom boundary conditions are imposed. MARKER_CUSTOM= ( left, right, upper, lower ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( left, right, upper, lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( left, right, upper, lower ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 25.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 25.0, 10000.0 ) -% -% Maximum Delta Time in local time stepping simulations MAX_DELTA_TIME= 1E30 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 9999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= square.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, LIFT, DRAG) diff --git a/TestCases/mms/fvm_incomp_navierstokes/lam_mms_fds.cfg b/TestCases/mms/fvm_incomp_navierstokes/lam_mms_fds.cfg index c4dc584cf07..48da7ebb28d 100755 --- a/TestCases/mms/fvm_incomp_navierstokes/lam_mms_fds.cfg +++ b/TestCases/mms/fvm_incomp_navierstokes/lam_mms_fds.cfg @@ -4,240 +4,101 @@ % Case description: Incompressible laminar MMS test case % % Author: Thomas D. Economon % % Date: 2019.04.09 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Specify the verification solution(NO_VERIFICATION_SOLUTION, INVISCID_VORTEX, -% RINGLEB, NS_UNIT_QUAD, TAYLOR_GREEN_VORTEX, -% MMS_NS_UNIT_QUAD, MMS_INC_NS, -% USER_DEFINED_SOLUTION) KIND_VERIFICATION_SOLUTION= MMS_INC_NS % -------------------- INCOMPRESSIBLE FREE-STREAM DEFINITION ------------------% % -% Initial density for incompressible flows -% (1.2886 kg/m^3 by default (air), 998.2 Kg/m^3 (water)) INC_DENSITY_INIT= 1.0 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 1.0, 0.0, 0.0 ) -% -% Non-dimensionalization scheme for incompressible flows. Options are -% INITIAL_VALUES (default), REFERENCE_VALUES, or DIMENSIONAL. -% INC_*_REF values are ignored unless REFERENCE_VALUES is chosen. INC_NONDIM= DIMENSIONAL % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 0.5 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Laminar Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL, -% POLYNOMIAL_CONDUCTIVITY). CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0257 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Marker(s) of the surface(s) where custom boundary conditions are imposed. MARKER_CUSTOM= ( left, right, upper, lower ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( left, right, upper, lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( left, right, upper, lower ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1e4 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 25.0, 10000.0 ) -% -% Maximum Delta Time in local time stepping simulations MAX_DELTA_TIME= 1E30 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 9999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= square.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_VELOCITY-X, LIFT, DRAG) diff --git a/TestCases/mms/fvm_navierstokes/lam_mms_roe.cfg b/TestCases/mms/fvm_navierstokes/lam_mms_roe.cfg index 8229a753ae9..c1185747e5a 100755 --- a/TestCases/mms/fvm_navierstokes/lam_mms_roe.cfg +++ b/TestCases/mms/fvm_navierstokes/lam_mms_roe.cfg @@ -4,257 +4,107 @@ % Case description: Compressible laminar MMS test case % % Author: Thomas D. Economon % % Date: 2019.04.09 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Specify the verification solution(NO_VERIFICATION_SOLUTION, INVISCID_VORTEX, -% RINGLEB, NS_UNIT_QUAD, TAYLOR_GREEN_VORTEX, -% MMS_NS_UNIT_QUAD, MMS_INC_NS, -% USER_DEFINED_SOLUTION) KIND_VERIFICATION_SOLUTION= MMS_NS_UNIT_QUAD % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Init option to choose between Reynolds (default) or thermodynamics quantities -% for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS -% -% Free-stream option to choose between density and temperature (default) for -% initializing the solution (TEMPERATURE_FS, DENSITY_FS) FREESTREAM_OPTION= TEMPERATURE_FS -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K, 518.67 R by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream density (1.2886 Kg/m^3, 0.0025 slug/ft^3 by default) FREESTREAM_DENSITY= 1.2886 -% -% Compressible flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.716E-5 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Laminar Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL, -% POLYNOMIAL_CONDUCTIVITY). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Laminar Prandtl number (0.72 (air), only for CONSTANT_PRANDTL) PRANDTL_LAM= 0.72 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Marker(s) of the surface(s) where custom boundary conditions are imposed. MARKER_CUSTOM= ( left, right, upper, lower ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( left, right, upper, lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( left, right, upper, lower ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 25.0, 10000.0 ) -% -% Maximum Delta Time in local time stepping simulations MAX_DELTA_TIME= 1E30 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 9999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-15 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -14 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= square.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/moving_wall/cavity/lam_cavity.cfg b/TestCases/moving_wall/cavity/lam_cavity.cfg index 8140296d6b2..40b5b348d09 100644 --- a/TestCases/moving_wall/cavity/lam_cavity.cfg +++ b/TestCases/moving_wall/cavity/lam_cavity.cfg @@ -2,227 +2,105 @@ % % % SU2 configuration file % % Case description: Laminar flow inside of a lid-driven cavity % -% Author: Thomas D. Economon % -% Institution: Stanford University % +% Author: Thomas D. Economon % +% Institution: Stanford University % % Date: 2013.10.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.05 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 1000.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, RIGID_MOTION, DEFORMING, ROTATING_FRAME, -% MOVING_WALL, AEROELASTIC, ELASTICITY, EXTERNAL) SURFACE_MOVEMENT= MOVING_WALL -% -% Motion mach number (non-dimensional). Used for initializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.1 -% -% Moving wall boundary marker(s) (NONE = no marker, ignored for RIGID_MOTION) MARKER_MOVING= ( upper ) -% -% Translational velocity (m/s) in the x, y, & z directions SURFACE_TRANSLATION_RATE= 33.179 0.0 0.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX= ( upper, 0.0, left, 0.0, right, 0.0, lower, 0.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( upper, left, right, lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( upper, left, right, lower ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cavity_stretch.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output -SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) - +SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) \ No newline at end of file diff --git a/TestCases/moving_wall/spinning_cylinder/spinning_cylinder.cfg b/TestCases/moving_wall/spinning_cylinder/spinning_cylinder.cfg index a2f90b1df4b..6b16de3a5a0 100644 --- a/TestCases/moving_wall/spinning_cylinder/spinning_cylinder.cfg +++ b/TestCases/moving_wall/spinning_cylinder/spinning_cylinder.cfg @@ -2,244 +2,114 @@ % % % SU2 configuration file % % Case description: Laminar flow around a spinning cylinder % -% Author: Thomas D. Economon % -% Institution: Stanford University % +% Author: Thomas D. Economon % +% Institution: Stanford University % % Date: 2013.08.21 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 200.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, RIGID_MOTION, DEFORMING, ROTATING_FRAME, -% MOVING_WALL, AEROELASTIC, EXTERNAL) SURFACE_MOVEMENT= MOVING_WALL -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.1 -% -% Moving wall boundary marker(s) (NONE = no marker, ignored for RIGID_MOTION) MARKER_MOVING= ( cylinder ) -% -% Coordinates of the motion origin SURFACE_MOTION_ORIGIN= 0.5 0.0 0.0 -% -% Angular velocity vector (rad/s) about the motion origin SURFACE_ROTATION_RATE = 0.0 0.0 -199.0738 + % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX= ( cylinder, 0.0 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 100.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.5 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.5 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-7 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder_lam.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 100 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/multiple_ffd/naca0012/inv_NACA0012_ffd.cfg b/TestCases/multiple_ffd/naca0012/inv_NACA0012_ffd.cfg index 749b7992b02..63ac0e6024d 100644 --- a/TestCases/multiple_ffd/naca0012/inv_NACA0012_ffd.cfg +++ b/TestCases/multiple_ffd/naca0012/inv_NACA0012_ffd.cfg @@ -5,248 +5,112 @@ % Author: Francisco Palacios, Charanya Venkatesan-Crome % % Institution: Stanford University % % Date: 2018.07.23 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% -OUTPUT_FILES=(RESTART_ASCII) + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil_upper, airfoil_lower ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil_upper, airfoil_lower ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil_upper, airfoil_lower ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 10 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (LU_SGS, -% SYM_GAUSS_SEIDEL, BCGSTAB, GMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET, LUSGS) LINEAR_SOLVER_PREC= ILU -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) -CONV_NUM_METHOD_FLOW= JST % -% Slope limiter (VENKATAKRISHNAN) +CONV_NUM_METHOD_FLOW= JST SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter (VENKATAKRISHNAN, SHARP_EDGES) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO -% -% Sensitivity smoothing (NONE, SOBOLEV, BIGRID) SENS_SMOOTHING= NONE % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= FFD_SETTING -%DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil_upper, airfoil_lower ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( UPPER, 1, 0, 0, 0.0, 1.0, 0.0 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.001 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= ( LOWER, 0.075, -0.075, 0.0, 0.625, -0.075, 0.0, 0.625, -0.02, 0.0, 0.075, -0.02, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ); ( UPPER, 0.075, 0.02, 0.0, 0.625, 0.02, 0.0, 0.625, 0.075, 0.0, 0.075, 0.075, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= ( 4, 1, 0 ); (4, 1, 0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) -%FFD_CONTINUITY= 2ND_DERIVATIVE FFD_CONTINUITY= USER_INPUT -% Definition of the FFD planes to be frozen in the FFD (x,y,z). -% Value from 0 FFD degree in that direction. Pick a value larger than degree if you don't want to fix any plane. FFD_FIX_I= (0,4) FFD_FIX_J= (15) FFD_FIX_K= (15) @@ -254,131 +118,37 @@ FFD_FIX_K= (15) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_multiFFD.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% -% HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, D_AERO_COEFF) +OUTPUT_FILES= (RESTART_ASCII) + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.327 ) * 0.001; ( MOMENT_Z > 0.0 ) * 0.001; ( AIRFOIL_THICKNESS > 0.12 ) * 0.001 -% -% Maximum number of optimizer iterations OPT_ITERATIONS= 1 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons - -% FFD_CONTROL_POINT (Y) DEFINITION_DV= ( 11, 1.0 | airfoil_upper | UPPER, 1, 0, 0, 0.0, 1.0, 0.0 ); ( 11, 1.0 | airfoil_lower | LOWER, 1, 0, 0, 0.0, 1.0, 0.0 ) diff --git a/TestCases/navierstokes/cylinder/cylinder_lowmach.cfg b/TestCases/navierstokes/cylinder/cylinder_lowmach.cfg index 98097644088..a975b7403e2 100644 --- a/TestCases/navierstokes/cylinder/cylinder_lowmach.cfg +++ b/TestCases/navierstokes/cylinder/cylinder_lowmach.cfg @@ -5,217 +5,98 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.09.30 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.01 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 40.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( cylinder, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 4.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= HLLC -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 10.0 -% -% Low Mach correction LOW_MACH_CORR= YES -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder_lam.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG, TOTAL_HEATFLUX) diff --git a/TestCases/navierstokes/cylinder/lam_cylinder.cfg b/TestCases/navierstokes/cylinder/lam_cylinder.cfg index 50e5c0e802a..e6629d4fc99 100644 --- a/TestCases/navierstokes/cylinder/lam_cylinder.cfg +++ b/TestCases/navierstokes/cylinder/lam_cylinder.cfg @@ -5,211 +5,97 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.09.30 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 40.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( cylinder, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( cylinder ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( cylinder ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 4.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 10.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_cylinder_lam.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output fields SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG, TOTAL_HEATFLUX) diff --git a/TestCases/navierstokes/flatplate/lam_flatplate.cfg b/TestCases/navierstokes/flatplate/lam_flatplate.cfg index 226aadbd7e3..18435bf9caa 100644 --- a/TestCases/navierstokes/flatplate/lam_flatplate.cfg +++ b/TestCases/navierstokes/flatplate/lam_flatplate.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.09.30 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -92,4 +92,3 @@ RESTART_ADJ_FILENAME= restart_adj.dat GRAD_OBJFUNC_FILENAME= of_grad.dat OUTPUT_WRT_FREQ= 250 SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, DRAG, SURFACE_MASSFLOW, TOTAL_HEATFLUX, TOTAL_HEATFLUX_ON_SURFACE) - diff --git a/TestCases/navierstokes/flatplate/lam_flatplate_unst.cfg b/TestCases/navierstokes/flatplate/lam_flatplate_unst.cfg index 6c8028fb76c..46285433567 100644 --- a/TestCases/navierstokes/flatplate/lam_flatplate_unst.cfg +++ b/TestCases/navierstokes/flatplate/lam_flatplate_unst.cfg @@ -2,7 +2,7 @@ % % % SU2 configuration file % % Case description: Test interp. restart, and auto time-step for dual-time % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -57,7 +57,6 @@ TIME_DOMAIN= YES UNST_CFL_NUMBER= 20 TIME_MARCHING= DUAL_TIME_STEPPING-1ST_ORDER - % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % LINEAR_SOLVER= SMOOTHER @@ -84,5 +83,4 @@ INNER_ITER= 20 MESH_FORMAT= BOX MESH_BOX_LENGTH= (0.01, 0.01, 0.1) MESH_BOX_SIZE= (17, 33, 129) -% SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, CUR_TIME, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_MOMENTUM-Z, RMS_ENERGY, FORCE_Z, LINSOL_RESIDUAL) diff --git a/TestCases/navierstokes/naca0012/lam_NACA0012.cfg b/TestCases/navierstokes/naca0012/lam_NACA0012.cfg index ef5e2e573b5..e30de09d1c0 100644 --- a/TestCases/navierstokes/naca0012/lam_NACA0012.cfg +++ b/TestCases/navierstokes/naca0012/lam_NACA0012.cfg @@ -5,203 +5,92 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Sep 28, 2012 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) -% +% SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 1.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 5000.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 2, 2 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.85 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.85 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.0001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_lam_hybrid_v1.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% - diff --git a/TestCases/navierstokes/periodic2D/config.cfg b/TestCases/navierstokes/periodic2D/config.cfg index 7e8184b9835..de898e849de 100644 --- a/TestCases/navierstokes/periodic2D/config.cfg +++ b/TestCases/navierstokes/periodic2D/config.cfg @@ -70,5 +70,4 @@ INNER_ITER= 5000 MESH_FORMAT= SU2 MESH_FILENAME= sector.su2 OUTPUT_WRT_FREQ= 9999 -% SCREEN_OUTPUT= ( INNER_ITER, RMS_RES, LINSOL_RESIDUAL, SURFACE_PRESSURE_DROP ) diff --git a/TestCases/navierstokes/poiseuille/lam_poiseuille.cfg b/TestCases/navierstokes/poiseuille/lam_poiseuille.cfg index f921d8778c0..51d0e0baccf 100644 --- a/TestCases/navierstokes/poiseuille/lam_poiseuille.cfg +++ b/TestCases/navierstokes/poiseuille/lam_poiseuille.cfg @@ -2,253 +2,117 @@ % % % SU2 configuration file % % Case description: Poiseuille flow case for testing a body force/periodicity % -% Author: Thomas D. Economon % +% Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2017.02.27 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulence model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.0028284271247461901 % V : 1 m/s -% -% Angle of attack (degrees, only for compressible flows) AOA= 90.0 -% -% Init option to choose between Reynolds (default) or thermodynamics quantities -% for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS -% -% Free-stream option to choose between density and temperature (default) for -% initializing the solution (TEMPERATURE_FS, DENSITY_FS) FREESTREAM_OPTION= DENSITY_FS -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream density (1.2886 Kg/m^3, 0.0025 slug/ft^3 by default) FREESTREAM_DENSITY= 1.0 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional -% moment (m or in) REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= IDEAL_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.25 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 200.0 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 0.1 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0257 -% -% Constant Prandtl number PRANDTL_LAM = 1.0 % ----------------------- BODY FORCE DEFINITION -------------------------------% % -% Apply a body force as a source term (NO, YES) BODY_FORCE= YES -% -% Vector of body force values (BodyForce_X, BodyForce_Y, BodyForce_Z) BODY_FORCE_VECTOR= ( 0.0, 1.2, 0.0 ) % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX= ( left, 0.0, right, 0.0 ) -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rotation_center_x, rotation_center_y, -% rotation_center_z, rotation_angle_x-axis, rotation_angle_y-axis, -% rotation_angle_z-axis, translation_x, translation_y, translation_z, ... ) MARKER_PERIODIC= ( lower, upper, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( left, right ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 15.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 15.0, 10000.0 ) -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION ----------------------.su2 % -% Mesh input file MESH_FILENAME= mesh_poiseuille_51x51.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% -% -% Screen output SCREEN_OUTPUT=(INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG, TOTAL_HEATFLUX) -% OUTPUT_FILES=(RESTART_ASCII) diff --git a/TestCases/navierstokes/poiseuille/profile_poiseuille.cfg b/TestCases/navierstokes/poiseuille/profile_poiseuille.cfg index e59ed842dc2..ee36e6794ff 100644 --- a/TestCases/navierstokes/poiseuille/profile_poiseuille.cfg +++ b/TestCases/navierstokes/poiseuille/profile_poiseuille.cfg @@ -5,282 +5,123 @@ % Author: Thomas D. Economon % % Institution: Robert Bosch LLC % % Date: 2018.03.19 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulence model (NONE, SA) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Discard the restart metadata (iteration numbers) DISCARD_INFILES= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.0028284271247461901 % V : 1 m/s -% -% Angle of attack (degrees, only for compressible flows) AOA= 90.0 -% -% Init option to choose between Reynolds (default) or thermodynamics quantities -% for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS -% -% Free-stream option to choose between density and temperature (default) for -% initializing the solution (TEMPERATURE_FS, DENSITY_FS) FREESTREAM_OPTION= DENSITY_FS -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream density (1.2886 Kg/m^3, 0.0025 slug/ft^3 by default) FREESTREAM_DENSITY= 1.0 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional -% moment (m or in) REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= IDEAL_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.25 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 200.0 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 0.1 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL % -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0257 -% -% Constant Prandtl number PRANDTL_LAM = 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX= ( left, 0.0, right, 0.0 ) -% -% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW) INLET_TYPE= MASS_FLOW -% -% Read inlet profile from a file (YES, NO) default: NO + SPECIFIED_INLET_PROFILE= YES -% -% File specifying inlet profile INLET_FILENAME= inlet_poiseuille.dat -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -% Incompressible: (inlet marker, NULL, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( lower, 1.0, 1.0, 0.0, 1.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( upper, 100000.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( upper ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( left, right ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 15.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 15.0, 10000.0 ) -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-grid levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION ----------------------.su2 % -% Mesh input file MESH_FILENAME= mesh_poiseuille_51x51.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_profile.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 25 -% -% -% Screen output fields SCREEN_OUTPUT=(INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/nicf/LS89/turb_SA_PR.cfg b/TestCases/nicf/LS89/turb_SA_PR.cfg index 1d2c122e672..682d1ba26a8 100644 --- a/TestCases/nicf/LS89/turb_SA_PR.cfg +++ b/TestCases/nicf/LS89/turb_SA_PR.cfg @@ -5,312 +5,130 @@ % Author: M. Pini, S. Vitale % % Institution: Delft University of Technology % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 1100000.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 592.295 - -% Free-stream temperature (1.2886 Kg/m3 by default) FREESTREAM_DENSITY= 1.2886 - -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.05 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E5 -% INIT_OPTION= TD_CONDITIONS -% -%SYSTEM_MEASUREMENTS= US + % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= PR_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.0165 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 35.23 -% -% Critical Temperature (288.15 K by default) CRITICAL_TEMPERATURE= 564.1 -% -% Critical Pressure (101325.0 N/m^2 by default) CRITICAL_PRESSURE= 1415000 -% -% Critical Density (1.2886 Kg/m3 by default) CRITICAL_DENSITY= 256.74 -% -% Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.529 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.3764E-5 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (288.15 K default value for AIR SI) MU_T_REF= 288.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.047280 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW) INLET_TYPE= TOTAL_CONDITIONS -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -%MARKER_INLET= ( inflow, 404.1, 0.904E+05, 1.0, 0.0, 0.0 ) MARKER_RIEMANN= (inflow, TOTAL_CONDITIONS_PT, 13.8686E+05, 592.295, 1.0, 0.0, 0.0, outflow, STATIC_PRESSURE, 11.00E+05, 0.0, 0.0, 0.0, 0.0) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) -%MARKER_OUTLET= ( outflow, 0.523E+05 ) -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rotation_center_x, rotation_center_y, -% rotation_center_z, rotation_angle_x-axis, rotation_angle_y-axis, -% rotation_angle_z-axis, translation_x, translation_y, translation_z, ... ) MARKER_PERIODIC= ( periodic_1, periodic_2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.05749995, 0.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 5000 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_vki_turbine_prepbc.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/nicf/LS89/turb_SST_PR.cfg b/TestCases/nicf/LS89/turb_SST_PR.cfg index b72839445b7..a611ef7e427 100644 --- a/TestCases/nicf/LS89/turb_SST_PR.cfg +++ b/TestCases/nicf/LS89/turb_SST_PR.cfg @@ -5,312 +5,131 @@ % Author: M. Pini, S. Vitale % % Institution: Delft University of Technology % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 1100000.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 592.295 - -% Free-stream temperature (1.2886 Kg/m3 by default) FREESTREAM_DENSITY= 1.2886 - -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.05 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E5 -% INIT_OPTION= TD_CONDITIONS -% -%SYSTEM_MEASUREMENTS= US + % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= PR_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.0165 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 35.23 -% -% Critical Temperature (288.15 K by default) CRITICAL_TEMPERATURE= 564.1 -% -% Critical Pressure (101325.0 N/m^2 by default) CRITICAL_PRESSURE= 1415000 -% -% Critical Density (1.2886 Kg/m3 by default) CRITICAL_DENSITY= 256.74 -% -% Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.529 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.3764E-5 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (288.15 K default value for AIR SI) MU_T_REF= 288.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.047280 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW) INLET_TYPE= TOTAL_CONDITIONS -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -%MARKER_INLET= ( inflow, 404.1, 0.904E+05, 1.0, 0.0, 0.0 ) MARKER_RIEMANN= (inflow, TOTAL_CONDITIONS_PT, 13.8686E+05, 592.295, 1.0, 0.0, 0.0, outflow, STATIC_PRESSURE, 11.00E+05, 0.0, 0.0, 0.0, 0.0) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) -%MARKER_OUTLET= ( outflow, 0.523E+05 ) -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rotation_center_x, rotation_center_y, -% rotation_center_z, rotation_angle_x-axis, rotation_angle_y-axis, -% rotation_angle_z-axis, translation_x, translation_y, translation_z, ... ) MARKER_PERIODIC= ( periodic_1, periodic_2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.05749995, 0.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 5000 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_vki_turbine_prepbc.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% - -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG) diff --git a/TestCases/nicf/coolprop/coolprop_nozzle.cfg b/TestCases/nicf/coolprop/fluidModel.cfg similarity index 84% rename from TestCases/nicf/coolprop/coolprop_nozzle.cfg rename to TestCases/nicf/coolprop/fluidModel.cfg index 7a3f6a1ac24..6b2fb858bc6 100644 --- a/TestCases/nicf/coolprop/coolprop_nozzle.cfg +++ b/TestCases/nicf/coolprop/fluidModel.cfg @@ -16,18 +16,15 @@ KIND_TURB_MODEL= SST MATH_PROBLEM= DIRECT RESTART_SOL= YES SYSTEM_MEASUREMENTS= SI -% + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 1E-9 AOA= 0.0 SIDESLIP_ANGLE= 0.0 INIT_OPTION= TD_CONDITIONS FREESTREAM_OPTION= TEMPERATURE_FS FREESTREAM_PRESSURE= 904388 -% -% Free-stream temperature (288.15 K, 518.67 R by default) FREESTREAM_TEMPERATURE= 542.13 REF_DIMENSIONALIZATION= DIMENSIONAL @@ -35,6 +32,7 @@ REF_DIMENSIONALIZATION= DIMENSIONAL % FLUID_MODEL = COOLPROP FLUID_NAME = nitrogen + % --------------------------- VISCOSITY MODEL ---------------------------------% VISCOSITY_MODEL= CONSTANT_VISCOSITY MU_CONSTANT= 1.21409E-05 @@ -67,11 +65,6 @@ LINEAR_SOLVER_ILU_FILL_IN= 0 LINEAR_SOLVER_ERROR= 1E-6 LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-grid levels (0 = no multi-grid) -MGLEVEL= 0 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% CONV_NUM_METHOD_FLOW= ROE ENTROPY_FIX_COEFF= 0.1 @@ -83,41 +76,20 @@ TIME_DISCRE_TURB= EULER_IMPLICIT CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Number of total iterations ITER= 101 CONV_RESIDUAL_MINVAL= -24 CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= coolprop_nozzle.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG) diff --git a/TestCases/nicf/coolprop/transportModel.cfg b/TestCases/nicf/coolprop/transportModel.cfg new file mode 100644 index 00000000000..b4b1d9c4906 --- /dev/null +++ b/TestCases/nicf/coolprop/transportModel.cfg @@ -0,0 +1,86 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Non-ideal compressible fluid flow in a converging- % +% diverging supersonic nozzle with CoolProp library % +% Author: Peng Yan, Alberto Guardone % +% Institution: Politecnico di Milano % +% Date: 2022.11.26 % +% File Version 7.4.0 Blackbird % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +SOLVER= RANS +KIND_TURB_MODEL= SST +MATH_PROBLEM= DIRECT +RESTART_SOL= YES +SYSTEM_MEASUREMENTS= SI + +% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% +MACH_NUMBER= 1E-9 +AOA= 0.0 +SIDESLIP_ANGLE= 0.0 +INIT_OPTION= TD_CONDITIONS +FREESTREAM_OPTION= TEMPERATURE_FS +FREESTREAM_PRESSURE= 904388 +FREESTREAM_TEMPERATURE= 542.13 +REF_DIMENSIONALIZATION= DIMENSIONAL + +% ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +FLUID_MODEL = COOLPROP +FLUID_NAME = Nitrogen +VISCOSITY_MODEL = COOLPROP +CONDUCTIVITY_MODEL= COOLPROP + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +MARKER_HEATFLUX= ( WALL, 0.0 ) +MARKER_SYM= ( SYMMETRY ) +MARKER_RIEMANN= ( INFLOW, TOTAL_CONDITIONS_PT, 904388, 542.13, 1.0, 0.0, 0.0, OUTFLOW, STATIC_PRESSURE, 200000.0, 0.0, 0.0, 0.0, 0.0 ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 10.0 +CFL_ADAPT= YES +CFL_ADAPT_PARAM= ( 0.1, 2.0, 10.0, 1000.0 ) +MAX_DELTA_TIME= 1E6 + +% ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +MUSCL_TURB= NO + +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ILU_FILL_IN= 0 +LINEAR_SOLVER_ERROR= 1E-6 +LINEAR_SOLVER_ITER= 10 + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +CONV_NUM_METHOD_FLOW= ROE +ENTROPY_FIX_COEFF= 0.1 +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +TIME_DISCRE_TURB= EULER_IMPLICIT +CFL_REDUCTION_TURB= 1.0 + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +ITER= 101 +CONV_RESIDUAL_MINVAL= -24 +CONV_STARTITER= 10 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +MESH_FILENAME= coolprop_nozzle.su2 +MESH_FORMAT= SU2 +MESH_OUT_FILENAME= mesh_out.su2 +SOLUTION_FILENAME= solution_flow.dat +TABULAR_FORMAT= CSV +CONV_FILENAME= history +RESTART_FILENAME= restart_flow.dat +VOLUME_FILENAME= flow +SURFACE_FILENAME= surface_flow +OUTPUT_WRT_FREQ= 50 +SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG) diff --git a/TestCases/nicf/edge/edge_PPR.cfg b/TestCases/nicf/edge/edge_PPR.cfg index 80d3ace0d95..8ce5f2a50b4 100644 --- a/TestCases/nicf/edge/edge_PPR.cfg +++ b/TestCases/nicf/edge/edge_PPR.cfg @@ -5,232 +5,104 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.09.29 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) % SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -%---------------------- REFERENCE VALUE DEFINITION ---------------------------% - -% ----------- COMPRESSIBLE FREE-STREAM DEFINITION ----------% +% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 1.7 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 1500112.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 564.1 - -% Free-stream temperature (1.2886 Kg/m3 by default) FREESTREAM_DENSITY= 230.0 - -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= DENSITY_FS % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % % Values are characteristic for an MDM siloxane fluid near its critical point -% -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) -% Change this flag to select a different equation of state FLUID_MODEL= PR_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.0125 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 35.152 % -% -% Critical Temperature (131.00 K by default) CRITICAL_TEMPERATURE= 564.1 -% -% Critical Pressure (3588550.0 N/m^2 by default) CRITICAL_PRESSURE= 1415200 -% -% Critical Density (263.0 Kg/m3 by default) CRITICAL_DENSITY= 256.82 % -% Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.529 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( WALL1, WALL2 ) -% MARKER_RIEMANN= (INFLOW, STATIC_SUPERSONIC_INFLOW_PD, 1500112, 202.8878, 1.7, 0.0, 0.0, OUTFLOW, STATIC_PRESSURE, 1000.0, 0.0, 0.0, 0.0, 0.0) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( NONE ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( WALL1 ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -%NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 500 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/nicf/edge/edge_VW.cfg b/TestCases/nicf/edge/edge_VW.cfg index cc023e17647..44e1f5c7c69 100644 --- a/TestCases/nicf/edge/edge_VW.cfg +++ b/TestCases/nicf/edge/edge_VW.cfg @@ -5,232 +5,106 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.09.29 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) -% SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% - -%---------------------- REFERENCE VALUE DEFINITION ---------------------------% -% ----------- COMPRESSIBLE FREE-STREAM DEFINITION ----------% +% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 1.7 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 1500112.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 564.1 - -% Free-stream temperature (1.2886 Kg/m3 by default) FREESTREAM_DENSITY= 230.0 - -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= DENSITY_FS % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % % Values are characteristic for an MDM siloxane fluid near its critical point % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) -% Change this flag to select a different equation of state FLUID_MODEL= VW_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.0125 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 35.152 % -% -% Critical Temperature (131.00 K by default) CRITICAL_TEMPERATURE= 564.1 -% -% Critical Pressure (3588550.0 N/m^2 by default) CRITICAL_PRESSURE= 1415200 -% -% Critical Density (263.0 Kg/m3 by default) CRITICAL_DENSITY= 256.82 % -% Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.529 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( WALL1, WALL2 ) -% MARKER_RIEMANN= (INFLOW, STATIC_SUPERSONIC_INFLOW_PD, 1500112, 202.8878, 1.7, 0.0, 0.0, OUTFLOW, STATIC_PRESSURE, 1000.0, 0.0, 0.0, 0.0, 0.0) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( NONE ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( WALL1 ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -%NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 500 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) diff --git a/TestCases/nonequilibrium/invwedge/invwedge.cfg b/TestCases/nonequilibrium/invwedge/invwedge.cfg index c198585d78b..604a12145ae 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge.cfg @@ -5,144 +5,72 @@ % Author: C. Garbacz % % Institution: Strathclyde University % % Date: 2020.11.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NEMO_EULER -% GAS_MODEL= AIR-5 -% GAS_COMPOSITION= (0.77, 0.23, 0.0, 0.0, 0.0) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 5 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 FREESTREAM_TEMPERATURE_VE= 288.15 % ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS, INC_IDEAL_GAS_POLY, MUTATIONPP, SU2_NONEQ) FLUID_MODEL= SU2_NONEQ % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( Euler, Wall ) MARKER_OUTLET= ( Exit, 10 ) MARKER_FAR = ( Farfield, Inlet ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (NONE ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( Wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 3 -% -% Number of total iterations ITER= 11 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -----------------------------------------------------------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= AUSM -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) -% MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.05 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -50 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= invwedge.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= convergence -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= soln_volume -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= soln_surface -% - OUTPUT_WRT_FREQ= 100 - OUTPUT_FILES= (RESTART_ASCII, PARAVIEW_ASCII) diff --git a/TestCases/nonequilibrium/thermalbath/finitechemistry/thermalbath.cfg b/TestCases/nonequilibrium/thermalbath/finitechemistry/thermalbath.cfg index 6d28571e1b2..9169529de25 100644 --- a/TestCases/nonequilibrium/thermalbath/finitechemistry/thermalbath.cfg +++ b/TestCases/nonequilibrium/thermalbath/finitechemistry/thermalbath.cfg @@ -7,163 +7,81 @@ % Author: C. Garbacz % % Institution: Strathclyde University % % Date: 2019.04.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NEMO_EULER -% GAS_MODEL= N2 -% GAS_COMPOSITION=(0.666667, 0.333333) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% READ_BINARY_RESTART= NO -% TIME_MARCHING=TIME_STEPPING TIME_DOMAIN= YES TIME_STEP= 0.000000001 % 1.e-09 MAX_TIME= 0.001 -% + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE_STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.0 -% Angle of attack (degrees) AOA = 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE = 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE = 30000 -% -%Free-stream vibrational temperature (288.15 K by default) FREESTREAM_TEMPERATURE_VE= 1000 -% + % ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS, INC_IDEAL_GAS_POLY, MUTATIONPP, SU2_NONEQ) FLUID_MODEL= SU2_NONEQ -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_SYM= (left,bottom,top,right ) -% -% Marker(s) of the surface to be plotted or designed -%MARKER_MONITORING= ( bottom ) -% + % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Number of total iterations TIME_ITER= 11 -% + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= AUSM -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -50 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% Function to apply the criteria (LIFT, DRAG, NEARFIELD_PRESS, SENS_GEOMETRY, -% SENS_MACH, DELTA_LIFT, DELTA_DRAG) -OBJECTIVE_FUNCTION= DRAG + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= 5x5Mesh.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT OUTPUT_FILES= (RESTART_ASCII) -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= test_flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% SCREEN_WRT_FREQ_INNER= 10 - OUTPUT_WRT_FREQ= 10 diff --git a/TestCases/nonequilibrium/thermalbath/finitechemistry/weakly_ionized.cfg b/TestCases/nonequilibrium/thermalbath/finitechemistry/weakly_ionized.cfg index c9b8be33cb2..22d7907f7a5 100644 --- a/TestCases/nonequilibrium/thermalbath/finitechemistry/weakly_ionized.cfg +++ b/TestCases/nonequilibrium/thermalbath/finitechemistry/weakly_ionized.cfg @@ -10,9 +10,6 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NEMO_EULER GAS_MODEL= AIR-7 GAS_COMPOSITION=(0.0, 0.767, 0.233, 0.0, 0.0, 0.0, 0.0) @@ -33,6 +30,7 @@ FREESTREAM_TEMPERATURE = 30000 FREESTREAM_TEMPERATURE_VE= 1000 % ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +% FLUID_MODEL= SU2_NONEQ % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% diff --git a/TestCases/nonequilibrium/thermalbath/frozen/thermalbath_frozen.cfg b/TestCases/nonequilibrium/thermalbath/frozen/thermalbath_frozen.cfg index 1340054f7e4..0d6aff1f891 100644 --- a/TestCases/nonequilibrium/thermalbath/frozen/thermalbath_frozen.cfg +++ b/TestCases/nonequilibrium/thermalbath/frozen/thermalbath_frozen.cfg @@ -6,165 +6,82 @@ % Author: C. Garbacz % % Institution: Strathclyde University % % Date: 2019.04.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NEMO_EULER -% GAS_MODEL= N2 -% GAS_COMPOSITION=(0.666667, 0.333333) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% READ_BINARY_RESTART= NO -% TIME_MARCHING=TIME_STEPPING TIME_DOMAIN= YES TIME_STEP= 0.000000001 % 1.e-09 MAX_TIME= 0.001 -% + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE_STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.0 -% Angle of attack (degrees) AOA = 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE = 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE = 30000 -% -%Free-stream vibrational temperature (288.15 K by default) FREESTREAM_TEMPERATURE_VE= 1000 -% + % ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS, INC_IDEAL_GAS_POLY, MUTATIONPP, SU2_NONEQ) FLUID_MODEL= SU2_NONEQ -% FROZEN_MIXTURE= YES -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_SYM= (left,bottom,top,right ) -% -% Marker(s) of the surface to be plotted or designed %MARKER_MONITORING= ( bottom ) -% + % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Number of total iterations TIME_ITER= 11 -% + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= AUSM -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -50 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% Function to apply the criteria (LIFT, DRAG, NEARFIELD_PRESS, SENS_GEOMETRY, -% SENS_MACH, DELTA_LIFT, DELTA_DRAG) -OBJECTIVE_FUNCTION= DRAG + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= 5x5Mesh.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT OUTPUT_FILES= (RESTART_ASCII, TECPLOT_ASCII) -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= test_flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% SCREEN_WRT_FREQ_INNER= 10 - OUTPUT_WRT_FREQ= 10 diff --git a/TestCases/nonequilibrium/viscous/axi_visccone.cfg b/TestCases/nonequilibrium/viscous/axi_visccone.cfg index bc976a28601..b2f76f8a785 100644 --- a/TestCases/nonequilibrium/viscous/axi_visccone.cfg +++ b/TestCases/nonequilibrium/viscous/axi_visccone.cfg @@ -4,7 +4,7 @@ % Case description: Mach 5 viscous flow over a 10deg axisymmetric cone % % Author: C. Garbacz % % Institution: Strathclyde University % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/viscous/partial_cat.cfg b/TestCases/nonequilibrium/viscous/partial_cat.cfg index d848fe962d2..b0b37728fdc 100644 --- a/TestCases/nonequilibrium/viscous/partial_cat.cfg +++ b/TestCases/nonequilibrium/viscous/partial_cat.cfg @@ -5,7 +5,7 @@ % catalytic walls - gamma model, effeciency = 0.2 % % Author: J. Needels % % Institution: Stanford University % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36,7 +36,6 @@ FLUID_MODEL= SU2_NONEQ % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( Euler) MARKER_ISOTHERMAL= (Wall, 300) MARKER_OUTLET= ( Exit, 5 ) diff --git a/TestCases/nonequilibrium/viscous/super_cat.cfg b/TestCases/nonequilibrium/viscous/super_cat.cfg index a4bde59a0ea..b11a8b8d8cc 100644 --- a/TestCases/nonequilibrium/viscous/super_cat.cfg +++ b/TestCases/nonequilibrium/viscous/super_cat.cfg @@ -5,7 +5,7 @@ % catalytic walls - gamma model, effeciency = 0.2 % % Author: J. Needels % % Institution: Stanford University % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -36,7 +36,6 @@ FLUID_MODEL= SU2_NONEQ % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( Euler) MARKER_ISOTHERMAL= (Wall, 300) MARKER_OUTLET= ( Exit, 5 ) diff --git a/TestCases/nonequilibrium/viscwedge_mpp/viscwedge_mpp.cfg b/TestCases/nonequilibrium/viscwedge_mpp/viscwedge_mpp.cfg index 465ed03bccd..a62a1a4d87d 100644 --- a/TestCases/nonequilibrium/viscwedge_mpp/viscwedge_mpp.cfg +++ b/TestCases/nonequilibrium/viscwedge_mpp/viscwedge_mpp.cfg @@ -5,148 +5,74 @@ % Author: C. Garbacz % % Institution: Strathclyde University % % Date: 2020.11.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NEMO_NAVIER_STOKES -% GAS_MODEL= air_5 -% GAS_COMPOSITION= (0.0, 0.0, 0.0, 0.77, 0.23) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 5 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Init option to choose between Reynolds (default) or thermodynamics quantities -% for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 10.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 FREESTREAM_TEMPERATURE_VE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 10000 KIND_TURB_MODEL= NONE % ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Fluid model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS, -% CONSTANT_DENSITY, INC_IDEAL_GAS, INC_IDEAL_GAS_POLY, MUTATIONPP, SU2_NONEQ) FLUID_MODEL= MUTATIONPP % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( Euler) MARKER_ISOTHERMAL= (Wall, 300) MARKER_OUTLET= ( Exit, 5 ) MARKER_FAR= ( Farfield, Inlet ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= (NONE ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( Wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.5 -% -% Number of total iterations ITER= 11 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -----------------------------------------------------------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= AUSM -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) -% MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the Venkat's limiter (upwind scheme). A larger values decrease -% the extent of limiting, values approaching zero cause -% lower-order approximation to the solution (0.05 by default) VENKAT_LIMITER_COEFF= 0.05 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= viscwedge.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= convergence -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= soln_volume -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= soln_surface -% OUTPUT_WRT_FREQ= 100 -% OUTPUT_FILES= (RESTART_ASCII, PARAVIEW_ASCII) diff --git a/TestCases/optimization_euler/equivalentarea_naca64206/NACA64206.cfg b/TestCases/optimization_euler/equivalentarea_naca64206/NACA64206.cfg index 09c21f05503..a7d2293ae9c 100644 --- a/TestCases/optimization_euler/equivalentarea_naca64206/NACA64206.cfg +++ b/TestCases/optimization_euler/equivalentarea_naca64206/NACA64206.cfg @@ -5,7 +5,7 @@ % Author: Yuki Utsumi % % Institution: Individual % % Date: 2021.08.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -17,19 +17,10 @@ READ_BINARY_RESTART= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 1.6 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 11662.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 216.6499 REF_ORIGIN_MOMENT_X = 0.25 @@ -40,6 +31,7 @@ REF_AREA= 0 REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ------------------------ SUPERSONIC SIMULATION ------------------------------% +% % MARKER_NEARFIELD needs to be defined on a circumferential boundary within % calculation domain so that it captures pressure disturbance from the model. % The boundary should have a structured grid with the same number of nodes @@ -71,17 +63,12 @@ MARKER_SUPERSONIC_OUTLET=(Outlet) MARKER_SYM= ( Symmetry ) MARKER_PLOTTING= ( Wing ) MARKER_MONITORING= ( Wing ) -% -% Near-Field boundary marker(s) (NONE = no marker) MARKER_NEARFIELD= ( Nearfield ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % NUM_METHOD_GRAD= GREEN_GAUSS - -% Objective function in gradient evaluation OBJECTIVE_FUNCTION= EQUIVALENT_AREA -% CFL_NUMBER=3 CFL_ADAPT= NO ITER=4000 @@ -97,10 +84,6 @@ ADJ_SHARP_LIMITER_COEFF= 3.0 REF_SHARP_EDGES= 3.0 SENS_REMOVE_SHARP= YES -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -MGLEVEL= 0 -% % ----------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION ------------------% % RELAXATION_FACTOR_ADJOINT= 1.0 diff --git a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_2surf_1obj.cfg b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_2surf_1obj.cfg index 983bc39ff9b..0d7fd536f46 100644 --- a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_2surf_1obj.cfg +++ b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_2surf_1obj.cfg @@ -7,396 +7,143 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Number of Zones NZONES= 1 + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( upper, lower ) -% -% Supersonic inlet boundary marker(s) (NONE = no marker) -% Total Conditions: (inlet marker, temperature, static pressure, velocity_x, -% velocity_y, velocity_z, ... ), i.e. all variables specified. MARKER_SUPERSONIC_INLET= ( inlet, 300.0, 100000.0, 695.4290761824674, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 10000.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (outlet,lower) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER=1 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (1 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 - - % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.006 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Relaxation coefficient RELAXATION_FACTOR_ADJOINT= 1.0 -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E15 -% -% Multigrid adjoint problem (NO, YES) MG_ADJFLOW= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION = DRAG -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT= 1.0 -% -% Marker on which to track one-dimensionalized quantities MARKER_ANALYZE = (outlet) -% -% Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = AREA % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -11 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_wedge_inv_FFD.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Read binary restart files READ_BINARY_RESTART = NO -% OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_CSV) +HISTORY_OUTPUT= (ITER, RMS_RES, AERO_COEFF) % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.5, -0.25, 0, 1.5, -0.25, 0, 1.5, 0.25, 0, 0.5, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 1,0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( lower ) -% DV_KIND= FFD_CONTROL_POINT_2D -% -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= (MAIN_BOX, 3,0, 0,1.0,0,0 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.5 -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor, separated by semicolons. -% To include quadratic penalty function: use OPT_CONSTRAINT option syntax within the OPT_OBJECTIVE list. -% ex= Objective * Scale OPT_OBJECTIVE=DRAG -% -% Use combined objective within gradient evaluation: may reduce cost to compute gradients when using the adjoint formulation. OPT_COMBINE_OBJECTIVE = NO -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 1 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= (19, 1.0| lower | MAIN_BOX, 3,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 4,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 5,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 6,0,0,1.0) - -HISTORY_OUTPUT= (ITER, RMS_RES, AERO_COEFF) diff --git a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj.cfg b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj.cfg index ebdaad85f10..5622aba2fa2 100644 --- a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj.cfg +++ b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj.cfg @@ -8,396 +8,144 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Number of Zones NZONES= 1 + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( upper, lower ) -% -% Supersonic inlet boundary marker(s) (NONE = no marker) -% Total Conditions: (inlet marker, temperature, static pressure, velocity_x, -% velocity_y, velocity_z, ... ), i.e. all variables specified. MARKER_SUPERSONIC_INLET= ( inlet, 300.0, 100000.0, 695.4290761824674, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 10000.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (outlet, lower) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 2.0, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER=1 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (1 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.006 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Relaxation coefficient RELAXATION_FACTOR_ADJOINT= 1.0 -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E15 -% -% Multigrid adjoint problem (NO, YES) MG_ADJFLOW= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION = SURFACE_TOTAL_PRESSURE, DRAG -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT= -1.0E-7,1.0 -% -% Marker on which to track one-dimensionalized quantities MARKER_ANALYZE = (outlet) -% -% Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = AREA % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -11 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_wedge_inv_FFD.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Read binary restart files READ_BINARY_RESTART = NO -% OUTPUT_FILES = (RESTART_ASCII, PARAVIEW, SURFACE_CSV) +HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, FLOW_COEFF, COMBO) % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.5, -0.25, 0, 1.5, -0.25, 0, 1.5, 0.25, 0, 0.5, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 1,0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( lower ) -% DV_KIND= FFD_CONTROL_POINT_2D -% -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= (MAIN_BOX, 3,0, 0,1.0,0,0 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.5 -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor, separated by semicolons. -% To include quadratic penalty function: use OPT_CONSTRAINT option syntax within the OPT_OBJECTIVE list. -% ex= Objective * Scale OPT_OBJECTIVE=SURFACE_TOTAL_PRESSURE*-1E-4; (DRAG = 0.05)*1E6 -% -% Use combined objective within gradient evaluation: may reduce cost to compute gradients when using the adjoint formulation. OPT_COMBINE_OBJECTIVE = NO -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 1 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= (19, 1.0| lower | MAIN_BOX, 3,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 4,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 5,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 6,0,0,1.0) - -HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, FLOW_COEFF, COMBO) diff --git a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_1surf.cfg b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_1surf.cfg index d2677c1840c..32dae495b59 100644 --- a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_1surf.cfg +++ b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_1surf.cfg @@ -8,396 +8,143 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Number of Zones NZONES= 1 + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( upper, lower ) -% -% Supersonic inlet boundary marker(s) (NONE = no marker) -% Total Conditions: (inlet marker, temperature, static pressure, velocity_x, -% velocity_y, velocity_z, ... ), i.e. all variables specified. MARKER_SUPERSONIC_INLET= ( inlet, 300.0, 100000.0, 695.4290761824674, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 10000.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (lower) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER=1 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (1 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 - - % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.006 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Relaxation coefficient RELAXATION_FACTOR_ADJOINT= 1.0 -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E15 -% -% Multigrid adjoint problem (NO, YES) MG_ADJFLOW= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION = SURFACE_TOTAL_PRESSURE, DRAG -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT= -1.0E-7,1.0 -% -% Marker on which to track one-dimensionalized quantities MARKER_ANALYZE = (outlet) -% -% Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = AREA % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -11 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_wedge_inv_FFD.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Read binary restart files READ_BINARY_RESTART = NO -% OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_CSV) +HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, FLOW_COEFF, COMBO) % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.5, -0.25, 0, 1.5, -0.25, 0, 1.5, 0.25, 0, 0.5, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 1,0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( lower ) -% DV_KIND= FFD_CONTROL_POINT_2D -% -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= (MAIN_BOX, 3,0, 0,1.0,0,0 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.5 -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor, separated by semicolons. -% To include quadratic penalty function: use OPT_CONSTRAINT option syntax within the OPT_OBJECTIVE list. -% ex= Objective * Scale OPT_OBJECTIVE=LIFT*-1E-4; (DRAG = 0.05)*1E6 -% -% Use combined objective within gradient evaluation: may reduce cost to compute gradients when using the adjoint formulation. OPT_COMBINE_OBJECTIVE = YES -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 1 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= (19, 1.0| lower | MAIN_BOX, 3,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 4,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 5,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 6,0,0,1.0) - -HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, FLOW_COEFF, COMBO) diff --git a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_combo.cfg b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_combo.cfg index 0dd7b187c58..d08e451eae9 100644 --- a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_combo.cfg +++ b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_combo.cfg @@ -10,394 +10,142 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= CONTINUOUS_ADJOINT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Number of Zones NZONES= 1 + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 100000.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( upper, lower ) -% -% Supersonic inlet boundary marker(s) (NONE = no marker) -% Total Conditions: (inlet marker, temperature, static pressure, velocity_x, -% velocity_y, velocity_z, ... ), i.e. all variables specified. MARKER_SUPERSONIC_INLET= ( inlet, 300.0, 100000.0, 695.4290761824674, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 10000.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( lower ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (outlet, lower) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 2.0, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER=1 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (1 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 - - % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.006 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Relaxation coefficient RELAXATION_FACTOR_ADJOINT= 1.0 -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E15 -% -% Multigrid adjoint problem (NO, YES) MG_ADJFLOW= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION = SURFACE_TOTAL_PRESSURE, DRAG -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT= -1.0E-7,1.0 -% -% Marker on which to track one-dimensionalized quantities MARKER_ANALYZE = (outlet) -% -% Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = AREA % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -11 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_wedge_inv_FFD.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Read binary restart files READ_BINARY_RESTART = NO +HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, FLOW_COEFF, COMBO) % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (MAIN_BOX, 0.5, -0.25, 0, 1.5, -0.25, 0, 1.5, 0.25, 0, 0.5, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 1,0) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( lower ) -% DV_KIND= FFD_CONTROL_POINT_2D -% -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= (MAIN_BOX, 3,0, 0,1.0,0,0 ) -% -% Value of the shape deformation deformation DV_VALUE= 0.5 -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor, separated by semicolons. -% To include quadratic penalty function: use OPT_CONSTRAINT option syntax within the OPT_OBJECTIVE list. -% ex= Objective * Scale OPT_OBJECTIVE=SURFACE_TOTAL_PRESSURE*-1E-4; (DRAG = 0.05)*1E6 -% -% Use combined objective within gradient evaluation: may reduce cost to compute gradients when using the adjoint formulation. OPT_COMBINE_OBJECTIVE = YES -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 1 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= (19, 1.0| lower | MAIN_BOX, 3,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 4,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 5,0,0,1.0);(19, 1.0| lower | MAIN_BOX, 6,0,0,1.0) - -HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, FLOW_COEFF, COMBO) diff --git a/TestCases/optimization_euler/multipoint_naca0012/inv_NACA0012_multipoint.cfg b/TestCases/optimization_euler/multipoint_naca0012/inv_NACA0012_multipoint.cfg index 86558315c5c..55767d72add 100644 --- a/TestCases/optimization_euler/multipoint_naca0012/inv_NACA0012_multipoint.cfg +++ b/TestCases/optimization_euler/multipoint_naca0012/inv_NACA0012_multipoint.cfg @@ -5,347 +5,129 @@ % Author: Indiana Stokes % % Institution: % % Date: 2017.07.03 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 100 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (LU_SGS, -% SYM_GAUSS_SEIDEL, BCGSTAB, GMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET, LUSGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 +% --------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 1.0 - -% --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % % Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( airfoil ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= AIRFOIL -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 1.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% % 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_WEIGHT= (0.25, 0.5, 0.25) MULTIPOINT_MACH_NUMBER= (0.79, 0.8, 0.81) -%MULTIPOINT_AOA= (1.25, 1.25, 1.25) -%MULTIPOINT_SIDESLIP_ANGLE= (0.0, 0.0, 0.0) -%MULTIPOINT_REYNOLDS_NUMBER= (1E6, 1E6, 1E6) -%MULTIPOINT_TARGET_CL= (0.8, 0.8, 0.8) -%MULTIPOINT_FREESTREAM_PRESSURE= (101325.0, 101325.0, 101325.0) -%MULTIPOINT_FREESTREAM_TEMPERATURE= (288.15, 288.15, 288.15) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= MULTIPOINT_DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of optimizer iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 1E6 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -1E6 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/optimization_euler/pitching_naca64a010/pitching_NACA64A010.cfg b/TestCases/optimization_euler/pitching_naca64a010/pitching_NACA64A010.cfg index 45d484eeb36..a30740c45d2 100644 --- a/TestCases/optimization_euler/pitching_naca64a010/pitching_NACA64A010.cfg +++ b/TestCases/optimization_euler/pitching_naca64a010/pitching_NACA64A010.cfg @@ -5,375 +5,156 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0023555025613149587 % 24 steps per period: 0.0024536485013697488 % 25 steps per period: 0.0023555025613149587 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 0.59 % 10 periods: 0.5888756403287397 -% -% Number of internal iterations (dual time method) INNER_ITER= 110 -% -% Starting direct iteration for unsteady adjoint UNST_ADJOINT_ITER= 251 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Dynamic mesh simulation (NO, YES) GRID_MOVEMENT= YES -% -% Type of mesh motion (NONE, FLUTTER, RIGID_MOTION) GRID_MOVEMENT_KIND= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for initializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.796 -% -% Coordinates of the rigid motion origin MOTION_ORIGIN_X= 0.248 MOTION_ORIGIN_Y= 0.0 MOTION_ORIGIN_Z= 0.0 -% -% Pitching angular freq. (rad/s) about x, y, & z axes (RIGID_MOTION only) PITCHING_OMEGA_X= 0.0 PITCHING_OMEGA_Y= 0.0 PITCHING_OMEGA_Z= 106.69842 -% -% Pitching amplitude (degrees) about x, y, & z axes (RIGID_MOTION only) PITCHING_AMPL_X= 0.0 PITCHING_AMPL_Y= 0.0 PITCHING_AMPL_Z= 1.01 % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.796 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.248 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.1 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, TORQUE) OBJECTIVE_FUNCTION= DRAG -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( airfoil ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= AIRFOIL -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -DV_KIND= HICKS_HENNE % -% Marker of the surface in which we are going apply the shape deformation +DV_KIND= HICKS_HENNE DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Old value of the deformation for incremental deformations DV_VALUE= 0.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA64A010_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT = 0.0 ) * 0.001; ( AREA > 0.0660957 ) * 0.001 -% -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.961538461538 ); ( 30, 1.0 | airfoil | 0, 0.923076923077 ); ( 30, 1.0 | airfoil | 0, 0.884615384615 ); ( 30, 1.0 | airfoil | 0, 0.846153846154 ); ( 30, 1.0 | airfoil | 0, 0.807692307692 ); ( 30, 1.0 | airfoil | 0, 0.769230769231 ); ( 30, 1.0 | airfoil | 0, 0.730769230769 ); ( 30, 1.0 | airfoil | 0, 0.692307692308 ); ( 30, 1.0 | airfoil | 0, 0.653846153846 ); ( 30, 1.0 | airfoil | 0, 0.615384615385 ); ( 30, 1.0 | airfoil | 0, 0.576923076923 ); ( 30, 1.0 | airfoil | 0, 0.538461538462 ); ( 30, 1.0 | airfoil | 0, 0.5 ); ( 30, 1.0 | airfoil | 0, 0.461538461538 ); ( 30, 1.0 | airfoil | 0, 0.423076923077 ); ( 30, 1.0 | airfoil | 0, 0.384615384615 ); ( 30, 1.0 | airfoil | 0, 0.346153846154 ); ( 30, 1.0 | airfoil | 0, 0.307692307692 ); ( 30, 1.0 | airfoil | 0, 0.269230769231 ); ( 30, 1.0 | airfoil | 0, 0.230769230769 ); ( 30, 1.0 | airfoil | 0, 0.192307692308 ); ( 30, 1.0 | airfoil | 0, 0.153846153846 ); ( 30, 1.0 | airfoil | 0, 0.115384615385 ); ( 30, 1.0 | airfoil | 0, 0.0769230769231 ); ( 30, 1.0 | airfoil | 0, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0769230769231 ); ( 30, 1.0 | airfoil | 1, 0.115384615385 ); ( 30, 1.0 | airfoil | 1, 0.153846153846 ); ( 30, 1.0 | airfoil | 1, 0.192307692308 ); ( 30, 1.0 | airfoil | 1, 0.230769230769 ); ( 30, 1.0 | airfoil | 1, 0.269230769231 ); ( 30, 1.0 | airfoil | 1, 0.307692307692 ); ( 30, 1.0 | airfoil | 1, 0.346153846154 ); ( 30, 1.0 | airfoil | 1, 0.384615384615 ); ( 30, 1.0 | airfoil | 1, 0.423076923077 ); ( 30, 1.0 | airfoil | 1, 0.461538461538 ); ( 30, 1.0 | airfoil | 1, 0.5 ); ( 30, 1.0 | airfoil | 1, 0.538461538462 ); ( 30, 1.0 | airfoil | 1, 0.576923076923 ); ( 30, 1.0 | airfoil | 1, 0.615384615385 ); ( 30, 1.0 | airfoil | 1, 0.653846153846 ); ( 30, 1.0 | airfoil | 1, 0.692307692308 ); ( 30, 1.0 | airfoil | 1, 0.730769230769 ); ( 30, 1.0 | airfoil | 1, 0.769230769231 ); ( 30, 1.0 | airfoil | 1, 0.807692307692 ); ( 30, 1.0 | airfoil | 1, 0.846153846154 ); ( 30, 1.0 | airfoil | 1, 0.884615384615 ); ( 30, 1.0 | airfoil | 1, 0.923076923077 ); ( 30, 1.0 | airfoil | 1, 0.961538461538 ) diff --git a/TestCases/optimization_euler/pitching_oneram6/pitching_ONERAM6.cfg b/TestCases/optimization_euler/pitching_oneram6/pitching_ONERAM6.cfg index 0fb6e934aea..ea1a5ae6944 100644 --- a/TestCases/optimization_euler/pitching_oneram6/pitching_ONERAM6.cfg +++ b/TestCases/optimization_euler/pitching_oneram6/pitching_ONERAM6.cfg @@ -5,384 +5,152 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 09.07.2011 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees) AOA= 3.06 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, HARMONIC_BALANCE) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.002161633860454094 % 25 steps per period: 0.002161633860454094 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 0.541 % 10 periods: 0.5404084651135235 -% -% Number of internal iterations (dual time method) INNER_ITER= 250 -% -% Direct iteration number at which to begin unsteady adjoint UNST_ADJOINT_ITER= 251 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Dynamic mesh simulation (NO, YES) GRID_MOVEMENT= YES -% -% Type of dynamic mesh (NONE, RIGID_MOTION, DEFORMING, ROTATING_FRAME, -% MOVING_WALL, AEROELASTIC, EXTERNAL) GRID_MOVEMENT_KIND= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.8395 -% -% Coordinates of the motion origin MOTION_ORIGIN_X= 0.201475 MOTION_ORIGIN_Y= 0.0 MOTION_ORIGIN_Z= 0.0 -% -% Pitching angular freq. (rad/s) about x, y, & z axes PITCHING_OMEGA_X= 0.0 PITCHING_OMEGA_Y= 116.26733689 PITCHING_OMEGA_Z= 0.0 -% -% Pitching amplitude (degrees) about x, y, & z axes PITCHING_AMPL_X= 0.0 PITCHING_AMPL_Y= 2.5 PITCHING_AMPL_Z= 0.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.2015 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.64607 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 implies no marker) MARKER_EULER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the far field (0 implies no marker) MARKER_FAR= ( XNORMAL_FACES, ZNORMAL_FACES, YNORMAL_FACE ) -% -% Marker of symmetry boundary (0 implies no marker) MARKER_SYM= ( SYMMETRY_FACE ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( UPPER_SIDE, LOWER_SIDE, TIP ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for computation of spatial gradients: (GREEN_GAUSS, -% WIEGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 8.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.25 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= YES -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= WING -% -% Coordinate of the stations to be analyzed GEO_LOCATION_STATIONS= (0.0, 0.2, 0.4, 0.6, 0.8) -% -% Geometrical bounds (Y coordinate) for the wing geometry analysis or -% fuselage evaluation (X coordinate). GEO_BOUNDS= (1.5, 3.5) -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= NO -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % --------------------------- CONVERGENCE PARAMETERS --------------------------& % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_inv.su2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Mesh input file format (SU2) MESH_FORMAT= SU2 -% TABULAR_FORMAT= CSV -% -% Output file convergence history CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution frequency OUTPUT_WRT_FREQ= 1 -% -% + % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE) DV_KIND= FFD_SETTING -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag, i_Ind, j_Ind ) DV_PARAM= ( 0, 1, 0, 0, 0.0, 0.0, 1.0 ) -% -% New value of the shape deformation DV_VALUE= 0.0 % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.1 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= (LIFT > 0.2864) * 0.1; (STATION1_THICKNESS > 0.0570) * 0.1; (STATION2_THICKNESS > 0.0513) * 0.1; (STATION3_THICKNESS > 0.0457) * 0.1; (STATION4_THICKNESS > 0.0399) * 0.1; (STATION5_THICKNESS > 0.0343) * 0.1 - -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 0, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 1, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 2, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 3, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | 0, 4, 4, 0, 0.0, 0.0, 1.0 ) diff --git a/TestCases/optimization_euler/rotating_naca0012/rotating_NACA0012.cfg b/TestCases/optimization_euler/rotating_naca0012/rotating_NACA0012.cfg index 38f6db41c40..61766480053 100644 --- a/TestCases/optimization_euler/rotating_naca0012/rotating_NACA0012.cfg +++ b/TestCases/optimization_euler/rotating_naca0012/rotating_NACA0012.cfg @@ -5,343 +5,137 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.06 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Dynamic mesh simulation (NO, YES) GRID_MOVEMENT= YES -% -% Type of dynamic mesh (NONE, RIGID_MOTION, DEFORMING, ROTATING_FRAME, -% MOVING_WALL, AEROELASTIC, EXTERNAL) GRID_MOVEMENT_KIND= ROTATING_FRAME -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.79578199852934983 -% -% Coordinates of the motion origin MOTION_ORIGIN_X= 0.5 MOTION_ORIGIN_Y= -32.0 MOTION_ORIGIN_Z= 0.0 -% -% Angular velocity vector (rad/s) about the motion origin ROTATION_RATE_X = 0.0 ROTATION_RATE_Y = 0.0 ROTATION_RATE_Z = 8.25 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 6.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= JST -% -% Slope limiter (VENKATAKRISHNAN) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE) OBJECTIVE_FUNCTION= DRAG -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter (VENKATAKRISHNAN, SHARP_EDGES) SLOPE_LIMITER_ADJFLOW= SHARP_EDGES -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO -% -% Sensitivity smoothing (NONE, SOBOLEV, BIGRID) SENS_SMOOTHING= NONE -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION -% -% Marker(s) of the surface where geometrical based func. will be evaluated GEO_MARKER= ( airfoil ) % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -DV_KIND= HICKS_HENNE % -% Marker of the surface in which we are going apply the shape deformation +DV_KIND= HICKS_HENNE DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Old value of the deformation for incremental deformations DV_VALUE= 0.05 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_rot.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' -OPT_CONSTRAINT= ( AIRFOIL_THICKNESS > 0.12 ) * 0.001 -% -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.961538461538 ); ( 30, 1.0 | airfoil | 0, 0.923076923077 ); ( 30, 1.0 | airfoil | 0, 0.884615384615 ); ( 30, 1.0 | airfoil | 0, 0.846153846154 ); ( 30, 1.0 | airfoil | 0, 0.807692307692 ); ( 30, 1.0 | airfoil | 0, 0.769230769231 ); ( 30, 1.0 | airfoil | 0, 0.730769230769 ); ( 30, 1.0 | airfoil | 0, 0.692307692308 ); ( 30, 1.0 | airfoil | 0, 0.653846153846 ); ( 30, 1.0 | airfoil | 0, 0.615384615385 ); ( 30, 1.0 | airfoil | 0, 0.576923076923 ); ( 30, 1.0 | airfoil | 0, 0.538461538462 ); ( 30, 1.0 | airfoil | 0, 0.5 ); ( 30, 1.0 | airfoil | 0, 0.461538461538 ); ( 30, 1.0 | airfoil | 0, 0.423076923077 ); ( 30, 1.0 | airfoil | 0, 0.384615384615 ); ( 30, 1.0 | airfoil | 0, 0.346153846154 ); ( 30, 1.0 | airfoil | 0, 0.307692307692 ); ( 30, 1.0 | airfoil | 0, 0.269230769231 ); ( 30, 1.0 | airfoil | 0, 0.230769230769 ); ( 30, 1.0 | airfoil | 0, 0.192307692308 ); ( 30, 1.0 | airfoil | 0, 0.153846153846 ); ( 30, 1.0 | airfoil | 0, 0.115384615385 ); ( 30, 1.0 | airfoil | 0, 0.0769230769231 ); ( 30, 1.0 | airfoil | 0, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0769230769231 ); ( 30, 1.0 | airfoil | 1, 0.115384615385 ); ( 30, 1.0 | airfoil | 1, 0.153846153846 ); ( 30, 1.0 | airfoil | 1, 0.192307692308 ); ( 30, 1.0 | airfoil | 1, 0.230769230769 ); ( 30, 1.0 | airfoil | 1, 0.269230769231 ); ( 30, 1.0 | airfoil | 1, 0.307692307692 ); ( 30, 1.0 | airfoil | 1, 0.346153846154 ); ( 30, 1.0 | airfoil | 1, 0.384615384615 ); ( 30, 1.0 | airfoil | 1, 0.423076923077 ); ( 30, 1.0 | airfoil | 1, 0.461538461538 ); ( 30, 1.0 | airfoil | 1, 0.5 ); ( 30, 1.0 | airfoil | 1, 0.538461538462 ); ( 30, 1.0 | airfoil | 1, 0.576923076923 ); ( 30, 1.0 | airfoil | 1, 0.615384615385 ); ( 30, 1.0 | airfoil | 1, 0.653846153846 ); ( 30, 1.0 | airfoil | 1, 0.692307692308 ); ( 30, 1.0 | airfoil | 1, 0.730769230769 ); ( 30, 1.0 | airfoil | 1, 0.769230769231 ); ( 30, 1.0 | airfoil | 1, 0.807692307692 ); ( 30, 1.0 | airfoil | 1, 0.846153846154 ); ( 30, 1.0 | airfoil | 1, 0.884615384615 ); ( 30, 1.0 | airfoil | 1, 0.923076923077 ); ( 30, 1.0 | airfoil | 1, 0.961538461538 ) diff --git a/TestCases/optimization_euler/steady_inverse_design/inv_NACA0012.cfg b/TestCases/optimization_euler/steady_inverse_design/inv_NACA0012.cfg index 9dd9a5cc73c..40ecbf09e0d 100644 --- a/TestCases/optimization_euler/steady_inverse_design/inv_NACA0012.cfg +++ b/TestCases/optimization_euler/steady_inverse_design/inv_NACA0012.cfg @@ -5,345 +5,135 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 3.2.7 "eagle" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees) AOA= 2.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % --------------------- INVERSE DESIGN SIMULATION -----------------------------% % -% Evaluate an inverse design problem using Cp (NO, YES) INV_DESIGN_CP= YES -% -% Evaluate an inverse design problem using heat flux (NO, YES) INV_DESIGN_HEATFLUX= NO % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= INVERSE_DESIGN_PRESSURE -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.0 -% -% Number of total iterations ITER= 250 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE, AIRFOIL) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT_2D ( FFD_Box_ID, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_Box_ID, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_Box_ID, i_Ind ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - FOURIER ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), index, cos(0)/sin(1) ) -% - SPHERICAL ( ControlPoint_Index, Theta_Disp, R_Disp ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.01 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_NACA0012_inv_FFD.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_NACA0012_inv_FFD.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= INVERSE_DESIGN_PRESSURE * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 19, 1.0 | airfoil | BOX, 0, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 1, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 2, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 3, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 4, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 5, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 6, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 7, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 8, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 9, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 10, 0, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 0, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 1, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 2, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 3, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 4, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 5, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 6, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 7, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 8, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 9, 1, 0.0, 1.0 ); ( 19, 1.0 | airfoil | BOX, 10, 1, 0.0, 1.0 ) diff --git a/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_adv.cfg b/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_adv.cfg index dc87899a9db..5772c607061 100644 --- a/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_adv.cfg +++ b/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_adv.cfg @@ -5,362 +5,143 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 2013.09.29 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 250 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (LU_SGS, -% SYM_GAUSS_SEIDEL, BCGSTAB, GMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET, LUSGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 -% --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) -CONV_NUM_METHOD_FLOW= JST +% --------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Slope limiter (VENKATAKRISHNAN) +CONV_NUM_METHOD_FLOW= JST SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT -% ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE) -OBJECTIVE_FUNCTION= DRAG +% ------------------ ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter (VENKATAKRISHNAN, SHARP_EDGES) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO -% -% Sensitivity smoothing (NONE, SOBOLEV, BIGRID) SENS_SMOOTHING= NONE % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( airfoil ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= AIRFOIL -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 1.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% -% -% History output HISTORY_OUTPUT= (ITER, RMS_RES, AERO_COEFF) -% OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_CSV) -% + % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.327 ) * 0.001; ( MOMENT_Z > 0.0 ) * 0.001; ( AIRFOIL_THICKNESS > 0.12 ) * 0.001 -% -% Maximum number of optimizer iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_basic.cfg b/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_basic.cfg index 1d419d02425..94742fdab2e 100644 --- a/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_basic.cfg +++ b/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_basic.cfg @@ -5,345 +5,135 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 2013.09.29 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) -%RESTART_SOL= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 1000 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (LU_SGS, -% SYM_GAUSS_SEIDEL, BCGSTAB, GMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET, LUSGS) LINEAR_SOLVER_PREC= ILU -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) -CONV_NUM_METHOD_FLOW= JST % -% Slope limiter (VENKATAKRISHNAN) +CONV_NUM_METHOD_FLOW= JST SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter (VENKATAKRISHNAN, SHARP_EDGES) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( airfoil ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= AIRFOIL -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation deformation DV_VALUE= 1.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -13 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of optimizer iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-6 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_adv.cfg b/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_adv.cfg index 261956c842e..e5c307044e0 100644 --- a/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_adv.cfg +++ b/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_adv.cfg @@ -5,397 +5,154 @@ % Author: Francisco Palacios, Heather Kline % % Institution: Stanford University % % Date: 01.17.2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees) AOA= 3.06 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.2015 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.64607 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 implies no marker) MARKER_EULER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the far field (0 implies no marker) MARKER_FAR= ( XNORMAL_FACES, ZNORMAL_FACES, YNORMAL_FACE ) -% -% Marker of symmetry boundary (0 implies no marker) MARKER_SYM= ( SYMMETRY_FACE ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( UPPER_SIDE, LOWER_SIDE, TIP ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 1000 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= YES % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% -% Convective numerical method: (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) -CONV_NUM_METHOD_FLOW= JST % -% Slope limiter: (VENKATAKRISHNAN) +CONV_NUM_METHOD_FLOW= JST SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method: (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter: (VENKATAKRISHNAN, SHARP_EDGES) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= WING -% -% Coordinate of the stations to be analyzed GEO_LOCATION_STATIONS= (0.0, 0.2, 0.4, 0.6, 0.8) -% -% Geometrical bounds (Y coordinate) for the wing geometry analysis or -% fuselage evaluation (X coordinate). GEO_BOUNDS= (1.5, 3.5) -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= NO -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % --------------------------- CONVERGENCE PARAMETERS --------------------------& % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start convergence criteria at iteration number CONV_STARTITER= 25 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_inv_FFD.su2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Mesh input file format (SU2) MESH_FORMAT= SU2 -% TABULAR_FORMAT= CSV -% -% Output file convergence history CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 -% OUTPUT_FILES=(RESTART, PARAVIEW, SURFACE_CSV) % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (WING,-0.0403, 0, -0.04836,0.8463,0, -0.04836,1.209,1.2896, -0.04836,0.6851,1.2896, -0.04836,-0.0403,0, 0.04836,0.8463,0, 0.04836,1.209,1.2896, 0.04836,0.6851,1.2896, 0.04836) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 8, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, COSINE_BUMP, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, FFD_CONTROL_SURFACE, SURFACE_FILE, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag, i_Ind, j_Ind ) DV_PARAM= ( WING, 1, 0, 0, 0.0, 0.0, 1.0 ) -% -% New value of the shape deformation DV_VALUE= 0.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 800 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= NO -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= WALL_DISTANCE % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.1 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= (LIFT > 0.2864) * 10.0; (STATION1_THICKNESS > 0.0570) * 0.1; (STATION2_THICKNESS > 0.0513) * 0.1; (STATION3_THICKNESS > 0.0457) * 0.1; (STATION4_THICKNESS > 0.0399) * 0.1; (STATION5_THICKNESS > 0.0343) * 0.1 -% -% Maximum number of iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-4 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.1 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.1 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 8, 1, 0.0, 0.0, 1.0 ) diff --git a/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_basic.cfg b/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_basic.cfg index 0e29f2a0a89..6b9afd7130d 100644 --- a/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_basic.cfg +++ b/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_basic.cfg @@ -5,396 +5,151 @@ % Author: Francisco Palacios, Heather Kline % % Institution: Stanford University % % Date: 01.17.2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees) AOA= 3.06 -% -% Free-stream pressure (101325.0 N/m^2 by default, only for Euler equations) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.2015 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.64607 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 implies no marker) MARKER_EULER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the far field (0 implies no marker) MARKER_FAR= ( XNORMAL_FACES, ZNORMAL_FACES, YNORMAL_FACE ) -% -% Marker of symmetry boundary (0 implies no marker) MARKER_SYM= ( SYMMETRY_FACE ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( UPPER_SIDE, LOWER_SIDE, TIP ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 1000 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 1.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= YES % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % --------------------- FLOW NUMERICAL METHOD DEFINITION ----------------------% -% Convective numerical method: (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) -CONV_NUM_METHOD_FLOW= JST % -% Slope limiter: (VENKATAKRISHNAN) +CONV_NUM_METHOD_FLOW= JST SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ----------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method: (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter: (VENKATAKRISHNAN, SHARP_EDGES) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= WING -% -% Coordinate of the stations to be analyzed GEO_LOCATION_STATIONS= (0.0, 0.2, 0.4, 0.6, 0.8) -% -% Geometrical bounds (Y coordinate) for the wing geometry analysis or -% fuselage evaluation (X coordinate). GEO_BOUNDS= (1.5, 3.5) -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= NO -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % --------------------------- CONVERGENCE PARAMETERS --------------------------& % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start convergence criteria at iteration number CONV_STARTITER= 25 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_inv_FFD.su2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% -% Mesh input file format (SU2) MESH_FORMAT= SU2 -% TABULAR_FORMAT= CSV -% -% Output file convergence history CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 -% % -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% % -% Tolerance of the Free-Form Deformation point inversion FFD_TOLERANCE= 1E-10 -% -% Maximum number of iterations in the Free-Form Deformation point inversion FFD_ITERATIONS= 500 -% -% 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) -% 2D case (FFD_BoxTag, X1, Y1, 0.0, X2, Y2, 0.0, X3, Y3, 0.0, X4, Y4, 0.0, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) FFD_DEFINITION= (WING,-0.0403, 0, -0.04836,0.8463,0, -0.04836,1.209,1.2896, -0.04836,0.6851,1.2896, -0.04836,-0.0403,0, 0.04836,0.8463,0, 0.04836,1.209,1.2896, 0.04836,0.6851,1.2896, 0.04836) -% -% FFD box degree: 3D case (x_degree, y_degree, z_degree) -% 2D case (x_degree, y_degree, 0) FFD_DEGREE= (10, 8, 1) -% -% Surface continuity at the intersection with the FFD (1ST_DERIVATIVE, 2ND_DERIVATIVE) FFD_CONTINUITY= 2ND_DERIVATIVE % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, FFD_CONTROL_SURFACE, SURFACE_FILE, AIRFOIL) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( UPPER_SIDE, LOWER_SIDE, TIP ) -% -% Parameters of the shape deformation -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag, i_Ind, j_Ind ) DV_PARAM= ( WING, 1, 0, 0, 0.0, 0.0, 1.0 ) -% -% New value of the shape deformation DV_VALUE= 0.0 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 800 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= NO -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.1 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE -% -% Maximum number of iterations OPT_ITERATIONS= 100 -% -% Requested accuracy OPT_ACCURACY= 1E-10 -% -% Upper bound for each design variable OPT_BOUND_UPPER= 0.3 -% -% Lower bound for each design variable OPT_BOUND_LOWER= -0.3 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 5, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 6, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 7, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 8, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 5, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 6, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 7, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 0, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 1, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 2, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 3, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 4, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 5, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 6, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 7, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 8, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 9, 8, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | UPPER_SIDE, LOWER_SIDE, TIP | WING, 10, 8, 1, 0.0, 0.0, 1.0 ) diff --git a/TestCases/optimization_rans/naca0012/naca0012.cfg b/TestCases/optimization_rans/naca0012/naca0012.cfg index 97b5c686ecf..6499f73ec75 100644 --- a/TestCases/optimization_rans/naca0012/naca0012.cfg +++ b/TestCases/optimization_rans/naca0012/naca0012.cfg @@ -5,7 +5,7 @@ % Author: Steffen Schotthöfer % % Institution: TU Kaiserslautern % % Date: Mar 16, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -15,194 +15,119 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) SOLVER= RANS -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% Objective function OBJECTIVE_FUNCTION=DRAG -% Restart solution (NO, YES) RESTART_SOL= YES -% Restart iteration RESTART_ITER = 10 % % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Time Domain TIME_DOMAIN = YES -% Unsteady simulation TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% Time Step for dual time stepping simulations (s) TIME_STEP= 5e-4 -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 105000 -%Maximum Number of physical time steps used for primal and ajoint run. TIME_ITER= 13 -% Number of internal iterations (dual time method) INNER_ITER= 2 -%Number of iterations to average the objective ITER_AVERAGE_OBJ = 3 -%Iteration number to begin the reverse time integration in the direct solver for the unsteady adjoint. UNST_ADJOINT_ITER = 13 -% Start iteration for windowing WINDOW_START_ITER = 10 -% Window used for reverse sweep. Options (SQUARE, HANN, HANN_SQUARE, BUMP) WINDOW_FUNCTION = SQUARE % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% Angle of attack (degrees, only for compressible flows) AOA= 17.0 -% De-Dimensionalization REF_DIMENSIONALIZATION = DIMENSIONAL -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 293.0 -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 1e+6 -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker MARKER_HEATFLUX= ( AIRFOIL, 0.0) -% Farfield boundary marker MARKER_FAR= ( FARFIELD) -% Internal boundary marker(s) e.g. no boundary condition MARKER_INTERNAL= ( FWH1 ) -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (AIRFOIL) % % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 20.0 -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method CONV_NUM_METHOD_FLOW= JST -% 1st, 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.01 ) -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% Muscl flow for turbulent simulation MUSCL_TURB= NO -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Field to apply Cauchy Criterion to CONV_FIELD= REL_RMS_DENSITY -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 10 -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 % % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Output settings HISTORY_WRT_FREQ_INNER=0 SCREEN_WRT_FREQ_INNER =1 SCREEN_OUTPUT=(INNER_ITER, TIME_ITER, RMS_ADJ_DENSITY, RMS_DENSITY, , REL_RMS_DENSITY,REL_RMS_ADJ_DENSITY, DRAG, TAVG_DRAG) HISTORY_OUTPUT=(ITER, RMS_RES, AERO_COEFF, TAVG_AERO_COEFF, ADJ_AERO_COEFF) -% -% Mesh input file MESH_FILENAME= naca0012_FFD.su2 -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% Restart adjoint input file SOLUTION_ADJ_FILENAME= restart_adj.dat TABULAR_FORMAT= CSV -% Output file convergence history (w/o extension) CONV_FILENAME= 0_history -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 % % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation DV_KIND= FFD_CONTROL_POINT_2D -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( AIRFOIL ) -% Parameters of the shape deformation DV_PARAM= ( AIRFOIL_BOX, 0.0, 0.0, 1.0, 0.0) -% Value of the shape deformation DV_VALUE= 0.01 -% Surface deformation input filename (SURFACE_FILE DV only) DV_FILENAME= mesh_motion.dat % % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% Factor to multiply smallest cell volume for deform tolerance (0.001 default) DEFORM_LINEAR_SOLVER_ERROR = 1E-6 -% Type of element stiffness imposed for FEA mesh deformation DEFORM_STIFFNESS_TYPE= WALL_DISTANCE -% Maximum number of iterations OPT_ITERATIONS= 1 -% Optimization objective function with scaling factor OPT_OBJECTIVE= DRAG * 1.0 OPT_GRADIENT_FACTOR= 0.1 OPT_RELAX_FACTOR= 1 OPT_BOUND_UPPER= 0.05 OPT_BOUND_LOWER= -0.05 -% Optimization constraint functions with scaling factors, separated by semicolons OPT_CONSTRAINT= ( LIFT > 0.96 ) * 1.0 -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 0, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 1, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 2, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 3, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 4, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 5, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 6, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 7, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 8, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 9, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 10, 1.0, 0.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 0, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 1, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 2, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 3, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 4, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 5, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 6, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 7, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 8, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 9, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 1, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 2, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 3, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 4, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 5, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 6, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 7, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 8, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 9, 10, 0.0, 1.0 ); ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 10, 10, 0.0, 1.0 ) -% diff --git a/TestCases/optimization_rans/pitching_naca64a010/turb_NACA64A010.cfg b/TestCases/optimization_rans/pitching_naca64a010/turb_NACA64A010.cfg index 10b7d1237fa..031f9cd0ce4 100644 --- a/TestCases/optimization_rans/pitching_naca64a010/turb_NACA64A010.cfg +++ b/TestCases/optimization_rans/pitching_naca64a010/turb_NACA64A010.cfg @@ -5,392 +5,157 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0023555025613149587 % 24 steps per period: 0.0024536485013697488 % 25 steps per period: 0.0023555025613149587 % 36 steps per period: 0.0016357592286692995 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 0.59 % 10 periods: 0.5888756403287397 -% -% Number of internal iterations (dual time method) INNER_ITER= 2000 -% -% Direct iteration number at which to begin unsteady adjoint UNST_ADJOINT_ITER= 251 -% -% Type of mesh motion (NONE, FLUTTER, RIGID_MOTION) GRID_MOVEMENT= RIGID_MOTION -% -% Mach number (non-dimensional, based on the mesh velocity and freestream vals.) MACH_MOTION= 0.796 -% -% Coordinates of the rigid motion origin MOTION_ORIGIN= 0.248 0.0 0.0 -% -% Pitching angular freq. (rad/s) about x, y, & z axes (RIGID_MOTION only) PITCHING_OMEGA= 0.0 0.0 106.69842 -% -% Pitching amplitude (degrees) about x, y, & z axes (RIGID_MOTION only) PITCHING_AMPL= 0.0 0.0 1.01 -% % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.796 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 12560000.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.248 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Navier-Stokes boundary marker(s) (0 = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= GREEN_GAUSS % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= GREEN_GAUSS CFL_NUMBER= 4.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.7 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, TORQUE) OBJECTIVE_FUNCTION= DRAG -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.01 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.9 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= YES -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( airfoil ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= AIRFOIL -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -DV_KIND= HICKS_HENNE % -% Marker of the surface in which we are going apply the shape deformation +DV_KIND= HICKS_HENNE DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Old value of the deformation for incremental deformations DV_VALUE= 0.05 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 1 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA64A010_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= restart_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( AREA > 0.0661121 ) * 0.001 -% ( AIRFOIL_THICKNESS > 0.1 ) * 0.001 -% ( AREA > 0.0661121 ) * 0.001 -% -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.961538461538 ); ( 30, 1.0 | airfoil | 0, 0.923076923077 ); ( 30, 1.0 | airfoil | 0, 0.884615384615 ); ( 30, 1.0 | airfoil | 0, 0.846153846154 ); ( 30, 1.0 | airfoil | 0, 0.807692307692 ); ( 30, 1.0 | airfoil | 0, 0.769230769231 ); ( 30, 1.0 | airfoil | 0, 0.730769230769 ); ( 30, 1.0 | airfoil | 0, 0.692307692308 ); ( 30, 1.0 | airfoil | 0, 0.653846153846 ); ( 30, 1.0 | airfoil | 0, 0.615384615385 ); ( 30, 1.0 | airfoil | 0, 0.576923076923 ); ( 30, 1.0 | airfoil | 0, 0.538461538462 ); ( 30, 1.0 | airfoil | 0, 0.5 ); ( 30, 1.0 | airfoil | 0, 0.461538461538 ); ( 30, 1.0 | airfoil | 0, 0.423076923077 ); ( 30, 1.0 | airfoil | 0, 0.384615384615 ); ( 30, 1.0 | airfoil | 0, 0.346153846154 ); ( 30, 1.0 | airfoil | 0, 0.307692307692 ); ( 30, 1.0 | airfoil | 0, 0.269230769231 ); ( 30, 1.0 | airfoil | 0, 0.230769230769 ); ( 30, 1.0 | airfoil | 0, 0.192307692308 ); ( 30, 1.0 | airfoil | 0, 0.153846153846 ); ( 30, 1.0 | airfoil | 0, 0.115384615385 ); ( 30, 1.0 | airfoil | 0, 0.0769230769231 ); ( 30, 1.0 | airfoil | 0, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0769230769231 ); ( 30, 1.0 | airfoil | 1, 0.115384615385 ); ( 30, 1.0 | airfoil | 1, 0.153846153846 ); ( 30, 1.0 | airfoil | 1, 0.192307692308 ); ( 30, 1.0 | airfoil | 1, 0.230769230769 ); ( 30, 1.0 | airfoil | 1, 0.269230769231 ); ( 30, 1.0 | airfoil | 1, 0.307692307692 ); ( 30, 1.0 | airfoil | 1, 0.346153846154 ); ( 30, 1.0 | airfoil | 1, 0.384615384615 ); ( 30, 1.0 | airfoil | 1, 0.423076923077 ); ( 30, 1.0 | airfoil | 1, 0.461538461538 ); ( 30, 1.0 | airfoil | 1, 0.5 ); ( 30, 1.0 | airfoil | 1, 0.538461538462 ); ( 30, 1.0 | airfoil | 1, 0.576923076923 ); ( 30, 1.0 | airfoil | 1, 0.615384615385 ); ( 30, 1.0 | airfoil | 1, 0.653846153846 ); ( 30, 1.0 | airfoil | 1, 0.692307692308 ); ( 30, 1.0 | airfoil | 1, 0.730769230769 ); ( 30, 1.0 | airfoil | 1, 0.769230769231 ); ( 30, 1.0 | airfoil | 1, 0.807692307692 ); ( 30, 1.0 | airfoil | 1, 0.846153846154 ); ( 30, 1.0 | airfoil | 1, 0.884615384615 ); ( 30, 1.0 | airfoil | 1, 0.923076923077 ); ( 30, 1.0 | airfoil | 1, 0.961538461538 ) diff --git a/TestCases/optimization_rans/pitching_oneram6/turb_ONERAM6.cfg b/TestCases/optimization_rans/pitching_oneram6/turb_ONERAM6.cfg index f217b100ba6..748adfcd216 100644 --- a/TestCases/optimization_rans/pitching_oneram6/turb_ONERAM6.cfg +++ b/TestCases/optimization_rans/pitching_oneram6/turb_ONERAM6.cfg @@ -5,412 +5,159 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulence model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees, only for compressible flows) AOA= 3.06 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 11.72E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 0.64607 % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, HARMONIC_BALANCE) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.002161633860454094 % 25 steps per period: 0.002161633860454094 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 0.379 % 10 periods: 0.5404084651135235 % 7 periods: 0.37828592557946644 -% -% Number of internal iterations (dual time method) INNER_ITER= 350 -% -% Direct iteration number at which to begin unsteady adjoint UNST_ADJOINT_ITER= 176 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -% Type of dynamic mesh (NONE, RIGID_MOTION, DEFORMING, ROTATING_FRAME, -% MOVING_WALL, AEROELASTIC, EXTERNAL) -GRID_MOVEMENT= RIGID_MOTION % -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. +GRID_MOVEMENT= RIGID_MOTION MACH_MOTION= 0.8395 -% -% Coordinates of the motion origin MOTION_ORIGIN= 0.201475 0.0 0.0 -% -% Pitching angular freq. (rad/s) about x, y, & z axes PITCHING_OMEGA= 0.0 116.26733689 0.0 -% -% Pitching amplitude (degrees) about x, y, & z axes PITCHING_AMPL= 0.0 2.5 0.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.64607 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wing, 0.0 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wing ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wing ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.7 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= YES -% -% Sensitivity smoothing (NONE, SOBOLEV, BIGRID) SENS_SMOOTHING= NONE -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( wing ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= WING -% -% Coordinate of the stations to be analyzed GEO_LOCATION_STATIONS= (0.0, 0.2, 0.4, 0.6, 0.8) -% -% Geometrical bounds (Y coordinate) for the wing geometry analysis or -% fuselage evaluation (X coordinate). GEO_BOUNDS= (0.0806, 1.1284) -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= NO -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, PARABOLIC, NACA_4DIGITS, -% DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION, FFD_CAMBER, FFD_THICKNESS, FFD_VOLUME) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( wing ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( 0, 2, 2, 1, 0.0, 0.0, 1.0 ) -% -% New value of the shape deformation DV_VALUE= 0.1 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 1 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 50 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_turb_tets.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.02 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' (LIFT > 0.267) * 0.02 OPT_CONSTRAINT= (LIFT > 0.268) * 0.02; (STATION1_THICKNESS > 0.0570) * 0.02; (STATION2_THICKNESS > 0.0513) * 0.02; (STATION3_THICKNESS > 0.0457) * 0.02; (STATION4_THICKNESS > 0.0399) * 0.02; (STATION5_THICKNESS > 0.0343) * 0.02 - -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 11, 1.0 | wing | 0, 0, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 0, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 0, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 0, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 0, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 0, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 0, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 0, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 1, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 2, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 3, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | 0, 4, 4, 0, 0.0, 0.0, 1.0 ) diff --git a/TestCases/optimization_rans/steady_oneram6/turb_ONERAM6.cfg b/TestCases/optimization_rans/steady_oneram6/turb_ONERAM6.cfg index 66b7b8c8d84..d8e8f30e129 100644 --- a/TestCases/optimization_rans/steady_oneram6/turb_ONERAM6.cfg +++ b/TestCases/optimization_rans/steady_oneram6/turb_ONERAM6.cfg @@ -5,359 +5,135 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulence model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees, only for compressible flows) AOA= 3.06 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 11.72E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 0.64607 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.64607 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wing, 0.0 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wing ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wing ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 4.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 10000 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-5 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.7 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE) OBJECTIVE_FUNCTION= DRAG -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter (VENKATAKRISHNAN, SHARP_EDGES) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION -% -% Marker(s) of the surface where geometrical based func. will be evaluated GEO_MARKER= ( wing ) -% -% Orientation of airfoil sections (X_AXIS, Y_AXIS, Z_AXIS) GEO_AXIS_STATIONS= Y_AXIS -% -% Location (coordinate) of the airfoil sections (MinValue, MaxValue) GEO_WING_BOUNDS= (0.0806, 1.1284) -% -% Plot loads and Cp distributions on each airfoil section GEO_PLOT_STATIONS= NO % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE) DV_KIND= FFD_CONTROL_POINT -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( wing ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( WING_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ) -% -% New value of the shape deformation DV_VALUE= 0.1 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 1 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_ONERAM6_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= (LIFT > 0.268) * 0.001 - -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 11, 1.0 | wing | WING_BOX, 0, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 0, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 1, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 2, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 3, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 4, 1, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 0, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 1, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 2, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 3, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 0, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 1, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 2, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 3, 4, 0, 0.0, 0.0, 1.0 ); ( 11, 1.0 | wing | WING_BOX, 4, 4, 0, 0.0, 0.0, 1.0 ) diff --git a/TestCases/optimization_rans/steady_rae2822/turb_SA_RAE2822.cfg b/TestCases/optimization_rans/steady_rae2822/turb_SA_RAE2822.cfg index 67f9d0e22ae..a6344ee4b2d 100644 --- a/TestCases/optimization_rans/steady_rae2822/turb_SA_RAE2822.cfg +++ b/TestCases/optimization_rans/steady_rae2822/turb_SA_RAE2822.cfg @@ -5,342 +5,128 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 4.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 10000 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER, AUSM-1ST_ORDER, AUSM-2ND_ORDER, -% HLLC-1ST_ORDER, HLLC-2ND_ORDER) CONV_NUM_METHOD_FLOW= JST -% -% Slope limiter (VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND-1ST_ORDER, -% SCALAR_UPWIND-2ND_ORDER) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Slope limiter (VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREESURFACE) OBJECTIVE_FUNCTION= DRAG -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE-1ST_ORDER, -% ROE-2ND_ORDER) CONV_NUM_METHOD_ADJFLOW= JST -% -% Slope limiter (VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.008 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.75 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( airfoil ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= AIRFOIL -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, -% HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, SURFACE_FILE) DV_KIND= FFD_SETTING -% -% Marker of the surface to which we are going apply the shape deformation DV_MARKER= ( AIRFOIL ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( 1, 0.5 ) -% -% New value of the shape deformation DV_VALUE= 0.01 % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.723 ) * 0.001 - -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 30, 1.0 | AIRFOIL | 0, 0.05 ); ( 30, 1.0 | AIRFOIL | 0, 0.10 ); ( 30, 1.0 | AIRFOIL | 0, 0.15 ); ( 30, 1.0 | AIRFOIL | 0, 0.20 ); ( 30, 1.0 | AIRFOIL | 0, 0.25 ); ( 30, 1.0 | AIRFOIL | 0, 0.30 ); ( 30, 1.0 | AIRFOIL | 0, 0.35 ); ( 30, 1.0 | AIRFOIL | 0, 0.40 ); ( 30, 1.0 | AIRFOIL | 0, 0.45 ); ( 30, 1.0 | AIRFOIL | 0, 0.50 ); ( 30, 1.0 | AIRFOIL | 0, 0.55 ); ( 30, 1.0 | AIRFOIL | 0, 0.60 ); ( 30, 1.0 | AIRFOIL | 0, 0.65 ); ( 30, 1.0 | AIRFOIL | 0, 0.70 ); ( 30, 1.0 | AIRFOIL | 0, 0.75 ); ( 30, 1.0 | AIRFOIL | 0, 0.80 ); ( 30, 1.0 | AIRFOIL | 0, 0.85 ); ( 30, 1.0 | AIRFOIL | 0, 0.90 ); ( 30, 1.0 | AIRFOIL | 0, 0.95 ); ( 30, 1.0 | AIRFOIL | 1, 0.05 ); ( 30, 1.0 | AIRFOIL | 1, 0.10 ); ( 30, 1.0 | AIRFOIL | 1, 0.15 ); ( 30, 1.0 | AIRFOIL | 1, 0.20 ); ( 30, 1.0 | AIRFOIL | 1, 0.25 ); ( 30, 1.0 | AIRFOIL | 1, 0.30 ); ( 30, 1.0 | AIRFOIL | 1, 0.35 ); ( 30, 1.0 | AIRFOIL | 1, 0.40 ); ( 30, 1.0 | AIRFOIL | 1, 0.45 ); ( 30, 1.0 | AIRFOIL | 1, 0.50 ); ( 30, 1.0 | AIRFOIL | 1, 0.55 ); ( 30, 1.0 | AIRFOIL | 1, 0.60 ); ( 30, 1.0 | AIRFOIL | 1, 0.65 ); ( 30, 1.0 | AIRFOIL | 1, 0.70 ); ( 30, 1.0 | AIRFOIL | 1, 0.75 ); ( 30, 1.0 | AIRFOIL | 1, 0.80 ); ( 30, 1.0 | AIRFOIL | 1, 0.85 ); ( 30, 1.0 | AIRFOIL | 1, 0.90 ); ( 30, 1.0 | AIRFOIL | 1, 0.95 ) - diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 2120d49e18e..4e54afd29e4 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -3,7 +3,7 @@ ## \file parallel_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -245,7 +245,7 @@ def main(): poiseuille_profile.cfg_dir = "navierstokes/poiseuille" poiseuille_profile.cfg_file = "profile_poiseuille.cfg" poiseuille_profile.test_iter = 10 - poiseuille_profile.test_vals = [-12.492870, -7.672494, -0.000000, 2.085796] + poiseuille_profile.test_vals = [-12.492939, -7.672950, -0.000000, 2.085796] poiseuille_profile.test_vals_aarch64 = [-12.492842, -7.672800, -0.000000, 2.085796] test_list.append(poiseuille_profile) @@ -302,6 +302,15 @@ def main(): turb_oneram6.timeout = 3200 test_list.append(turb_oneram6) + # ONERA M6 Wing - vorticity confinement + turb_oneram6_vc = TestCase('turb_oneram6_vc') + turb_oneram6_vc.cfg_dir = "rans/oneram6" + turb_oneram6_vc.cfg_file = "turb_ONERAM6_vc.cfg" + turb_oneram6_vc.test_iter = 15 + turb_oneram6_vc.test_vals = [-2.262387, -6.626467, 0.228393, 0.140799, -2.7107e+04] + turb_oneram6_vc.timeout = 3200 + test_list.append(turb_oneram6_vc) + # ONERA M6 Wing - Newton-Krylov turb_oneram6_nk = TestCase('turb_oneram6_nk') turb_oneram6_nk.cfg_dir = "rans/oneram6" @@ -914,13 +923,21 @@ def main(): edge_PPR.test_vals = [-5.400790, 0.739723, -0.000035, 0.000000] test_list.append(edge_PPR) - # Rarefaction Q1D nozzle coolprop_nozzle - coolprop_nozzle = TestCase('coolprop_nozzle') - coolprop_nozzle.cfg_dir = "nicf/coolprop" - coolprop_nozzle.cfg_file = "coolprop_nozzle.cfg" - coolprop_nozzle.test_iter = 10 - coolprop_nozzle.test_vals = [-4.692149, -1.965079, 3.428130, 0.000000, 0.000000] - test_list.append(coolprop_nozzle) + # Rarefaction Q1D nozzle, include CoolProp fluid model + coolprop_fluidModel = TestCase('coolprop_fluidModel') + coolprop_fluidModel.cfg_dir = "nicf/coolprop" + coolprop_fluidModel.cfg_file = "fluidModel.cfg" + coolprop_fluidModel.test_iter = 5 + coolprop_fluidModel.test_vals = [-4.525458, -1.578441, 3.439057, 0.000000, 0.000000] + test_list.append(coolprop_fluidModel) + + # Rarefaction Q1D nozzle, include CoolProp transport model + coolprop_transportModel = TestCase('coolprop_transportModel') + coolprop_transportModel.cfg_dir = "nicf/coolprop" + coolprop_transportModel.cfg_file = "transportModel.cfg" + coolprop_transportModel.test_iter = 5 + coolprop_transportModel.test_vals = [-4.527922, -1.308741, 4.630469, 0.000000, 0.000000] + test_list.append(coolprop_transportModel) ###################################### ### Turbomachinery ### @@ -1138,7 +1155,7 @@ def main(): solid_periodic_pins.cfg_dir = "solid_heat_conduction/periodic_pins" solid_periodic_pins.cfg_file = "configSolid.cfg" solid_periodic_pins.test_iter = 750 - solid_periodic_pins.test_vals = [-15.878958, -14.569206, 300.900000, 425.320000, 0.000000, 5.000000, -1.672714] #last 7 lines + solid_periodic_pins.test_vals = [-15.878977, -14.569206, 300.900000, 425.320000, 0.000000, 5.000000, -1.672737] #last 7 lines solid_periodic_pins.test_vals_aarch64 = [-15.879010, -14.569206, 300.900000, 425.320000, 0.000000, 5.000000, -1.672630] #last 7 lines test_list.append(solid_periodic_pins) @@ -1330,43 +1347,52 @@ def main(): species2_primitiveVenturi_mixingmodel.cfg_dir = "species_transport/venturi_primitive_3species" species2_primitiveVenturi_mixingmodel.cfg_file = "species2_primitiveVenturi_mixingmodel.cfg" species2_primitiveVenturi_mixingmodel.test_iter = 50 - species2_primitiveVenturi_mixingmodel.test_vals = [-5.477173, -4.589710, -4.582462, -5.690334, -0.069005, -5.631182, 5.000000, -1.668297, 5.000000, -4.866834, 5.000000, -1.168385, 0.000425, 0.000404, 0.000021, 0.000000] + species2_primitiveVenturi_mixingmodel.test_vals = [-5.477236, -4.589782, -4.582531, -5.690416, -0.068943, -5.631254, 5.000000, -1.668303, 5.000000, -4.866978, 5.000000, -1.168368, 0.000425, 0.000404, 0.000021, 0.000000] species2_primitiveVenturi_mixingmodel.new_output = True test_list.append(species2_primitiveVenturi_mixingmodel) + # 2 species (1 eq) primitive venturi mixing using mixing model and bounded scalar transport + species2_primitiveVenturi_mixingmodel_boundedscalar = TestCase('species2_primitiveVenturi_mixingmodel_boundedscalar') + species2_primitiveVenturi_mixingmodel_boundedscalar.cfg_dir = "species_transport/venturi_primitive_3species" + species2_primitiveVenturi_mixingmodel_boundedscalar.cfg_file = "species2_primitiveVenturi_mixingmodel_boundedscalar.cfg" + species2_primitiveVenturi_mixingmodel_boundedscalar.test_iter = 50 + species2_primitiveVenturi_mixingmodel_boundedscalar.test_vals = [-5.419823, -4.490921, -4.496340, -5.724950, -0.120331, -5.693224, 5.000000, -1.766882, 5.000000, -4.958487, 5.000000, -2.150247, 0.000300, 0.000300, 0.000000, 0.000000] + species2_primitiveVenturi_mixingmodel_boundedscalar.new_output = True + test_list.append(species2_primitiveVenturi_mixingmodel_boundedscalar) + # 2 species (1 eq) primitive venturi mixing using mixing model including viscosity and thermal conductivity species2_primitiveVenturi_mixingmodel_viscosity = TestCase('species2_primitiveVenturi_mixingmodel_viscosity') species2_primitiveVenturi_mixingmodel_viscosity.cfg_dir = "species_transport/venturi_primitive_3species" species2_primitiveVenturi_mixingmodel_viscosity.cfg_file = "species2_primitiveVenturi_mixingmodel_viscosity.cfg" species2_primitiveVenturi_mixingmodel_viscosity.test_iter = 50 - species2_primitiveVenturi_mixingmodel_viscosity.test_vals = [-4.415103, -4.019010, -4.341952, -5.471507, 0.437029, -4.685683, 5.000000, -1.814481, 5.000000, -5.282862, 5.000000, -1.717346, 2.280789, 0.971585, 0.607256, 0.701947] + species2_primitiveVenturi_mixingmodel_viscosity.test_vals = [-4.738778, -4.325766, -4.610914, -5.834431, 0.521730, -4.934375, 5.000000, -1.887191, 5.000000, -5.499917, 5.000000, -1.770845, 2.292904, 0.971941, 0.608500, 0.712464] species2_primitiveVenturi_mixingmodel_viscosity.new_output = True test_list.append(species2_primitiveVenturi_mixingmodel_viscosity) - + # 2 species (1 eq) primitive venturi mixing using mixing model including heat capacity and mass diffusivity species2_primitiveVenturi_mixingmodel_heatcapacity_H2 = TestCase('species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg') species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg_dir = "species_transport/venturi_primitive_3species" species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg_file = "species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg" species2_primitiveVenturi_mixingmodel_heatcapacity_H2.test_iter = 50 - species2_primitiveVenturi_mixingmodel_heatcapacity_H2.test_vals = [-6.119300, -4.997334, -4.886952, -7.382047, 2.439615, -5.627780, 30.000000, -5.723010, 12.000000, -8.145296, 9.000000, -8.075817, 2.084563, 1.000000, 0.600000, 0.484563] + species2_primitiveVenturi_mixingmodel_heatcapacity_H2.test_vals = [-6.105905, -4.979417, -4.870704, -7.338344, 2.435662, -5.621107, 30.000000, -5.737172, 12.000000, -8.148164, 9.000000, -8.040415, 2.084589, 1.000000, 0.600000, 0.484589] species2_primitiveVenturi_mixingmodel_heatcapacity_H2.su2_exec = "mpirun -n 2 SU2_CFD" species2_primitiveVenturi_mixingmodel_heatcapacity_H2.timeout = 1600 species2_primitiveVenturi_mixingmodel_heatcapacity_H2.new_output = True species2_primitiveVenturi_mixingmodel_heatcapacity_H2.tol = 0.00001 test_list.append(species2_primitiveVenturi_mixingmodel_heatcapacity_H2) - + # 2 species (1 eq) primitive venturi mixing using mixing model including heat capacity and mass diffusivity NonDimensional case species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND = TestCase('species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg') species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg_dir = "species_transport/venturi_primitive_3species" species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg_file = "species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg" species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.test_iter = 50 - species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.test_vals = [-5.725157, -5.302154, -5.191782, -8.385791, 2.134792, -5.233618, 30.000000, -5.722966, 12.000000, -8.145150, 9.000000, -8.075867, 2.084565, 1.000000, 0.600000, 0.484565] + species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.test_vals = [-5.711760, -5.284237, -5.175532, -8.342082, 2.130839, -5.226944, 30.000000, -5.737157, 12.000000, -8.148020, 9.000000, -8.040460, 2.084591, 1.000000, 0.600000, 0.484591] species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.su2_exec = "mpirun -n 2 SU2_CFD" species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.timeout = 1600 species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.new_output = True species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.tol = 0.00001 test_list.append(species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND) - + # 2 species (1 eq) primitive venturi mixing species2_primitiveVenturi = TestCase('species2_primitiveVenturi') species2_primitiveVenturi.cfg_dir = "species_transport/venturi_primitive_3species" @@ -1376,6 +1402,27 @@ def main(): species2_primitiveVenturi.new_output = True test_list.append(species2_primitiveVenturi) + # 2 species (1 eq) primitive venturi mixing with bounded scalar transport + species_primitiveVenturi_boundedscalar = TestCase('species2_primitiveVenturi_bounded_scalar') + species_primitiveVenturi_boundedscalar.cfg_dir = "species_transport/venturi_primitive_3species" + species_primitiveVenturi_boundedscalar.cfg_file = "species2_primitiveVenturi_boundedscalar.cfg" + species_primitiveVenturi_boundedscalar.test_iter = 50 + species_primitiveVenturi_boundedscalar.test_vals = [-5.297585, -4.397797, -4.377086, -5.593131, -1.011782, -5.623540, 5.000000, -1.775123, 5.000000, -4.086339, 5.000000, -2.080187, 0.000424, 0.000424, 0.000000, 0.000000] + species_primitiveVenturi_boundedscalar.new_output = True + test_list.append(species_primitiveVenturi_boundedscalar) + + # 2 species (1 eq) primitive venturi mixing using mixing model including inlet markers for turbulent intensity and viscosity ratios + species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS = TestCase('species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg') + species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg_dir = "species_transport/venturi_primitive_3species" + species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg_file = "species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg" + species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.test_iter = 50 + species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.test_vals = [-4.019621, -1.652733, -1.414138, -0.971744, 1.590456, -3.762843, 23.000000, -5.066221, 12.000000, -5.359931, 4.000000, -6.078888, 2.000000, 1.000000, 0.000000, 1.000000] + species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.su2_exec = "mpirun -n 2 SU2_CFD" + species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.timeout = 1600 + species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.new_output = True + species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.tol = 0.00001 + test_list.append(species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS) + # 3 species (2 eq) primitive venturi mixing with inlet files. # Note that the residuals are exactly the same as for the non-inlet case which should be the case for a fresh inlet file. species3_primitiveVenturi_inletFile = TestCase('species3_primitiveVenturi_inletFile') @@ -1396,6 +1443,16 @@ def main(): species_passive_val.new_output = True test_list.append(species_passive_val) + # species transport, 3 species with multizone (2 fluid regions) + species3_multizone_restart = TestCase('species3_multizone_restart') + species3_multizone_restart.cfg_dir = "species_transport/multizone" + species3_multizone_restart.cfg_file = "configMaster.cfg" + species3_multizone_restart.test_iter = 5 + species3_multizone_restart.test_vals = [-7.169637, -6.381576] + species3_multizone_restart.new_output = True + species3_multizone_restart.multizone = True + test_list.append(species3_multizone_restart) + ###################################### ### RUN TESTS ### ###################################### diff --git a/TestCases/parallel_regression_AD.py b/TestCases/parallel_regression_AD.py index 0c687ebeed6..1e7e82189df 100644 --- a/TestCases/parallel_regression_AD.py +++ b/TestCases/parallel_regression_AD.py @@ -3,11 +3,11 @@ ## \file parallel_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # # Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) @@ -16,7 +16,7 @@ # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -29,11 +29,11 @@ from __future__ import print_function import sys -from TestCase import TestCase +from TestCase import TestCase def main(): - '''This program runs SU2 and ensures that the output matches specified values. - This will be used to do checks when code is pushed to github + '''This program runs SU2 and ensures that the output matches specified values. + This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] @@ -49,7 +49,7 @@ def main(): discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.561506, -8.926634, -0.000000, 0.005587] test_list.append(discadj_naca0012) - + # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" @@ -65,7 +65,7 @@ def main(): discadj_arina2k.test_iter = 20 discadj_arina2k.test_vals = [-3.111181, -3.501516, 6.8705e-02, 0] test_list.append(discadj_arina2k) - + # Equivalent area NACA64-206 ea_naca64206 = TestCase('ea_naca64206') ea_naca64206.cfg_dir = "optimization_euler/equivalentarea_naca64206" @@ -157,16 +157,16 @@ def main(): ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### - + # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder.cfg" + discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746909, -1.544883, -0.008321, 0.000014] #last 4 columns discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) - + ############################################################## ### Unsteady Disc. adj. compressible RANS Windowed Average ### ############################################################## @@ -174,12 +174,12 @@ def main(): # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder_windowed_average_AD') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder_Windowing_AD.cfg" + discadj_cylinder.cfg_file = "cylinder_Windowing_AD.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.004406] #last column discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) - + ############################################################## ### Unsteady Disc. adj. compressible RANS Windowed Average ### ############################################################## @@ -187,14 +187,14 @@ def main(): # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder_windowed_average') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder_Windowing.cfg" + discadj_cylinder.cfg_file = "cylinder_Windowing.cfg" discadj_cylinder.test_iter = 6 discadj_cylinder.test_vals = [0.202349, -0.000119, 1.899933, -0.000050, 1.067900] discadj_cylinder.tol = 0.0001 discadj_cylinder.command = TestCase.Command("mpirun -n 2", "SU2_CFD_DIRECTDIFF") discadj_cylinder.unsteady = True - test_list.append(discadj_cylinder) - + test_list.append(discadj_cylinder) + ########################################################################## ### Unsteady Disc. adj. compressible RANS DualTimeStepping 1st order ### ########################################################################## @@ -224,27 +224,27 @@ def main(): ####################################################### ### Disc. adj. turbomachinery ### ####################################################### - + # Transonic Stator 2D discadj_trans_stator = TestCase('transonic_stator') discadj_trans_stator.cfg_dir = "disc_adj_turbomachinery/transonic_stator_2D" - discadj_trans_stator.cfg_file = "transonic_stator.cfg" + discadj_trans_stator.cfg_file = "transonic_stator.cfg" discadj_trans_stator.test_iter = 79 discadj_trans_stator.test_vals = [79.000000, -1.941681, -1.984570] test_list.append(discadj_trans_stator) - + ################################### ### Structural Adjoint ### ################################### - + # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" - discadj_fea.cfg_file = "configAD_fem.cfg" + discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 4 discadj_fea.test_vals = [-2.849774, -3.238669, -0.000364, -8.708700] #last 4 columns discadj_fea.test_vals_aarch64 = [-2.849726, -3.238594, -0.000364, -8.708700] #last 4 columns - test_list.append(discadj_fea) + test_list.append(discadj_fea) ################################### ### Disc. adj. heat ### @@ -255,14 +255,14 @@ def main(): discadj_heat.cfg_dir = "disc_adj_heat" discadj_heat.cfg_file = "disc_adj_heat.cfg" discadj_heat.test_iter = 10 - discadj_heat.test_vals = [-2.280433, 0.714828, -0.743730, -6.767300] - discadj_heat.test_vals_aarch64 = [-2.280428, 0.714835, -0.743730, -6.767300] + discadj_heat.test_vals = [-2.344307, 0.721551, -0.507470, -5.612700] + discadj_heat.test_vals_aarch64 = [-2.344307, 0.721551, -0.507470, -5.612700] test_list.append(discadj_heat) ################################### ### Coupled FSI Adjoint ### ################################### - + # Legacy driver discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" @@ -316,8 +316,8 @@ def main(): da_unsteadyCHT_cylinder.cfg_dir = "coupled_cht/disc_adj_unsteadyCHT_cylinder" da_unsteadyCHT_cylinder.cfg_file = "chtMaster.cfg" da_unsteadyCHT_cylinder.test_iter = 2 - da_unsteadyCHT_cylinder.test_vals = [-3.521358, -4.312658, -4.271025, -9.846075, -7.967741, 0.000000, 3.684000, 2.9483e-01] - da_unsteadyCHT_cylinder.test_vals_aarch64 = [-3.521358, -4.312658, -4.271025, -9.846075, -7.967741, 0.000000, 3.684000, 2.9483e-01] + da_unsteadyCHT_cylinder.test_vals = [-3.508906, -4.317739, -4.241558, -11.836892, -12.862650, 0.000000, 3.688000, 0.295190] + da_unsteadyCHT_cylinder.test_vals_aarch64 = [-3.508906, -4.317739, -4.241558, -11.836892, -12.862650, 0.000000, 3.688000, 0.295190] da_unsteadyCHT_cylinder.unsteady = True da_unsteadyCHT_cylinder.multizone = True test_list.append(da_unsteadyCHT_cylinder) @@ -364,7 +364,7 @@ def main(): # NACA0012 Airfoil unsteady_naca0012 = TestCase('unsteady_NACA0012_restart_adjoint') unsteady_naca0012.cfg_dir = "disc_adj_rans/naca0012" - unsteady_naca0012.cfg_file = "naca0012.cfg" + unsteady_naca0012.cfg_file = "naca0012.cfg" unsteady_naca0012.test_iter = 14 unsteady_naca0012.command = TestCase.Command(exec = "discrete_adjoint.py", param = "-f") unsteady_naca0012.timeout = 1600 @@ -373,7 +373,7 @@ def main(): unsteady_naca0012.unsteady = True pass_list.append(unsteady_naca0012.run_filediff()) test_list.append(unsteady_naca0012) - + #################################################################################### ### Unsteady Disc. adj. compressible RANS Windowed Average only adjoint ### #################################################################################### @@ -381,7 +381,7 @@ def main(): # NACA0012 Airfoil (Test depends on results of "unsteady_NACA0012_restart_adjoint") unsteady_naca0012 = TestCase('unsteady_NACA0012_adjoint_only') unsteady_naca0012.cfg_dir = "disc_adj_rans/naca0012" - unsteady_naca0012.cfg_file = "naca0012.cfg" + unsteady_naca0012.cfg_file = "naca0012.cfg" unsteady_naca0012.test_iter = 14 unsteady_naca0012.command = TestCase.Command(exec = "discrete_adjoint.py", param = "-m adj -f") unsteady_naca0012.timeout = 1600 diff --git a/TestCases/pastix_support/config.cfg b/TestCases/pastix_support/config.cfg index 1c9edf1f39c..adc8c4a3fd2 100644 --- a/TestCases/pastix_support/config.cfg +++ b/TestCases/pastix_support/config.cfg @@ -2,7 +2,7 @@ % SU2 configuration file % % PaStiX options (http://pastix.gforge.inria.fr/files/README-txt.html) % % Institution: Imperial College London % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Intro: @@ -39,4 +39,3 @@ PASTIX_FACTORIZATION_FREQUENCY= 1 % 0 means "only on first iteration" % By default the solver runs silently, more verbosity can be set via PASTIX_VERBOSITY_LEVEL= 0 % - Silent % 1 - On factorization, solves, and cleanup; 2 - Same with more detail. - diff --git a/TestCases/pastix_support/readme.txt b/TestCases/pastix_support/readme.txt index 5fd5c6ffd1a..034388e5314 100644 --- a/TestCases/pastix_support/readme.txt +++ b/TestCases/pastix_support/readme.txt @@ -2,7 +2,7 @@ % SU2 configuration file % % PaStiX support build instructions. % % Institution: Imperial College London % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % 1 - Download diff --git a/TestCases/polar/naca0012/inv_NACA0012.cfg b/TestCases/polar/naca0012/inv_NACA0012.cfg index e91b9b0eee0..c0529986d6a 100644 --- a/TestCases/polar/naca0012/inv_NACA0012.cfg +++ b/TestCases/polar/naca0012/inv_NACA0012.cfg @@ -5,354 +5,133 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Number of Zones needed for python scripts NZONES= 1 -% % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8 -% -% Angle of attack (degrees) AOA= 1.25 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 273.15 % -------------- COMPRESSIBLE AND INCOMPRESSIBLE FLUID CONSTANTS --------------% % -% Ratio of specific heats (1.4 (air), only for compressible flows) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.87 J/kg*K (air), only for compressible flows) GAS_CONSTANT= 287.87 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 4.0 -% -% Number of total iterations ITER= 11 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 1.0 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 1.0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (NO_DEFORMATION, TRANSLATION, ROTATION, SCALE, -% FFD_SETTING, FFD_NACELLE -% FFD_CONTROL_POINT, FFD_CAMBER, FFD_THICKNESS, FFD_TWIST -% FFD_CONTROL_POINT_2D, FFD_CAMBER_2D, FFD_THICKNESS_2D, FFD_TWIST_2D, -% HICKS_HENNE, SURFACE_BUMP) DV_KIND= FFD_SETTING -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - NO_DEFORMATION ( 1.0 ) -% - TRANSLATION ( x_Disp, y_Disp, z_Disp ), as a unit vector -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - SCALE ( 1.0 ) -% - ANGLE_OF_ATTACK ( 1.0 ) -% - FFD_SETTING ( 1.0 ) -% - FFD_CONTROL_POINT ( FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_NACELLE ( FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Disp, phi_Disp ) -% - FFD_GULL ( FFD_BoxTag, j_Ind ) -% - FFD_ANGLE_OF_ATTACK ( FFD_BoxTag, 1.0 ) -% - FFD_CAMBER ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag, i_Ind, j_Ind ) -% - FFD_TWIST ( FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CONTROL_POINT_2D ( FFD_BoxTag, i_Ind, j_Ind, x_Disp, y_Disp ) -% - FFD_CAMBER_2D ( FFD_BoxTag, i_Ind ) -% - FFD_THICKNESS_2D ( FFD_BoxTag, i_Ind ) -% - FFD_TWIST_2D ( FFD_BoxTag, x_Orig, y_Orig ) -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - SURFACE_BUMP ( x_Start, x_End, x_Loc ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.01 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 500 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= INVERSE_VOLUME % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= mesh_NACA0012_inv.su2 % -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) +MESH_FILENAME= mesh_NACA0012_inv.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) -% -% History output HISTORY_OUTPUT= (RMS_RES, AERO_COEFF) % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT > 0.328188 ) * 0.001; ( MOMENT_Z > 0.034068 ) * 0.001; ( AIRFOIL_THICKNESS > 0.11 ) * 0.001 -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.05 ); ( 30, 1.0 | airfoil | 0, 0.10 ); ( 30, 1.0 | airfoil | 0, 0.15 ); ( 30, 1.0 | airfoil | 0, 0.20 ); ( 30, 1.0 | airfoil | 0, 0.25 ); ( 30, 1.0 | airfoil | 0, 0.30 ); ( 30, 1.0 | airfoil | 0, 0.35 ); ( 30, 1.0 | airfoil | 0, 0.40 ); ( 30, 1.0 | airfoil | 0, 0.45 ); ( 30, 1.0 | airfoil | 0, 0.50 ); ( 30, 1.0 | airfoil | 0, 0.55 ); ( 30, 1.0 | airfoil | 0, 0.60 ); ( 30, 1.0 | airfoil | 0, 0.65 ); ( 30, 1.0 | airfoil | 0, 0.70 ); ( 30, 1.0 | airfoil | 0, 0.75 ); ( 30, 1.0 | airfoil | 0, 0.80 ); ( 30, 1.0 | airfoil | 0, 0.85 ); ( 30, 1.0 | airfoil | 0, 0.90 ); ( 30, 1.0 | airfoil | 0, 0.95 ); ( 30, 1.0 | airfoil | 1, 0.05 ); ( 30, 1.0 | airfoil | 1, 0.10 ); ( 30, 1.0 | airfoil | 1, 0.15 ); ( 30, 1.0 | airfoil | 1, 0.20 ); ( 30, 1.0 | airfoil | 1, 0.25 ); ( 30, 1.0 | airfoil | 1, 0.30 ); ( 30, 1.0 | airfoil | 1, 0.35 ); ( 30, 1.0 | airfoil | 1, 0.40 ); ( 30, 1.0 | airfoil | 1, 0.45 ); ( 30, 1.0 | airfoil | 1, 0.50 ); ( 30, 1.0 | airfoil | 1, 0.55 ); ( 30, 1.0 | airfoil | 1, 0.60 ); ( 30, 1.0 | airfoil | 1, 0.65 ); ( 30, 1.0 | airfoil | 1, 0.70 ); ( 30, 1.0 | airfoil | 1, 0.75 ); ( 30, 1.0 | airfoil | 1, 0.80 ); ( 30, 1.0 | airfoil | 1, 0.85 ); ( 30, 1.0 | airfoil | 1, 0.90 ); ( 30, 1.0 | airfoil | 1, 0.95 ) diff --git a/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py b/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py index 9a4333bdecf..6cc8c276be0 100755 --- a/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py +++ b/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py @@ -3,7 +3,7 @@ ## \file run_adjoint.py # \brief Python script to launch SU2_CFD_AD and compute the sensitivity of the FEA problem respect to flow loads. # \author Ruben Sanchez -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/configAD_flow.cfg b/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/configAD_flow.cfg index cde462e8186..a387578e514 100644 --- a/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/configAD_flow.cfg +++ b/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/configAD_flow.cfg @@ -10,19 +10,11 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_NAVIER_STOKES - KIND_TURB_MODEL= NONE MATH_PROBLEM= DISCRETE_ADJOINT - RESTART_SOL= NO - MULTIZONE_MESH = NO - ITER = 181 INNER_ITER = 181 @@ -33,15 +25,11 @@ OBJECTIVE_FUNCTION = DRAG % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% INC_DENSITY_MODEL= CONSTANT - INC_ENERGY_EQUATION = NO INC_DENSITY_INIT= 1.0 INC_VELOCITY_INIT= ( 1.0, 0.0, 0.0 ) - INC_TEMPERATURE_INIT= 300 - INC_NONDIM= INITIAL_VALUES - INC_DENSITY_REF= 1.0 INC_VELOCITY_REF= 1.0 INC_TEMPERATURE_REF = 1.0 @@ -56,34 +44,27 @@ MU_CONSTANT= 0.001 REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 - REF_LENGTH= 0.01 REF_AREA= 0.01 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% MARKER_HEATFLUX= ( wallF, 0.0 ) - INC_INLET_TYPE= VELOCITY_INLET INC_OUTLET_TYPE= PRESSURE_OUTLET - MARKER_INLET= ( inlet, 0.0, 1.0, 1.0, 0.0, 0.0 ) MARKER_OUTLET= ( outlet, 0.0 ) MARKER_EULER= ( upper, lower ) - MARKER_PLOTTING= ( wallF ) MARKER_MONITORING= ( wallF ) - MARKER_DEFORM_MESH= ( wallF ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 1000 - CFL_ADAPT= NO CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) - RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% @@ -93,17 +74,6 @@ LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-15 LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% - -MGLEVEL= 0 -MGCYCLE= V_CYCLE - -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -MG_DAMP_RESTRICTION= 0.7 -MG_DAMP_PROLONGATION= 0.7 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% CONV_NUM_METHOD_FLOW= FDS @@ -129,22 +99,16 @@ CONV_CAUCHY_EPS= 1E-5 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% MESH_FILENAME= meshFlow.su2 - MESH_FORMAT= SU2 MESH_OUT_FILENAME= mesh_out.su2 - SOLUTION_FILENAME= solution_flow.dat RESTART_FILENAME= restart_flow.dat - TABULAR_FORMAT= CSV CONV_FILENAME= history - VOLUME_FILENAME= flow SURFACE_FILENAME= surface_flow - OUTPUT_WRT_FREQ= 1000 - % --------------------------- MESH PARAMETERS ---------------------------------% DEFORM_MESH = YES @@ -158,4 +122,3 @@ DEFORM_LINEAR_SOLVER_ITER = 5000 DEFORM_CONSOLE_OUTPUT = NO READ_BINARY_RESTART=NO - diff --git a/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py b/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py index 2cfdad41f7d..bb42dfcccf2 100755 --- a/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py +++ b/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py @@ -3,7 +3,7 @@ ## \file run_adjoint.py # \brief Python script to launch SU2_CFD_AD # \author Ruben Sanchez -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/py_wrapper/flatPlate_rigidMotion/flatPlate_rigidMotion_Conf.cfg b/TestCases/py_wrapper/flatPlate_rigidMotion/flatPlate_rigidMotion_Conf.cfg index 83371b2c847..b95f06f8bee 100644 --- a/TestCases/py_wrapper/flatPlate_rigidMotion/flatPlate_rigidMotion_Conf.cfg +++ b/TestCases/py_wrapper/flatPlate_rigidMotion/flatPlate_rigidMotion_Conf.cfg @@ -5,232 +5,119 @@ % Author: ___________________________________________________________________ % % Institution: ______________________________________________________________ % % Date: __________ % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulence model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.03059 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Init option to choose between Reynolds (default) or thermodynamics quantities -% for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= REYNOLDS -% -% Free-stream option to choose between density and temperature (default) for -% initializing the solution (TEMPERATURE_FS, DENSITY_FS) FREESTREAM_OPTION= TEMPERATURE_FS -% -% Free-stream temperature (288.15 K, 518.67 R by default) FREESTREAM_TEMPERATURE= 293.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 24407.25244 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 0.035 -% + % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = -0.0028 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for moment non-dimensional coefficients (m or in) REF_LENGTH= 0.035 -% -% Reference area for non-dimensional force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 0.035 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL -% + % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= STANDARD_AIR -% + % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= SUTHERLAND -% + % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% + % ------------------------- UNSTEADY SIMULATION -------------------------------% % TIME_DOMAIN=YES -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, HARMONIC_BALANCE) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0 TIME_STEP= 0.003 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 1.0 TIME_ITER = 9999 -% -% Number of internal iterations (dual time method) INNER_ITER= 10 -% -% Iteration number to begin unsteady restarts RESTART_ITER= 0 + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % DEFORM_MESH = YES MARKER_DEFORM_MESH = (plate) -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), isothermal wall marker(s) (NONE = no marker) -% Format: ( marker name, constant wall temperature (K), ... ) MARKER_ISOTHERMAL= ( plate, 293 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% + % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( plate ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( plate ) -% + % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% CFL number (initial value for the adaptive CFL number) CFL_NUMBER= 7.0 -% + % ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% % -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-grid levels (0 = no multi-grid) -MGLEVEL= 0 -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% + % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% + % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= ILU -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 100 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) DEFORM_STIFFNESS_TYPE= WALL_DISTANCE -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= 2D_FlatPlate_Rounded.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 3 -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG) HISTORY_OUTPUT=(ITER,RMS_RES,AERO_COEFF) diff --git a/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py b/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py index e71e06dae2e..efec4c79eb1 100755 --- a/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py +++ b/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py @@ -3,7 +3,7 @@ ## \file flatPlate_rigidMotion.py # \brief Python script to launch SU2_CFD with customized unsteady boundary conditions using the Python wrapper. # \author David Thomas -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py b/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py index cfce7894757..d277a617fe7 100755 --- a/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py +++ b/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py @@ -3,7 +3,7 @@ ## \file launch_unsteady_CHT_FlatPlate.py # \brief Python script to launch SU2_CFD with customized unsteady boundary conditions using the Python wrapper. # \author David Thomas -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/py_wrapper/flatPlate_unsteady_CHT/unsteady_CHT_FlatPlate_Conf.cfg b/TestCases/py_wrapper/flatPlate_unsteady_CHT/unsteady_CHT_FlatPlate_Conf.cfg index d5b7a297eb8..a893d1f65bc 100644 --- a/TestCases/py_wrapper/flatPlate_unsteady_CHT/unsteady_CHT_FlatPlate_Conf.cfg +++ b/TestCases/py_wrapper/flatPlate_unsteady_CHT/unsteady_CHT_FlatPlate_Conf.cfg @@ -5,492 +5,197 @@ % Author: David THOMAS % % Institution: University of Liège % % Date: 12/12/2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulence model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DIRECT -% -% -% Axisymmetric simulation, only compressible flows (NO, YES) AXISYMMETRIC= NO -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% Discard the data storaged in the solution and geometry files -% e.g. AOA, dCL/dAoA, dCD/dCL, iter, etc. -% Note that AoA in the solution and geometry files is critical -% to aero design using AoA as a variable. (NO, YES) DISCARD_INFILES= NO -% -% System of measurements (SI, US) -% International system of units (SI): ( meters, kilograms, Kelvins, -% Newtons = kg m/s^2, Pascals = N/m^2, -% Density = kg/m^3, Speed = m/s, -% Equiv. Area = m^2 ) -% United States customary units (US): ( inches, slug, Rankines, lbf = slug ft/s^2, -% psf = lbf/ft^2, Density = slug/ft^3, -% Speed = ft/s, Equiv. Area = ft^2 ) SYSTEM_MEASUREMENTS= SI + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.03059 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Init option to choose between Reynolds (default) or thermodynamics quantities -% for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= REYNOLDS -% -% Free-stream option to choose between density and temperature (default) for -% initializing the solution (TEMPERATURE_FS, DENSITY_FS) FREESTREAM_OPTION= TEMPERATURE_FS -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K, 518.67 R by default) FREESTREAM_TEMPERATURE= 293.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 24407.25244 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 0.035 % -------------------- INCOMPRESSIBLE FREE-STREAM DEFINITION ------------------% % -% Free-stream density (1.2886 Kg/m^3, 0.0025 slug/ft^3 by default) FREESTREAM_DENSITY= 1.204 -% -% Free-stream velocity (1.0 m/s, 1.0 ft/s by default) FREESTREAM_VELOCITY= ( 1.0, 0.00, 0.00 ) -% -% Free-stream viscosity (1.853E-5 N s/m^2, 3.87E-7 lbf s/ft^2 by default) FREESTREAM_VISCOSITY= 1.82E-5 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (m or in) REF_ORIGIN_MOMENT_X = -0.0028 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for moment non-dimensional coefficients (m or in) REF_LENGTH= 0.035 -% -% Reference area for non-dimensional force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 0.035 -% -% Aircraft semi-span (0 implies automatic calculation) (m or in) SEMI_SPAN= 0.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= STANDARD_AIR -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 287.058 -% -% Critical Temperature (131.00 K by default) CRITICAL_TEMPERATURE= 131.00 -% -% Critical Pressure (3588550.0 N/m^2 by default) CRITICAL_PRESSURE= 3588550.0 -% -% Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.035 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= SUTHERLAND -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.716E-5 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.0257 % ------------------------- UNSTEADY SIMULATION -------------------------------% % TIME_DOMAIN=YES -% TIME_ITER= 10 -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, HARMONIC_BALANCE) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) -- Only used when UNST_CFL_NUMBER = 0.0 TIME_STEP= 0.003 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 1.0 -% -% Unsteady Courant-Friedrichs-Lewy number of the finest grid UNST_CFL_NUMBER= 0.0 -% -% Number of internal iterations (dual time method) INNER_ITER= 10 -% -% Iteration number to begin unsteady restarts RESTART_ITER= 0 % ----------------------- BODY FORCE DEFINITION -------------------------------% % -% Apply a body force as a source term (NO, YES) BODY_FORCE= NO -% -% Vector of body force values (BodyForce_X, BodyForce_Y, BodyForce_Z) BODY_FORCE_VECTOR= ( 0.0, 0.0, 0.0 ) % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( NONE ) -% -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) -%MARKER_HEATFLUX= ( plate, 1000.0 ) -% -% Navier-Stokes (no-slip), isothermal wall marker(s) (NONE = no marker) -% Format: ( marker name, constant wall temperature (K), ... ) MARKER_ISOTHERMAL= ( plate, 293 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% + % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( plate ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( plate ) -% -% Marker(s) of the surface where custom thermal BC's are defined. MARKER_PYTHON_CUSTOM = (plate) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( NONE ) -% -% Marker(s) of the surface that is going to be analyzed in detail (massflow, average pressure, distortion, etc) MARKER_ANALYZE = ( NONE ) -% -% Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = MASSFLUX % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% CFL number (initial value for the adaptive CFL number) CFL_NUMBER= 7.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.25, 50.0 ) -% -% Maximum Delta Time in local time stepping simulations MAX_DELTA_TIME= 1E6 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= DRAG -% -% List of weighting values when using more than one OBJECTIVE_FUNCTION. Separate by commas and match with MARKER_MONITORING. OBJECTIVE_WEIGHT = 1.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ----------- SLOPE LIMITER AND DISSIPATION SENSOR DEFINITION -----------------% % -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= VENKATAKRISHNAN -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence adjoint equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJTURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_ADJTURB= VENKATAKRISHNAN -% -% Coefficient for the Venkat's limiter (upwind scheme). A larger values decrease -% the extent of limiting, values approaching zero cause -% lower-order approximation to the solution (0.05 by default) VENKAT_LIMITER_COEFF= 0.05 -% -% Coefficient for the adjoint sharp edges limiter (3.0 by default). ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 -% -% 1st order artificial dissipation coefficients for -% the Lax–Friedrichs method ( 0.15 by default ) LAX_SENSOR_COEFF= 0.15 -% -% 2nd and 4th order artificial dissipation coefficients for -% the JST method ( 0.5, 0.02 by default ) JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% 1st order artificial dissipation coefficients for -% the adjoint Lax–Friedrichs method ( 0.15 by default ) ADJ_LAX_SENSOR_COEFF= 0.15 -% -% 2nd, and 4th order artificial dissipation coefficients for -% the adjoint JST method ( 0.5, 0.02 by default ) ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Linear solver ILU preconditioner fill-in level (0 by default) LINEAR_SOLVER_ILU_FILL_IN= 0 -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-grid levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% Relaxation coefficient % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 -% -% Relaxation coefficient % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Linear solver or smoother for implicit formulations (FGMRES, RESTARTED_FGMRES, BCGSTAB) DEFORM_LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, JACOBI) DEFORM_LINEAR_SOLVER_PREC= ILU -% -% Number of smoothing iterations for mesh deformation DEFORM_LINEAR_SOLVER_ITER= 100 -% -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% -% Minimum residual criteria for the linear solver convergence of grid deformation DEFORM_LINEAR_SOLVER_ERROR= 1E-14 -% -% Deformation coefficient (linear elasticity limits from -1.0 to 0.5, a larger -% value is also possible) DEFORM_COEFF = 1E6 -% -% Type of element stiffness imposed for FEA mesh deformation (INVERSE_VOLUME, -% WALL_DISTANCE, CONSTANT_STIFFNESS) 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 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 4 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 10 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= 2D_FlatPlate_Rounded.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 3 -% -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= YES -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG) diff --git a/TestCases/py_wrapper/translating_NACA0012/config.cfg b/TestCases/py_wrapper/translating_NACA0012/config.cfg index 22b9f55cf83..8446a5405a1 100644 --- a/TestCases/py_wrapper/translating_NACA0012/config.cfg +++ b/TestCases/py_wrapper/translating_NACA0012/config.cfg @@ -73,4 +73,3 @@ MESH_FILENAME= ../../euler/naca0012/mesh_NACA0012_inv.su2 MESH_FORMAT= SU2 SCREEN_OUTPUT= (INNER_ITER, RMS_RES, LIFT, DRAG, MOMENT_X, MOMENT_Y, MOMENT_Z) HISTORY_OUTPUT= (INNER_ITER, RMS_RES, AERO_COEFF) - diff --git a/TestCases/radiation/p1adjoint/configp1adjoint.cfg b/TestCases/radiation/p1adjoint/configp1adjoint.cfg index f737c5ad271..50f7a8d57df 100644 --- a/TestCases/radiation/p1adjoint/configp1adjoint.cfg +++ b/TestCases/radiation/p1adjoint/configp1adjoint.cfg @@ -4,7 +4,7 @@ % Case description: Coupled CFD-RHT adjoint problem % % Author: Ruben Sanchez (TU Kaiserslautern) % % Date: 2020-02-13 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/radiation/p1model/configp1.cfg b/TestCases/radiation/p1model/configp1.cfg index 12871badc25..420953e2e05 100644 --- a/TestCases/radiation/p1model/configp1.cfg +++ b/TestCases/radiation/p1model/configp1.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: 2019-01-29 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -108,4 +108,3 @@ VOLUME_FILENAME= flow_p1 TABULAR_FORMAT= CSV CONV_FILENAME= history_p1 - diff --git a/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg b/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg index 09d659ae553..aedbc71c2c7 100644 --- a/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg +++ b/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg @@ -8,226 +8,103 @@ % Comments: Grid file and propeller data courtesy of Mauro Minervino, % % Centro Italiano Ricerche Aerospaziali (CIRA) % % Date: 07/08/2020 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %----------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION -------------------------% -% Solver type (EULER, NAVIER_STOKES, RANS, -% INC_EULER, INC_NAVIER_STOKES, INC_RANS -% FEM_EULER, FEM_NAVIER_STOKES, FEM_RANS, FEM_LES, -% HEAT_EQUATION_FVM, ELASTICITY) -SOLVER= RANS % -% Specify turbulence model (NONE, SA, SA_NEG, SST, SA_E, SA_COMP, SA_E_COMP) +SOLVER= RANS KIND_TURB_MODEL= SA -% -% Turbulence intensity at freestream FREESTREAM_TURBULENCEINTENSITY=0.01 -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% System of measurements (SI, US) -% International system of units (SI): ( meters, kilograms, Kelvins, -% Newtons = kg m/s^2, Pascals = N/m^2, -% Density = kg/m^3, Speed = m/s, -% Equiv. Area = m^2 ) SYSTEM_MEASUREMENTS= SI + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.55996 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 3.65E7 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 5.0292 -% + % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% -% Reference origin for moment computation (m or in) +% REF_ORIGIN_MOMENT_X = 0.0 REF_ORIGIN_MOMENT_Y = 0.0 REF_ORIGIN_MOMENT_Z = 0.0 -% -% Reference length for moment non-dimensional coefficients (m or in) REF_LENGTH= 1.0 -% -% Reference area for non-dimensional force coefficients (0 implies automatic -% calculation) (m^2 or in^2) REF_AREA= 19.8649 -% -% Compressible flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL -% + % --------------- ENGINE AND ACTUATOR DISK SIMULATION -------------------------% -% Highlite area to compute MFR (1 in by default) -HIGHLITE_AREA= 19.8649 % -% Engine nu factor (SA model). +HIGHLITE_AREA= 19.8649 ENGINE_NU_FACTOR= 0.0 -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -ACTDISK_DOUBLE_SURFACE = YES % -% Actuator disk boundary type (VARIABLE_LOAD, VARIABLES_JUMP, BC_THRUST, -% DRAG_MINUS_THRUST) +ACTDISK_DOUBLE_SURFACE = YES ACTDISK_TYPE= VARIABLE_LOAD -% -% Actuator disk data input file name ACTDISK_FILENAME= ActuatorDisk.dat -% -% Actuator disk boundary marker(s) with the following formats (NONE = no marker) -% Variable Load: (inlet face marker, outlet face marker, -% 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) Markers only effectively used. MARKER_ACTDISK = ( DISK, DISK_BACK, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( FF ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Compressible: ( outlet marker, back pressure (static thermodynamic), ... ) MARKER_OUTLET = ( OUT , 56370.2) -% -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX = (SPINNER, 0.0) -% + % ------------------------ SURFACES IDENTIFICATION ----------------------------% -% Marker(s) of the surface in the surface flow solution file -MARKER_PLOTTING = ( DISK, DISK_BACK, SPINNER ) % -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. +MARKER_PLOTTING = ( DISK, DISK_BACK, SPINNER ) MARKER_MONITORING = ( DISK, DISK_BACK, SPINNER ) -% -% Marker(s) of the surface that is going to be analyzed in detail (massflow, average pressure, distortion, etc) MARKER_ANALYZE = ( DISK, DISK_BACK ) -% -% Method to compute the average value in MARKER_ANALYZE (AREA, MASSFLUX). MARKER_ANALYZE_AVERAGE = MASSFLUX -% + % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= GREEN_GAUSS % -% CFL number (initial value for the adaptive CFL number) +NUM_METHOD_GRAD= GREEN_GAUSS CFL_NUMBER= 20.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, BUFFET, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, SURFACE_TOTAL_PRESSURE, -% SURFACE_MASSFLOW, SURFACE_STATIC_PRESSURE, SURFACE_MACH) -% For a weighted sum of objectives: separate by commas, add OBJECTIVE_WEIGHT and MARKER_MONITORING in matching order. OBJECTIVE_FUNCTION= DRAG -% + % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% -% Linear solver or smoother for implicit formulations: -% BCGSTAB, FGMRES, RESTARTED_FGMRES, CONJUGATE_GRADIENT (self-adjoint problems only), SMOOTHER. -LINEAR_SOLVER= FGMRES % -% Preconditioner of the Krylov linear solver or type of smoother (ILU, LU_SGS, LINELET, JACOBI) +LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-12 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 3 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 1000 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, AUSMPLUSUP, -% AUSMPLUSUP2, HLLC, TURKEL_PREC, MSW, FDS, SLAU, SLAU2) -CONV_NUM_METHOD_FLOW= JST % -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) +CONV_NUM_METHOD_FLOW= JST TIME_DISCRE_FLOW= EULER_IMPLICIT -% + % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% -% Convective numerical method (SCALAR_UPWIND) -CONV_NUM_METHOD_TURB= SCALAR_UPWIND % -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) +CONV_NUM_METHOD_TURB= SCALAR_UPWIND MUSCL_TURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% + % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% Maximum number of iterations -ITER= 1500 % -% Min value of the residual (log10 of the residual) +ITER= 1500 CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% -% Mesh input file -MESH_FILENAME= propeller_variable_load.su2 % -% Mesh input file format (SU2, CGNS) +MESH_FILENAME= propeller_variable_load.su2 MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= TECPLOT -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Write the forces breakdown file option (NO, YES) WRT_FORCES_BREAKDOWN= YES -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/rans/flatplate/turb_SA_flatplate.cfg b/TestCases/rans/flatplate/turb_SA_flatplate.cfg index 8eb6e387249..09608b4bed8 100644 --- a/TestCases/rans/flatplate/turb_SA_flatplate.cfg +++ b/TestCases/rans/flatplate/turb_SA_flatplate.cfg @@ -5,238 +5,106 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 5000000.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 2.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) MARKER_INLET= ( inlet, 302.4, 118309.784, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure, ... ) MARKER_OUTLET= ( outlet, 115056.0, farfield, 115056.0 ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.1 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 2, 2, 2, 2) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_flatplate_turb_137x97.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/rans/flatplate/turb_SA_flatplate_species.cfg b/TestCases/rans/flatplate/turb_SA_flatplate_species.cfg index e56b67c52ee..b92b30b0e6b 100644 --- a/TestCases/rans/flatplate/turb_SA_flatplate_species.cfg +++ b/TestCases/rans/flatplate/turb_SA_flatplate_species.cfg @@ -6,84 +6,45 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechmniek B.V. % % Date: 2021.11.30 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 5000000.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 2.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -% SPECIFIED_INLET_PROFILE= YES INLET_FILENAME= inlet.dat INC_INLET_TYPE= VELOCITY_INLET -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) MARKER_INLET= ( inlet, 302.4, 118309.784, 1.0, 0.0, 0.0 ) MARKER_INLET_SPECIES= ( inlet, 1.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure, ... ) MARKER_OUTLET= ( outlet, 115056.0, farfield, 115056.0 ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % -------------------- SCALAR TRANSPORT ---------------------------------------% @@ -91,132 +52,64 @@ MARKER_MONITORING= ( wall ) KIND_SCALAR_MODEL= SPECIES_TRANSPORT DIFFUSIVITY_MODEL= CONSTANT_DIFFUSIVITY DIFFUSIVITY_CONSTANT= 0.001 -% CONV_NUM_METHOD_SPECIES= SCALAR_UPWIND MUSCL_SPECIES= NO SLOPE_LIMITER_SPECIES = NONE -% TIME_DISCRE_SPECIES= EULER_IMPLICIT -% SPECIES_INIT= 1.0 SPECIES_CLIPPING= YES SPECIES_CLIPPING_MIN= 0.0 SPECIES_CLIPPING_MAX= 1.0 -% + % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.1 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 2, 2, 2, 2) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_flatplate_turb_137x97.su2 -% SCREEN_OUTPUT= INNER_ITER WALL_TIME \ RMS_DENSITY RMS_MOMENTUM-X RMS_MOMENTUM-Y RMS_ENERGY RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 \ LINSOL_ITER LINSOL_RESIDUAL \ @@ -224,16 +117,13 @@ SCREEN_OUTPUT= INNER_ITER WALL_TIME \ LINSOL_ITER_SPECIES LINSOL_RESIDUAL_SPECIES \ SURFACE_SPECIES_0 SCREEN_WRT_FREQ_INNER= 10 -% HISTORY_OUTPUT= ITER RMS_RES LINSOL SPECIES_COEFF SPECIES_COEFF_SURF CONV_FILENAME= history MARKER_ANALYZE= outlet MARKER_ANALYZE_AVERAGE= AREA -% OUTPUT_FILES= RESTART_ASCII, PARAVIEW_MULTIBLOCK VOLUME_OUTPUT= RESIDUAL, PRIMITIVE OUTPUT_WRT_FREQ= 200 -% READ_BINARY_RESTART= NO RESTART_FILENAME= restart SOLUTION_FILENAME= solution diff --git a/TestCases/rans/flatplate/turb_SST_flatplate.cfg b/TestCases/rans/flatplate/turb_SST_flatplate.cfg index 81ffc3a7837..b2a905a9628 100644 --- a/TestCases/rans/flatplate/turb_SST_flatplate.cfg +++ b/TestCases/rans/flatplate/turb_SST_flatplate.cfg @@ -5,234 +5,104 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.10 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.2 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 5000000.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 2.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -% -% Inlet boundary marker(s) (NONE = no marker) -% Format: ( inlet marker, total temperature, total pressure, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) MARKER_INLET= ( inlet, 302.4, 118309.784, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure, ... ) MARKER_OUTLET= ( outlet, 115056.0, farfield, 115056.0 ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( symmetry ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.1 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 2, 2, 2, 2) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -15 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_flatplate_turb_137x97.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sa.cfg b/TestCases/rans/naca0012/turb_NACA0012_sa.cfg index 050baad4de2..165d3252ef0 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sa.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sa.cfg @@ -6,237 +6,100 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= NEGATIVE, EXPERIMENTAL -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 10.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES NUM_METHOD_GRAD_RECON= LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1000.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_TURB= NONE -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sa.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output fields SCREEN_OUTPUT=(INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG, LINSOL_ITER, LINSOL_RESIDUAL, LINSOL_ITER_TURB, LINSOL_RESIDUAL_TURB, TOTAL_HEATFLUX) diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst.cfg index b50c913304c..b7621b6de30 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst.cfg @@ -6,243 +6,104 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 10.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES NUM_METHOD_GRAD_RECON= LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1000.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= NONE -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % % Convergence field CONV_FIELD= RMS_DENSITY -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sst.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL, TOTAL_HEATFLUX) OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_PARAVIEW) diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg index 2359d135979..932af7b0d51 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg @@ -3,7 +3,7 @@ % SU2 configuration file % % Case description: 2D NACA 0012 Airfoil Validation Case (compressible) % % SST-1994-KLm implementation % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -105,4 +105,3 @@ SURFACE_ADJ_FILENAME= surface_adjoint OUTPUT_WRT_FREQ= 10000 SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL) OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_PARAVIEW) - diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg index 499db596789..2f41d396a3f 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg @@ -3,7 +3,7 @@ % SU2 configuration file % % Case description: 2D NACA 0012 Airfoil Validation Case (compressible) % % SST-2003-Vm implementation % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -105,4 +105,3 @@ SURFACE_ADJ_FILENAME= surface_adjoint OUTPUT_WRT_FREQ= 10000 SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL) OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_PARAVIEW) - diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg index 75a59b5a55d..ac0e45ba793 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % SU2 configuration file, NACA0012 RANS SST-2003m % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -90,5 +90,4 @@ RESTART_FILENAME= restart_flow.dat VOLUME_FILENAME= flow SURFACE_FILENAME= surface_flow OUTPUT_WRT_FREQ= 10000 -% SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL, TOTAL_HEATFLUX) diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_expliciteuler.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_expliciteuler.cfg index dac10deebea..80442e62c3e 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_expliciteuler.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_expliciteuler.cfg @@ -5,7 +5,7 @@ % Author: Max Aehle % % Institution: TU Kaiserslautern % % Date: Nov 17th, 2021 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -64,12 +64,9 @@ CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% MESH_FILENAME= n0012_113-33.su2 MESH_FORMAT= SU2 -% SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL) -% TABULAR_FORMAT= CSV CONV_FILENAME= history -% OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_PARAVIEW) OUTPUT_WRT_FREQ= 10000 RESTART_FILENAME= restart_flow.dat diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_fixedvalues.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_fixedvalues.cfg index ceef756604b..0754a8c889e 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_fixedvalues.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_fixedvalues.cfg @@ -2,10 +2,10 @@ % % % SU2 configuration file % % Case description: upstream turbulence quantities fixed to far-field value % -% Author: Max Aehle -% Institution: TU Kaiserslautern +% Author: Max Aehle % +% Institution: TU Kaiserslautern % % Date: Mar 17th, 2021 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_multigrid_restart.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_multigrid_restart.cfg index a70b68edaca..12908d73bb7 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_multigrid_restart.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_multigrid_restart.cfg @@ -6,385 +6,151 @@ % Author: David E. Manosalvas % % Institution: Stanford University % % Date: 02.14.2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulence model (NONE, SA, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% -% Discard the data storaged in the solution and geometry files -% e.g. AOA, dCL/dAoA, dCD/dCL, iter, etc. -% Note that AoA in the solution and geometry files is critical -% to aero design using AoA as a variable. (NO, YES) DISCARD_INFILES= YES -% -% -% System of measurements (SI, US) -% International system of units (SI): ( meters, kilograms, Kelvins, -% Newtons = kg m/s^2, Pascals = N/m^2, -% Density = kg/m^3, Speed = m/s ) -% United States customary units (US): ( inches, slug, Rankines, lbf = slug ft/s^2, -% psf = lbf/ft^2, Density = slug/ft^3, -% Speed = ft/s ) SYSTEM_MEASUREMENTS= SI -% -% Gravity force, only incompressible (NO, YES) GRAVITY_FORCE= NO -% -% Axisymmetric simulation, only compressible (NO, YES) AXISYMMETRIC= NO -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.27 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2, 2116.216 psf by default) FREESTREAM_PRESSURE= 97582.18 -% -% Free-stream temperature (288.15 K, 518.67 R by default) FREESTREAM_TEMPERATURE= 283.8075 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 2000000 -% -% Reynolds length (1 m, 1 inch by default) REYNOLDS_LENGTH= 0.3238 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 2.4761 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0.1460 % A = W*H = 0.3238*0.4509 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_ONE -% + % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= STANDARD_AIR -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 287.058 -% -% Critical Temperature (131.00 K by default) CRITICAL_TEMPERATURE= 131.00 -% -% Critical Pressure (3588550.0 N/m^2 by default) CRITICAL_PRESSURE= 3588550.0 -% -% Critical Density (263.0 Kg/m3 by default) CRITICAL_DENSITY= 263.0 -% -% Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.035 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= SUTHERLAND -% -% Laminar Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.716E-5 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes (no-slip), constant heat flux wall marker(s) (NONE = no marker) -% Format: ( marker name, constant heat flux (J/m^2), ... ) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Far-field boundary marker(s) (NONE = no marker) -%MARKER_FAR= ( inlet, outlet ) MARKER_FAR= ( farfield ) -% -% Symmetry boundary marker(s) (NONE = no marker) -%MARKER_SYM= ( ground, windtunnel ) -% -% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW) -INLET_TYPE= TOTAL_CONDITIONS -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -%MARKER_INLET= ( inlet, 287.9454, 102653.2,1,0,0) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) -%MARKER_OUTLET= ( outlet, 97786.1153 ) -% + % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, AVG_TOTAL_PRESSURE, -% MASS_FLOW_RATE) OBJECTIVE_FUNCTION= DRAG % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-grid levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 1, 1, 1, 1 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.8 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.8 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Entropy fix coefficient (0.0 implies no entropy fixing) ENTROPY_FIX_COEFF= 0.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Number of total iterations ITER= 100 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 30 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 500 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n0012_113-33.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sst_restart.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% -% Uses two restart files and switches between them when writting restarts -%WRT_FLIPFLOP_RESTART = YES -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG) diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg index 54fccbf622a..93e0d01e582 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg @@ -6,197 +6,95 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST SST_OPTIONS=(SUSTAINING) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 10.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 -% -% Free-stream Turbulence Intensity, sqrt(2 k_inf/3)/U_inf (0.0005) FREESTREAM_TURBULENCEINTENSITY = 0.001 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 0.1 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES NUM_METHOD_GRAD_RECON= LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1000.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= NONE -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % % Convergence field CONV_FIELD= RMS_DENSITY -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sst_sust.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, LINSOL_RESIDUAL) OUTPUT_FILES= (RESTART_ASCII, PARAVIEW, SURFACE_PARAVIEW) diff --git a/TestCases/rans/oneram6/turb_ONERAM6.cfg b/TestCases/rans/oneram6/turb_ONERAM6.cfg index 8ea64f25f0e..acdf3f83ee4 100644 --- a/TestCases/rans/oneram6/turb_ONERAM6.cfg +++ b/TestCases/rans/oneram6/turb_ONERAM6.cfg @@ -5,227 +5,97 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulence model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.8395 -% -% Angle of attack (degrees, only for compressible flows) AOA= 3.06 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 11.72E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 0.64607 % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= STANDARD_AIR -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 287.058 -% -% Critical Temperature (131.00 K by default) CRITICAL_TEMPERATURE= 131.00 -% -% Critical Pressure (3588550.0 N/m^2 by default) CRITICAL_PRESSURE= 3588550.0 -% -% Critical Density (263.0 Kg/m3 by default) CRITICAL_DENSITY= 263.0 -% -% Acentric factor (0.035 (air)) ACENTRIC_FACTOR= 0.035 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= SUTHERLAND -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.716E-5 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 - % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 0.64607 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( WING, 0.0 ) -% -% Far-field boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Symmetry boundary marker(s) (NONE = no marker) MARKER_SYM= ( SYMMETRY ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( WING ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( WING ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 4.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 999999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (NONE, JACOBI, LINELET) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 2, 2 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 2, 2, 2, 2 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.7 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 1.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % @@ -234,53 +104,20 @@ CONV_CAUCHY_EPS= 1E-6 PARMETIS_TOLERANCE= 0.05 PARMETIS_EDGE_WEIGHT= 0 PARMETIS_POINT_WEIGHT= 1 -% -% Mesh input file MESH_FILENAME= mesh_ONERAM6_turb_hexa_43008.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% OUTPUT_FILES=(RESTART, STL_ASCII, PARAVIEW, SURFACE_PARAVIEW) -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output fields SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG, TOTAL_HEATFLUX) diff --git a/TestCases/rans/oneram6/turb_ONERAM6_nk.cfg b/TestCases/rans/oneram6/turb_ONERAM6_nk.cfg index e42f83fd2ed..f1267512326 100644 --- a/TestCases/rans/oneram6/turb_ONERAM6_nk.cfg +++ b/TestCases/rans/oneram6/turb_ONERAM6_nk.cfg @@ -2,7 +2,7 @@ % % % SU2 configuration file % % Case description: Turbulent flow, ONERA M6, Newton-Krylov solver % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -41,7 +41,7 @@ REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_MACH TIME_DISCRE_FLOW= EULER_IMPLICIT % what else LINEAR_SOLVER_PREC= ILU % or LU_SGS -% --- Things that don't --- +% --- Things that don't matter --- MGLEVEL= 0 % NK replaces MG LINEAR_SOLVER= FGMRES % It will be FGMRES regardless @@ -122,4 +122,3 @@ OUTPUT_FILES=(RESTART, PARAVIEW, SURFACE_PARAVIEW) OUTPUT_WRT_FREQ= 10000 SCREEN_OUTPUT = (INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_ENERGY, RMS_NU_TILDE, LIFT, DRAG, LINSOL_ITER, LINSOL_RESIDUAL, AVG_CFL) CONV_FILENAME= history - diff --git a/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg b/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg new file mode 100644 index 00000000000..4bfe6dfbdf5 --- /dev/null +++ b/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg @@ -0,0 +1,130 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Turbulent flow past the ONERA M6 wing % +% Author: Thomas D. Economon % +% Institution: Stanford University % +% Date: 2014.06.14 % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= RANS +KIND_TURB_MODEL= SA +MATH_PROBLEM= DIRECT +RESTART_SOL= NO + +% -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% +% +MACH_NUMBER= 0.8395 +AOA= 3.06 +SIDESLIP_ANGLE= 0.0 +FREESTREAM_TEMPERATURE= 288.15 +REYNOLDS_NUMBER= 11.72E6 +REYNOLDS_LENGTH= 0.64607 + +% --------------------------- VORTICITY_CONFINEMENT ---------------------------% +% +% Enable vorticity confinement (YES/NO) +VORTICITY_CONFINEMENT = YES +% Set confinement parameter (0.00 by default) +CONFINEMENT_PARAM = 0.05 + +% ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +% +FLUID_MODEL= STANDARD_AIR +GAMMA_VALUE= 1.4 +GAS_CONSTANT= 287.058 +CRITICAL_TEMPERATURE= 131.00 +CRITICAL_PRESSURE= 3588550.0 +CRITICAL_DENSITY= 263.0 +ACENTRIC_FACTOR= 0.035 + +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= SUTHERLAND +MU_CONSTANT= 1.716E-5 +MU_REF= 1.716E-5 +MU_T_REF= 273.15 +SUTHERLAND_CONSTANT= 110.4 + +% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% +% +REF_ORIGIN_MOMENT_X = 0.25 +REF_ORIGIN_MOMENT_Y = 0.00 +REF_ORIGIN_MOMENT_Z = 0.00 +REF_LENGTH= 0.64607 +REF_AREA= 0 + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( WING, 0.0 ) +MARKER_FAR= ( FARFIELD ) +MARKER_SYM= ( SYMMETRY ) +MARKER_PLOTTING= ( WING ) +MARKER_MONITORING= ( WING ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 4.0 +CFL_ADAPT= NO +CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) +RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) +ITER= 20 + +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= LU_SGS +LINEAR_SOLVER_ERROR= 1E-4 +LINEAR_SOLVER_ITER= 5 + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= ROE +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= VENKATAKRISHNAN +VENKAT_LIMITER_COEFF= 1.0 +JST_SENSOR_COEFF= ( 0.5, 0.02 ) +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +SLOPE_LIMITER_TURB= VENKATAKRISHNAN +TIME_DISCRE_TURB= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +CONV_RESIDUAL_MINVAL= -10 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-6 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +% These settings are just to reproduce test results, comment them out +% or delete them to use best practice values. +PARMETIS_TOLERANCE= 0.05 +PARMETIS_EDGE_WEIGHT= 0 +PARMETIS_POINT_WEIGHT= 1 +MESH_FILENAME= mesh_ONERAM6_turb_hexa_43008.su2 +MESH_FORMAT= SU2 +MESH_OUT_FILENAME= mesh_out.su2 +SOLUTION_FILENAME= restart_flow.dat +SOLUTION_ADJ_FILENAME= solution_adj.dat +OUTPUT_FILES=(RESTART, STL_ASCII, PARAVIEW, SURFACE_PARAVIEW) +TABULAR_FORMAT= CSV +CONV_FILENAME= history +RESTART_FILENAME= restart_flow.dat +RESTART_ADJ_FILENAME= restart_adj.dat +VOLUME_FILENAME= flow +VOLUME_ADJ_FILENAME= adjoint +GRAD_OBJFUNC_FILENAME= of_grad.dat +SURFACE_FILENAME= surface_flow +SURFACE_ADJ_FILENAME= surface_adjoint +OUTPUT_WRT_FREQ= 250 +SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG, TOTAL_HEATFLUX) diff --git a/TestCases/rans/propeller/propeller.cfg b/TestCases/rans/propeller/propeller.cfg index b6ae7779a58..85c5de1b563 100644 --- a/TestCases/rans/propeller/propeller.cfg +++ b/TestCases/rans/propeller/propeller.cfg @@ -5,262 +5,106 @@ % Author: % % Institution: % % Date: % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= RANS -% -% Specify turbulence model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT, DISCRETE_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% -% System of measurements (SI, US) -% International system of units (SI): ( meters, kilograms, Kelvins, -% Newtons = kg m/s^2, Pascals = N/m^2, -% Density = kg/m^3, Speed = m/s, -% Equiv. Area = m^2 ) -% United States customary units (US): ( inches, slug, Rankines, lbf = slug ft/s^2, -% psf = lbf/ft^2, Density = slug/ft^3, -% Speed = ft/s, Equiv. Area = ft^2 ) SYSTEM_MEASUREMENTS= US -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Side-slip angle (degrees, only for compressible flows) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (518.67 R by default) FREESTREAM_TEMPERATURE= 393.872 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 59847 -% -% Reynolds length (1 in by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation (in) REF_ORIGIN_MOMENT_X = 0.0 REF_ORIGIN_MOMENT_Y = 0.0 REF_ORIGIN_MOMENT_Z = 0.0 -% -% Reference length for pitching, rolling, and yawing non-dimensional -% moment (in) REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic -% calculation) (in^2) REF_AREA= 105120.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % --------------- ENGINE AND ACTUATOR DISK SIMULATION -------------------------% % -% Highlite area to compute MFR (1 in by default) HIGHLITE_AREA= 1.0 -% -% Engine nu factor (SA model). ENGINE_NU_FACTOR= 30.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier Stokes boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( INNER_NACELLE, 0.0, OUTER_NACELLE, 0.0) -% -% Actuator disk boundary type (VARIABLES_JUMP, NET_THRUST, BC_THRUST, -% DRAG_MINUS_THRUST, POWER) ACTDISK_TYPE= VARIABLES_JUMP -% -% Actuator disk jump definition using ratio or difference (DIFFERENCE, RATIO) ACTDISK_JUMP= DIFFERENCE -% -% Actuator disk boundary marker(s) with the following formats (NONE = no marker) -% Variables Jump: ( inlet face marker, outlet face marker, -% Takeoff pressure jump (psf), Takeoff temperature jump (R), Takeoff rev/min, -% Cruise pressure jump (psf), Cruise temperature jump (R), Cruise rev/min ) -% Net Thrust: ( inlet face marker, outlet face marker, -% Takeoff net thrust (lbs), 0.0, Takeoff rev/min, -% Cruise net thrust (lbs), 0.0, Cruise rev/min ) -% BC Thrust: ( inlet face marker, outlet face marker, -% Takeoff BC thrust (lbs), 0.0, Takeoff rev/min, -% Cruise BC thrust (lbs), 0.0, Cruise rev/min ) -% Drag-Thrust: ( inlet face marker, outlet face marker, -% Takeoff Drag-Thrust (lbs), 0.0, Takeoff rev/min, -% Cruise Drag-Thrust (lbs), 0.0, Cruise rev/min ) -% Power: ( inlet face marker, outlet face marker, -% Takeoff power (HP), 0.0, Takeoff rev/min -% Cruise power (HP), 0.0, Cruise rev/min ) MARKER_ACTDISK = ( ACTDISK, ACTDISK_BACK, 70.5, 10, 0, 70.5, 10, 0 ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( FARFIELD ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( INNER_NACELLE, OUTER_NACELLE, ACTDISK, ACTDISK_BACK ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( INNER_NACELLE, OUTER_NACELLE, ACTDISK, ACTDISK_BACK ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( INNER_NACELLE, OUTER_NACELLE, ACTDISK, ACTDISK_BACK ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.0, 1.0, 1.0, 10.0 ) -% -% Objective function in gradient evaluation (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEATFLUX, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX, AVG_TOTAL_PRESSURE, -% MASS_FLOW_RATE) OBJECTIVE_FUNCTION= DRAG % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-12 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 3 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT -% -% Relaxation coefficient % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Relaxation coefficient % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Number of total iterations ITER= 9999 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= ActuatorDisk.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file with the forces breakdown BREAKDOWN_FILENAME= forces_breakdown.dat -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function VALUE_OBJFUNC_FILENAME= of_eval.dat -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1500 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/rans/rae2822/turb_SA_RAE2822.cfg b/TestCases/rans/rae2822/turb_SA_RAE2822.cfg index ead492a7ad8..4096f45b8fd 100644 --- a/TestCases/rans/rae2822/turb_SA_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SA_RAE2822.cfg @@ -5,342 +5,122 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) OBJECTIVE_FUNCTION= DRAG -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.01 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.75 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_NU_TILDE, LIFT, DRAG, TOTAL_HEATFLUX) % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, PARABOLIC, NACA_4DIGITS, -% DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION, FFD_CAMBER, FFD_THICKNESS, FFD_VOLUME -% SURFACE_FILE) DV_KIND= FFD_SETTING -% -% Marker of the surface to which we are going apply the shape deformation DV_MARKER= ( AIRFOIL ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( 1, 0.5 ) -% -% New value of the shape deformation DV_VALUE= 0.01 -% -% Hold the grid fixed in a region (NO, YES) HOLD_GRID_FIXED= NO -% -% Coordinates of the box where the grid will be deformed (Xmin, Ymin, Zmin, -% Xmax, Ymax, Zmax) HOLD_GRID_FIXED_COORD= ( -0.5, -0.49, 0.0, 2.5, 0.49, 0.0 ) % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale -OPT_OBJECTIVE= DRAG * 0.001 -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= NONE - -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 30, 1.0 | AIRFOIL | 0, 0.05 ); ( 30, 1.0 | AIRFOIL | 0, 0.10 ); ( 30, 1.0 | AIRFOIL | 0, 0.15 ); ( 30, 1.0 | AIRFOIL | 0, 0.20 ); ( 30, 1.0 | AIRFOIL | 0, 0.25 ); ( 30, 1.0 | AIRFOIL | 0, 0.30 ); ( 30, 1.0 | AIRFOIL | 0, 0.35 ); ( 30, 1.0 | AIRFOIL | 0, 0.40 ); ( 30, 1.0 | AIRFOIL | 0, 0.45 ); ( 30, 1.0 | AIRFOIL | 0, 0.50 ); ( 30, 1.0 | AIRFOIL | 0, 0.55 ); ( 30, 1.0 | AIRFOIL | 0, 0.60 ); ( 30, 1.0 | AIRFOIL | 0, 0.65 ); ( 30, 1.0 | AIRFOIL | 0, 0.70 ); ( 30, 1.0 | AIRFOIL | 0, 0.75 ); ( 30, 1.0 | AIRFOIL | 0, 0.80 ); ( 30, 1.0 | AIRFOIL | 0, 0.85 ); ( 30, 1.0 | AIRFOIL | 0, 0.90 ); ( 30, 1.0 | AIRFOIL | 0, 0.95 ); ( 30, 1.0 | AIRFOIL | 1, 0.05 ); ( 30, 1.0 | AIRFOIL | 1, 0.10 ); ( 30, 1.0 | AIRFOIL | 1, 0.15 ); ( 30, 1.0 | AIRFOIL | 1, 0.20 ); ( 30, 1.0 | AIRFOIL | 1, 0.25 ); ( 30, 1.0 | AIRFOIL | 1, 0.30 ); ( 30, 1.0 | AIRFOIL | 1, 0.35 ); ( 30, 1.0 | AIRFOIL | 1, 0.40 ); ( 30, 1.0 | AIRFOIL | 1, 0.45 ); ( 30, 1.0 | AIRFOIL | 1, 0.50 ); ( 30, 1.0 | AIRFOIL | 1, 0.55 ); ( 30, 1.0 | AIRFOIL | 1, 0.60 ); ( 30, 1.0 | AIRFOIL | 1, 0.65 ); ( 30, 1.0 | AIRFOIL | 1, 0.70 ); ( 30, 1.0 | AIRFOIL | 1, 0.75 ); ( 30, 1.0 | AIRFOIL | 1, 0.80 ); ( 30, 1.0 | AIRFOIL | 1, 0.85 ); ( 30, 1.0 | AIRFOIL | 1, 0.90 ); ( 30, 1.0 | AIRFOIL | 1, 0.95 ) - diff --git a/TestCases/rans/rae2822/turb_SST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_RAE2822.cfg index c6381924789..29fe503e3d7 100644 --- a/TestCases/rans/rae2822/turb_SST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_RAE2822.cfg @@ -5,227 +5,101 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 - -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.001 - -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output fields SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, TOTAL_HEATFLUX) - diff --git a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg index 1e5487a0dc8..90cd5e7eea6 100644 --- a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg @@ -5,228 +5,102 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST SST_OPTIONS=(SUSTAINING) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 - -% Free-stream Turbulence Intensity, sqrt(2 k_inf/3)/U_inf (0.0005) FREESTREAM_TURBULENCEINTENSITY = 0.001 - -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output fields SCREEN_OUTPUT = (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG) - diff --git a/TestCases/rans/restart_directdiff_naca/naca0012.cfg b/TestCases/rans/restart_directdiff_naca/naca0012.cfg index c96710af9a5..eb05427dce4 100644 --- a/TestCases/rans/restart_directdiff_naca/naca0012.cfg +++ b/TestCases/rans/restart_directdiff_naca/naca0012.cfg @@ -5,7 +5,7 @@ % Author: Steffen Schotthöfer % % Institution: TU Kaiserslautern % % Date: Mar 16, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -15,192 +15,118 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, NS_PLASMA) SOLVER= RANS -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DISCRETE_ADJOINT -% Objective function OBJECTIVE_FUNCTION=DRAG -% Restart solution (NO, YES) RESTART_SOL= YES -% Restart iteration RESTART_ITER = 10 % % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Time Domain TIME_DOMAIN = YES -% Unsteady simulation TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% Time Step for dual time stepping simulations (s) TIME_STEP= 5e-4 -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 105000 -%Maximum Number of physical time steps used for primal and ajoint run. TIME_ITER= 15 -% Number of internal iterations (dual time method) INNER_ITER= 2 -%Number of iterations to average the objective ITER_AVERAGE_OBJ = 3 -%Iteration number to begin the reverse time integration in the direct solver for the unsteady adjoint. UNST_ADJOINT_ITER = 15 -% Start iteration for windowing WINDOW_START_ITER = 12 -% Window used for reverse sweep. Options (SQUARE, HANN, HANN_SQUARE, BUMP) WINDOW_FUNCTION = HANN_SQUARE % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% Angle of attack (degrees, only for compressible flows) AOA= 17.0 -% De-Dimensionalization REF_DIMENSIONALIZATION = DIMENSIONAL -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 293.0 -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 1e+6 -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker MARKER_HEATFLUX= ( AIRFOIL, 0.0) -% Farfield boundary marker MARKER_FAR= ( FARFIELD) -% Internal boundary marker(s) e.g. no boundary condition MARKER_INTERNAL= ( FWH1 ) -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= (AIRFOIL) % % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 20.0 -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method CONV_NUM_METHOD_FLOW= JST -% 1st, 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.01 ) -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% Muscl flow for turbulent simulation MUSCL_TURB= NO -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Field to apply Cauchy Criterion to CONV_FIELD= REL_RMS_DENSITY -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 10 -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 % % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Output settings HISTORY_WRT_FREQ_INNER=0 SCREEN_WRT_FREQ_INNER =1 SCREEN_OUTPUT=(INNER_ITER, TIME_ITER, RMS_ADJ_DENSITY, RMS_DENSITY, , REL_RMS_DENSITY,REL_RMS_ADJ_DENSITY, DRAG, TAVG_DRAG) HISTORY_OUTPUT=(D_AERO_COEFF,D_TAVG_AERO_COEFF) -% -% Mesh input file MESH_FILENAME= naca0012_FFD.su2 -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% Restart adjoint input file SOLUTION_ADJ_FILENAME= restart_adj.dat TABULAR_FORMAT= CSV -% Output file convergence history (w/o extension) CONV_FILENAME= 0_history -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 % % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation DV_KIND= FFD_CONTROL_POINT_2D -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( AIRFOIL ) -% Parameters of the shape deformation DV_PARAM= ( AIRFOIL_BOX, 0.0, 0.0, 1.0, 0.0) -% Value of the shape deformation DV_VALUE= 0.01 -% Surface deformation input filename (SURFACE_FILE DV only) DV_FILENAME= mesh_motion.dat % % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Number of smoothing iterations for FEA mesh deformation DEFORM_LINEAR_SOLVER_ITER= 1000 -% Number of nonlinear deformation iterations (surface deformation increments) DEFORM_NONLINEAR_ITER= 1 -% Print the residuals during mesh deformation to the console (YES, NO) DEFORM_CONSOLE_OUTPUT= YES -% Factor to multiply smallest cell volume for deform tolerance (0.001 default) DEFORM_LINEAR_SOLVER_ERROR = 1E-6 -% Type of element stiffness imposed for FEA mesh deformation DEFORM_STIFFNESS_TYPE= WALL_DISTANCE -% Optimization objective function with scaling factor OPT_OBJECTIVE= DRAG * 1.0 OPT_GRADIENT_FACTOR= 0.1 OPT_RELAX_FACTOR= 1 OPT_BOUND_UPPER= 0.05 OPT_BOUND_LOWER= -0.05 -% Optimization constraint functions with scaling factors, separated by semicolons OPT_CONSTRAINT= ( LIFT > 0.96 ) * 1.0 -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 19, 1.0 | AIRFOIL | AIRFOIL_BOX, 0, 0, 1.0, 0.0 ); -% diff --git a/TestCases/rans/s809/trans_s809.cfg b/TestCases/rans/s809/trans_s809.cfg index 532368f971f..ae025dbee38 100644 --- a/TestCases/rans/s809/trans_s809.cfg +++ b/TestCases/rans/s809/trans_s809.cfg @@ -5,228 +5,103 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA KIND_TRANS_MODEL = LM FREESTREAM_INTERMITTENCY = 0.9 FREESTREAM_TURBULENCEINTENSITY = 0.04 -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 2.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( inlet,outlet ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations EXT_ITER= 999999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= s809_2e6.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= trans_mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= trans_solution_flow.dat -% -% Restart linear flow input file SOLUTION_LIN_FILENAME= trans_solution_lin.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= trans_solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= trans_history -% -% Output file restart flow RESTART_FILENAME= trans_restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= trans_restart_adj.dat -% -% Output file linear flow RESTART_LIN_FILENAME= trans_restart_lin.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= trans_flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= trans_adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= trans_of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= trans_surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= trans_surface_adjoint -% -% Output file surface linear coefficient (w/o extension) SURFACE_LIN_FILENAME= trans_surface_linear -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% diff --git a/TestCases/rans/s809/turb_S809.cfg b/TestCases/rans/s809/turb_S809.cfg index c540294e3b5..85ee14df6b4 100644 --- a/TestCases/rans/s809/turb_S809.cfg +++ b/TestCases/rans/s809/turb_S809.cfg @@ -5,234 +5,94 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 2.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( inlet, outlet ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations EXT_ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.95 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= s809_2e6.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% diff --git a/TestCases/rans/vki_turbine/turb_vki.cfg b/TestCases/rans/vki_turbine/turb_vki.cfg index e13513523f0..29623e5d410 100644 --- a/TestCases/rans/vki_turbine/turb_vki.cfg +++ b/TestCases/rans/vki_turbine/turb_vki.cfg @@ -5,240 +5,92 @@ % Author: Francisco Palacios, Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 350.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_VEL_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW) INLET_TYPE= TOTAL_CONDITIONS -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( inflow, 404.1, 0.904E+05, 1.0, 0.0, 0.0 ) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outflow, 0.523E+05 ) -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rotation_center_x, rotation_center_y, -% rotation_center_z, rotation_angle_x-axis, rotation_angle_y-axis, -% rotation_angle_z-axis, translation_x, translation_y, translation_z, ... ) MARKER_PERIODIC= ( periodic_1, periodic_2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.05749995, 0.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations EXT_ITER= 10 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_vki_turbine_prepbc.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq.cfg index 29b51e13033..4f673d95938 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq.cfg @@ -6,231 +6,97 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 15.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 10.0, 100.0 ) -% -% Number of total iterations EXT_ITER= 10 + % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 0.05 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow_sst.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg index da8ba37a00d..cec5aba98aa 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg @@ -6,48 +6,28 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Using uncertainty quantification module. SST_OPTIONS= (UQ) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 15.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% % - % Eigenvalue perturbation definition (1, 2, or 3) UQ_COMPONENT= 1 % @@ -62,195 +42,77 @@ UQ_DELTA_B= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 10.0, 100.0 ) -% -% Number of total iterations ITER= 99999 + % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 0.05 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG - diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg index cf7381b4147..64e099c2e79 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg @@ -6,43 +6,24 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Using uncertainty quantification module. SST_OPTIONS= (UQ) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 15.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% @@ -61,194 +42,76 @@ UQ_DELTA_B= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 10.0, 100.0 ) -% -% Number of total iterations ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 0.05 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg index 689d9ab4e27..549a4d13c11 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg @@ -6,43 +6,24 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Using uncertainty quantification module. SST_OPTIONS= (UQ) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 15.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% @@ -61,194 +42,79 @@ UQ_DELTA_B= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 10.0, 100.0 ) -% -% Number of total iterations ITER= 99999 + % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 0.05 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg index 0c0b071b737..67f7e5b1386 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg @@ -6,43 +6,24 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) +% SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Using uncertainty quantification module. SST_OPTIONS= (UQ) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 15.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% @@ -61,194 +42,79 @@ UQ_DELTA_B= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 10.0, 100.0 ) -% -% Number of total iterations ITER= 99999 + % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 0.05 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG) diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg index e4ebef58581..bc626d93cd5 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg @@ -6,43 +6,24 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SST -% -% Using uncertainty quantification module. SST_OPTIONS= (UQ) -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.15 -% -% Angle of attack (degrees, only for compressible flows) AOA= 15.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.0E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ------------------- UNCERTAINTY QUANTIFICATION DEFINITION -------------------% @@ -61,194 +42,79 @@ UQ_DELTA_B= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Max Delta time MAX_DELTA_TIME= 1E10 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 10.0, 100.0 ) -% -% Number of total iterations ITER= 99999 + % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 0.05 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 1, 1, 1, 1, 1 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -9 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_n0012_225-65.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 10000 -% -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG diff --git a/TestCases/rotating/caradonna_tung/rot_caradonna_tung.cfg b/TestCases/rotating/caradonna_tung/rot_caradonna_tung.cfg index 72df1fab415..57c1c1c7039 100644 --- a/TestCases/rotating/caradonna_tung/rot_caradonna_tung.cfg +++ b/TestCases/rotating/caradonna_tung/rot_caradonna_tung.cfg @@ -5,223 +5,104 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2020.05.24 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, RIGID_MOTION, DEFORMING, ROTATING_FRAME, -% MOVING_WALL, AEROELASTIC, EXTERNAL) GRID_MOVEMENT= ROTATING_FRAME -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.877 -% -% Coordinates of the motion origin MOTION_ORIGIN= 0.0 0.0 0.0 -% -% Angular velocity vector (rad/s) about the motion origin ROTATION_RATE = 261.79938779914943 0.0 0.0 % 1250 RPM -> 130.89969389957471 % 2500 RPM -> 261.79938779914943 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Marker of the Euler boundary (NONE = no marker) MARKER_EULER= ( blade_1, blade_2 ) -% -% Marker of the far field (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker of the surface which is going to be plotted or designed MARKER_PLOTTING= ( blade_1, blade_2 ) -% -% Marker of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( blade_1, blade_2 ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1e3 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 2.0, 15, 1e6 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= ILU -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-10 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-10 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_caradonna_tung.su2 -% -% Mesh input file format (CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_caradonna_tung_periodic.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 100 -% - SCREEN_OUTPUT=(INNER_ITER, WALL_TIME, RMS_DENSITY, LIFT, DRAG, AVG_CFL) diff --git a/TestCases/rotating/naca0012/rot_NACA0012.cfg b/TestCases/rotating/naca0012/rot_NACA0012.cfg index 69b6b2ad682..7774c3ef13e 100644 --- a/TestCases/rotating/naca0012/rot_NACA0012.cfg +++ b/TestCases/rotating/naca0012/rot_NACA0012.cfg @@ -5,368 +5,140 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2020.06.06 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.0 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, RIGID_MOTION, DEFORMING, ROTATING_FRAME, -% MOVING_WALL, AEROELASTIC, EXTERNAL) GRID_MOVEMENT= ROTATING_FRAME -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.7958 -% -% Coordinates of the motion origin MOTION_ORIGIN= 0.5 -32.0 0.0 -% -% Angular velocity vector (rad/s) about the motion origin ROTATION_RATE = 0.0 0.0 8.25 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1e4 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations ITER= 9999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, -% TORQUE, FREE_SURFACE, TOTAL_HEAT, -% MAXIMUM_HEATFLUX, INVERSE_DESIGN_PRESSURE, -% INVERSE_DESIGN_HEATFLUX) -OBJECTIVE_FUNCTION= DRAG % -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) +OBJECTIVE_FUNCTION= DRAG CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.8 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO -% -% Sensitivity smoothing (NONE, SOBOLEV, BIGRID) SENS_SMOOTHING= NONE -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% % -% Kind of deformation (FFD_SETTING, HICKS_HENNE, PARABOLIC, -% NACA_4DIGITS, DISPLACEMENT, ROTATION, FFD_CONTROL_POINT, -% FFD_NACELLE, FFD_TWIST, FFD_ROTATION, -% FFD_CAMBER, FFD_THICKNESS, FFD_VOLUME, SURFACE_FILE) DV_KIND= HICKS_HENNE -% -% Marker of the surface in which we are going apply the shape deformation DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), x_Loc ) -% - FOURIER ( Lower Surface (0)/Upper Surface (1)/Only one Surface (2), index, cos(0)/sin(1) ) -% - SPHERICAL ( ControlPoint_Index, Theta_Disp, R_Disp ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( Center, Thickness ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - OBSTACLE ( Center, Bump size ) -% - FFD_CONTROL_POINT ( FFD_BoxTag ID, i_Ind, j_Ind, k_Ind, x_Disp, y_Disp, z_Disp ) -% - FFD_DIHEDRAL_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_TWIST_ANGLE ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_ROTATION ( FFD_BoxTag ID, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% - FFD_CAMBER ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_THICKNESS ( FFD_BoxTag ID, i_Ind, j_Ind ) -% - FFD_VOLUME ( FFD_BoxTag ID, i_Ind, j_Ind ) DV_PARAM= ( 1, 0.5 ) -% -% Value of the shape deformation DV_VALUE= 0.01 % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% % -% Hold the grid fixed in a region (NO, YES) HOLD_GRID_FIXED= NO -% -% Coordinates of the box where the grid will be deformed (Xmin, Ymin, Zmin, -% Xmax, Ymax, Zmax) -% HOLD_GRID_FIXED_COORD= ( -0.5, -0.49, 0.0, 2.5, 0.49, 0.0 ) % --------------------------- CONVERGENCE PARAMETERS --------------------------% % CONV_FIELD= RMS_DENSITY -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% SCREEN_OUTPUT=(INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_ENERGY, LIFT, DRAG) % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_rot.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% -% Optimization objective function with scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.01 -% -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( AIRFOIL_THICKNESS > 0.12 ) * 0.01 ; -% -% Optimization design variables, separated by semicolons DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.961538461538 ); ( 30, 1.0 | airfoil | 0, 0.923076923077 ); ( 30, 1.0 | airfoil | 0, 0.884615384615 ); ( 30, 1.0 | airfoil | 0, 0.846153846154 ); ( 30, 1.0 | airfoil | 0, 0.807692307692 ); ( 30, 1.0 | airfoil | 0, 0.769230769231 ); ( 30, 1.0 | airfoil | 0, 0.730769230769 ); ( 30, 1.0 | airfoil | 0, 0.692307692308 ); ( 30, 1.0 | airfoil | 0, 0.653846153846 ); ( 30, 1.0 | airfoil | 0, 0.615384615385 ); ( 30, 1.0 | airfoil | 0, 0.576923076923 ); ( 30, 1.0 | airfoil | 0, 0.538461538462 ); ( 30, 1.0 | airfoil | 0, 0.5 ); ( 30, 1.0 | airfoil | 0, 0.461538461538 ); ( 30, 1.0 | airfoil | 0, 0.423076923077 ); ( 30, 1.0 | airfoil | 0, 0.384615384615 ); ( 30, 1.0 | airfoil | 0, 0.346153846154 ); ( 30, 1.0 | airfoil | 0, 0.307692307692 ); ( 30, 1.0 | airfoil | 0, 0.269230769231 ); ( 30, 1.0 | airfoil | 0, 0.230769230769 ); ( 30, 1.0 | airfoil | 0, 0.192307692308 ); ( 30, 1.0 | airfoil | 0, 0.153846153846 ); ( 30, 1.0 | airfoil | 0, 0.115384615385 ); ( 30, 1.0 | airfoil | 0, 0.0769230769231 ); ( 30, 1.0 | airfoil | 0, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0769230769231 ); ( 30, 1.0 | airfoil | 1, 0.115384615385 ); ( 30, 1.0 | airfoil | 1, 0.153846153846 ); ( 30, 1.0 | airfoil | 1, 0.192307692308 ); ( 30, 1.0 | airfoil | 1, 0.230769230769 ); ( 30, 1.0 | airfoil | 1, 0.269230769231 ); ( 30, 1.0 | airfoil | 1, 0.307692307692 ); ( 30, 1.0 | airfoil | 1, 0.346153846154 ); ( 30, 1.0 | airfoil | 1, 0.384615384615 ); ( 30, 1.0 | airfoil | 1, 0.423076923077 ); ( 30, 1.0 | airfoil | 1, 0.461538461538 ); ( 30, 1.0 | airfoil | 1, 0.5 ); ( 30, 1.0 | airfoil | 1, 0.538461538462 ); ( 30, 1.0 | airfoil | 1, 0.576923076923 ); ( 30, 1.0 | airfoil | 1, 0.615384615385 ); ( 30, 1.0 | airfoil | 1, 0.653846153846 ); ( 30, 1.0 | airfoil | 1, 0.692307692308 ); ( 30, 1.0 | airfoil | 1, 0.730769230769 ); ( 30, 1.0 | airfoil | 1, 0.769230769231 ); ( 30, 1.0 | airfoil | 1, 0.807692307692 ); ( 30, 1.0 | airfoil | 1, 0.846153846154 ); ( 30, 1.0 | airfoil | 1, 0.884615384615 ); ( 30, 1.0 | airfoil | 1, 0.923076923077 ); ( 30, 1.0 | airfoil | 1, 0.961538461538 ) diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 51d15f8557f..9ff934437db 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -3,7 +3,7 @@ ## \file serial_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -208,7 +208,7 @@ def main(): poiseuille_profile.cfg_dir = "navierstokes/poiseuille" poiseuille_profile.cfg_file = "profile_poiseuille.cfg" poiseuille_profile.test_iter = 10 - poiseuille_profile.test_vals = [-12.494757, -7.713330, -0.000000, 2.085796] #last 4 columns + poiseuille_profile.test_vals = [-12.494681, -7.711642, -0.000000, 2.085796] #last 4 columns poiseuille_profile.test_vals_aarch64 = [-12.494705, -7.711332, -0.000000, 2.085796] #last 4 columns poiseuille_profile.new_output = True test_list.append(poiseuille_profile) @@ -1132,7 +1132,7 @@ def main(): airfoilRBF.cfg_dir = "fea_fsi/Airfoil_RBF" airfoilRBF.cfg_file = "config.cfg" airfoilRBF.test_iter = 1 - airfoilRBF.test_vals = [1.000000, -2.786185, -4.977948] + airfoilRBF.test_vals = [1.000000, -2.786183, -4.977959] airfoilRBF.multizone = True test_list.append(airfoilRBF) diff --git a/TestCases/serial_regression_AD.py b/TestCases/serial_regression_AD.py index 70ac8135c4d..092c102d191 100644 --- a/TestCases/serial_regression_AD.py +++ b/TestCases/serial_regression_AD.py @@ -3,11 +3,11 @@ ## \file serial_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # # Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) @@ -16,7 +16,7 @@ # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -32,8 +32,8 @@ from TestCase import TestCase def main(): - '''This program runs SU2 and ensures that the output matches specified values. - This will be used to do checks when code is pushed to github + '''This program runs SU2 and ensures that the output matches specified values. + This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] @@ -58,7 +58,7 @@ def main(): discadj_cylinder3D.test_vals = [-3.737675, -3.842311, -0.000000, 0.000000] test_list.append(discadj_cylinder3D) - # Arina nozzle 2D + # Arina nozzle 2D discadj_arina2k = TestCase('discadj_arina2k') discadj_arina2k.cfg_dir = "disc_adj_euler/arina2k" discadj_arina2k.cfg_file = "Arina2KRS.cfg" @@ -69,7 +69,7 @@ def main(): ####################################################### ### Disc. adj. compressible RANS ### ####################################################### - + # Adjoint turbulent NACA0012 SA discadj_rans_naca0012_sa = TestCase('discadj_rans_naca0012_sa') discadj_rans_naca0012_sa.cfg_dir = "disc_adj_rans/naca0012" @@ -133,16 +133,16 @@ def main(): ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### - + # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder.cfg" + discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746909, -1.544883, -0.008321, 0.000014] #last 4 columns discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) - + ########################################################################## ### Unsteady Disc. adj. compressible RANS DualTimeStepping 1st order ### ########################################################################## @@ -181,15 +181,15 @@ def main(): ################################### ### Structural Adjoint ### ################################### - + # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" - discadj_fea.cfg_file = "configAD_fem.cfg" + discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 4 discadj_fea.test_vals = [-2.849531, -3.238474, -3.6413e-04, -8.7087] #last 4 columns discadj_fea.test_vals_aarch64 = [-2.849570, -3.238519, -3.6413e-04, -8.7087] #last 4 columns - test_list.append(discadj_fea) + test_list.append(discadj_fea) ################################### ### Disc. adj. heat ### @@ -200,13 +200,13 @@ def main(): discadj_heat.cfg_dir = "disc_adj_heat" discadj_heat.cfg_file = "disc_adj_heat.cfg" discadj_heat.test_iter = 10 - discadj_heat.test_vals = [-2.271569, 0.671288, -3.172000, -8.231500] #last 4 columns + discadj_heat.test_vals = [-2.350284, 0.665882, -2.649900, -7.006800] #last 4 columns test_list.append(discadj_heat) ################################### ### Coupled FSI Adjoint ### ################################### - + # Structural model discadj_fsi = TestCase('discadj_fsi') discadj_fsi.cfg_dir = "disc_adj_fsi" @@ -244,7 +244,7 @@ def main(): test.tol = 0.00001 pass_list = [ test.run_test() for test in test_list ] - + ################################### ### Coupled RHT-CFD Adjoint ### ################################### @@ -265,7 +265,7 @@ def main(): ###################################### ### RUN PYTHON TESTS ### ###################################### - + # test discrete_adjoint.py discadj_euler_py = TestCase('discadj_euler_py') discadj_euler_py.cfg_dir = "cont_adj_euler/naca0012" @@ -278,7 +278,7 @@ def main(): discadj_euler_py.test_file = "of_grad_cd.dat" pass_list.append(discadj_euler_py.run_filediff()) test_list.append(discadj_euler_py) - + # test discrete_adjoint with multiple ffd boxes discadj_multiple_ffd_py = TestCase('discadj_multiple_ffd_py') discadj_multiple_ffd_py.cfg_dir = "multiple_ffd/naca0012" @@ -382,7 +382,7 @@ def main(): print(' passed - %s'%test.tag) else: print('* FAILED - %s'%test.tag) - + if all(pass_list): sys.exit(0) else: diff --git a/TestCases/sliding_interface/bars_SST_2D/bars.cfg b/TestCases/sliding_interface/bars_SST_2D/bars.cfg index 87b8c3cd592..cdb2d470575 100644 --- a/TestCases/sliding_interface/bars_SST_2D/bars.cfg +++ b/TestCases/sliding_interface/bars_SST_2D/bars.cfg @@ -5,322 +5,137 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - +% MULTIZONE=YES - +% TIME_DOMAIN = NO TIME_ITER = 3 TIME_STEP = 0.005 INNER_ITER= 1 OUTER_ITER = 100 +% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% TNE2_EULER, TNE2_NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% Specify turbulent model (NONE, SA, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO +% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 0.1686e5 -%FREESTREAM_PRESSURE= 0.1886e5 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 313.15 - -% Free-stream temperature (1.2886 Kg/m3 by default) FREESTREAM_DENSITY= 1.2886 - -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.025 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Reynolds number (non-dimensional, based on the free-stream values) -%REYNOLDS_NUMBER= 2.e5 -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% REF_DIMENSIONALIZATION= DIMENSIONAL -%REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= STANDARD_AIR -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 35.23 -% -% Critical Temperature (273.15 K by default) CRITICAL_TEMPERATURE= 564.1 -% -% Critical Pressure (101325.0 N/m^2 by default) CRITICAL_PRESSURE= 1415000 -% -% Critical Density (1.2886 Kg/m3 by default) CRITICAL_DENSITY= 256.74 -% -% Acentric factor (0.035 (air)) ACENTRIC_FACTOR= 0.529 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.0461E-5 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.028085 -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_ZONE_INTERFACE= (outflow_bars, inflow_channel) MARKER_FLUID_INTERFACE= (outflow_bars, inflow_channel) - -%Dynamic Mesh simulation(Yes, No) -% Navier-Stokes wall boundary marker(s) (NONE = no marker) -% -%MARKER_EULER= wall1_bars MARKER_HEATFLUX= ( wall1_bars, 0.0 ) -% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW) INLET_TYPE= TOTAL_CONDITIONS -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector.rs MARKER_RIEMANN= ( inflow_bars, TOTAL_CONDITIONS_PT, 0.1886e5, 313.15, 1.0, 0.0, 0.0, outflow_channel, STATIC_PRESSURE, 0.1487e5, 0.0, 0.0, 0.0, 0.0) -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rotation_center_x, rotation_center_y, -% rotation_center_z, rotation_angle_x-axis, rotation_angle_y-axis, -% rotation_angle_z-axis, translation_x, translation_y, translation_z, ... ) MARKER_PERIODIC= ( periodic1_bars, periodic2_bars, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, .105, 0.0, periodic1_channel, periodic2_channel, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, .105, 0.0 ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall1_bars ) MARKER_MONITORING= ( wall1_bars ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 0.3,20.0 ) -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% -% Multigrid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.02 -% -% 2nd and 4th order artificial dissipation coefficients -%JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_TURB= NONE -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% -% -% Epsilon for full multigrid method evaluation -%FULLMG_CONV_CAUCHY_EPS= 1E-4 -% + % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_bars_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Divide rectangles into triangles (NO, YES) -%DIVIDE_ELEMENTS= NO -% -% Convert a CGNS mesh to SU2 format (YES, NO) -%CGNS_TO_SU2= NO -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/bars_SST_2D/zone_1.cfg b/TestCases/sliding_interface/bars_SST_2D/zone_1.cfg index 99a0d2f8bf6..3de2ca36a38 100644 --- a/TestCases/sliding_interface/bars_SST_2D/zone_1.cfg +++ b/TestCases/sliding_interface/bars_SST_2D/zone_1.cfg @@ -5,20 +5,13 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -% Type of dynamic mesh (NONE, ROTATING_FRAME) -GRID_MOVEMENT= RIGID_MOTION % -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. +GRID_MOVEMENT= RIGID_MOTION MACH_MOTION= 0.35 -% -% Origin of the motion MOTION_ORIGIN= 0.0 0.0 0.0 -% -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE= 0.0 0.0 0.0 diff --git a/TestCases/sliding_interface/bars_SST_2D/zone_2.cfg b/TestCases/sliding_interface/bars_SST_2D/zone_2.cfg index 1f61e23c0aa..58725b92dae 100644 --- a/TestCases/sliding_interface/bars_SST_2D/zone_2.cfg +++ b/TestCases/sliding_interface/bars_SST_2D/zone_2.cfg @@ -5,21 +5,13 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% -% Origin of the motion MOTION_ORIGIN= 0.0 0.0 0.0 -% -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 0.1 diff --git a/TestCases/sliding_interface/bars_SST_2D/zone_3.cfg b/TestCases/sliding_interface/bars_SST_2D/zone_3.cfg index 93a8b72e77a..e9d4b6f7b3a 100644 --- a/TestCases/sliding_interface/bars_SST_2D/zone_3.cfg +++ b/TestCases/sliding_interface/bars_SST_2D/zone_3.cfg @@ -5,20 +5,13 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -% Type of dynamic mesh (NONE, ROTATING_FRAME) -GRID_MOVEMENT= RIGID_MOTION % -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. +GRID_MOVEMENT= RIGID_MOTION MACH_MOTION= 0.35 -% -% Origin of the motion MOTION_ORIGIN= 0.0 0.0 0.0 -% -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE= 0.0 0.0 -0.1 diff --git a/TestCases/sliding_interface/channel_2D/channel_2D_NN.cfg b/TestCases/sliding_interface/channel_2D/channel_2D_NN.cfg index 10a96fd8191..60987ed20f6 100644 --- a/TestCases/sliding_interface/channel_2D/channel_2D_NN.cfg +++ b/TestCases/sliding_interface/channel_2D/channel_2D_NN.cfg @@ -6,221 +6,91 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable multizone mode MULTIZONE = YES -% -% List of sub config files to specify zone specific options CONFIG_LIST= (zone_1.cfg, zone_2.cfg, zone_3.cfg) -% -% Enable time dependent problem TIME_DOMAIN = YES -% -% Number of time steps TIME_ITER = 32000 -% -% Time step TIME_STEP = 0.1 -% -% Number of outer iterations (Block-Gauss-Seidel) OUTER_ITER = 50 -% -% Inner iterations INNER_ITER= 1 -% WRT_ZONE_CONV=YES +% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 3.0 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( wall ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (up_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 3.0, 0.0, 0.0, down_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 1.5, 0.0, 0.0,outlet, STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( internal_interface, inner_interface, domain_interface, external_interface ) MARKER_FLUID_INTERFACE= ( internal_interface, inner_interface, domain_interface, external_interface ) - -% -% % % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% + % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= channel_2D.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 -% diff --git a/TestCases/sliding_interface/channel_2D/channel_2D_WA.cfg b/TestCases/sliding_interface/channel_2D/channel_2D_WA.cfg index abe28ac3db8..be0e1b72874 100644 --- a/TestCases/sliding_interface/channel_2D/channel_2D_WA.cfg +++ b/TestCases/sliding_interface/channel_2D/channel_2D_WA.cfg @@ -6,220 +6,91 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable multizone mode MULTIZONE = YES -% -% List of sub config files to specify zone specific options CONFIG_LIST= (zone_1.cfg, zone_2.cfg, zone_3.cfg) -% -% -% Enable time dependent problem TIME_DOMAIN = YES -% -% Number of time steps TIME_ITER = 32000 -% -% Time step TIME_STEP = 0.1 -% -% Number of outer iterations (Block-Gauss-Seidel) OUTER_ITER = 50 -% -% Inner iterations INNER_ITER= 1 % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 3.0 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( wall ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (up_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 3.0, 0.0, 0.0, down_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 1.5, 0.0, 0.0,outlet, STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( internal_interface, inner_interface, domain_interface, external_interface ) MARKER_FLUID_INTERFACE= ( internal_interface, inner_interface, domain_interface, external_interface ) - KIND_INTERPOLATION= WEIGHTED_AVERAGE % -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= channel_2D.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 -% diff --git a/TestCases/sliding_interface/channel_2D/zone_1.cfg b/TestCases/sliding_interface/channel_2D/zone_1.cfg index c6f8a353a15..6094dec1657 100644 --- a/TestCases/sliding_interface/channel_2D/zone_1.cfg +++ b/TestCases/sliding_interface/channel_2D/zone_1.cfg @@ -1,15 +1,6 @@ % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 0.0 - diff --git a/TestCases/sliding_interface/channel_2D/zone_2.cfg b/TestCases/sliding_interface/channel_2D/zone_2.cfg index 7bcddf7c656..5ab308f0356 100644 --- a/TestCases/sliding_interface/channel_2D/zone_2.cfg +++ b/TestCases/sliding_interface/channel_2D/zone_2.cfg @@ -5,22 +5,13 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 0.1 - diff --git a/TestCases/sliding_interface/channel_2D/zone_3.cfg b/TestCases/sliding_interface/channel_2D/zone_3.cfg index 93a8b72e77a..e9d4b6f7b3a 100644 --- a/TestCases/sliding_interface/channel_2D/zone_3.cfg +++ b/TestCases/sliding_interface/channel_2D/zone_3.cfg @@ -5,20 +5,13 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -% Type of dynamic mesh (NONE, ROTATING_FRAME) -GRID_MOVEMENT= RIGID_MOTION % -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. +GRID_MOVEMENT= RIGID_MOTION MACH_MOTION= 0.35 -% -% Origin of the motion MOTION_ORIGIN= 0.0 0.0 0.0 -% -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE= 0.0 0.0 -0.1 diff --git a/TestCases/sliding_interface/channel_3D/channel_3D_NN.cfg b/TestCases/sliding_interface/channel_3D/channel_3D_NN.cfg index fc554e29ed7..cf9ff738a0d 100644 --- a/TestCases/sliding_interface/channel_3D/channel_3D_NN.cfg +++ b/TestCases/sliding_interface/channel_3D/channel_3D_NN.cfg @@ -6,222 +6,90 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable Multizone mode MULTIZONE= YES -% -% List of config files to specify zone options CONFIG_LIST= (zone_1.cfg, zone_2.cfg, zone_3.cfg) -% -% Enable time dependent problem TIME_DOMAIN = YES -% -% Number of time steps TIME_ITER = 32000 -% -% Time step TIME_STEP = 0.1 -% -% Number of outer iterations (Block-Gauss-Seidel) OUTER_ITER = 20 -% -% Inner iterations INNER_ITER= 1 % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 3.0 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( up_wall, down_wall ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (up_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 3.0, 0.0, 0.0, down_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 1.5, 0.0, 0.0, up_outlet, STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0, down_outlet, STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( internal_interface, inner_interface, domain_interface, external_interface ) MARKER_FLUID_INTERFACE= ( internal_interface, inner_interface, domain_interface, external_interface ) - -%KIND_INTERPOLATION= ISOPARAMETRIC -% -% - -% % % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% + % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= channel_3D.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 -% diff --git a/TestCases/sliding_interface/channel_3D/channel_3D_WA.cfg b/TestCases/sliding_interface/channel_3D/channel_3D_WA.cfg index a0d764aa83e..946a457c9c0 100644 --- a/TestCases/sliding_interface/channel_3D/channel_3D_WA.cfg +++ b/TestCases/sliding_interface/channel_3D/channel_3D_WA.cfg @@ -6,220 +6,91 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable Multizone mode MULTIZONE= YES -% -% List of config files to specify zone options CONFIG_LIST= (zone_1.cfg, zone_2.cfg, zone_3.cfg) -% -% Enable time dependent problem TIME_DOMAIN = YES -% -% Number of time steps TIME_ITER = 32000 -% -% Time step TIME_STEP = 0.1 -% -% Number of outer iterations (Block-Gauss-Seidel) OUTER_ITER = 20 -% -% Inner iterations INNER_ITER= 1 % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER +% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 3.0 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( up_wall, down_wall ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (up_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 3.0, 0.0, 0.0, down_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 1.5, 0.0, 0.0, up_outlet, STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0, down_outlet, STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( internal_interface, inner_interface, domain_interface, external_interface ) MARKER_FLUID_INTERFACE= ( internal_interface, inner_interface, domain_interface, external_interface ) - - KIND_INTERPOLATION= WEIGHTED_AVERAGE % -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= channel_3D.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 -% diff --git a/TestCases/sliding_interface/channel_3D/zone_1.cfg b/TestCases/sliding_interface/channel_3D/zone_1.cfg index e12e7e3e1e0..18fd4b6f495 100644 --- a/TestCases/sliding_interface/channel_3D/zone_1.cfg +++ b/TestCases/sliding_interface/channel_3D/zone_1.cfg @@ -6,13 +6,10 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Dynamic mesh simulation (NO, YES) GRID_MOVEMENT= NONE -% - diff --git a/TestCases/sliding_interface/channel_3D/zone_2.cfg b/TestCases/sliding_interface/channel_3D/zone_2.cfg index 07fa5e931f6..236b5b474bf 100644 --- a/TestCases/sliding_interface/channel_3D/zone_2.cfg +++ b/TestCases/sliding_interface/channel_3D/zone_2.cfg @@ -6,20 +6,12 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -% Type of dynamic mesh (NONE, ROTATING_FRAME) +% ----------------------- DYNAMIC MESH DEFINITION -----------------------------% GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE= 0.0 0.0 0.1 diff --git a/TestCases/sliding_interface/channel_3D/zone_3.cfg b/TestCases/sliding_interface/channel_3D/zone_3.cfg index bbb2b380d7e..36437956c6e 100644 --- a/TestCases/sliding_interface/channel_3D/zone_3.cfg +++ b/TestCases/sliding_interface/channel_3D/zone_3.cfg @@ -6,19 +6,12 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE= 0.1 0.0 0.0 diff --git a/TestCases/sliding_interface/incompressible_steady/config.cfg b/TestCases/sliding_interface/incompressible_steady/config.cfg index b06c6547e8a..54886c165ad 100644 --- a/TestCases/sliding_interface/incompressible_steady/config.cfg +++ b/TestCases/sliding_interface/incompressible_steady/config.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/incompressible_steady/configCircle.cfg b/TestCases/sliding_interface/incompressible_steady/configCircle.cfg index 5e19edc13d5..32fbfdae307 100644 --- a/TestCases/sliding_interface/incompressible_steady/configCircle.cfg +++ b/TestCases/sliding_interface/incompressible_steady/configCircle.cfg @@ -5,15 +5,12 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) + SOLVER= INC_NAVIER_STOKES KIND_TURB_MODEL= NONE MATH_PROBLEM= DIRECT @@ -74,18 +71,8 @@ LINEAR_SOLVER_ILU_FILL_IN= 0 LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% - -MGLEVEL= 0 -MGCYCLE= V_CYCLE -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -MG_DAMP_RESTRICTION= 0.8 -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% -% + CONV_NUM_METHOD_FLOW= FDS MUSCL_FLOW= YES SLOPE_LIMITER_FLOW= NONE @@ -104,6 +91,7 @@ CONV_CAUCHY_ELEMS= 100 CONV_CAUCHY_EPS= 1E-6 % --------------------------- TURBULENCE PARAMETERS --------------------------% + FREESTREAM_TURBULENCEINTENSITY = 0.001 FREESTREAM_TURB2LAMVISCRATIO = 100.0 @@ -132,4 +120,3 @@ SURFACE_FILENAME= surface_flow SURFACE_ADJ_FILENAME= surface_adjoint OUTPUT_WRT_FREQ= 1000 - diff --git a/TestCases/sliding_interface/incompressible_steady/configOut.cfg b/TestCases/sliding_interface/incompressible_steady/configOut.cfg index 830aa533aa7..ad23d8924ca 100644 --- a/TestCases/sliding_interface/incompressible_steady/configOut.cfg +++ b/TestCases/sliding_interface/incompressible_steady/configOut.cfg @@ -5,15 +5,12 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) + SOLVER= INC_NAVIER_STOKES KIND_TURB_MODEL= NONE MATH_PROBLEM= DIRECT @@ -84,16 +81,6 @@ LINEAR_SOLVER_ILU_FILL_IN= 0 LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% - -MGLEVEL= 0 -MGCYCLE= V_CYCLE -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -MG_DAMP_RESTRICTION= 0.8 -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -138,4 +125,3 @@ SURFACE_FILENAME= surface_flow SURFACE_ADJ_FILENAME= surface_adjoint OUTPUT_WRT_FREQ= 1000 - diff --git a/TestCases/sliding_interface/incompressible_unsteady/config.cfg b/TestCases/sliding_interface/incompressible_unsteady/config.cfg index 81a7c8bbf02..59c3d2330af 100644 --- a/TestCases/sliding_interface/incompressible_unsteady/config.cfg +++ b/TestCases/sliding_interface/incompressible_unsteady/config.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 6.1.0 "Falcon" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/incompressible_unsteady/configCircle.cfg b/TestCases/sliding_interface/incompressible_unsteady/configCircle.cfg index 4082db97ddf..8d35dbd81b1 100644 --- a/TestCases/sliding_interface/incompressible_unsteady/configCircle.cfg +++ b/TestCases/sliding_interface/incompressible_unsteady/configCircle.cfg @@ -5,15 +5,12 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 6.1.0 "Falcon" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) + SOLVER= INC_NAVIER_STOKES KIND_TURB_MODEL= NONE MATH_PROBLEM= DIRECT @@ -82,16 +79,6 @@ LINEAR_SOLVER_ILU_FILL_IN= 0 LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% - -MGLEVEL= 0 -MGCYCLE= V_CYCLE -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -MG_DAMP_RESTRICTION= 0.8 -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -136,5 +123,3 @@ SURFACE_FILENAME= surface_flow SURFACE_ADJ_FILENAME= surface_adjoint OUTPUT_WRT_FREQ= 1 - - diff --git a/TestCases/sliding_interface/incompressible_unsteady/configOut.cfg b/TestCases/sliding_interface/incompressible_unsteady/configOut.cfg index c104e40ec79..d7a7eb33d4a 100644 --- a/TestCases/sliding_interface/incompressible_unsteady/configOut.cfg +++ b/TestCases/sliding_interface/incompressible_unsteady/configOut.cfg @@ -5,22 +5,17 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 6.1.0 "Falcon" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) + SOLVER= INC_NAVIER_STOKES KIND_TURB_MODEL= NONE MATH_PROBLEM= DIRECT RESTART_SOL= NO - INC_NONDIM = DIMENSIONAL - MULTIZONE_MESH = NO % ------------------------- UNSTEADY SIMULATION -------------------------------% @@ -92,16 +87,6 @@ LINEAR_SOLVER_ILU_FILL_IN= 0 LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 10 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% - -MGLEVEL= 0 -MGCYCLE= V_CYCLE -MG_PRE_SMOOTH= ( 1, 1, 1, 1 ) -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -MG_DAMP_RESTRICTION= 0.8 -MG_DAMP_PROLONGATION= 0.8 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -146,5 +131,3 @@ SURFACE_FILENAME= surface_flow SURFACE_ADJ_FILENAME= surface_adjoint OUTPUT_WRT_FREQ= 1 - - diff --git a/TestCases/sliding_interface/pipe/pipe_NN.cfg b/TestCases/sliding_interface/pipe/pipe_NN.cfg index 528a0b56e75..2662bd093d2 100644 --- a/TestCases/sliding_interface/pipe/pipe_NN.cfg +++ b/TestCases/sliding_interface/pipe/pipe_NN.cfg @@ -6,228 +6,91 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable multizone mode MULTIZONE= YES -% MULTIZONE_SOLVER= BLOCK_JACOBI -% -% List of config files for zone specific options CONFIG_LIST= (zone_1.cfg, zone_2.cfg, zone_3.cfg, zone_4.cfg, zone_5.cfg) -% TIME_DOMAIN=YES -% -% Time step TIME_STEP= 0.1 -% TIME_ITER= 10 -% OUTER_ITER=10 -% INNER_ITER=1 +% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 3.0 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % -% % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( intake_sidewall, component_sidewall_1, component_sidewall_2, component_sidewall_3, component_sidewall_4 ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) -% MARKER_RIEMANN= (intake_upper_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 3.0, 0.0, 0.0, intake_lower_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 1.5, 0.0, 0.0, outlet_interface_4 STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0 ) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( intake_interface, inlet_interface_1, outlet_interface_1, inlet_interface_2, outlet_interface_2, inlet_interface_3, outlet_interface_3, inlet_interface_4 ) MARKER_FLUID_INTERFACE= ( intake_interface, inlet_interface_1, outlet_interface_1, inlet_interface_2, outlet_interface_2, inlet_interface_3, outlet_interface_3, inlet_interface_4 ) % - - -%KIND_INTERPOLATION= ISOPARAMETRIC -% -% - -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= pipe.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/pipe/pipe_WA.cfg b/TestCases/sliding_interface/pipe/pipe_WA.cfg index ba5af7ef564..00427123748 100644 --- a/TestCases/sliding_interface/pipe/pipe_WA.cfg +++ b/TestCases/sliding_interface/pipe/pipe_WA.cfg @@ -6,227 +6,91 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable multizone mode MULTIZONE= YES -% -% List of config files for zone specific options CONFIG_LIST= (zone_1.cfg, zone_2.cfg, zone_3.cfg, zone_4.cfg, zone_5.cfg) -% TIME_DOMAIN=YES -% TIME_STEP= 0.1 -% TIME_ITER= 10 -% OUTER_ITER=200 -% INNER_ITER=1 % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER - +% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 3.0 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % -% % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( intake_sidewall, component_sidewall_1, component_sidewall_2, component_sidewall_3, component_sidewall_4 ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) -% MARKER_RIEMANN= (intake_upper_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 3.0, 0.0, 0.0, intake_lower_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 1.5, 0.0, 0.0, outlet_interface_4 STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0 ) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( intake_interface, inlet_interface_1, outlet_interface_1, inlet_interface_2, outlet_interface_2, inlet_interface_3, outlet_interface_3, inlet_interface_4 ) -% MARKER_FLUID_INTERFACE= ( intake_interface, inlet_interface_1, outlet_interface_1, inlet_interface_2, outlet_interface_2, inlet_interface_3, outlet_interface_3, inlet_interface_4 ) -% - -% KIND_INTERPOLATION= WEIGHTED_AVERAGE % -% -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= pipe.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/pipe/zone_1.cfg b/TestCases/sliding_interface/pipe/zone_1.cfg index 9305a491e22..b9ec892d924 100644 --- a/TestCases/sliding_interface/pipe/zone_1.cfg +++ b/TestCases/sliding_interface/pipe/zone_1.cfg @@ -6,22 +6,14 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - -MOTION_ORIGIN= 0.0 0.0 0.0 - % Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s +MOTION_ORIGIN= 0.0 0.0 0.0 ROTATION_RATE = 0.0 0.0 0.0 -% diff --git a/TestCases/sliding_interface/pipe/zone_2.cfg b/TestCases/sliding_interface/pipe/zone_2.cfg index 95e147231ad..984f550bf93 100644 --- a/TestCases/sliding_interface/pipe/zone_2.cfg +++ b/TestCases/sliding_interface/pipe/zone_2.cfg @@ -6,24 +6,13 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% - % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.1 0.0 0.0 -% -% diff --git a/TestCases/sliding_interface/pipe/zone_3.cfg b/TestCases/sliding_interface/pipe/zone_3.cfg index 6302f1a6ce3..b93def50e39 100644 --- a/TestCases/sliding_interface/pipe/zone_3.cfg +++ b/TestCases/sliding_interface/pipe/zone_3.cfg @@ -6,23 +6,13 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% - % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.2 0.0 0.0 -% diff --git a/TestCases/sliding_interface/pipe/zone_4.cfg b/TestCases/sliding_interface/pipe/zone_4.cfg index 6addf18e2ec..1c678c8131f 100644 --- a/TestCases/sliding_interface/pipe/zone_4.cfg +++ b/TestCases/sliding_interface/pipe/zone_4.cfg @@ -6,25 +6,13 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% - % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = -0.1 0.0 0.0 -% -% - diff --git a/TestCases/sliding_interface/pipe/zone_5.cfg b/TestCases/sliding_interface/pipe/zone_5.cfg index b347a3df03f..984f550bf93 100644 --- a/TestCases/sliding_interface/pipe/zone_5.cfg +++ b/TestCases/sliding_interface/pipe/zone_5.cfg @@ -6,25 +6,13 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% - % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.1 0.0 0.0 -% -% - diff --git a/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_NN.cfg b/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_NN.cfg index d8e16aa2137..36c0b729f9b 100644 --- a/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_NN.cfg +++ b/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_NN.cfg @@ -5,226 +5,91 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable multizone mode MULTIZONE= YES -% -% Config list for zone specific options CONFIG_LIST = (zone_1.cfg, zone_2.cfg, zone_3.cfg) -% -% Enable time dependent problem TIME_DOMAIN = YES -% -% Number of time steps TIME_ITER = 32000 -% -% Time step TIME_STEP = 0.1 -% -% Number of outer iterations (Block-Gauss-Seidel) OUTER_ITER = 10 -% -% Inner iterations INNER_ITER= 1 % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( wall ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 2.5, 0.0, 0.0, outlet, STATIC_PRESSURE, 9575.0, 0.0, 0.0, 0.0, 0.0) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( domain_interface, external_interface, internal_interface, inner_interface) MARKER_FLUID_INTERFACE= ( domain_interface, external_interface, internal_interface, inner_interface) - -%KIND_INTERPOLATION= SLIDING_MESH -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_SYM= ( up, down ) % -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= rotating_cylinders.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_WA.cfg b/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_WA.cfg index 794b9b76d9e..c6e279dd3c1 100644 --- a/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_WA.cfg +++ b/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_WA.cfg @@ -5,229 +5,93 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% -% Enable multizone mode MULTIZONE= YES -% -% Config list for zone specific options CONFIG_LIST = (zone_1.cfg, zone_2.cfg, zone_3.cfg) -% MULTIZONE_SOLVER= BLOCK_JACOBI -% -% Enable time dependent problem TIME_DOMAIN = YES -% -% Number of time steps TIME_ITER = 32000 -% -% Time step TIME_STEP = 0.1 -% -% Number of outer iterations (Block-Gauss-Seidel) OUTER_ITER = 10 -% -% Inner iterations INNER_ITER= 1 % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( wall ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 2.5, 0.0, 0.0, outlet, STATIC_PRESSURE, 9575.0, 0.0, 0.0, 0.0, 0.0) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( domain_interface, external_interface, internal_interface, inner_interface) MARKER_FLUID_INTERFACE= ( domain_interface, external_interface, internal_interface, inner_interface) - -% KIND_INTERPOLATION= WEIGHTED_AVERAGE -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_SYM= ( up, down ) % -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= ILU -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= rotating_cylinders.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/rotating_cylinders/zone_1.cfg b/TestCases/sliding_interface/rotating_cylinders/zone_1.cfg index c6f8a353a15..6094dec1657 100644 --- a/TestCases/sliding_interface/rotating_cylinders/zone_1.cfg +++ b/TestCases/sliding_interface/rotating_cylinders/zone_1.cfg @@ -1,15 +1,6 @@ % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 0.0 - diff --git a/TestCases/sliding_interface/rotating_cylinders/zone_2.cfg b/TestCases/sliding_interface/rotating_cylinders/zone_2.cfg index 08ca4f7db54..2db899e66be 100644 --- a/TestCases/sliding_interface/rotating_cylinders/zone_2.cfg +++ b/TestCases/sliding_interface/rotating_cylinders/zone_2.cfg @@ -1,16 +1,6 @@ - % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 0.1 - diff --git a/TestCases/sliding_interface/rotating_cylinders/zone_3.cfg b/TestCases/sliding_interface/rotating_cylinders/zone_3.cfg index f3b8e38812a..5899ceb28de 100644 --- a/TestCases/sliding_interface/rotating_cylinders/zone_3.cfg +++ b/TestCases/sliding_interface/rotating_cylinders/zone_3.cfg @@ -1,15 +1,6 @@ % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 -0.1 - diff --git a/TestCases/sliding_interface/single_stage/single_stage_NN.cfg b/TestCases/sliding_interface/single_stage/single_stage_NN.cfg index cfb2030f2e1..38bfc466e59 100644 --- a/TestCases/sliding_interface/single_stage/single_stage_NN.cfg +++ b/TestCases/sliding_interface/single_stage/single_stage_NN.cfg @@ -6,266 +6,100 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 4.3.0 "cardinal" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable multizone mode MULTIZONE= YES -% -% List of config files to set zone specific options CONFIG_LIST= (zone_1.cfg, zone_2.cfg) % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Specify turbulent model (NONE, SA, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % TIME_DOMAIN=YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.1 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 10.0 -% -% Number of internal iterations (dual time method) INNER_ITER= 200 - RESTART_ITER = 2 % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 3.0 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % -% -% -% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% -% -%Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE,FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) -%REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE -% -% % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % - MARKER_EULER= ( stator_sidewall, rotor_sidewall ) - -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (upper_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 3.0, 0.0, 0.0, lower_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 1.5, 0.0, 0.0, outlet, STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0 ) - MARKER_ZONE_INTERFACE= ( stator_interface, rotor_interface ) MARKER_FLUID_INTERFACE= ( stator_interface, rotor_interface ) - KIND_INTERPOLATION= ISOPARAMETRIC -%KIND_INTERPOLATION= SLIDING_MESH -% -% - -% -% % % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% -% -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% -% -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% -% -% % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh.su2 -%MESH_FILENAME= external.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/single_stage/single_stage_WA.cfg b/TestCases/sliding_interface/single_stage/single_stage_WA.cfg index 5a3e0f1ff94..e49e091be7c 100644 --- a/TestCases/sliding_interface/single_stage/single_stage_WA.cfg +++ b/TestCases/sliding_interface/single_stage/single_stage_WA.cfg @@ -6,263 +6,100 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 4.3.0 "cardinal" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% -% Enable multizone mode MULTIZONE= YES -% -% List of config files to set zone specific options CONFIG_LIST= (zone_1.cfg, zone_2.cfg) % -% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Specify turbulent model (NONE, SA, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % TIME_DOMAIN=YES -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.1 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 10.0 -% -% Number of internal iterations (dual time method) INNER_ITER= 200 - RESTART_ITER = 2 % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 3.0 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % -% -% -% ---------------------- REFERENCE VALUE DEFINITION ---------------------------% -% -%Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE,FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) -%REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE -% -% % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % - MARKER_EULER= ( stator_sidewall, rotor_sidewall ) - -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (upper_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 3.0, 0.0, 0.0, lower_inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 1.5, 0.0, 0.0, outlet, STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0 ) - MARKER_ZONE_INTERFACE= ( stator_interface, rotor_interface ) MARKER_FLUID_INTERFACE= ( stator_interface, rotor_interface ) - -% KIND_INTERPOLATION= WEIGHTED_AVERAGE % -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% -% -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% -% -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% -% % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh.su2 -%MESH_FILENAME= external.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/single_stage/zone_1.cfg b/TestCases/sliding_interface/single_stage/zone_1.cfg index 46c87be7073..e1f1b675868 100644 --- a/TestCases/sliding_interface/single_stage/zone_1.cfg +++ b/TestCases/sliding_interface/single_stage/zone_1.cfg @@ -6,23 +6,14 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 4.3.0 "cardinal" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - % Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 0.0 - diff --git a/TestCases/sliding_interface/single_stage/zone_2.cfg b/TestCases/sliding_interface/single_stage/zone_2.cfg index 27de8c25b1f..374c65aaf88 100644 --- a/TestCases/sliding_interface/single_stage/zone_2.cfg +++ b/TestCases/sliding_interface/single_stage/zone_2.cfg @@ -6,23 +6,13 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 4.3.0 "cardinal" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.1 0.0 0.0 - diff --git a/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_NN.cfg b/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_NN.cfg index 1fccb54cefe..67e13407e3d 100644 --- a/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_NN.cfg +++ b/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_NN.cfg @@ -6,228 +6,91 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% -% Enable Multizone mode MULTIZONE= YES -% -% List of config files to specify zone options CONFIG_LIST= (zone_1.cfg, zone_2.cfg) -% -% Enable time dependent problem TIME_DOMAIN = YES -% -% Number of time steps TIME_ITER = 32000 -% -% Time step TIME_STEP = 0.1 -% -% Number of outer iterations (Block-Gauss-Seidel) OUTER_ITER = 5 -% -% Inner iterations INNER_ITER= 1 +% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( wall ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 2.5, 0.0, 0.0, outlet, STATIC_PRESSURE, 9575.0, 0.0, 0.0, 0.0, 0.0) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( external_interface, internal_interface) MARKER_FLUID_INTERFACE= ( external_interface, internal_interface) - -%KIND_INTERPOLATION= SLIDING_MESH -% -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_SYM= ( up, down ) % -% - -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= cylinder.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_WA.cfg b/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_WA.cfg index d4b88aaef24..eeb8ad5166a 100644 --- a/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_WA.cfg +++ b/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_WA.cfg @@ -6,228 +6,93 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% -% Enable Multizone mode MULTIZONE= YES -% MULTIZONE_SOLVER=BLOCK_JACOBI -% -% List of config files to specify zone options CONFIG_LIST= (zone_1.cfg, zone_2.cfg) -% -% Enable time dependent problem TIME_DOMAIN = YES -% -% Number of time steps TIME_ITER = 32000 -% -% Time step TIME_STEP = 0.1 -% -% Number of outer iterations (Block-Gauss-Seidel) OUTER_ITER = 5 -% -% Inner iterations INNER_ITER= 1 +% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 2.5 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 95750 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= ( wall ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (inlet, STATIC_SUPERSONIC_INFLOW_PT, 95750, 288.15, 2.5, 0.0, 0.0, outlet, STATIC_PRESSURE, 9575.0, 0.0, 0.0, 0.0, 0.0) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( external_interface, internal_interface) MARKER_FLUID_INTERFACE= ( external_interface, internal_interface) - -% KIND_INTERPOLATION= WEIGHTED_AVERAGE -% -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_SYM= ( up, down ) % -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 5.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= cylinder.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/supersonic_vortex_shedding/zone_1.cfg b/TestCases/sliding_interface/supersonic_vortex_shedding/zone_1.cfg index c0c8d8075f4..143b120749b 100644 --- a/TestCases/sliding_interface/supersonic_vortex_shedding/zone_1.cfg +++ b/TestCases/sliding_interface/supersonic_vortex_shedding/zone_1.cfg @@ -6,19 +6,13 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -% Type of dynamic mesh (NONE, ROTATING_FRAME) -GRID_MOVEMENT= RIGID_MOTION % -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. +GRID_MOVEMENT= RIGID_MOTION MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.0 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 0.0 diff --git a/TestCases/sliding_interface/supersonic_vortex_shedding/zone_2.cfg b/TestCases/sliding_interface/supersonic_vortex_shedding/zone_2.cfg index 7b362521b97..f36feacbaf3 100644 --- a/TestCases/sliding_interface/supersonic_vortex_shedding/zone_2.cfg +++ b/TestCases/sliding_interface/supersonic_vortex_shedding/zone_2.cfg @@ -6,19 +6,13 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -% Type of dynamic mesh (NONE, ROTATING_FRAME) -GRID_MOVEMENT= RIGID_MOTION % -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. +GRID_MOVEMENT= RIGID_MOTION MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.4 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 0.1 diff --git a/TestCases/sliding_interface/uniform_flow/uniform_NN.cfg b/TestCases/sliding_interface/uniform_flow/uniform_NN.cfg index 8d26d03a773..437c6e59710 100644 --- a/TestCases/sliding_interface/uniform_flow/uniform_NN.cfg +++ b/TestCases/sliding_interface/uniform_flow/uniform_NN.cfg @@ -6,21 +6,14 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable Multizone mode MULTIZONE= YES -% MULTIZONE_SOLVER=BLOCK_JACOBI - -% List of config files to specify zone options CONFIG_LIST= (zone_1.cfg, zone_2.cfg) -% -% TIME_DOMAIN=YES -% TIME_STEP= 1e-04 TIME_ITER= 10 OUTER_ITER= 120 @@ -28,203 +21,77 @@ INNER_ITER= 1 % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-1ST_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 1E-9 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 303.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % -% % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (inlet, TOTAL_CONDITIONS_PT, 133749, 328.23, 1.0, 0.0, 0.0 ) -% -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= (outlet) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( external_interface, internal_interface) MARKER_FLUID_INTERFACE= ( external_interface, internal_interface) - -%KIND_INTERPOLATION= SLIDING_MESH -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_SYM= ( up, down ) % -% - -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/uniform_flow/uniform_WA.cfg b/TestCases/sliding_interface/uniform_flow/uniform_WA.cfg index 484c0f218af..151d70c9d31 100644 --- a/TestCases/sliding_interface/uniform_flow/uniform_WA.cfg +++ b/TestCases/sliding_interface/uniform_flow/uniform_WA.cfg @@ -6,21 +6,14 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable Multizone mode MULTIZONE= YES -% MULTIZONE_SOLVER=BLOCK_JACOBI - -% List of config files to specify zone options CONFIG_LIST= (zone_1.cfg, zone_2.cfg) -% -% TIME_DOMAIN=YES -% TIME_STEP= 1e-04 TIME_ITER= 10 OUTER_ITER= 120 @@ -28,203 +21,77 @@ INNER_ITER= 1 % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= EULER -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-1ST_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER % % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 1E-9 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 303.15 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % -% % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (inlet, TOTAL_CONDITIONS_PT, 133749, 328.23, 1.0, 0.0, 0.0 ) -% -% Euler wall boundary marker(s) (NONE = no marker) MARKER_EULER= (outlet) -% -% Zone interaction boundary definition MARKER_ZONE_INTERFACE= ( external_interface, internal_interface) MARKER_FLUID_INTERFACE= ( external_interface, internal_interface) - KIND_INTERPOLATION= WEIGHTED_AVERAGE -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_SYM= ( up, down ) % -% - -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 0.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.3, 0.5, 1.0, 1000.0) % -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (NONE, VENKATAKRISHNAN, VENKATAKRISHNAN_WANG, -% BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= NONE -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 50 -% diff --git a/TestCases/sliding_interface/uniform_flow/zone_1.cfg b/TestCases/sliding_interface/uniform_flow/zone_1.cfg index 9c6d3ea1f5c..f6ee9f723a3 100644 --- a/TestCases/sliding_interface/uniform_flow/zone_1.cfg +++ b/TestCases/sliding_interface/uniform_flow/zone_1.cfg @@ -6,20 +6,13 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.3 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 0.0 diff --git a/TestCases/sliding_interface/uniform_flow/zone_2.cfg b/TestCases/sliding_interface/uniform_flow/zone_2.cfg index c0e492dd475..41be07d38ed 100644 --- a/TestCases/sliding_interface/uniform_flow/zone_2.cfg +++ b/TestCases/sliding_interface/uniform_flow/zone_2.cfg @@ -6,20 +6,13 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= RIGID_MOTION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% - MOTION_ORIGIN= 0.3 0.0 0.0 - -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE = 0.0 0.0 160.0 diff --git a/TestCases/solid_heat_conduction/periodic_pins/configSolid.cfg b/TestCases/solid_heat_conduction/periodic_pins/configSolid.cfg index 062aae7753c..7c712870421 100644 --- a/TestCases/solid_heat_conduction/periodic_pins/configSolid.cfg +++ b/TestCases/solid_heat_conduction/periodic_pins/configSolid.cfg @@ -5,17 +5,15 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021.09.27 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % SOLVER= HEAT_EQUATION -% OBJECTIVE_FUNCTION= AVG_TEMPERATURE OBJECTIVE_WEIGHT= 1.0 -% OPT_OBJECTIVE= AVG_TOTALTEMP % % ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% @@ -45,7 +43,6 @@ MARKER_MONITORING = ( solid_pin1_inner, solid_pin3_inner ) % % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -%NUM_METHOD_GRAD= GREEN_GAUSS NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 1e8 % @@ -71,12 +68,9 @@ TIME_DISCRE_HEAT= EULER_IMPLICIT % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= solid.su2 -% SCREEN_OUTPUT= INNER_ITER, RMS_TEMPERATURE, MAX_TEMPERATURE, AVG_TEMPERATURE, TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, LINSOL_ITER, LINSOL_RESIDUAL SCREEN_WRT_FREQ_INNER= 50 -% HISTORY_OUTPUT= (ITER, RMS_RES, HEAT, LINSOL) -% OUTPUT_FILES= RESTART, PARAVIEW_MULTIBLOCK VOLUME_OUTPUT= RESIDUAL OUTPUT_WRT_FREQ= 1000 diff --git a/TestCases/species_transport/multizone/configMaster.cfg b/TestCases/species_transport/multizone/configMaster.cfg new file mode 100644 index 00000000000..141133ddb96 --- /dev/null +++ b/TestCases/species_transport/multizone/configMaster.cfg @@ -0,0 +1,72 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: 2 fluid zones with species transport (3 species) % +% Author: N. Beishuizen % +% Institution: Technische Universiteit Eindhoven % +% Date: November 1, 2022 % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +SOLVER= MULTIPHYSICS +RESTART_SOL= YES +CONFIG_LIST = (zone1.cfg, zone2.cfg) +MARKER_ZONE_INTERFACE= (ILEFT, IRIGHT) +MARKER_FLUID_INTERFACE= (ILEFT, IRIGHT) +OUTER_ITER = 100 +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1000.0 +CFL_ADAPT= NO +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-15 +LINEAR_SOLVER_ITER= 5 +% +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- SCALAR TRANSPORT ---------------------------------------% +% +KIND_SCALAR_MODEL= SPECIES_TRANSPORT +DIFFUSIVITY_MODEL= CONSTANT_DIFFUSIVITY +DIFFUSIVITY_CONSTANT= 0.001 +CONV_NUM_METHOD_SPECIES= SCALAR_UPWIND +MUSCL_SPECIES= NO +SLOPE_LIMITER_SPECIES = NONE +SPECIES_INIT= 1.0, 0.0 +SPECIES_CLIPPING= YES +SPECIES_CLIPPING_MIN= 0.0, 0.0 +SPECIES_CLIPPING_MAX= 1.0, 1.0 +% +% -------------------- TURBULENT TRANSPORT ---------------------------------------% +% +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +TIME_DISCRE_SPECIES= EULER_IMPLICIT +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_FIELD= RMS_PRESSURE, RMS_VELOCITY-X, RMS_VELOCITY-Y, RMS_TKE +CONV_RESIDUAL_MINVAL= -18 +CONV_STARTITER= 10 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= primitiveVenturi_MZ.su2 +MESH_FORMAT= SU2 +OUTPUT_FILES= (RESTART, PARAVIEW_MULTIBLOCK ) +OUTPUT_WRT_FREQ= (100,200) +VOLUME_OUTPUT= COORDINATES, SOLUTION +MARKER_ANALYZE= air_axial_inlet1, gas_inlet1 +MARKER_ANALYZE_AVERAGE=MASSFLUX diff --git a/TestCases/species_transport/multizone/zone1.cfg b/TestCases/species_transport/multizone/zone1.cfg new file mode 100644 index 00000000000..50c6e455e4c --- /dev/null +++ b/TestCases/species_transport/multizone/zone1.cfg @@ -0,0 +1,48 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: zone 1, fluid zone % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +KIND_TURB_MODEL= SST +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( wall1, 0.0 ) +MARKER_SYM= ( axis1 ) +SPECIFIED_INLET_PROFILE= NO +INLET_FILENAME= inlet_venturi.dat +INC_INLET_TYPE= VELOCITY_INLET VELOCITY_INLET +MARKER_INLET= ( gas_inlet1, 300.0, 1.0, 1.0, 0.0, 0.0,\ + air_axial_inlet1, 305.0, 1.0, 0.0 -1.0, 0.0 ) +SPECIES_USE_STRONG_BC= NO +MARKER_INLET_SPECIES= (gas_inlet1, 0.5, 0.5,\ + air_axial_inlet1, 0.6, 0.0 ) +MARKER_PLOTTING= (NONE) +MARKER_MONITORING= (NONE) +% +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= VARIABLE +INC_DENSITY_INIT= 1.2 +INC_VELOCITY_INIT= ( 1.0, 0.0, 0.0 ) +INC_ENERGY_EQUATION= YES +INC_TEMPERATURE_INIT= 300.0 +INC_NONDIM= DIMENSIONAL +% +% -------------------- FLUID PROPERTIES ------------------------------------- % +% +FLUID_MODEL= FLUID_MIXTURE +MOLECULAR_WEIGHT= (28.96, 25.0, 20.0) +SPECIFIC_HEAT_CP= (1009.0, 880.0, 800.0) +CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY +THERMAL_CONDUCTIVITY_CONSTANT= (0.036, 0.032 0.03) +TURBULENT_CONDUCTIVITY_MODEL= NONE +PRANDTL_TURB= 0.90, 0.90, 0.90 +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= (1.716E-5, 1.82e-5, 1.85e-5) +MIXING_VISCOSITY_MODEL= WILKE diff --git a/TestCases/species_transport/multizone/zone2.cfg b/TestCases/species_transport/multizone/zone2.cfg new file mode 100644 index 00000000000..f98eeeef0c1 --- /dev/null +++ b/TestCases/species_transport/multizone/zone2.cfg @@ -0,0 +1,48 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: zone 2: fluid zone % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +KIND_TURB_MODEL= SST +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( wall2, 0.0 ) +MARKER_SYM= ( axis2 ) +SPECIFIED_INLET_PROFILE= NO +INLET_FILENAME= inlet_venturi.dat +INC_INLET_TYPE= VELOCITY_INLET +MARKER_INLET= ( air_axial_inlet2, 310.0, 1.2, 0.0 -1.0, 0.0 ) +SPECIES_USE_STRONG_BC= NO +MARKER_INLET_SPECIES= (air_axial_inlet2, 0.6, 0.0 ) +INC_OUTLET_TYPE= PRESSURE_OUTLET +MARKER_OUTLET= ( outlet2, 0.0 ) +MARKER_PLOTTING= (NONE) +MARKER_MONITORING= (NONE) +% +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= VARIABLE +INC_DENSITY_INIT= 1.2 +INC_VELOCITY_INIT= ( 1.0, 0.0, 0.0 ) +INC_ENERGY_EQUATION= YES +INC_TEMPERATURE_INIT= 300.0 +INC_NONDIM= DIMENSIONAL +% +% -------------------- FLUID PROPERTIES ------------------------------------- % +% +FLUID_MODEL= FLUID_MIXTURE +MOLECULAR_WEIGHT= (28.96, 25.0, 20.0) +SPECIFIC_HEAT_CP= (1009.0, 880.0, 800.0) +CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY +THERMAL_CONDUCTIVITY_CONSTANT= (0.036, 0.032 0.03) +TURBULENT_CONDUCTIVITY_MODEL= NONE +PRANDTL_TURB= 0.90, 0.90, 0.90 +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= (1.716E-5, 1.82e-5, 1.85e-5) +MIXING_VISCOSITY_MODEL= WILKE diff --git a/TestCases/species_transport/passive_transport_validation/passive_transport.cfg b/TestCases/species_transport/passive_transport_validation/passive_transport.cfg index cd293c4ca18..2ee2aded9d2 100644 --- a/TestCases/species_transport/passive_transport_validation/passive_transport.cfg +++ b/TestCases/species_transport/passive_transport_validation/passive_transport.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V % % Date: 2021.10.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -74,7 +74,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-5 LINEAR_SOLVER_ITER= 10 - +% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -94,7 +94,6 @@ MESH_FILENAME = rectangle_mixing.su2 % CUSTOM_OUTPUTS = 'avg_species : MassFlowAvg{SPECIES[0]}[outlet];\ avg_check : Function{avg_species - SURFACE_SPECIES_0}' -% SCREEN_OUTPUT = INNER_ITER WALL_TIME RMS_RES LINSOL CUSTOM SCREEN_WRT_FREQ_INNER= 10 % diff --git a/TestCases/species_transport/venturi_primitive_3species/DAspecies3_primitiveVenturi.cfg b/TestCases/species_transport/venturi_primitive_3species/DAspecies3_primitiveVenturi.cfg index d90e8d749b4..7d2b486798e 100644 --- a/TestCases/species_transport/venturi_primitive_3species/DAspecies3_primitiveVenturi.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/DAspecies3_primitiveVenturi.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021/10/14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -53,7 +53,7 @@ INLET_FILENAME= inlet_venturi.dat INC_INLET_TYPE= VELOCITY_INLET VELOCITY_INLET MARKER_INLET= ( gas_inlet, 300, 1.0, 1.0, 0.0, 0.0,\ air_axial_inlet, 300, 1.0, 0.0, -1.0, 0.0 ) -SPECIES_USE_STRONG_BC= NO +SPECIES_USE_STRONG_BC= YES MARKER_INLET_SPECIES= (gas_inlet, 0.5, 0.5,\ air_axial_inlet, 0.6, 0.0 ) % @@ -80,7 +80,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 20 - +% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -119,7 +119,6 @@ CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= primitiveVenturi.su2 -% SCREEN_OUTPUT= INNER_ITER WALL_TIME RMS_ADJ_PRESSURE RMS_ADJ_VELOCITY-X RMS_ADJ_VELOCITY-Y RMS_ADJ_TKE RMS_ADJ_DISSIPATION RMS_ADJ_SPECIES_0 RMS_ADJ_SPECIES_1 SCREEN_WRT_FREQ_INNER= 10 % @@ -128,7 +127,7 @@ CONV_FILENAME= history MARKER_ANALYZE= outlet MARKER_ANALYZE_AVERAGE= MASSFLUX % -OUTPUT_FILES= RESTART_ASCII, PARAVIEW_MULTIBLOCK +OUTPUT_FILES= RESTART_ASCII, PARAVIEW VOLUME_OUTPUT= RESIDUAL, PRIMITIVE OUTPUT_WRT_FREQ= 1000 % diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi.cfg index 5389af6355d..e35c8080a35 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021/10/14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -71,7 +71,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 5 - +% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -110,7 +110,6 @@ CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= primitiveVenturi.su2 -% SCREEN_OUTPUT= INNER_ITER WALL_TIME \ RMS_PRESSURE RMS_VELOCITY-X RMS_VELOCITY-Y RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 \ LINSOL_ITER LINSOL_RESIDUAL \ diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_boundedscalar.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_boundedscalar.cfg new file mode 100644 index 00000000000..17019cef8b9 --- /dev/null +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_boundedscalar.cfg @@ -0,0 +1,131 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Species mixing with 2 species, i.e. 1 transport equations % +% Author: T. Kattmann % +% Institution: Bosch Thermotechniek B.V. % +% Date: 2021/10/14 % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +KIND_TURB_MODEL= SST +% +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= CONSTANT +INC_DENSITY_INIT= 1.1766 +% +INC_VELOCITY_INIT= ( 1.00, 0.0, 0.0 ) +% +INC_ENERGY_EQUATION= YES +INC_TEMPERATURE_INIT= 300.0 +% +INC_NONDIM= DIMENSIONAL +% +% -------------------- FLUID PROPERTIES ------------------------------------- % +% +FLUID_MODEL= CONSTANT_DENSITY +% +CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY +THERMAL_CONDUCTIVITY_CONSTANT= 0.0357 +% +PRANDTL_LAM= 0.72 +TURBULENT_CONDUCTIVITY_MODEL= NONE +PRANDTL_TURB= 0.90 +% +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= 1.716E-5 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( wall, 0.0 ) +MARKER_SYM= ( axis ) +% +INC_INLET_TYPE= VELOCITY_INLET VELOCITY_INLET +MARKER_INLET= ( gas_inlet, 300, 1.0, 1.0, 0.0, 0.0,\ + air_axial_inlet, 300, 1.0, 0.0, -1.0, 0.0 ) +SPECIES_USE_STRONG_BC= NO +MARKER_INLET_SPECIES= (gas_inlet, 1.0,\ + air_axial_inlet, 0.6 ) +% +INC_OUTLET_TYPE= PRESSURE_OUTLET +MARKER_OUTLET= ( outlet, 0.0) +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +% +CFL_NUMBER= 60 +CFL_REDUCTION_SPECIES= 1.0 +CFL_REDUCTION_TURB= 1.0 +% +ITER= 51 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-8 +LINEAR_SOLVER_ITER= 5 +% +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW = NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- SCALAR TRANSPORT ---------------------------------------% +% +KIND_SCALAR_MODEL= SPECIES_TRANSPORT +DIFFUSIVITY_MODEL= CONSTANT_DIFFUSIVITY +DIFFUSIVITY_CONSTANT= 0.001 +% +CONV_NUM_METHOD_SPECIES= BOUNDED_SCALAR +MUSCL_SPECIES= NO +SLOPE_LIMITER_SPECIES = NONE +% +TIME_DISCRE_SPECIES= EULER_IMPLICIT +% +SPECIES_INIT= 1.0 +SPECIES_CLIPPING= YES +SPECIES_CLIPPING_MIN= 0.0 +SPECIES_CLIPPING_MAX= 1.0 +% +% -------------------- TURBULENT TRANSPORT ---------------------------------------% +% +CONV_NUM_METHOD_TURB= BOUNDED_SCALAR +MUSCL_TURB= NO +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_FIELD= RMS_PRESSURE, RMS_VELOCITY-X, RMS_VELOCITY-Y, RMS_TKE, RMS_SPECIES +CONV_RESIDUAL_MINVAL= -18 +CONV_STARTITER= 10 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= primitiveVenturi.su2 +SCREEN_OUTPUT= INNER_ITER WALL_TIME \ + RMS_PRESSURE RMS_VELOCITY-X RMS_VELOCITY-Y RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 \ + LINSOL_ITER LINSOL_RESIDUAL \ + LINSOL_ITER_TURB LINSOL_RESIDUAL_TURB \ + LINSOL_ITER_SPECIES LINSOL_RESIDUAL_SPECIES SURFACE_SPECIES_VARIANCE +SCREEN_WRT_FREQ_INNER= 10 +% +HISTORY_OUTPUT= RMS_RES FLOW_COEFF LINSOL SPECIES_COEFF SPECIES_COEFF_SURF +MARKER_ANALYZE= outlet gas_inlet air_axial_inlet +% +OUTPUT_FILES= RESTART_ASCII, PARAVIEW_MULTIBLOCK +VOLUME_OUTPUT= RESIDUAL, PRIMITIVE +OUTPUT_WRT_FREQ= 1000 +% +RESTART_SOL= NO +SOLUTION_FILENAME= solution +RESTART_FILENAME= restart.dat +% +WRT_PERFORMANCE= YES diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel.cfg index 5d4595e1a14..b28ffaafaff 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel.cfg @@ -7,7 +7,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/06/15 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -32,6 +32,8 @@ INC_NONDIM= DIMENSIONAL % FLUID_MODEL= FLUID_MIXTURE % +THERMODYNAMIC_PRESSURE= 101325.0 +% MOLECULAR_WEIGHT= 28.96, 16.043 % SPECIFIC_HEAT_CP = 1009.39, 1009.39 @@ -81,7 +83,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 5 - +% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -120,7 +122,6 @@ CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= primitiveVenturi.su2 -% SCREEN_OUTPUT= INNER_ITER WALL_TIME \ RMS_PRESSURE RMS_VELOCITY-X RMS_VELOCITY-Y RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 \ LINSOL_ITER LINSOL_RESIDUAL \ diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg new file mode 100644 index 00000000000..e4908b58a25 --- /dev/null +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg @@ -0,0 +1,153 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Species mixing with 2 species: Hydrogen and air. % +% 1 transport equation is being solved(For H2 in this case). % +% Including mixture dependent properties and different turb- % +% ulent intensities and viscosity ratios at the inlets. % +% Author: Cristopher Morales Ubal % +% Institution: Eindhoven University of Technology % +% Date: 2022/12/05 % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +KIND_TURB_MODEL= SST +% +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= VARIABLE +INC_DENSITY_INIT= 0.0807 +% +INC_VELOCITY_INIT= ( 15.00, 0.0, 0.0 ) +% +INC_ENERGY_EQUATION= NO +INC_TEMPERATURE_INIT= 300.0 +% +INC_NONDIM= DIMENSIONAL +% +% -------------------- FLUID PROPERTIES ------------------------------------- % +% +FLUID_MODEL= FLUID_MIXTURE +% +THERMODYNAMIC_PRESSURE= 101325.0 +% +MOLECULAR_WEIGHT= 2.01588, 28.960 +% +SPECIFIC_HEAT_CP = 14310, 1009.39 +% +CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY +THERMAL_CONDUCTIVITY_CONSTANT= 0.187, 0.0258 +% +PRANDTL_LAM= 0.72, 0.72 +TURBULENT_CONDUCTIVITY_MODEL= CONSTANT_PRANDTL_TURB +PRANDTL_TURB= 0.90, 0.90 +% +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= CONSTANT_VISCOSITY +% +MU_CONSTANT= 8.9E-06, 1.8551E-05 +% +MIXING_VISCOSITY_MODEL = DAVIDSON +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( wall, 0.0 ) +MARKER_SYM= ( axis ) +% +SPECIFIED_INLET_PROFILE= NO +INLET_FILENAME= inlet_venturi.dat +INC_INLET_TYPE= VELOCITY_INLET VELOCITY_INLET +MARKER_INLET= ( gas_inlet, 300, 15.0, 1.0, 0.0, 0.0,\ + air_axial_inlet, 300, 10.0, 0.0, -1.0, 0.0 ) +SPECIES_USE_STRONG_BC= YES +MARKER_INLET_SPECIES= (gas_inlet, 1.0, \ + air_axial_inlet, 0.0) +% +MARKER_INLET_TURBULENT= (gas_inlet, 0.05, 15\ + air_axial_inlet, 0.02, 10) +% +INC_OUTLET_TYPE= PRESSURE_OUTLET +MARKER_OUTLET= ( outlet, 0.0 ) +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +% +CFL_NUMBER= 100 +CFL_REDUCTION_SPECIES= 0.1 +CFL_REDUCTION_TURB= 1.0 +% +% Run commented Iter for good results +ITER= 3000 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-5 +LINEAR_SOLVER_ITER= 30 + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW = NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- SCALAR TRANSPORT ---------------------------------------% +% +KIND_SCALAR_MODEL= SPECIES_TRANSPORT +% +DIFFUSIVITY_MODEL = CONSTANT_LEWIS +CONSTANT_LEWIS_NUMBER = 0.365 +% +CONV_NUM_METHOD_SPECIES= BOUNDED_SCALAR +MUSCL_SPECIES= NO +SLOPE_LIMITER_SPECIES = NONE +% +TIME_DISCRE_SPECIES= EULER_IMPLICIT +% +SPECIES_INIT= 1.0 +SPECIES_CLIPPING= NO +SPECIES_CLIPPING_MIN= 0.0 +SPECIES_CLIPPING_MAX= 1.0 +% +% -------------------- TURBULENT TRANSPORT ---------------------------------------% +% +CONV_NUM_METHOD_TURB= BOUNDED_SCALAR +MUSCL_TURB= NO +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_FIELD= RMS_PRESSURE, RMS_VELOCITY-X, RMS_VELOCITY-Y, RMS_TKE, RMS_SPECIES +CONV_RESIDUAL_MINVAL= -18 +CONV_STARTITER= 10 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= primitiveVenturi.su2 +% +SCREEN_OUTPUT= INNER_ITER WALL_TIME \ + RMS_RES \ + LINSOL_ITER LINSOL_RESIDUAL \ + LINSOL_ITER_TURB LINSOL_RESIDUAL_TURB \ + LINSOL_ITER_SPECIES LINSOL_RESIDUAL_SPECIES \ + SURFACE_SPECIES_0 +SCREEN_WRT_FREQ_INNER= 10 +% +HISTORY_OUTPUT= ITER RMS_RES LINSOL SPECIES_COEFF SPECIES_COEFF_SURF +CONV_FILENAME= history +MARKER_ANALYZE= gas_inlet, air_axial_inlet, outlet +MARKER_ANALYZE_AVERAGE= AREA +% +OUTPUT_FILES= RESTART_ASCII, PARAVIEW_MULTIBLOCK +VOLUME_OUTPUT= RESIDUAL, PRIMITIVE +OUTPUT_WRT_FREQ= 1000 +% +RESTART_SOL= NO +READ_BINARY_RESTART= NO diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_boundedscalar.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_boundedscalar.cfg new file mode 100644 index 00000000000..9e215bf1871 --- /dev/null +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_boundedscalar.cfg @@ -0,0 +1,143 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Species mixing with 2 species, i.e. 1 transport equations % +% Including mixture dependent density, viscosity, thermal % +% conductivity % +% Author: Cristopher Morales Ubal % +% Institution: Eindhoven University of Technology % +% Date: 2022/06/15 % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +KIND_TURB_MODEL= SST +% +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= VARIABLE +INC_DENSITY_INIT= 1.1766 +% +INC_VELOCITY_INIT= ( 1.00, 0.0, 0.0 ) +% +INC_ENERGY_EQUATION= YES +INC_TEMPERATURE_INIT= 300.0 +% +INC_NONDIM= DIMENSIONAL +% +% -------------------- FLUID PROPERTIES ------------------------------------- % +% +FLUID_MODEL= FLUID_MIXTURE +% +THERMODYNAMIC_PRESSURE= 101325.0 +% +MOLECULAR_WEIGHT= 28.96, 16.043 +% +SPECIFIC_HEAT_CP = 1009.39, 1009.39 +% +CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY +THERMAL_CONDUCTIVITY_CONSTANT= 0.0357, 0.0357 +% +PRANDTL_LAM= 0.72, 0.72 +TURBULENT_CONDUCTIVITY_MODEL= NONE +PRANDTL_TURB= 0.90, 0.90 +% --------------------------- VISCOSITY MODEL ---------------------------------% +% +VISCOSITY_MODEL= CONSTANT_VISCOSITY +% +MU_CONSTANT= 1.716E-5, 1.716E-5 +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( wall, 0.0 ) +MARKER_SYM= ( axis ) +% +SPECIFIED_INLET_PROFILE= NO +INLET_FILENAME= inlet_venturi.dat +INC_INLET_TYPE= VELOCITY_INLET VELOCITY_INLET +MARKER_INLET= ( gas_inlet, 300, 1.0, 1.0, 0.0, 0.0,\ + air_axial_inlet, 300, 1.0, 0.0, -1.0, 0.0 ) +SPECIES_USE_STRONG_BC= NO +MARKER_INLET_SPECIES= (gas_inlet, 1.0,\ + air_axial_inlet, 0.6) +% +INC_OUTLET_TYPE= PRESSURE_OUTLET +MARKER_OUTLET= ( outlet, 0.0) +% +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +% +CFL_NUMBER= 60 +CFL_REDUCTION_SPECIES= 1.0 +CFL_REDUCTION_TURB= 1.0 +% +ITER= 1000 +% +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% +% +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 1E-8 +LINEAR_SOLVER_ITER= 5 +% +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% +% +CONV_NUM_METHOD_FLOW= FDS +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW = NONE +TIME_DISCRE_FLOW= EULER_IMPLICIT +% +% -------------------- SCALAR TRANSPORT ---------------------------------------% +% +KIND_SCALAR_MODEL= SPECIES_TRANSPORT +DIFFUSIVITY_MODEL= CONSTANT_DIFFUSIVITY +DIFFUSIVITY_CONSTANT= 0.001 +% +CONV_NUM_METHOD_SPECIES= BOUNDED_SCALAR +MUSCL_SPECIES= NO +SLOPE_LIMITER_SPECIES = NONE +% +TIME_DISCRE_SPECIES= EULER_IMPLICIT +% +SPECIES_INIT= 1.0 +SPECIES_CLIPPING= YES +SPECIES_CLIPPING_MIN= 0.0 +SPECIES_CLIPPING_MAX= 1.0 +% +% -------------------- TURBULENT TRANSPORT ---------------------------------------% +% +CONV_NUM_METHOD_TURB= BOUNDED_SCALAR +MUSCL_TURB= NO +% +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_FIELD= RMS_PRESSURE, RMS_VELOCITY-X, RMS_VELOCITY-Y, RMS_TKE, RMS_SPECIES +CONV_RESIDUAL_MINVAL= -18 +CONV_STARTITER= 10 +% +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= primitiveVenturi.su2 +SCREEN_OUTPUT= INNER_ITER WALL_TIME \ + RMS_PRESSURE RMS_VELOCITY-X RMS_VELOCITY-Y RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 \ + LINSOL_ITER LINSOL_RESIDUAL \ + LINSOL_ITER_TURB LINSOL_RESIDUAL_TURB \ + LINSOL_ITER_SPECIES LINSOL_RESIDUAL_SPECIES SURFACE_SPECIES_VARIANCE +SCREEN_WRT_FREQ_INNER= 10 +% +HISTORY_OUTPUT= RMS_RES FLOW_COEFF LINSOL SPECIES_COEFF SPECIES_COEFF_SURF +MARKER_ANALYZE= outlet gas_inlet air_axial_inlet +% +OUTPUT_FILES= RESTART_ASCII, PARAVIEW_MULTIBLOCK +VOLUME_OUTPUT= RESIDUAL, PRIMITIVE +OUTPUT_WRT_FREQ= 1000 +% +RESTART_SOL= NO +SOLUTION_FILENAME= solution +RESTART_FILENAME= restart.dat +% +WRT_PERFORMANCE= YES diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg index 0fce29f4142..087cc340b77 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg @@ -8,7 +8,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/09/12 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -33,6 +33,8 @@ INC_NONDIM= DIMENSIONAL % FLUID_MODEL= FLUID_MIXTURE % +THERMODYNAMIC_PRESSURE= 101325.0 +% MOLECULAR_WEIGHT= 2.01588, 28.960 % SPECIFIC_HEAT_CP = 14310, 1009.39 @@ -92,7 +94,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 30 - +% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -131,7 +133,6 @@ CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= primitiveVenturi.su2 -% SCREEN_OUTPUT= INNER_ITER WALL_TIME \ RMS_PRESSURE RMS_VELOCITY-X RMS_VELOCITY-Y RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 RMS_SPECIES_1 \ LINSOL_ITER LINSOL_RESIDUAL \ diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg index 6af9b3ed7c9..9371a65af33 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg @@ -9,7 +9,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/10/12 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -34,6 +34,8 @@ INC_NONDIM= INITIAL_VALUES % FLUID_MODEL= FLUID_MIXTURE % +THERMODYNAMIC_PRESSURE= 101325.0 +% MOLECULAR_WEIGHT= 2.01588, 28.960 % SPECIFIC_HEAT_CP = 14310, 1009.39 @@ -93,7 +95,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 30 - +% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -132,7 +134,6 @@ CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= primitiveVenturi.su2 -% SCREEN_OUTPUT= INNER_ITER WALL_TIME \ RMS_PRESSURE RMS_VELOCITY-X RMS_VELOCITY-Y RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 RMS_SPECIES_1 \ LINSOL_ITER LINSOL_RESIDUAL \ diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_viscosity.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_viscosity.cfg index adc7050dfb6..6101b0fb652 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_viscosity.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_viscosity.cfg @@ -7,7 +7,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/06/27 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -32,6 +32,8 @@ INC_NONDIM= DIMENSIONAL % FLUID_MODEL= FLUID_MIXTURE % +THERMODYNAMIC_PRESSURE= 101325.0 +% MOLECULAR_WEIGHT= 16.043, 28.960 % SPECIFIC_HEAT_CP = 2224.43, 1009.39 @@ -86,7 +88,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 5 - +% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -125,7 +127,6 @@ CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= primitiveVenturi.su2 -% SCREEN_OUTPUT= INNER_ITER WALL_TIME \ RMS_PRESSURE RMS_VELOCITY-X RMS_VELOCITY-Y RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 RMS_SPECIES_1 \ LINSOL_ITER LINSOL_RESIDUAL \ diff --git a/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi.cfg b/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi.cfg index 0d00c644b16..6f6cdea604b 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021/10/14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -74,7 +74,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 5 - +% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -113,7 +113,6 @@ CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= primitiveVenturi.su2 -% SCREEN_OUTPUT= INNER_ITER WALL_TIME \ RMS_PRESSURE RMS_VELOCITY-X RMS_VELOCITY-Y RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 RMS_SPECIES_1 \ LINSOL_ITER LINSOL_RESIDUAL \ diff --git a/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi_inletFile.cfg b/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi_inletFile.cfg index c1cf37ab1a6..a36f4447503 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi_inletFile.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi_inletFile.cfg @@ -6,7 +6,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021/10/14 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -76,7 +76,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-8 LINEAR_SOLVER_ITER= 5 - +% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -115,7 +115,6 @@ CONV_STARTITER= 10 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % MESH_FILENAME= primitiveVenturi.su2 -% SCREEN_OUTPUT= INNER_ITER WALL_TIME \ RMS_PRESSURE RMS_VELOCITY-X RMS_VELOCITY-Y RMS_TKE RMS_DISSIPATION RMS_SPECIES_0 RMS_SPECIES_1 \ LINSOL_ITER LINSOL_RESIDUAL \ diff --git a/TestCases/transition/E387_Airfoil/transitional_BC_model_ConfigFile.cfg b/TestCases/transition/E387_Airfoil/transitional_BC_model_ConfigFile.cfg index 6494b94528b..80c94d0f3a1 100644 --- a/TestCases/transition/E387_Airfoil/transitional_BC_model_ConfigFile.cfg +++ b/TestCases/transition/E387_Airfoil/transitional_BC_model_ConfigFile.cfg @@ -2,234 +2,103 @@ % % % SU2 configuration file % % Case description: Eppler E387 Airfoil at Re = 200K % -% Author: Samet Cakmakcioglu % -% Institution: TOBB University of Economics and Technology % -% TAI-TUSAS Turkish Aerospace Industries % +% Author: Samet Cakmakcioglu % +% Institution: TOBB University of Economics and Technology % +% TAI-TUSAS Turkish Aerospace Industries % % Date: Oct 10th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= BCM FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- INCOMPRESSIBLE FREE-STREAM DEFINITION ------------------% % -% Free-stream density (1.2886 Kg/m^3 (air), 998.2 Kg/m^3 (water)) FREESTREAM_DENSITY= 1.2 -% -% Free-stream velocity (m/s) FREESTREAM_VELOCITY= ( 3.0, 0.00, 0.00 ) -% -% Free-stream viscosity (1.853E-5 Ns/m^2 (air), 0.798E-3 Ns/m^2 (water)) FREESTREAM_VISCOSITY= 1.8e-05 - REF_DIMENSIONALIZATION= DIMENSIONAL % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 - % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 100.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations EXT_ITER= 1000000 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.01 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -20 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= e387_Ogrid.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% diff --git a/TestCases/transition/Schubauer_Klebanoff/transitional_BC_model_ConfigFile.cfg b/TestCases/transition/Schubauer_Klebanoff/transitional_BC_model_ConfigFile.cfg index 4bbea2c9c8a..32cb81910fa 100644 --- a/TestCases/transition/Schubauer_Klebanoff/transitional_BC_model_ConfigFile.cfg +++ b/TestCases/transition/Schubauer_Klebanoff/transitional_BC_model_ConfigFile.cfg @@ -6,265 +6,109 @@ % Institution: TOBB University of Economics and Technology % % TAI-TUSAS Turkish Aerospace Industries % % Date: Oct 10th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= BCM FREESTREAM_TURBULENCEINTENSITY = 0.18 -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% % -% Initial density for incompressible flows (1.2886 kg/m^3 by default) INC_DENSITY_INIT= 1.2 -% -% Initial velocity for incompressible flows (1.0,0,0 m/s by default) INC_VELOCITY_INIT= ( 50.1, 0.0, 0.0 ) -% -% List of inlet types for incompressible flows. List length must -% match number of inlet markers. Options: VELOCITY_INLET, PRESSURE_INLET. INC_INLET_TYPE= VELOCITY_INLET -% -% Damping coefficient for iterative updates at pressure inlets. (0.1 by default) INC_INLET_DAMPING= 0.1 -% -% 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 PRESSURE_OUTLET -% -% Damping coefficient for iterative updates at mass flow outlets. (0.1 by default) INC_OUTLET_DAMPING= 0.1 % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.8e-05 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.5 - % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -% -% Symmetry Boundary condition MARKER_SYM = (symmetry) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 0, farfield, 0 ) -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -% Incompressible: (inlet marker, NULL, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( inlet, 0.0, 50.1, 1.0, 0.0, 0.0) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 100.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations ITER= 250000 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.01 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -20 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= grid.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% -% Screen output SCREEN_OUTPUT= (INNER_ITER, RMS_PRESSURE, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/transition/T3A_FlatPlate/transitional_BC_model_ConfigFile.cfg b/TestCases/transition/T3A_FlatPlate/transitional_BC_model_ConfigFile.cfg index e93d96491bb..42b8775f6b6 100644 --- a/TestCases/transition/T3A_FlatPlate/transitional_BC_model_ConfigFile.cfg +++ b/TestCases/transition/T3A_FlatPlate/transitional_BC_model_ConfigFile.cfg @@ -2,253 +2,106 @@ % % % SU2 configuration file % % Case description: T3A Flat Plate Bypass Transition % -% Author: Samet Cakmakcioglu % -% Institution: TOBB University of Economics and Technology % -% TAI-TUSAS Turkish Aerospace Industries % +% Author: Samet Cakmakcioglu % +% Institution: TOBB University of Economics and Technology % +% TAI-TUSAS Turkish Aerospace Industries % % Date: Oct 10th, 2016 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= INC_RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= BCM FREESTREAM_TURBULENCEINTENSITY = 3.0 -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- INCOMPRESSIBLE FREE-STREAM DEFINITION ------------------% % -% Free-stream density (1.2886 Kg/m^3 (air), 998.2 Kg/m^3 (water)) FREESTREAM_DENSITY= 1.2 -% -% Free-stream velocity (m/s) FREESTREAM_VELOCITY= ( 5.4, 0.00, 0.00 ) -% -% Free-stream viscosity (1.853E-5 Ns/m^2 (air), 0.798E-3 Ns/m^2 (water)) FREESTREAM_VISCOSITY= 1.8e-05 - REF_DIMENSIONALIZATION= DIMENSIONAL % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.5 - % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall, 0.0 ) -% -% Symmetry Boundary condition MARKER_SYM = (symmetry) -% -% Outlet boundary marker(s) (NONE = no marker) -% Format: ( outlet marker, back pressure (static), ... ) MARKER_OUTLET= ( outlet, 0, farfield, 0 ) -% -% Inlet boundary type (TOTAL_CONDITIONS, MASS_FLOW) INLET_TYPE= MASS_FLOW -% -% 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 -% a unit vector. -% Mass Flow: (inlet marker, density, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. -% Incompressible: (inlet marker, NULL, velocity magnitude, flow_direction_x, -% flow_direction_y, flow_direction_z, ... ) where flow_direction is -% a unit vector. MARKER_INLET= ( inlet, 1.2, 5.4, 1.0, 0.0, 0.0) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( wall ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 100.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Number of total iterations EXT_ITER= 250000 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.01 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= FDS -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -20 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= grid.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% diff --git a/TestCases/turbomachinery/APU_turbocharger/Jones_restart.cfg b/TestCases/turbomachinery/APU_turbocharger/Jones_restart.cfg index 73fd8e2e482..5f0ae291a78 100755 --- a/TestCases/turbomachinery/APU_turbocharger/Jones_restart.cfg +++ b/TestCases/turbomachinery/APU_turbocharger/Jones_restart.cfg @@ -5,7 +5,7 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Jun 28th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -19,6 +19,7 @@ KIND_TURB_MODEL= SST MATH_PROBLEM= DIRECT RESTART_SOL= YES DISCARD_INFILES= YES +% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % MACH_NUMBER= 0.05 @@ -69,6 +70,7 @@ MARKER_MIXINGPLANE_INTERFACE= (OUTMIX, INMIX) MARKER_GILES= (INFLOW, TOTAL_CONDITIONS_PT, 413.6E+03, 477.6, 1.0, 0.0, 0.0, 1.0, 0.0, OUTMIX, MIXING_OUT, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, INMIX, MIXING_IN, 0.0, 0.0, 0.0, 0.0, 0.0, 0.3, 0.0, OUTFLOW, STATIC_PRESSURE_1D, 67.46E+03, 0.0, 0.0, 0.0, 0.0 , 1.0, 0.0) GILES_EXTRA_RELAXFACTOR= (0.05, 0.05) SPATIAL_FOURIER= NO +% %---------------------------- TURBOMACHINERY SIMULATION -----------------------------% % TURBOMACHINERY_KIND= CENTRIPETAL CENTRIPETAL_AXIAL @@ -81,7 +83,6 @@ PERFORMANCE_AVERAGE_PROCESS_KIND= MIXEDOUT MIXEDOUT_COEFF= (1.0, 1.0E-05, 15) AVERAGE_MACH_LIMIT= 0.05 % -% % ------------------------ SURFACES IDENTIFICATION ----------------------------% % MARKER_PLOTTING= (BLADE1, BLADE2) @@ -100,9 +101,7 @@ LINEAR_SOLVER_PREC= LU_SGS LINEAR_SOLVER_ERROR= 1E-4 LINEAR_SOLVER_ITER= 10 % -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% ----------- NOT WORKING WITH PERIODIC BOUNDARY CONDITIONS !!!!! --------------% +% ----------- NOT WORKING WITH PERIODIC BOUNDARY CONDITIONS !!!!! -------------% % % % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% @@ -151,5 +150,4 @@ VOLUME_ADJ_FILENAME= adjoint GRAD_OBJFUNC_FILENAME= of_grad.dat SURFACE_FILENAME= surface_flow SURFACE_ADJ_FILENAME= surface_adjoint -OUTPUT_WRT_FREQ= 100 -% +OUTPUT_WRT_FREQ= 100 \ No newline at end of file diff --git a/TestCases/turbomachinery/APU_turbocharger/rotor.cfg b/TestCases/turbomachinery/APU_turbocharger/rotor.cfg index fa77fa7de24..e1b64c618bf 100644 --- a/TestCases/turbomachinery/APU_turbocharger/rotor.cfg +++ b/TestCases/turbomachinery/APU_turbocharger/rotor.cfg @@ -1,18 +1,7 @@ % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= ROTATING_FRAME -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE= 0.0 0.0 7508.3 - -% Specify ramp option fr rotating frame (YES, NO) default NO RAMP_ROTATING_FRAME= YES -% -% Parameters of the rotating frame ramp (starting rotational speed, updating-iteration-frequency, total number of iteration for the ramp) RAMP_ROTATING_FRAME_COEFF= (0.0, 39.0, 500) diff --git a/TestCases/turbomachinery/APU_turbocharger/rotor_restart.cfg b/TestCases/turbomachinery/APU_turbocharger/rotor_restart.cfg index 18ca1a4e4cb..df0cc236545 100644 --- a/TestCases/turbomachinery/APU_turbocharger/rotor_restart.cfg +++ b/TestCases/turbomachinery/APU_turbocharger/rotor_restart.cfg @@ -1,18 +1,7 @@ % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= ROTATING_FRAME -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE= 0.0 0.0 7508.3 - -% Specify ramp option fr rotating frame (YES, NO) default NO RAMP_ROTATING_FRAME= NO -% -% Parameters of the rotating frame ramp (starting rotational speed, updating-iteration-frequency, total number of iteration for the ramp) RAMP_ROTATING_FRAME_COEFF= (0.0, 39.0, 500) diff --git a/TestCases/turbomachinery/APU_turbocharger/stator.cfg b/TestCases/turbomachinery/APU_turbocharger/stator.cfg index 3fcbeda15ea..caae5fd8bc4 100644 --- a/TestCases/turbomachinery/APU_turbocharger/stator.cfg +++ b/TestCases/turbomachinery/APU_turbocharger/stator.cfg @@ -1,7 +1,3 @@ % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= ROTATING_FRAME -% - diff --git a/TestCases/turbomachinery/axial_stage_2D/Axial_stage2D.cfg b/TestCases/turbomachinery/axial_stage_2D/Axial_stage2D.cfg index 965d1f44f64..eadd07d2631 100755 --- a/TestCases/turbomachinery/axial_stage_2D/Axial_stage2D.cfg +++ b/TestCases/turbomachinery/axial_stage_2D/Axial_stage2D.cfg @@ -5,125 +5,64 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Feb 28th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% Enable multizone mode MULTIZONE= YES -% -% List of config files CONFIG_LIST= (zone_1.cfg, zone_2.cfg) % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, LINEAR_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.05 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 140000.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 300.0 -% -% Free-stream temperature (1.2886 Kg/m3 by default) FREESTREAM_DENSITY= 1.7418 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.03 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 -% -% -% Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE, -% FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= DIMENSIONAL % -% % ------------------------------ EQUATION OF STATE ----------------------------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= IDEAL_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded -% for the model STANDARD_AIR) GAMMA_VALUE= 1.4 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded -% for the model STANDARD_AIR) GAS_CONSTANT= 287.058 % -% % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= SUTHERLAND -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % -% % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_PRANDTL % % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall1, 0.0, wall2, 0.0) % -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_PERIODIC= ( periodic1, periodic2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04463756775, 0.0, periodic3, periodic4, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.04463756775, 0.0) % -% %-------- INFLOW/OUTFLOW BOUNDARY CONDITION SPECIFIC FOR TURBOMACHINERY --------% % % 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) @@ -132,199 +71,85 @@ MARKER_TURBOMACHINERY= (inflow, outmix, inmix, outflow) % Mixing-plane interface markers must be specified to activate the transfer of information between zones MARKER_MIXINGPLANE_INTERFACE= (outmix, inmix) % -% Giles boundary condition for inflow, outfolw and mixing-plane -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure , Total Temperature, Flow dir-norm, Flow dir-tang, Flow dir-span, under-relax-avg, under-relax-fourier) -% Format outlet: ( marker, STATIC_PRESSURE, Static Pressure value, -, -, -, -, under-relax-avg, under-relax-fourier) -% Format mixing-plane in and out: ( marker, MIXING_IN or MIXING_OUT, -, -, -, -, -, -, under-relax-avg, under-relax-fourier) MARKER_GILES= (inflow, TOTAL_CONDITIONS_PT, 169623.33, 305.76, 1.0, 0.0, 0.0,1.0,1.0, outmix, MIXING_OUT, 0.0, 0.0, 0.0, 0.0, 0.0,1.0,1.0, inmix, MIXING_IN, 0.0, 0.0, 0.0, 0.0, 0.0,1.0, 1.0 outflow, STATIC_PRESSURE, 99741.00, 0.0, 0.0, 0.0, 0.0,1.0,1.0) -% -%YES Non reflectivity activated, NO the Giles BC behaves as a normal 1D characteristic-based BC SPATIAL_FOURIER= NO % -% %---------------------------- TURBOMACHINERY SIMULATION -----------------------------% % -% Specify kind of architecture (AXIAL, CENTRIPETAL, CENTRIFUGAL, CENTRIPETAL_AXIAL) TURBOMACHINERY_KIND= AXIAL AXIAL -% -% Specify option for turbulent mixing-plane (YES, NO) default NO TURBULENT_MIXINGPLANE= YES -% -% Specify ramp option for Outlet pressure (YES, NO) default NO RAMP_OUTLET_PRESSURE= NO -% -% Parameters of the outlet pressure ramp (starting outlet pressure, updating-iteration-frequency, total number of iteration for the ramp) RAMP_OUTLET_PRESSURE_COEFF= (140000.0, 10.0, 2000) -% -% Specify Kind of average process for linearizing the Navier-Stokes equation at inflow and outflow BC included mixing-plane -% (ALGEBRAIC, AREA, MASSSFLUX, MIXEDOUT) default AREA AVERAGE_PROCESS_KIND= MIXEDOUT -% -% Specify Kind of average process for computing turbomachienry performance parameters -% (ALGEBRAIC, AREA, MASSSFLUX, MIXEDOUT) default AREA PERFORMANCE_AVERAGE_PROCESS_KIND= MIXEDOUT -% -%Parameters of the Newton method for the MIXEDOUT average algorithm (under relaxation factor, tollerance, max number of iterations) MIXEDOUT_COEFF= (1.0, 1.0E-05, 15) -% -% Limit of Mach number below which the mixedout algorithm is substituted with a AREA average algorithm AVERAGE_MACH_LIMIT= 0.05 % -% % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING= (wall1, wall2) % % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 1.3, 1.2, 1.0, 10.0) % - % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 10 % -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% ----------- NOT WORKING WITH PERIODIC BOUNDARY CONDITIONS !!!!! --------------% +% ---------- NOT WORKING WITH PERIODIC BOUNDARY CONDITIONS !!!!! --------------% % % % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VAN_ALBADA_EDGE -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.01 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations OUTER_ITER= 21 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_axial_stage_2d_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= meshout.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1000 -% diff --git a/TestCases/turbomachinery/axial_stage_2D/zone_1.cfg b/TestCases/turbomachinery/axial_stage_2D/zone_1.cfg index 01e1dcc6f7a..a73d2ae7007 100644 --- a/TestCases/turbomachinery/axial_stage_2D/zone_1.cfg +++ b/TestCases/turbomachinery/axial_stage_2D/zone_1.cfg @@ -5,13 +5,10 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Feb 28th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= NONE -% - diff --git a/TestCases/turbomachinery/axial_stage_2D/zone_2.cfg b/TestCases/turbomachinery/axial_stage_2D/zone_2.cfg index 1bceeab5737..d699eb5acf9 100644 --- a/TestCases/turbomachinery/axial_stage_2D/zone_2.cfg +++ b/TestCases/turbomachinery/axial_stage_2D/zone_2.cfg @@ -5,18 +5,12 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Feb 28th, 2017 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT= STEADY_TRANSLATION -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% -%Steady transaltion rate TRANSLATION_RATE= 0.0 -150.0 0.0 diff --git a/TestCases/turbomachinery/centrifugal_blade/centrifugal_blade.cfg b/TestCases/turbomachinery/centrifugal_blade/centrifugal_blade.cfg index b4b3689bc45..73e924ce3d8 100755 --- a/TestCases/turbomachinery/centrifugal_blade/centrifugal_blade.cfg +++ b/TestCases/turbomachinery/centrifugal_blade/centrifugal_blade.cfg @@ -5,340 +5,132 @@ % Author:S. Vitale % % Institution: Delft University of Technology % % Date: Oct 26th, 2015 % -% File Version 4.0.1 "cardinal" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% -% -% + % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% -% -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.05 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 200000.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 510.33 -% -% Free-stream temperature (1.2886 Kg/m3 by default) FREESTREAM_DENSITY= 1.2886 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % -% -% -% % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -%Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE,FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -% -% -% % --------------------------------- FLUID MODEL -----------------------------------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= PR_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded for the model STANDARD_AIR) GAMMA_VALUE= 1.034 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded for the model STANDARD_AIR) GAS_CONSTANT= 28.03 -% -% Critical Temperature (273.15 K by default) CRITICAL_TEMPERATURE= 586.5 -% -% Critical Pressure (101325.0 N/m^2 by default) CRITICAL_PRESSURE= 1332000.0 -% -% Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.592 % -% -% -% % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.0563E-5 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % -% -% -% % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.025275 % -% -% -% % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall1, 0.0, wall2, 0.0 ) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (inflow, TOTAL_CONDITIONS_PT, 366000.0, 515.00, 0.309016, 0.951056, 0.0) -% -% Non reflecting boundary marker -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_NRBC= (outflow, STATIC_PRESSURE, 165500.0, 0.0, 0.0, 0.0, 0.0) -% -% Kind of Average (ALGEBRAIC_AVERAGE, AREA_AVERAGE, MIXEDOUT_AVERAGE) MIXING_PROCESS_TYPE= MIXEDOUT_AVERAGE -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_PERIODIC= ( periodic1, periodic2, 0.0, 0.0, 0.0, 0.0, 0.0, 9.47, 0.0, 0.0, 0.0) % -% -% -% % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING= ( wall1, wall2 ) % % Marker(s) between turbomachinery performance are evaluated. Use BLADE for single blade, STAGE for stage and TURBINE for a multi-stage. MARKER_TURBO_PERFORMANCE= (inflow, outflow, BLADE) % -% % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Dynamic mesh simulation (NO, YES) GRID_MOVEMENT= YES -% -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT_KIND= ROTATING_FRAME -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE_X = 0.0 ROTATION_RATE_Y = 0.0 ROTATION_RATE_Z = 1990.00 % -% -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 10.0, 1000.0) % -% -% -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% -% -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% -% -% % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 12000 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= su2mesh_periodic.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency -OUTPUT_WRT_FREQ= 500 -% +OUTPUT_WRT_FREQ= 500 \ No newline at end of file diff --git a/TestCases/turbomachinery/centrifugal_stage/centrifugal_stage.cfg b/TestCases/turbomachinery/centrifugal_stage/centrifugal_stage.cfg index 8699a770d24..3455bdb6af1 100755 --- a/TestCases/turbomachinery/centrifugal_stage/centrifugal_stage.cfg +++ b/TestCases/turbomachinery/centrifugal_stage/centrifugal_stage.cfg @@ -5,347 +5,132 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Oct 28th, 2015 % -% File Version 4.0.1 "cardinal" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% -% -% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SST) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, ADJOINT, LINEARIZED) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % -% -% -% % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.05 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 200000.0 -% -% Free-stream temperature (273.15 K by default) FREESTREAM_TEMPERATURE= 510.33 -% -% Free-stream temperature (1.2886 Kg/m3 by default) FREESTREAM_DENSITY= 1.2886 -% -% Free-stream Turbulence Intensity FREESTREAM_TURBULENCEINTENSITY = 0.1 -% -% Free-stream Turbulent to Laminar viscosity ratio FREESTREAM_TURB2LAMVISCRATIO = 100.0 -% -% Free-stream option to choose if you want to use Density (DENSITY_FS) or Temperature (TEMPERATURE_FS) to initialize the solution FREESTREAM_OPTION= TEMPERATURE_FS -% -%Init option to choose between Reynolds (default) or thermodynamics quantities for initializing the solution (REYNOLDS, TD_CONDITIONS) INIT_OPTION= TD_CONDITIONS % -% -% -% % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -%Flow non-dimensionalization (DIMENSIONAL, FREESTREAM_PRESS_EQ_ONE,FREESTREAM_VEL_EQ_MACH, FREESTREAM_VEL_EQ_ONE) REF_DIMENSIONALIZATION= FREESTREAM_PRESS_EQ_ONE % -% -% -% % --------------------------------- FLUID MODEL -----------------------------------% % -% Different gas model (STANDARD_AIR, IDEAL_GAS, VW_GAS, PR_GAS) FLUID_MODEL= PR_GAS -% -% Ratio of specific heats (1.4 default and the value is hardcoded for the model STANDARD_AIR) GAMMA_VALUE= 1.034 -% -% Specific gas constant (287.058 J/kg*K default and this value is hardcoded for the model STANDARD_AIR) GAS_CONSTANT= 28.03 -% -% Critical Temperature (273.15 K by default) CRITICAL_TEMPERATURE= 586.5 -% -% Critical Pressure (101325.0 N/m^2 by default) CRITICAL_PRESSURE= 1332000.0 -% -% Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.592 % -% -% -% % --------------------------- VISCOSITY MODEL ---------------------------------% % -% Viscosity model (SUTHERLAND, CONSTANT_VISCOSITY). VISCOSITY_MODEL= CONSTANT_VISCOSITY -% -% Molecular Viscosity that would be constant (1.716E-5 by default) MU_CONSTANT= 1.0563E-5 -% -% Sutherland Viscosity Ref (1.716E-5 default value for AIR SI) MU_REF= 1.716E-5 -% -% Sutherland Temperature Ref (273.15 K default value for AIR SI) MU_T_REF= 273.15 -% -% Sutherland constant (110.4 default value for AIR SI) SUTHERLAND_CONSTANT= 110.4 % -% -% -% % --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% % -% Conductivity model (CONSTANT_CONDUCTIVITY, CONSTANT_PRANDTL). CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY -% -% Molecular Thermal Conductivity that would be constant (0.0257 by default) THERMAL_CONDUCTIVITY_CONSTANT= 0.025275 % -% -% -% % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( wall1, 0.0, wall2, 0.0, wall3, 0.0, wall4, 0.0) -% -% Riemann boundary marker(s) -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_RIEMANN= (inflow, TOTAL_CONDITIONS_PT, 366000.0, 515.00, 0.52101, -0.85355, 0.0) -% -% Non reflecting boundary marker -% Format inlet: ( marker, TOTAL_CONDITIONS_PT, Total Pressure, Total Temperature, Flow dir-x, Flow dir-y, Flow dir-z) -% Format outlet: ( marker, type, STATIC_PRESSURE, Static Pressure, 0.0, 0.0, 0.0, 0.0) MARKER_NRBC= (outmix, MIXING_OUT, 0.0, 0.0, 0.0, 0.0, 0.0, inmix, MIXING_IN, 0.0, 0.0, 0.0, 0.0, 0.0, outflow, STATIC_PRESSURE, 95750.0, 0.0, 0.0, 0.0, 0.0) -% -% Kind of Average (ALGEBRAIC_AVERAGE, AREA_AVERAGE, MIXEDOUT_AVERAGE) MIXING_PROCESS_TYPE= AREA_AVERAGE -% -% Mixing plane interface MARKER_MIXINGPLANE= (outmix, inmix) -% -% Periodic boundary marker(s) (NONE = no marker) -% Format: ( periodic marker, donor marker, rot_cen_x, rot_cen_y, rot_cen_z, rot_angle_x-axis, rot_angle_y-axis, rot_angle_z-axis, translation_x, translation_y, translation_z) MARKER_PERIODIC= (periodic1, periodic2, 0.0, 0.0, 0.0, 0.0, 0.0, 10.29, 0.0, 0.0, 0.0, periodic3, periodic4, 0.0, 0.0, 0.0, 0.0, 0.0, 8.78, 0.0, 0.0, 0.0) % -% -% -% % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING= ( wall1, wall2 ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated MARKER_MONITORING= ( wall1, wall2 ) -% -% Marker(s) between turbomachinery performance are evaluated. Use BLADE for single blade, STAGE for stage and TURBINE for a multi-stage. MARKER_TURBO_PERFORMANCE= (inflow, outflow, STAGE, inflow, outmix, BLADE, inmix, outflow, BLADE) % -% % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Dynamic mesh simulation (NO, YES) GRID_MOVEMENT= YES -% -% Type of dynamic mesh (NONE, ROTATING_FRAME) GRID_MOVEMENT_KIND= ROTATING_FRAME ROTATING_FRAME -% -% Motion mach number (non-dimensional). Used for intitializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.35 -% -% Angular velocity vector (rad/s) about the motion origi. Example 1250 RPM -> 130.89969389957471 rad/s ROTATION_RATE_X = 0.0 0.0 ROTATION_RATE_Y = 0.0 0.0 ROTATION_RATE_Z = 0.0 1990.0 % -% -% -% % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, CFL max value ) CFL_ADAPT_PARAM= ( 0.1, 1.2, 1.0, 1000.0) % -% -% -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver or smoother for implicit formulations (BCGSTAB, FGMRES, SMOOTHER) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (ILU, LU_SGS, LINELET, JACOBI) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -% -% -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multigrid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multigrid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.75 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.75 -% -% -% -% % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.05 -% -% Freeze the value of the limiter after a number of iterations LIMITER_ITER= 999999 % -% -% -% % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, ROE, AUSM, HLLC) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= NO -% -% Entropy fix coefficient (0.0 implies no entropy fixing, 1.0 implies scalar artificial dissipation, 0.001 default) ENTROPY_FIX_COEFF= 0.001 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Slope limiter (VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -% Relaxation coefficient -% -% -% -% % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT -% -% Reduction factor of the CFL coefficient in the turbulence problem CFL_REDUCTION_TURB= 1.0 % -% -% % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Number of total iterations ITER= 32000 -% -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -16 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % -% -% -% -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= su2mesh_periodic.su2 -% -% Mesh input file format (SU2, CGNS) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= su2mesh_per.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 500 -% diff --git a/TestCases/turbomachinery/transonic_stator_2D/transonic_stator_restart.cfg b/TestCases/turbomachinery/transonic_stator_2D/transonic_stator_restart.cfg index 38a47f4ce4c..73dcf2bddf7 100644 --- a/TestCases/turbomachinery/transonic_stator_2D/transonic_stator_restart.cfg +++ b/TestCases/turbomachinery/transonic_stator_2D/transonic_stator_restart.cfg @@ -5,11 +5,10 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: 2017.03.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % -% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % SOLVER= RANS @@ -103,7 +102,7 @@ LINEAR_SOLVER_ITER= 5 % % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% ----------- NOT WORKING WITH PERIODIC BOUNDARY CONDITIONS !!!!! --------------% +% ----------- NOT WORKING WITH PERIODIC BOUNDARY CONDITIONS !!!!! -------------% % % % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% @@ -152,5 +151,4 @@ VOLUME_ADJ_FILENAME= adjoint GRAD_OBJFUNC_FILENAME= of_grad.dat SURFACE_FILENAME= surface_flow SURFACE_ADJ_FILENAME= surface_adjoint -OUTPUT_WRT_FREQ= 500 -% +OUTPUT_WRT_FREQ= 500 \ No newline at end of file diff --git a/TestCases/turbulence_models/sa/rae2822/turb_SA_BSL_RAE2822.cfg b/TestCases/turbulence_models/sa/rae2822/turb_SA_BSL_RAE2822.cfg index e65ee871fa0..4c8538ba5ec 100644 --- a/TestCases/turbulence_models/sa/rae2822/turb_SA_BSL_RAE2822.cfg +++ b/TestCases/turbulence_models/sa/rae2822/turb_SA_BSL_RAE2822.cfg @@ -1,167 +1,80 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations SOLVER= RANS -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/turbulence_models/sa/rae2822/turb_SA_COMP_EDW_RAE2822.cfg b/TestCases/turbulence_models/sa/rae2822/turb_SA_COMP_EDW_RAE2822.cfg index fb7b111b3d3..39cd89c64b4 100644 --- a/TestCases/turbulence_models/sa/rae2822/turb_SA_COMP_EDW_RAE2822.cfg +++ b/TestCases/turbulence_models/sa/rae2822/turb_SA_COMP_EDW_RAE2822.cfg @@ -1,168 +1,80 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations SOLVER= RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= EDWARDS, COMPRESSIBILITY, EXPERIMENTAL -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/turbulence_models/sa/rae2822/turb_SA_COMP_RAE2822.cfg b/TestCases/turbulence_models/sa/rae2822/turb_SA_COMP_RAE2822.cfg index aeb8e3dbbf1..8f847257a3a 100644 --- a/TestCases/turbulence_models/sa/rae2822/turb_SA_COMP_RAE2822.cfg +++ b/TestCases/turbulence_models/sa/rae2822/turb_SA_COMP_RAE2822.cfg @@ -1,168 +1,81 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations SOLVER= RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= COMPRESSIBILITY -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/turbulence_models/sa/rae2822/turb_SA_EDW_RAE2822.cfg b/TestCases/turbulence_models/sa/rae2822/turb_SA_EDW_RAE2822.cfg index 70c20176b7f..894dfdf7e7a 100644 --- a/TestCases/turbulence_models/sa/rae2822/turb_SA_EDW_RAE2822.cfg +++ b/TestCases/turbulence_models/sa/rae2822/turb_SA_EDW_RAE2822.cfg @@ -1,168 +1,81 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations SOLVER= RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= EDWARDS -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/turbulence_models/sa/rae2822/turb_SA_NEG_RAE2822.cfg b/TestCases/turbulence_models/sa/rae2822/turb_SA_NEG_RAE2822.cfg index e72242cd8f6..7f54aad5945 100644 --- a/TestCases/turbulence_models/sa/rae2822/turb_SA_NEG_RAE2822.cfg +++ b/TestCases/turbulence_models/sa/rae2822/turb_SA_NEG_RAE2822.cfg @@ -2,10 +2,10 @@ % % % WARNING % % This regression test will diverge! % -% % +% % % This test case is only meant to trigger the negative part of the SA model, % % to check the integrity of the commits. It is inadvisable to use it as an % -% starting point for tutorials. % +% starting point for tutorials. % % The rae2822 airfoil is a simple (fast) case. A high angle of attack is being % % used in order to force the negative part of the SA in a reasonable amount of % % iterations. With the current configuration, e.g., convective scheme, CFL % @@ -16,173 +16,73 @@ % % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations SOLVER= RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= NEGATIVE, EXPERIMENTAL -% -% Restart solution (NO, YES) RESTART_SOL= NO + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 20.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= YES -% -% Parameters of the adaptive CFL number ( factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 0.5, 1.5, 400.0, 1000.0 ) -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.95 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_NU_TILDE, LIFT, DRAG, TOTAL_HEATFLUX) diff --git a/TestCases/turbulence_models/sa/rae2822/turb_SA_QCR_RAE2822.cfg b/TestCases/turbulence_models/sa/rae2822/turb_SA_QCR_RAE2822.cfg index 05b09d9a911..fba16360d75 100644 --- a/TestCases/turbulence_models/sa/rae2822/turb_SA_QCR_RAE2822.cfg +++ b/TestCases/turbulence_models/sa/rae2822/turb_SA_QCR_RAE2822.cfg @@ -1,169 +1,81 @@ % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations SOLVER= RANS -% -% Specify turbulence model KIND_TURB_MODEL= SA SA_OPTIONS= QCR2000 -% -% Restart solution (NO, YES) RESTART_SOL= NO % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.729 -% -% Angle of attack (degrees, only for compressible flows) AOA= 2.31 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 6.5E6 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.25 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( AIRFOIL, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( FARFIELD ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( AIRFOIL ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( AIRFOIL ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.5 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Number of total iterations ITER= 99999 -% -% Linear solver for the implicit formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= BCGSTAB -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 20 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-grid pre-smoothing level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.95 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.95 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_RAE2822_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% -% Screen output fields SCREEN_OUTPUT= (INNER_ITER, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_NU_TILDE, LIFT, DRAG) diff --git a/TestCases/tutorials.py b/TestCases/tutorials.py index 5d53be99520..5471eab7258 100644 --- a/TestCases/tutorials.py +++ b/TestCases/tutorials.py @@ -3,7 +3,7 @@ ## \file parallel_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -187,6 +187,24 @@ def main(): tutorial_trans_flatplate_T3Am.test_vals = [-6.063550, -1.945057, -3.946359, -0.549026, -3.863798, 2.664577, -2.517606, 1.112977] tutorial_trans_flatplate_T3Am.no_restart = True test_list.append(tutorial_trans_flatplate_T3Am) + + # Transitional E387 SA + tutorial_trans_e387_sa = TestCase('tutorial_trans_e387_sa') + tutorial_trans_e387_sa.cfg_dir = "../Tutorials/compressible_flow/Transitional_Airfoil/Langtry_and_Menter/E387" + tutorial_trans_e387_sa.cfg_file = "transitional_SA_LM_model_ConfigFile.cfg" + tutorial_trans_e387_sa.test_iter = 20 + tutorial_trans_e387_sa.test_vals = [-6.527027, -5.081543, -0.795267, 1.022557, 0.150240, 2, -9.580670] + tutorial_trans_e387_sa.no_restart = True + test_list.append(tutorial_trans_e387_sa) + + # Transitional E387 SST + tutorial_trans_e387_sst = TestCase('tutorial_trans_e387_sst') + tutorial_trans_e387_sst.cfg_dir = "../Tutorials/compressible_flow/Transitional_Airfoil/Langtry_and_Menter/E387" + tutorial_trans_e387_sst.cfg_file = "transitional_SST_LM_model_ConfigFile.cfg" + tutorial_trans_e387_sst.test_iter = 20 + tutorial_trans_e387_sst.test_vals = [-6.532421, -5.085785, -0.789723, 1.078391, 0.188263, 2, -9.567014] + tutorial_trans_e387_sst.no_restart = True + test_list.append(tutorial_trans_e387_sst) # Turbulent ONERA M6 tutorial_turb_oneram6 = TestCase('turbulent_oneram6_tutorial') diff --git a/TestCases/unsteady/pitching_naca0015_rans_inc/config_incomp_turb_sa.cfg b/TestCases/unsteady/pitching_naca0015_rans_inc/config_incomp_turb_sa.cfg index 7045568c646..ee33ca1ee9c 100644 --- a/TestCases/unsteady/pitching_naca0015_rans_inc/config_incomp_turb_sa.cfg +++ b/TestCases/unsteady/pitching_naca0015_rans_inc/config_incomp_turb_sa.cfg @@ -11,10 +11,10 @@ TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER TIME_STEP= 0.016849% 25 time steps per period MAX_TIME= 2.528% 6 periods % -% New driver TIME_DOMAIN= YES TIME_ITER= 2 INNER_ITER= 50 + % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % GRID_MOVEMENT= RIGID_MOTION @@ -38,7 +38,7 @@ REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 REF_LENGTH= 1.0 REF_AREA= 1.0 -% + % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % MARKER_HEATFLUX= ( airfoil, 0.0 ) @@ -58,20 +58,11 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1E-14 LINEAR_SOLVER_ITER= 2 -%LINEAR_SOLVER_ERROR= 1E-8 -%LINEAR_SOLVER_ITER= 2000 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % VENKAT_LIMITER_COEFF= 0.03 LIMITER_ITER= 99999 -%ADJ_SHARP_LIMITER_COEFF= 3.0 -%REF_SHARP_EDGES= 3.0 -%SENS_REMOVE_SHARP= NO - -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -MGLEVEL= 0 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % @@ -79,8 +70,6 @@ CONV_NUM_METHOD_FLOW= JST MUSCL_FLOW= YES SLOPE_LIMITER_FLOW= NONE TIME_DISCRE_FLOW= EULER_IMPLICIT - -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% diff --git a/TestCases/unsteady/pitching_naca64a010_euler/pitching_NACA64A010.cfg b/TestCases/unsteady/pitching_naca64a010_euler/pitching_NACA64A010.cfg index e5dfc0ac4ad..edfa9294482 100644 --- a/TestCases/unsteady/pitching_naca64a010_euler/pitching_NACA64A010.cfg +++ b/TestCases/unsteady/pitching_naca64a010_euler/pitching_NACA64A010.cfg @@ -5,366 +5,151 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= EULER -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0023555025613149587 % 24 steps per period: 0.0024536485013697488 % 25 steps per period: 0.0023555025613149587 % -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 0.59 % 10 periods: 0.5888756403287397 % -% Number of internal iterations (dual time method) INNER_ITER= 110 -% -% Starting direct iteration for unsteady adjoint UNST_ADJOINT_ITER= 251 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% -% Type of mesh motion (NONE, FLUTTER, RIGID_MOTION) -%GRID_MOVEMENT= RIGID_MOTION % SURFACE_MOVEMENT= DEFORMING - MARKER_MOVING= airfoil -% Motion mach number (non-dimensional). Used for initializing a viscous flow -% with the Reynolds number and for computing force coeffs. with dynamic meshes. MACH_MOTION= 0.796 -% -% Coordinates of the rigid motion origin SURFACE_MOTION_ORIGIN= 0.248 0.0 0.0 -% -% Pitching angular freq. (rad/s) about x, y, & z axes (RIGID_MOTION only) SURFACE_PITCHING_OMEGA= 0.0 0.0 106.69842 -% -% Pitching amplitude (degrees) about x, y, & z axes (RIGID_MOTION only) SURFACE_PITCHING_AMPL= 0.0 0.0 1.01 + % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.796 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream pressure (101325.0 N/m^2 by default, only Euler flows) FREESTREAM_PRESSURE= 101325.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.248 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Euler boundary (0 = no marker) MARKER_EULER= ( airfoil ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 10.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.9 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.9 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.1 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, TORQUE) OBJECTIVE_FUNCTION= DRAG -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.02 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.5 -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( airfoil ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= AIRFOIL -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -DV_KIND= HICKS_HENNE % -% Marker of the surface in which we are going apply the shape deformation +DV_KIND= HICKS_HENNE DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Old value of the deformation for incremental deformations DV_VALUE= 0.0 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-6 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA64A010_inv.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 250 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( LIFT = 0.0 ) * 0.001; ( AREA > 0.0660957 ) * 0.001 -% -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.961538461538 ); ( 30, 1.0 | airfoil | 0, 0.923076923077 ); ( 30, 1.0 | airfoil | 0, 0.884615384615 ); ( 30, 1.0 | airfoil | 0, 0.846153846154 ); ( 30, 1.0 | airfoil | 0, 0.807692307692 ); ( 30, 1.0 | airfoil | 0, 0.769230769231 ); ( 30, 1.0 | airfoil | 0, 0.730769230769 ); ( 30, 1.0 | airfoil | 0, 0.692307692308 ); ( 30, 1.0 | airfoil | 0, 0.653846153846 ); ( 30, 1.0 | airfoil | 0, 0.615384615385 ); ( 30, 1.0 | airfoil | 0, 0.576923076923 ); ( 30, 1.0 | airfoil | 0, 0.538461538462 ); ( 30, 1.0 | airfoil | 0, 0.5 ); ( 30, 1.0 | airfoil | 0, 0.461538461538 ); ( 30, 1.0 | airfoil | 0, 0.423076923077 ); ( 30, 1.0 | airfoil | 0, 0.384615384615 ); ( 30, 1.0 | airfoil | 0, 0.346153846154 ); ( 30, 1.0 | airfoil | 0, 0.307692307692 ); ( 30, 1.0 | airfoil | 0, 0.269230769231 ); ( 30, 1.0 | airfoil | 0, 0.230769230769 ); ( 30, 1.0 | airfoil | 0, 0.192307692308 ); ( 30, 1.0 | airfoil | 0, 0.153846153846 ); ( 30, 1.0 | airfoil | 0, 0.115384615385 ); ( 30, 1.0 | airfoil | 0, 0.0769230769231 ); ( 30, 1.0 | airfoil | 0, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0769230769231 ); ( 30, 1.0 | airfoil | 1, 0.115384615385 ); ( 30, 1.0 | airfoil | 1, 0.153846153846 ); ( 30, 1.0 | airfoil | 1, 0.192307692308 ); ( 30, 1.0 | airfoil | 1, 0.230769230769 ); ( 30, 1.0 | airfoil | 1, 0.269230769231 ); ( 30, 1.0 | airfoil | 1, 0.307692307692 ); ( 30, 1.0 | airfoil | 1, 0.346153846154 ); ( 30, 1.0 | airfoil | 1, 0.384615384615 ); ( 30, 1.0 | airfoil | 1, 0.423076923077 ); ( 30, 1.0 | airfoil | 1, 0.461538461538 ); ( 30, 1.0 | airfoil | 1, 0.5 ); ( 30, 1.0 | airfoil | 1, 0.538461538462 ); ( 30, 1.0 | airfoil | 1, 0.576923076923 ); ( 30, 1.0 | airfoil | 1, 0.615384615385 ); ( 30, 1.0 | airfoil | 1, 0.653846153846 ); ( 30, 1.0 | airfoil | 1, 0.692307692308 ); ( 30, 1.0 | airfoil | 1, 0.730769230769 ); ( 30, 1.0 | airfoil | 1, 0.769230769231 ); ( 30, 1.0 | airfoil | 1, 0.807692307692 ); ( 30, 1.0 | airfoil | 1, 0.846153846154 ); ( 30, 1.0 | airfoil | 1, 0.884615384615 ); ( 30, 1.0 | airfoil | 1, 0.923076923077 ); ( 30, 1.0 | airfoil | 1, 0.961538461538 ) diff --git a/TestCases/unsteady/pitching_naca64a010_rans/turb_NACA64A010.cfg b/TestCases/unsteady/pitching_naca64a010_rans/turb_NACA64A010.cfg index e5e3fedf112..40beee82d23 100644 --- a/TestCases/unsteady/pitching_naca64a010_rans/turb_NACA64A010.cfg +++ b/TestCases/unsteady/pitching_naca64a010_rans/turb_NACA64A010.cfg @@ -5,392 +5,159 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= SA -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0023555025613149587 % 24 steps per period: 0.0024536485013697488 % 25 steps per period: 0.0023555025613149587 % 36 steps per period: 0.0016357592286692995 % -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 0.59 % 10 periods: 0.5888756403287397 % -% Number of internal iterations (dual time method) INNER_ITER= 2000 -% -% Direct iteration number at which to begin unsteady adjoint UNST_ADJOINT_ITER= 251 -% -% Type of mesh motion (NONE, FLUTTER, RIGID_MOTION) GRID_MOVEMENT= RIGID_MOTION -% -% Mach number (non-dimensional, based on the mesh velocity and freestream vals.) MACH_MOTION= 0.796 -% -% Coordinates of the rigid motion origin MOTION_ORIGIN= 0.248 0.0 0.0 -% -% Pitching angular freq. (rad/s) about x, y, & z axes (RIGID_MOTION only) PITCHING_OMEGA= 0.0 0.0 106.69842 -% -% Pitching amplitude (degrees) about x, y, & z axes (RIGID_MOTION only) PITCHING_AMPL= 0.0 0.0 1.01 -% % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.796 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 12560000.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.248 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % ----------------------- BOUNDARY CONDITION DEFINITION -----------------------% % -% Marker of the Navier-Stokes boundary marker(s) (0 = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Marker of the far field (0 = no marker) MARKER_FAR= ( farfield ) % ------------------------ SURFACES IDENTIFICATION ----------------------------% % -% Marker(s) of the surface in the surface flow solution file MARKER_PLOTTING = ( airfoil ) -% -% Marker(s) of the surface where the non-dimensional coefficients are evaluated. MARKER_MONITORING = ( airfoil ) -% -% Marker(s) of the surface where obj. func. (design problem) will be evaluated MARKER_DESIGNING = ( airfoil ) % ------------- COMMON PARAMETERS TO DEFINE THE NUMERICAL METHOD --------------% -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) -NUM_METHOD_GRAD= GREEN_GAUSS % -% Courant-Friedrichs-Lewy condition of the finest grid +NUM_METHOD_GRAD= GREEN_GAUSS CFL_NUMBER= 4.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 2 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= W_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.7 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% Coefficient for the limiter (smooth regions) VENKAT_LIMITER_COEFF= 0.03 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % ---------------- ADJOINT-FLOW NUMERICAL METHOD DEFINITION -------------------% % -% Adjoint problem boundary condition (DRAG, LIFT, SIDEFORCE, MOMENT_X, -% MOMENT_Y, MOMENT_Z, EFFICIENCY, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% FORCE_X, FORCE_Y, FORCE_Z, THRUST, TORQUE) OBJECTIVE_FUNCTION= DRAG -% -% Convective numerical method (JST, LAX-FRIEDRICH, ROE) CONV_NUM_METHOD_ADJFLOW= JST -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the adjoint flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_ADJFLOW= YES -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH_JESPERSEN, VAN_ALBADA_EDGE, -% SHARP_EDGES, WALL_DISTANCE) SLOPE_LIMITER_ADJFLOW= NONE -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% 2nd, and 4th order artificial dissipation coefficients ADJ_JST_SENSOR_COEFF= ( 0.0, 0.01 ) -% -% Reduction factor of the CFL coefficient in the adjoint problem CFL_REDUCTION_ADJFLOW= 0.9 -% -% Limit value for the adjoint variable LIMIT_ADJFLOW= 1E6 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= YES -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT) TIME_DISCRE_ADJFLOW= EULER_IMPLICIT -% -% Adjoint frozen viscosity (NO, YES) FROZEN_VISC_CONT= YES % ----------------------- GEOMETRY EVALUATION PARAMETERS ----------------------% % -% Marker(s) of the surface where geometrical based function will be evaluated GEO_MARKER= ( airfoil ) -% -% Description of the geometry to be analyzed (AIRFOIL, WING, FUSELAGE) GEO_DESCRIPTION= AIRFOIL -% -% Geometrical evaluation mode (FUNCTION, GRADIENT) GEO_MODE= FUNCTION % ------------------------ GRID DEFORMATION PARAMETERS ------------------------% -% Kind of deformation (FFD_SETTING, HICKS_HENNE, HICKS_HENNE_NORMAL, PARABOLIC, -% HICKS_HENNE_SHOCK, NACA_4DIGITS, DISPLACEMENT, ROTATION, -% FFD_CONTROL_POINT, FFD_DIHEDRAL_ANGLE, FFD_TWIST_ANGLE, -% FFD_ROTATION) -DV_KIND= HICKS_HENNE % -% Marker of the surface in which we are going apply the shape deformation +DV_KIND= HICKS_HENNE DV_MARKER= ( airfoil ) -% -% Parameters of the shape deformation -% - HICKS_HENNE_FAMILY ( Lower(0)/Upper(1) side, x_Loc ) -% - NACA_4DIGITS ( 1st digit, 2nd digit, 3rd and 4th digit ) -% - PARABOLIC ( 1st digit, 2nd and 3rd digit ) -% - DISPLACEMENT ( x_Disp, y_Disp, z_Disp ) -% - ROTATION ( x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) DV_PARAM= ( 1, 0.5 ) -% -% Old value of the deformation for incremental deformations DV_VALUE= 0.05 % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -8 -% -% Start Cauchy criteria at iteration number CONV_STARTITER= 1 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA64A010_turb.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= restart_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= restart_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 -% % --------------------- OPTIMAL SHAPE DESIGN DEFINITION -----------------------% % -% Available flow based objective functions or constraint functions -% DRAG, LIFT, SIDEFORCE, EFFICIENCY, BUFFET, -% FORCE_X, FORCE_Y, FORCE_Z, -% MOMENT_X, MOMENT_Y, MOMENT_Z, -% THRUST, TORQUE, FIGURE_OF_MERIT, -% EQUIVALENT_AREA, NEARFIELD_PRESSURE, -% TOTAL_HEATFLUX, MAXIMUM_HEATFLUX, -% INVERSE_DESIGN_PRESSURE, INVERSE_DESIGN_HEATFLUX, -% SURFACE_TOTAL_PRESSURE, SURFACE_MASSFLOW -% SURFACE_STATIC_PRESSURE, SURFACE_MACH -% -% Available geometrical based objective functions or constraint functions -% AIRFOIL_AREA, AIRFOIL_THICKNESS, AIRFOIL_CHORD, AIRFOIL_TOC, AIRFOIL_AOA, -% WING_VOLUME, WING_MIN_THICKNESS, WING_MAX_THICKNESS, WING_MAX_CHORD, WING_MIN_TOC, WING_MAX_TWIST, WING_MAX_CURVATURE, WING_MAX_DIHEDRAL -% STATION#_WIDTH, STATION#_AREA, STATION#_THICKNESS, STATION#_CHORD, STATION#_TOC, -% STATION#_TWIST (where # is the index of the station defined in GEO_LOCATION_STATIONS) -% -% Available design variables -% 2D Design variables -% FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) -% FFD_CAMBER_2D ( 20, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_THICKNESS_2D ( 21, Scale | Mark. List | FFD_BoxTag, i_Ind ) -% FFD_TWIST_2D ( 22, Scale | Mark. List | FFD_BoxTag, x_Orig, y_Orig ) -% HICKS_HENNE ( 30, Scale | Mark. List | Lower(0)/Upper(1) side, x_Loc ) -% ANGLE_OF_ATTACK ( 101, Scale | Mark. List | 1.0 ) -% -% 3D Design variables -% FFD_CONTROL_POINT ( 11, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, k_Ind, x_Mov, y_Mov, z_Mov ) -% FFD_NACELLE ( 12, Scale | Mark. List | FFD_BoxTag, rho_Ind, theta_Ind, phi_Ind, rho_Mov, phi_Mov ) -% FFD_GULL ( 13, Scale | Mark. List | FFD_BoxTag, j_Ind ) -% FFD_CAMBER ( 14, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_TWIST ( 15, Scale | Mark. List | FFD_BoxTag, j_Ind, x_Orig, y_Orig, z_Orig, x_End, y_End, z_End ) -% FFD_THICKNESS ( 16, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind ) -% FFD_ROTATION ( 18, Scale | Mark. List | FFD_BoxTag, x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) -% FFD_ANGLE_OF_ATTACK ( 24, Scale | Mark. List | FFD_BoxTag, 1.0 ) -% -% Global design variables -% TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -% ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - -% Optimization objective function with optional scaling factor -% ex= Objective * Scale OPT_OBJECTIVE= DRAG * 0.001 - -% Optimization constraint functions with scaling factors, separated by semicolons -% ex= (Objective = Value ) * Scale, use '>','<','=' OPT_CONSTRAINT= ( AREA > 0.0661121 ) * 0.001 -% ( AIRFOIL_THICKNESS > 0.1 ) * 0.001 -% ( AREA > 0.0661121 ) * 0.001 -% -% List of design variables (Design variables are separated by semicolons) DEFINITION_DV= ( 30, 1.0 | airfoil | 0, 0.961538461538 ); ( 30, 1.0 | airfoil | 0, 0.923076923077 ); ( 30, 1.0 | airfoil | 0, 0.884615384615 ); ( 30, 1.0 | airfoil | 0, 0.846153846154 ); ( 30, 1.0 | airfoil | 0, 0.807692307692 ); ( 30, 1.0 | airfoil | 0, 0.769230769231 ); ( 30, 1.0 | airfoil | 0, 0.730769230769 ); ( 30, 1.0 | airfoil | 0, 0.692307692308 ); ( 30, 1.0 | airfoil | 0, 0.653846153846 ); ( 30, 1.0 | airfoil | 0, 0.615384615385 ); ( 30, 1.0 | airfoil | 0, 0.576923076923 ); ( 30, 1.0 | airfoil | 0, 0.538461538462 ); ( 30, 1.0 | airfoil | 0, 0.5 ); ( 30, 1.0 | airfoil | 0, 0.461538461538 ); ( 30, 1.0 | airfoil | 0, 0.423076923077 ); ( 30, 1.0 | airfoil | 0, 0.384615384615 ); ( 30, 1.0 | airfoil | 0, 0.346153846154 ); ( 30, 1.0 | airfoil | 0, 0.307692307692 ); ( 30, 1.0 | airfoil | 0, 0.269230769231 ); ( 30, 1.0 | airfoil | 0, 0.230769230769 ); ( 30, 1.0 | airfoil | 0, 0.192307692308 ); ( 30, 1.0 | airfoil | 0, 0.153846153846 ); ( 30, 1.0 | airfoil | 0, 0.115384615385 ); ( 30, 1.0 | airfoil | 0, 0.0769230769231 ); ( 30, 1.0 | airfoil | 0, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0384615384615 ); ( 30, 1.0 | airfoil | 1, 0.0769230769231 ); ( 30, 1.0 | airfoil | 1, 0.115384615385 ); ( 30, 1.0 | airfoil | 1, 0.153846153846 ); ( 30, 1.0 | airfoil | 1, 0.192307692308 ); ( 30, 1.0 | airfoil | 1, 0.230769230769 ); ( 30, 1.0 | airfoil | 1, 0.269230769231 ); ( 30, 1.0 | airfoil | 1, 0.307692307692 ); ( 30, 1.0 | airfoil | 1, 0.346153846154 ); ( 30, 1.0 | airfoil | 1, 0.384615384615 ); ( 30, 1.0 | airfoil | 1, 0.423076923077 ); ( 30, 1.0 | airfoil | 1, 0.461538461538 ); ( 30, 1.0 | airfoil | 1, 0.5 ); ( 30, 1.0 | airfoil | 1, 0.538461538462 ); ( 30, 1.0 | airfoil | 1, 0.576923076923 ); ( 30, 1.0 | airfoil | 1, 0.615384615385 ); ( 30, 1.0 | airfoil | 1, 0.653846153846 ); ( 30, 1.0 | airfoil | 1, 0.692307692308 ); ( 30, 1.0 | airfoil | 1, 0.730769230769 ); ( 30, 1.0 | airfoil | 1, 0.769230769231 ); ( 30, 1.0 | airfoil | 1, 0.807692307692 ); ( 30, 1.0 | airfoil | 1, 0.846153846154 ); ( 30, 1.0 | airfoil | 1, 0.884615384615 ); ( 30, 1.0 | airfoil | 1, 0.923076923077 ); ( 30, 1.0 | airfoil | 1, 0.961538461538 ) diff --git a/TestCases/unsteady/plunging_naca0012/plunging_NACA0012.cfg b/TestCases/unsteady/plunging_naca0012/plunging_NACA0012.cfg index a3f123fc043..d98298bac01 100644 --- a/TestCases/unsteady/plunging_naca0012/plunging_NACA0012.cfg +++ b/TestCases/unsteady/plunging_naca0012/plunging_NACA0012.cfg @@ -5,242 +5,117 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Jun 12, 2014 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= NAVIER_STOKES -% -% Specify turbulent model (NONE, SA, SA_NEG, SST) KIND_TURB_MODEL= NONE -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= NO % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0023555025613149587 % 24 steps per period: 0.0024536485013697488 % 25 steps per period: 0.0023555025613149587 % -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 0.5888756403287397 % 10 periods: 0.5888756403287397 % -% Number of internal iterations (dual time method) INNER_ITER= 1000 % ----------------------- DYNAMIC MESH DEFINITION -----------------------------% % -% Type of mesh motion (NONE, FLUTTER, RIGID_ROTATION, RIGID_PITCHING) GRID_MOVEMENT= RIGID_MOTION -% -% Coordinates of the motion origin MOTION_ORIGIN= 0.25 0.0 0.0 -% -% Plunging angular freq. (rad/s) in x, y, & z directions PLUNGING_OMEGA= 0.0 106.69842 0.0 -% -% Plunging amplitude (m) in x, y, & z directions PLUNGING_AMPL= 0.0 1.01 0.0 + % -------------------- COMPRESSIBLE FREE-STREAM DEFINITION --------------------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.3 -% -% Angle of attack (degrees, only for compressible flows) AOA= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 1000.0 -% -% Reynolds length (1 m by default) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( airfoil, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( farfield ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( airfoil ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( airfoil ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= GREEN_GAUSS -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 1.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations EXT_ITER= 99999 % ----------------------- SLOPE LIMITER DEFINITION ----------------------------% % -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 0.1 -% -% Coefficient for the sharp edges limiter ADJ_SHARP_LIMITER_COEFF= 3.0 -% -% Reference coefficient (sensitivity) for detecting sharp edges. REF_SHARP_EDGES= 3.0 -% -% Remove sharp edges from the sensitivity evaluation (NO, YES) SENS_REMOVE_SHARP= NO % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for implicit formulations (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Minimum error of the linear solver for implicit formulations LINEAR_SOLVER_ERROR= 1E-4 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 5 % -------------------------- MULTIGRID PARAMETERS -----------------------------% % -% Multi-Grid Levels (0 = no multi-grid) MGLEVEL= 3 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) MGCYCLE= V_CYCLE -% -% Multi-Grid PreSmoothing Level MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-Grid PostSmoothing Level MG_POST_SMOOTH= ( 2, 2, 2, 2 ) -% -% Jacobi implicit smoothing of the correction MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation MG_DAMP_PROLONGATION= 0.7 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the flow equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_FLOW= YES -% -% Slope limiter (VENKATAKRISHNAN, MINMOD) SLOPE_LIMITER_FLOW= VENKATAKRISHNAN -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -12 -% -% Start convergence criteria at iteration number CONV_STARTITER= 1 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_NACA0012_lam.su2 -% -% Mesh input file format (SU2, CGNS, NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency OUTPUT_WRT_FREQ= 1 -% diff --git a/TestCases/unsteady/square_cylinder/turb_square.cfg b/TestCases/unsteady/square_cylinder/turb_square.cfg index 260d765bc0c..453e477376c 100644 --- a/TestCases/unsteady/square_cylinder/turb_square.cfg +++ b/TestCases/unsteady/square_cylinder/turb_square.cfg @@ -5,254 +5,109 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.02.25 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% % -% Physical governing equations (EULER, NAVIER_STOKES, -% WAVE_EQUATION, HEAT_EQUATION, FEM_ELASTICITY, -% POISSON_EQUATION) SOLVER= RANS -% -% If Navier-Stokes, kind of turbulent model (NONE, SA) KIND_TURB_MODEL= SST -% -% Mathematical problem (DIRECT, CONTINUOUS_ADJOINT) MATH_PROBLEM= DIRECT -% -% Restart solution (NO, YES) RESTART_SOL= YES -% -% Read binary restart files (YES, NO) READ_BINARY_RESTART= NO -% -% Unsteady restart iteration (need previous restart files) RESTART_ITER= 2 + % ------------------------- UNSTEADY SIMULATION -------------------------------% % -% Enable time domain TIME_DOMAIN = YES -% -% Unsteady simulation (NO, TIME_STEPPING, DUAL_TIME_STEPPING-1ST_ORDER, -% DUAL_TIME_STEPPING-2ND_ORDER, HARMONIC_BALANCE) TIME_MARCHING= DUAL_TIME_STEPPING-2ND_ORDER -% -% Time Step for dual time stepping simulations (s) TIME_STEP= 0.0015 -% -% Total Physical Time for dual time stepping simulations (s) MAX_TIME= 3.75 % 2500 iterations - 3.75 % 3500 iterations - 5.25 % 5000 iterations - 7.50 % -% Number of internal iterations (dual time method) INNER_ITER= 10 % ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% % -% Mach number (non-dimensional, based on the free-stream values) MACH_NUMBER= 0.1 -% -% Angle of attack (degrees) AOA= 0.0 -% -% Side-slip angle (degrees) SIDESLIP_ANGLE= 0.0 -% -% Free-stream temperature (288.15 K by default) FREESTREAM_TEMPERATURE= 288.15 -% -% Reynolds number (non-dimensional, based on the free-stream values) REYNOLDS_NUMBER= 22000.0 -% -% Reynolds length (in meters) REYNOLDS_LENGTH= 1.0 % ---------------------- REFERENCE VALUE DEFINITION ---------------------------% % -% Reference origin for moment computation REF_ORIGIN_MOMENT_X = 0.00 REF_ORIGIN_MOMENT_Y = 0.00 REF_ORIGIN_MOMENT_Z = 0.00 -% -% Reference length for pitching, rolling, and yawing non-dimensional moment REF_LENGTH= 1.0 -% -% Reference area for force coefficients (0 implies automatic calculation) REF_AREA= 1.0 % -------------------- BOUNDARY CONDITION DEFINITION --------------------------% % -% Navier-Stokes wall boundary marker(s) (NONE = no marker) MARKER_HEATFLUX= ( square, 0.0 ) -% -% Farfield boundary marker(s) (NONE = no marker) MARKER_FAR= ( inlet, outlet, upper, lower ) -% -% Marker(s) of the surface to be plotted or designed MARKER_PLOTTING= ( square ) -% -% Marker(s) of the surface where the functional (Cd, Cl, etc.) will be evaluated MARKER_MONITORING= ( square ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % -% Numerical method for spatial gradients (GREEN_GAUSS, LEAST_SQUARES, -% WEIGHTED_LEAST_SQUARES) NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -% -% Courant-Friedrichs-Lewy condition of the finest grid CFL_NUMBER= 2.0 -% -% Adaptive CFL number (NO, YES) CFL_ADAPT= NO -% -% Parameters of the adaptive CFL number (factor down, factor up, CFL min value, -% CFL max value ) CFL_ADAPT_PARAM= ( 1.5, 0.5, 1.0, 100.0 ) -% -% Runge-Kutta alpha coefficients RK_ALPHA_COEFF= ( 0.66667, 0.66667, 1.000000 ) -% -% Number of total iterations TIME_ITER= 3 -% % ------------------------ LINEAR SOLVER DEFINITION ---------------------------% % -% Linear solver for the implicit (or discrete adjoint) formulation (BCGSTAB, FGMRES) LINEAR_SOLVER= FGMRES -% -% Preconditioner of the Krylov linear solver (JACOBI, LINELET, LU_SGS) LINEAR_SOLVER_PREC= LU_SGS -% -% Min error of the linear solver for the implicit formulation LINEAR_SOLVER_ERROR= 1E-6 -% -% Max number of iterations of the linear solver for the implicit formulation LINEAR_SOLVER_ITER= 2 -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -% Multi-Grid Levels (0 = no multi-grid) -MGLEVEL= 0 -% -% Multi-grid cycle (V_CYCLE, W_CYCLE, FULLMG_CYCLE) -MGCYCLE= V_CYCLE -% -% Multi-grid pre-smoothing level -MG_PRE_SMOOTH= ( 1, 2, 3, 3 ) -% -% Multi-grid post-smoothing level -MG_POST_SMOOTH= ( 0, 0, 0, 0 ) -% -% Jacobi implicit smoothing of the correction -MG_CORRECTION_SMOOTH= ( 0, 0, 0, 0 ) -% -% Damping factor for the residual restriction -MG_DAMP_RESTRICTION= 0.7 -% -% Damping factor for the correction prolongation -MG_DAMP_PROLONGATION= 0.7 - % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % -% Convective numerical method (JST, LAX-FRIEDRICH, CUSP, ROE, AUSM, HLLC, -% TURKEL_PREC, MSW) CONV_NUM_METHOD_FLOW= ROE -% -% Spatial numerical order integration (1ST_ORDER, 2ND_ORDER, 2ND_ORDER_LIMITER) MUSCL_FLOW= YES -% -% Coefficient for the limiter VENKAT_LIMITER_COEFF= 1.0 -% -% 2nd and 4th order artificial dissipation coefficients JST_SENSOR_COEFF= ( 0.5, 0.02 ) -% -% Time discretization (RUNGE-KUTTA_EXPLICIT, EULER_IMPLICIT, EULER_EXPLICIT) TIME_DISCRE_FLOW= EULER_IMPLICIT % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) CONV_NUM_METHOD_TURB= SCALAR_UPWIND -% -% Monotonic Upwind Scheme for Conservation Laws (TVD) in the turbulence equations. -% Required for 2nd order upwind schemes (NO, YES) MUSCL_TURB= NO -% -% Slope limiter (NONE, VENKATAKRISHNAN, BARTH) SLOPE_LIMITER_TURB= VENKATAKRISHNAN -% -% Time discretization (EULER_IMPLICIT) TIME_DISCRE_TURB= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % -% Min value of the residual (log10 of the residual) CONV_RESIDUAL_MINVAL= -10 -% -% Start convergence criteria at iteration number CONV_STARTITER= 10 -% -% Number of elements to apply the criteria CONV_CAUCHY_ELEMS= 100 -% -% Epsilon to control the series convergence CONV_CAUCHY_EPS= 1E-5 -% % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% % -% Mesh input file MESH_FILENAME= mesh_square_turb_hybrid.su2 -% -% Mesh input file format (SU2, CGNS NETCDF_ASCII) MESH_FORMAT= SU2 -% -% Mesh output file MESH_OUT_FILENAME= mesh_out.su2 -% -% Restart flow input file SOLUTION_FILENAME= solution_flow.dat -% -% Restart adjoint input file SOLUTION_ADJ_FILENAME= solution_adj.dat -% TABULAR_FORMAT= CSV -% -% Output file convergence history (w/o extension) CONV_FILENAME= history -% -% Output file restart flow RESTART_FILENAME= restart_flow.dat -% -% Output file restart adjoint RESTART_ADJ_FILENAME= restart_adj.dat -% -% Output file flow (w/o extension) variables VOLUME_FILENAME= flow -% -% Output file adjoint (w/o extension) variables VOLUME_ADJ_FILENAME= adjoint -% -% Output Objective function gradient (using continuous adjoint) GRAD_OBJFUNC_FILENAME= of_grad.dat -% -% Output file surface flow coefficient (w/o extension) SURFACE_FILENAME= surface_flow -% -% Output file surface adjoint coefficient (w/o extension) SURFACE_ADJ_FILENAME= surface_adjoint -% -% Writing solution file frequency for physical time steps (dual time) OUTPUT_WRT_FREQ= 1 -% -% Screen output SCREEN_OUTPUT= (TIME_ITER, INNER_ITER, RMS_DENSITY, RMS_TKE, RMS_DISSIPATION, LIFT, DRAG, TAVG_LIFT, TAVG_DRAG, TOTAL_HEATFLUX) -% OUTPUT_FILES= (RESTART_ASCII) diff --git a/TestCases/user_defined_functions/lam_flatplate.cfg b/TestCases/user_defined_functions/lam_flatplate.cfg index fadc6404de5..e7142ef068e 100644 --- a/TestCases/user_defined_functions/lam_flatplate.cfg +++ b/TestCases/user_defined_functions/lam_flatplate.cfg @@ -4,7 +4,7 @@ % Case description: Test custom outputs and objective function. % % Author: P. Gomes % % Date: 5th Jan 2022 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/vandv.py b/TestCases/vandv.py index c5d4c45044b..a28605057a2 100644 --- a/TestCases/vandv.py +++ b/TestCases/vandv.py @@ -6,7 +6,7 @@ # - Use the SU2 --dry_run mode for configs of large tests. # - Restart from converged results for medium problems. # - Run small cases (<20s) to convergence. -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/vandv/rans/30p30n/config.cfg b/TestCases/vandv/rans/30p30n/config.cfg index b3dbee99ca2..da6749b88b3 100644 --- a/TestCases/vandv/rans/30p30n/config.cfg +++ b/TestCases/vandv/rans/30p30n/config.cfg @@ -76,7 +76,7 @@ NEWTON_KRYLOV_DPARAM= ( 0.0, 1e-20, -3, 1e-5 ) % r0, tp, rf, e % % ------------------------ CONVERGENCE CRITERIA ------------------------- % % -ITER= 10000 +ITER= 20 CONV_RESIDUAL_MINVAL= -11.5 % % --------------------------- INPUT / OUTPUT ---------------------------- % diff --git a/TestCases/wallfunctions/flatplate/compressible_SA/turb_SA_flatplate.cfg b/TestCases/wallfunctions/flatplate/compressible_SA/turb_SA_flatplate.cfg index 7f3aefd2ca2..c57cfc0343d 100644 --- a/TestCases/wallfunctions/flatplate/compressible_SA/turb_SA_flatplate.cfg +++ b/TestCases/wallfunctions/flatplate/compressible_SA/turb_SA_flatplate.cfg @@ -6,7 +6,7 @@ % Author: Nijso Beishuizen, T. Kattmann % % Institution: Bosch Thermotechnology % % Date: 2021.09.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -65,11 +65,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1e-15 LINEAR_SOLVER_ITER= 10 -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -MGLEVEL= 0 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= ROE @@ -95,7 +91,6 @@ CONV_CAUCHY_EPS= 1E-6 % MESH_FILENAME= ../mesh_flatplate_140x100.su2 MESH_FORMAT= SU2 -% SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_ENERGY, RMS_NU_TILDE, \ LINSOL_ITER, LINSOL_RESIDUAL, LIFT, DRAG) SCREEN_WRT_FREQ_INNER= 10 diff --git a/TestCases/wallfunctions/flatplate/compressible_SST/turb_SST_flatplate.cfg b/TestCases/wallfunctions/flatplate/compressible_SST/turb_SST_flatplate.cfg index a572ab8a898..bfc2b2d0748 100644 --- a/TestCases/wallfunctions/flatplate/compressible_SST/turb_SST_flatplate.cfg +++ b/TestCases/wallfunctions/flatplate/compressible_SST/turb_SST_flatplate.cfg @@ -6,7 +6,7 @@ % Author: Nijso Beishuizen, T. Kattmann % % Institution: Bosch Thermotechnology % % Date: 2021.09.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -65,11 +65,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1e-15 LINEAR_SOLVER_ITER= 10 -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -MGLEVEL= 0 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= ROE @@ -95,7 +91,6 @@ CONV_CAUCHY_EPS= 1E-6 % MESH_FILENAME= ../mesh_flatplate_140x100.su2 MESH_FORMAT= SU2 -% SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_DENSITY, RMS_MOMENTUM-X, RMS_MOMENTUM-Y, RMS_ENERGY, RMS_TKE, RMS_DISSIPATION, \ LINSOL_ITER, LINSOL_RESIDUAL, LIFT, DRAG) SCREEN_WRT_FREQ_INNER= 10 diff --git a/TestCases/wallfunctions/flatplate/incompressible_SA/turb_SA_flatplate.cfg b/TestCases/wallfunctions/flatplate/incompressible_SA/turb_SA_flatplate.cfg index bd85066cbb7..85c4be8e24d 100644 --- a/TestCases/wallfunctions/flatplate/incompressible_SA/turb_SA_flatplate.cfg +++ b/TestCases/wallfunctions/flatplate/incompressible_SA/turb_SA_flatplate.cfg @@ -6,7 +6,7 @@ % Author: Nijso Beishuizen, T. Kattmann % % Institution: Bosch Thermotechnology % % Date: 2021.09.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -68,11 +68,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1e-15 LINEAR_SOLVER_ITER= 10 -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -MGLEVEL= 0 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -97,7 +93,6 @@ CONV_CAUCHY_EPS= 1E-6 % MESH_FILENAME= ../mesh_flatplate_140x100.su2 MESH_FORMAT= SU2 -% SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_PRESSURE, RMS_VELOCITY-X, RMS_VELOCITY-Y, RMS_TEMPERATURE, RMS_NU_TILDE, \ LINSOL_ITER, LINSOL_RESIDUAL, LIFT, DRAG) SCREEN_WRT_FREQ_INNER= 10 diff --git a/TestCases/wallfunctions/flatplate/incompressible_SST/turb_SST_flatplate.cfg b/TestCases/wallfunctions/flatplate/incompressible_SST/turb_SST_flatplate.cfg index 93377c3c8c1..ae875576c6c 100644 --- a/TestCases/wallfunctions/flatplate/incompressible_SST/turb_SST_flatplate.cfg +++ b/TestCases/wallfunctions/flatplate/incompressible_SST/turb_SST_flatplate.cfg @@ -6,7 +6,7 @@ % Author: Nijso Beishuizen, T. Kattmann % % Institution: Bosch Thermotechnology % % Date: 2021.09.01 % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % @@ -39,10 +39,8 @@ REF_AREA= 2.0 % MARKER_HEATFLUX= ( wall, 0.0 ) MARKER_SYM= ( symmetry ) -% INC_INLET_TYPE= VELOCITY_INLET MARKER_INLET= ( inlet, 302.4, 70.0, 1.0, 0.0, 0.0 ) -% INC_OUTLET_TYPE= PRESSURE_OUTLET PRESSURE_OUTLET MARKER_OUTLET= ( outlet, 0.0, farfield, 0.0 ) % @@ -68,11 +66,7 @@ LINEAR_SOLVER= FGMRES LINEAR_SOLVER_PREC= ILU LINEAR_SOLVER_ERROR= 1e-15 LINEAR_SOLVER_ITER= 10 -% -% -------------------------- MULTIGRID PARAMETERS -----------------------------% -% -MGLEVEL= 0 -% + % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % CONV_NUM_METHOD_FLOW= FDS @@ -97,15 +91,12 @@ CONV_CAUCHY_EPS= 1E-6 % MESH_FILENAME= ../mesh_flatplate_140x100.su2 MESH_FORMAT= SU2 -% SCREEN_OUTPUT= (INNER_ITER, WALL_TIME, RMS_PRESSURE, RMS_VELOCITY-X, RMS_VELOCITY-Y, RMS_TEMPERATURE, RMS_TKE, RMS_DISSIPATION, \ LINSOL_ITER, LINSOL_RESIDUAL, LIFT, DRAG, TOTAL_HEATFLUX) SCREEN_WRT_FREQ_INNER= 10 -% HISTORY_OUTPUT= (ITER, RMS_RES, AERO_COEFF, FLOW_COEFF) MARKER_PLOTTING= ( wall ) MARKER_MONITORING= ( wall ) -% OUTPUT_FILES= RESTART, PARAVIEW_MULTIBLOCK VOLUME_OUTPUT= RESIDUAL, PRIMITIVE OUTPUT_WRT_FREQ= 1000, 500 diff --git a/UnitTests/Common/containers/CLookupTable_tests.cpp b/UnitTests/Common/containers/CLookupTable_tests.cpp index d19d1800fc0..29b223afc85 100644 --- a/UnitTests/Common/containers/CLookupTable_tests.cpp +++ b/UnitTests/Common/containers/CLookupTable_tests.cpp @@ -2,7 +2,7 @@ * \file CLookupTable_tests.cpp * \brief Unit tests for the lookup table. * \author N. Beishuizen - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/geometry/CGeometry_test.cpp b/UnitTests/Common/geometry/CGeometry_test.cpp index 9a42f709ded..1250e1fa72c 100644 --- a/UnitTests/Common/geometry/CGeometry_test.cpp +++ b/UnitTests/Common/geometry/CGeometry_test.cpp @@ -2,7 +2,7 @@ * \file CGeometry_tests.cpp * \brief Unit tests for CGeometry. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp b/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp index 638fff15cf8..6e62c87b44f 100644 --- a/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp +++ b/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp @@ -2,7 +2,7 @@ * \file CDualGrid_tests.cpp * \brief Unit tests for the dual grid classes * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp b/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp index 9f238af182c..ba72f34e9ff 100644 --- a/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp +++ b/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp @@ -2,7 +2,7 @@ * \file CPrimalGrid_tests.cpp * \brief Unit tests for the primal grid classes * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/simple_ad_test.cpp b/UnitTests/Common/simple_ad_test.cpp index 8c44470a47c..42bd4530f8d 100644 --- a/UnitTests/Common/simple_ad_test.cpp +++ b/UnitTests/Common/simple_ad_test.cpp @@ -4,7 +4,7 @@ * basic functionality, this also serves as a regression test * to make sure that AD works within unit testing. * \author C. Pederson - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/simple_directdiff_test.cpp b/UnitTests/Common/simple_directdiff_test.cpp index cf29beb362f..82dbbba13c6 100644 --- a/UnitTests/Common/simple_directdiff_test.cpp +++ b/UnitTests/Common/simple_directdiff_test.cpp @@ -4,7 +4,7 @@ * basic functionality, this also serves as a regression test * to make sure that DD works within unit testing. * \author C. Pederson - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp b/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp index ccc038e5244..d6e0e483011 100644 --- a/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp +++ b/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp @@ -2,7 +2,7 @@ * \file C1DInterpolation_tests.cpp * \brief Unit tests for splines and what not. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp b/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp index c07d6034809..91c8e13019f 100644 --- a/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp +++ b/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp @@ -3,7 +3,7 @@ * \brief Unit tests for the CQuasiNewtonInvLeastSquares class. * Which should find the root of a n-d linear problem in n+1 iterations. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/toolboxes/ndflattener_tests.cpp b/UnitTests/Common/toolboxes/ndflattener_tests.cpp index 0a84bb8f585..99a24ea4a3f 100644 --- a/UnitTests/Common/toolboxes/ndflattener_tests.cpp +++ b/UnitTests/Common/toolboxes/ndflattener_tests.cpp @@ -2,7 +2,7 @@ * \file ndflattener_tests.cpp * \brief Unit tests for NdFlattener template classes. * \author M. Aehle - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/vectorization.cpp b/UnitTests/Common/vectorization.cpp index ac35ccd0bc0..33ca4f0c66f 100644 --- a/UnitTests/Common/vectorization.cpp +++ b/UnitTests/Common/vectorization.cpp @@ -2,7 +2,7 @@ * \file vectorization.cpp * \brief Unit tests for the SIMD type and associated expression templates. * \author P. Gomes - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/SU2_CFD/gradients.cpp b/UnitTests/SU2_CFD/gradients.cpp index 6414812a79e..942fc9bc369 100644 --- a/UnitTests/SU2_CFD/gradients.cpp +++ b/UnitTests/SU2_CFD/gradients.cpp @@ -2,7 +2,7 @@ * \file gradients.cpp * \brief Unit tests for gradient calculation. * \author P. Gomes, T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp b/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp index ab91cab1837..173ec46dff6 100644 --- a/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp +++ b/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp @@ -2,7 +2,7 @@ * \file CNumerics_tests.cpp * \brief Unit tests for the numerics classes. * \author C. Pederson - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/SU2_CFD/windowing.cpp b/UnitTests/SU2_CFD/windowing.cpp index 4045e09ccaf..ef4b6b795ac 100644 --- a/UnitTests/SU2_CFD/windowing.cpp +++ b/UnitTests/SU2_CFD/windowing.cpp @@ -2,7 +2,7 @@ * \file windowing.cpp * \brief Unit tests for windowed time-averaging. * \author C. Bauer - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/UnitQuadTestCase.hpp b/UnitTests/UnitQuadTestCase.hpp index e64024a19b9..eb501ae4671 100644 --- a/UnitTests/UnitQuadTestCase.hpp +++ b/UnitTests/UnitQuadTestCase.hpp @@ -2,7 +2,7 @@ * \file UnitQuadTestCase.hpp * \brief Simple unit quad test to be used in unit tests. * \author T. Albring - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/test_driver.cpp b/UnitTests/test_driver.cpp index e2c27024d4c..175888e3dcd 100644 --- a/UnitTests/test_driver.cpp +++ b/UnitTests/test_driver.cpp @@ -2,7 +2,7 @@ * \file test_driver.cpp * \brief The main entry point for unit tests (the main()). * \author C. Pederson - * \version 7.4.0 "Blackbird" + * \version 7.5.0 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/config_template.cfg b/config_template.cfg index 954cfd76d5f..c67f66ef478 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -5,7 +5,7 @@ % Author: ___________________________________________________________________ % % Institution: ______________________________________________________________ % % Date: __________ % -% File Version 7.4.0 "Blackbird" % +% File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -29,6 +29,8 @@ SA_OPTIONS= NONE % % Transition model (NONE, LM) KIND_TRANS_MODEL= NONE +% Specify versions/correlations of the LM model (LM2015, MALAN, SULUKSNA, KRAUSE, KRAUSE_HYPER, MEDIDA, MEDIDA_BAEDER, MENTER_LANGTRY) +LM_OPTIONS= NONE % % Specify subgrid scale model(NONE, IMPLICIT_LES, SMAGORINSKY, WALE, VREMAN) KIND_SGS_MODEL= NONE @@ -337,6 +339,9 @@ CRITICAL_PRESSURE= 3588550.0 % Acentri factor (0.035 (air)) ACENTRIC_FACTOR= 0.035 % +% Thermodynamics(operating) Pressure (101325 Pa default value, only for incompressible flow and FLUID_MIXTURE) +THERMODYNAMIC_PRESSURE= 101325.0 +% % Specific heat at constant pressure, Cp (1004.703 J/kg*K (air)). % Incompressible fluids with energy eqn. (CONSTANT_DENSITY, INC_IDEAL_GAS) and the heat equation. SPECIFIC_HEAT_CP= 1004.703 @@ -717,7 +722,7 @@ MARKER_INLET_SPECIES= (inlet, 0.5, ..., inlet2, 0.6, ...) % Use strong inlet and outlet BC in the species solver SPECIES_USE_STRONG_BC= NO % -% Convective numerical method for species transport (SCALAR_UPWIND) +% Convective numerical method for species transport (SCALAR_UPWIND, BOUNDED_SCALAR) CONV_NUM_METHOD_SPECIES= SCALAR_UPWIND % % Monotonic Upwind Scheme for Conservation Laws (TVD) in the species equations. @@ -761,6 +766,13 @@ BODY_FORCE= NO % Vector of body force values (BodyForce_X, BodyForce_Y, BodyForce_Z) BODY_FORCE_VECTOR= ( 0.0, 0.0, 0.0 ) +% --------------------------- VORTICITY_CONFINEMENT ---------------------------% +% +% Enable vorticity confinement (YES/NO) +VORTICITY_CONFINEMENT = NO +% Set confinement parameter (0.00 by default) +CONFINEMENT_PARAM = 0.00 + % --------------------- STREAMWISE PERIODICITY DEFINITION ---------------------% % % Generally for streamwise periodictiy one has to set MARKER_PERIODIC= (, , ...) @@ -969,6 +981,10 @@ SPATIAL_FOURIER= NO % Catalytic wall marker(s) (NONE = no marker) % Format: ( marker name, ... ) CATALYTIC_WALL= ( NONE ) +% +% Inlet Turbulent boundary marker(s) with the following format: +% (inlet_marker1, TurbIntensity1, RatioTurbLamViscosity1, inlet_marker2, TurbIntensity2, RatioTurbLamViscosity2, ...) +MARKER_INLET_TURBULENT= (inlet1, 0.05, 15, inlet2, 0.02, ...) % ------------------------ WALL ROUGHNESS DEFINITION --------------------------% % The equivalent sand grain roughness height (k_s) on each of the wall. This must be in m. @@ -1190,7 +1206,7 @@ MG_DAMP_PROLONGATION= 0.75 % -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% % % Convective numerical method (JST, JST_KE, JST_MAT, LAX-FRIEDRICH, CUSP, ROE, AUSM, -% AUSMPLUSUP, AUSMPLUSUP2, AUSMPWPLUS, AUSMPLUSM, HLLC, TURKEL_PREC, +% AUSMPLUSUP, AUSMPLUSUP2, AUSMPLUSM, HLLC, TURKEL_PREC, % SW, MSW, FDS, SLAU, SLAU2, L2ROE, LMROE) CONV_NUM_METHOD_FLOW= ROE % @@ -1275,7 +1291,7 @@ KIND_MATRIX_COLORING= GREEDY_COLORING % -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% % -% Convective numerical method (SCALAR_UPWIND) +% Convective numerical method (SCALAR_UPWIND, BOUNDED_SCALAR) CONV_NUM_METHOD_TURB= SCALAR_UPWIND % % Time discretization (EULER_IMPLICIT, EULER_EXPLICIT) diff --git a/externals/Makefile.am b/externals/Makefile.am index 8848eefaaea..e01d77a5dbf 100644 --- a/externals/Makefile.am +++ b/externals/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for external libraries # \author B. Kirk, T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/externals/tecio/Makefile.am b/externals/tecio/Makefile.am index ecc99d26afb..0eec582e6b1 100644 --- a/externals/tecio/Makefile.am +++ b/externals/tecio/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for external libraries # \author B. Kirk, T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/legacy/Makefile.am b/legacy/Makefile.am index 022cace7f87..b98002bac4f 100644 --- a/legacy/Makefile.am +++ b/legacy/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Global makefile for the SU2 project # \author M. Colonno, T. Economon, F. Palacios -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/legacy/configure.ac b/legacy/configure.ac index 54e35ca089f..7145af36a30 100644 --- a/legacy/configure.ac +++ b/legacy/configure.ac @@ -3,7 +3,7 @@ # \file configure.ac # \brief Main file for configuring the autoconf/automake build process # \author M. Colonno, T. Economon, F. Palacios, B. Kirk -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -338,7 +338,7 @@ AC_MSG_RESULT([ ------------------------------------------------------------------------- | ___ _ _ ___ | -| / __| | | |_ ) Release 7.4.0 'Blackbird' | +| / __| | | |_ ) Release 7.5.0 'Blackbird' | | \\__ \\ |_| |/ / | | |___/\\___//___| Suite | | | diff --git a/legacy/preconfigure.py b/legacy/preconfigure.py index 688b1cc97b4..7f99601e27c 100755 --- a/legacy/preconfigure.py +++ b/legacy/preconfigure.py @@ -3,7 +3,7 @@ ## \file configure.py # \brief An extended configuration script. # \author T. Albring -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -553,7 +553,7 @@ def header(): print('-------------------------------------------------------------------------\n'\ '| ___ _ _ ___ | \n'\ - '| / __| | | |_ ) Release 7.4.0 \'Blackbird\' | \n'\ + '| / __| | | |_ ) Release 7.5.0 \'Blackbird\' | \n'\ '| \__ \ |_| |/ / | \n'\ '| |___/\___//___| Pre-configuration Script | \n'\ '| | \n'\ diff --git a/meson.build b/meson.build index 01655e23bb7..883383a7741 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('SU2', 'c', 'cpp', - version: '7.4.0 "Blackbird"', + version: '7.5.0 "Blackbird"', license: 'LGPL2', default_options: ['buildtype=release', 'warning_level=0', @@ -237,18 +237,22 @@ if get_option('enable-mpp') endif if get_option('enable-coolprop') - cmake = import('cmake') - cmake_opts = cmake.subproject_options() - cmake_opts.set_override_option('warning_level', '0') - cmake_opts.add_cmake_defines({ - 'COOLPROP_STATIC_LIBRARY': true, - 'CMAKE_MAKE_PROGRAM': meson.source_root() + '/ninja', - 'CMAKE_POSITION_INDEPENDENT_CODE': 'ON' - }) - coolprop_subproj = cmake.subproject('CoolProp', options: cmake_opts) - coolprop_dep = coolprop_subproj.dependency('CoolProp') - su2_deps += coolprop_dep - su2_cpp_args += '-DHAVE_COOLPROP' + if build_machine.cpu_family() == 'x86' or build_machine.cpu_family() == 'x86_64' + cmake = import('cmake') + cmake_opts = cmake.subproject_options() + cmake_opts.set_override_option('warning_level', '0') + cmake_opts.add_cmake_defines({ + 'COOLPROP_STATIC_LIBRARY': true, + 'CMAKE_MAKE_PROGRAM': meson.source_root() + '/ninja', + 'CMAKE_POSITION_INDEPENDENT_CODE': 'ON' + }) + coolprop_subproj = cmake.subproject('CoolProp', options: cmake_opts) + coolprop_dep = coolprop_subproj.dependency('CoolProp') + su2_deps += coolprop_dep + su2_cpp_args += '-DHAVE_COOLPROP' + else + message('WARNING: CPU is not x86, skipping CoolProp dependency.') + endif endif @@ -283,7 +287,7 @@ endif message('''------------------------------------------------------------------------- | ___ _ _ ___ | - | / __| | | |_ ) Release 7.4.0 "Blackbird" | + | / __| | | |_ ) Release 7.5.0 "Blackbird" | | \__ \ |_| |/ / | | |___/\___//___| Meson Configuration Summary | | | diff --git a/meson.py b/meson.py index 755c0aa589d..6962ef43f77 100755 --- a/meson.py +++ b/meson.py @@ -3,7 +3,7 @@ ## \file meson.py # \brief An extended meson script for setting up the environment and running meson # \author T. Albring -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/meson_scripts/init.py b/meson_scripts/init.py index f9d6731b72a..1c072e0a039 100755 --- a/meson_scripts/init.py +++ b/meson_scripts/init.py @@ -4,7 +4,7 @@ # \brief Initializes necessary dependencies for SU2 either using git or it # fetches zip files. # \author T. Albring -# \version 7.4.0 "Blackbird" +# \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/su2omp.syntax.json b/su2omp.syntax.json index 3ea6266d6a5..a615c330238 100644 --- a/su2omp.syntax.json +++ b/su2omp.syntax.json @@ -4,7 +4,7 @@ "\\file su2omp.syntax.json", "\\brief Definitions for the OpDiLib syntax checker", "\\author J. Blühdorn", - "\\version 7.4.0 \"Blackbird\"", + "\\version 7.5.0 \"Blackbird\"", "SU2 Project Website: https://su2code.github.io", From d63af5d9731bf870e01d2f8286a3038013298a6c Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 10:23:26 -0800 Subject: [PATCH 107/179] addressing code review Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 177 +++++++++++------------ 1 file changed, 85 insertions(+), 92 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 6521613d5e6..91d08dae87d 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2151,21 +2151,16 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - unsigned short iDim; - unsigned long iVertex, iPoint, Point_Normal; - - string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - - su2double Normal[MAXNDIM] = {0.0}; - /*--- Supersonic inlet flow: there are no outgoing characteristics, so all flow variables can be imposed at the inlet. First, retrieve the specified values for the primitive variables. ---*/ - const su2double* Mass_Frac = config->GetInlet_MassFrac(); + const string Marker_Tag = config->GetMarker_All_TagBound(val_marker); + const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); + const su2double* Mass_Frac = config->GetInlet_MassFrac(); su2double Temperature_ve = config->GetInlet_Temperature_ve(); /*--- If no Tve value specified (left as 0 K default), set to Ttr value ---*/ @@ -2179,6 +2174,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver su2double* Mvec = new su2double[nDim]; + unsigned short iDim; for (iDim = 0; iDim < nDim; iDim++) Mvec[iDim] = Velocity[iDim] / soundspeed; @@ -2189,100 +2185,97 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver config, FluidModel); node_inlet.SetPrimVar(0, FluidModel); - + + su2double Normal[MAXNDIM] = {0.0}; + /*--- Loop over all the vertices on this boundary marker ---*/ - for(iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { - iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + for(unsigned long iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { + unsigned long iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ if (!geometry->nodes->GetDomain(iPoint)) continue; - /*--- Index of the closest interior node ---*/ - Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); - - /*--- Normal vector for this vertex (negate for outward convention) ---*/ - geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; - - /*--- Set various quantities in the solver class ---*/ - conv_numerics->SetNormal(Normal); - conv_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet.GetSolution(0)); - conv_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet.GetPrimitive(0)); - - /*--- Pass supplementary info to CNumerics ---*/ - conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); - conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); - conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); - conv_numerics->SetEve(nodes->GetEve(iPoint), node_inlet.GetEve(0)); - conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); - - bool dynamic_grid = config->GetGrid_Movement(); - if (dynamic_grid) - conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), - geometry->nodes->GetGridVel(iPoint)); - - /*--- Compute the residual using an upwind scheme ---*/ - auto residual = conv_numerics->ComputeResidual(config); - LinSysRes.AddBlock(iPoint, residual); + /*--- Index of the closest interior node ---*/ + unsigned long Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); + + /*--- Normal vector for this vertex (negate for outward convention) ---*/ + geometry->vertex[val_marker][iVertex]->GetNormal(Normal); + for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; + + /*--- Set various quantities in the solver class ---*/ + conv_numerics->SetNormal(Normal); + conv_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet.GetSolution(0)); + conv_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet.GetPrimitive(0)); + + /*--- Pass supplementary info to CNumerics ---*/ + conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); + conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); + conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); + conv_numerics->SetEve(nodes->GetEve(iPoint), node_inlet.GetEve(0)); + conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); + + bool dynamic_grid = config->GetGrid_Movement(); + if (dynamic_grid) + conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), + geometry->nodes->GetGridVel(iPoint)); + + /*--- Compute the residual using an upwind scheme ---*/ + auto residual = conv_numerics->ComputeResidual(config); + LinSysRes.AddBlock(iPoint, residual); + + /*--- Jacobian contribution for implicit integration ---*/ + bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + if (implicit) + Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); + + /*--- Viscous contribution ---*/ + bool viscous = config->GetViscous(); + if (viscous) { + + /*--- Set the normal vector and the coordinates ---*/ + visc_numerics->SetNormal(Normal); + su2double Coord_Reflected[MAXNDIM]; + GeometryToolbox::PointPointReflect(nDim, geometry->nodes->GetCoord(Point_Normal), + geometry->nodes->GetCoord(iPoint), Coord_Reflected); + visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected); + + /*--- Primitive variables, and gradient ---*/ + visc_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet.GetSolution(0)); + visc_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet.GetPrimitive(0)); + visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), node_inlet.GetGradient_Primitive(0)); + + /*--- Pass supplementary information to CNumerics ---*/ + visc_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); + visc_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); + visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); + visc_numerics->SetEve (nodes->GetEve(iPoint), node_inlet.GetEve(0)); + visc_numerics->SetCvve (nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); + + /*--- Species diffusion coefficients ---*/ + visc_numerics->SetDiffusionCoeff(nodes->GetDiffusionCoeff(iPoint), + nodes->GetDiffusionCoeff(iPoint)); + /*--- Laminar viscosity ---*/ + visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), + nodes->GetLaminarViscosity(iPoint)); + /*--- Eddy viscosity ---*/ + visc_numerics->SetEddyViscosity(nodes->GetEddyViscosity(iPoint), + nodes->GetEddyViscosity(iPoint)); + /*--- Thermal conductivity ---*/ + visc_numerics->SetThermalConductivity(nodes->GetThermalConductivity(iPoint), + nodes->GetThermalConductivity(iPoint)); + /*--- Vib-el. thermal conductivity ---*/ + visc_numerics->SetThermalConductivity_ve(nodes->GetThermalConductivity_ve(iPoint), + nodes->GetThermalConductivity_ve(iPoint)); + /*--- Compute and update residual ---*/ + auto residual = visc_numerics->ComputeResidual(config); + LinSysRes.SubtractBlock(iPoint, residual); /*--- Jacobian contribution for implicit integration ---*/ - bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); if (implicit) - Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); - - /*--- Viscous contribution ---*/ - bool viscous = config->GetViscous(); - if (viscous) { - - /*--- Set the normal vector and the coordinates ---*/ - visc_numerics->SetNormal(Normal); - su2double Coord_Reflected[MAXNDIM]; - GeometryToolbox::PointPointReflect(nDim, geometry->nodes->GetCoord(Point_Normal), - geometry->nodes->GetCoord(iPoint), Coord_Reflected); - visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected); - - /*--- Primitive variables, and gradient ---*/ - visc_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet.GetSolution(0)); - visc_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet.GetPrimitive(0)); - visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), node_inlet.GetGradient_Primitive(0)); - - /*--- Pass supplementary information to CNumerics ---*/ - visc_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); - visc_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); - visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); - visc_numerics->SetEve (nodes->GetEve(iPoint), node_inlet.GetEve(0)); - visc_numerics->SetCvve (nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); - - /*--- Species diffusion coefficients ---*/ - visc_numerics->SetDiffusionCoeff(nodes->GetDiffusionCoeff(iPoint), - nodes->GetDiffusionCoeff(iPoint)); - - /*--- Laminar viscosity ---*/ - visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), - nodes->GetLaminarViscosity(iPoint)); - - /*--- Eddy viscosity ---*/ - visc_numerics->SetEddyViscosity(nodes->GetEddyViscosity(iPoint), - nodes->GetEddyViscosity(iPoint)); - - /*--- Thermal conductivity ---*/ - visc_numerics->SetThermalConductivity(nodes->GetThermalConductivity(iPoint), - nodes->GetThermalConductivity(iPoint)); - - /*--- Vib-el. thermal conductivity ---*/ - visc_numerics->SetThermalConductivity_ve(nodes->GetThermalConductivity_ve(iPoint), - nodes->GetThermalConductivity_ve(iPoint)); - - /*--- Compute and update residual ---*/ - auto residual = visc_numerics->ComputeResidual(config); - LinSysRes.SubtractBlock(iPoint, residual); - - /*--- Jacobian contribution for implicit integration ---*/ - if (implicit) - Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); + Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); } } - + /*--- Free locally allocated memory ---*/ delete [] Mvec; } From 6328e913f302fd9e8d4ad6281847362735fe8aa3 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Wed, 11 Jan 2023 14:04:00 -0500 Subject: [PATCH 108/179] compiles again --- Common/include/CConfig.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index f3f7ac316a8..ebe6bfd9de3 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -3713,7 +3713,7 @@ class CConfig { */ bool GetAUSMMethod(void) const { switch (Kind_Upwind_Flow) { - case UPWIND::AUSM : case UPWIND::AUSMPLUSUP: case UPWIND::AUSMPLUSUP2: case UPWIND::AUSMPWPLUS: case UPWIND::AUSMPLUSM + case UPWIND::AUSM : case UPWIND::AUSMPLUSUP: case UPWIND::AUSMPLUSUP2: case UPWIND::AUSMPWPLUS: case UPWIND::AUSMPLUSM: return true; default: return false; From 2263a31623907ed686f0e4596a12a8bab309b46f Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Wed, 11 Jan 2023 11:50:07 -0800 Subject: [PATCH 109/179] Update Common/include/CConfig.hpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- Common/include/CConfig.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 0011c3faf18..4eee8da53e9 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -6700,7 +6700,7 @@ class CConfig { * \param[in] val_index - Index corresponding to the inlet boundary. * \return The inlet velocity vector. */ - const su2double GetInlet_Temperature_ve() const { return Inlet_Temperature_ve; } + su2double GetInlet_Temperature_ve() const { return Inlet_Temperature_ve; } /*! * \brief Get the total pressure at an inlet boundary. From d1face08ae380e219769353b0681f3d1946f0711 Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Wed, 11 Jan 2023 11:50:24 -0800 Subject: [PATCH 110/179] Update SU2_CFD/include/solvers/CNEMOEulerSolver.hpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/include/solvers/CNEMOEulerSolver.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp index ffca4c0abe7..84d17dfeb88 100644 --- a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp @@ -62,7 +62,6 @@ class CNEMOEulerSolver : public CFVMFlowSolverBase Date: Wed, 11 Jan 2023 11:53:10 -0800 Subject: [PATCH 111/179] Update SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 91d08dae87d..5aff4c7503d 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2161,7 +2161,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); const su2double* Mass_Frac = config->GetInlet_MassFrac(); - su2double Temperature_ve = config->GetInlet_Temperature_ve(); + su2double Temperature_ve = config->GetInlet_Temperature_ve(); /*--- If no Tve value specified (left as 0 K default), set to Ttr value ---*/ if (Temperature_ve == 0.0) {Temperature_ve = Temperature;} From 7435fec814766fe29d7dc7861846daca66d82197 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 13:09:46 -0800 Subject: [PATCH 112/179] fixing declarations Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 91d08dae87d..50eab5c3ed0 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2172,10 +2172,9 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Compute Ma vector for flow direction ---*/ const su2double soundspeed = FluidModel->ComputeSoundSpeed(); - su2double* Mvec = new su2double[nDim]; + su2double Mvec[MAXNDIM] = {0.0}; - unsigned short iDim; - for (iDim = 0; iDim < nDim; iDim++) + for (unsigned short iDim = 0; iDim < nDim; iDim++) Mvec[iDim] = Velocity[iDim] / soundspeed; /*--- Allocate inlet node to compute gradients for numerics ---*/ @@ -2200,7 +2199,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Normal vector for this vertex (negate for outward convention) ---*/ geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; + for (unsigned short iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; /*--- Set various quantities in the solver class ---*/ conv_numerics->SetNormal(Normal); @@ -2275,9 +2274,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); } } - - /*--- Free locally allocated memory ---*/ - delete [] Mvec; } void CNEMOEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_container, From 85d93d9a666384262dfffef2d5f2ad63a66c0842 Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Wed, 11 Jan 2023 13:11:09 -0800 Subject: [PATCH 113/179] Update SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index cf9b8011edb..c01491544d2 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2213,7 +2213,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver conv_numerics->SetEve(nodes->GetEve(iPoint), node_inlet.GetEve(0)); conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); - bool dynamic_grid = config->GetGrid_Movement(); + const bool dynamic_grid = config->GetGrid_Movement(); if (dynamic_grid) conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); From 6b89ad4426624c1b8a48792b1199ad707b48c564 Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Wed, 11 Jan 2023 13:11:20 -0800 Subject: [PATCH 114/179] Update SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index c01491544d2..80de873291a 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2189,7 +2189,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver /*--- Loop over all the vertices on this boundary marker ---*/ for(unsigned long iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { - unsigned long iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ if (!geometry->nodes->GetDomain(iPoint)) continue; From 11ebd65a1a99af73f261682d04ce1b981c4fb3ea Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Wed, 11 Jan 2023 13:11:30 -0800 Subject: [PATCH 115/179] Update SU2_CFD/src/solvers/CNEMOEulerSolver.cpp Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 80de873291a..00bc2c6a08a 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2195,7 +2195,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver if (!geometry->nodes->GetDomain(iPoint)) continue; /*--- Index of the closest interior node ---*/ - unsigned long Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); + const auto Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); /*--- Normal vector for this vertex (negate for outward convention) ---*/ geometry->vertex[val_marker][iVertex]->GetNormal(Normal); From 81b3c14887e259165457a33ff1d7b84e2e3027f3 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 15:52:04 -0800 Subject: [PATCH 116/179] adding test case config file Signed-off-by: jtneedels --- .../invwedge/invwedge_ss_inlet.cfg | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg diff --git a/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg b/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg new file mode 100644 index 00000000000..770a679ddd3 --- /dev/null +++ b/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg @@ -0,0 +1,79 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Mach 5 inviscid flow over a 10deg wedge - NEMO SS Inlet % +% Author: J. Needels % +% Institution: Stanford University % +% Date: 2022.1.11 % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= NEMO_EULER +GAS_MODEL= AIR-5 +GAS_COMPOSITION= (0.77, 0.23, 0.0, 0.0, 0.0) +INLET_GAS_COMPOSITION = (0.77, 0.23, 0.0, 0.0, 0.0) +MATH_PROBLEM= DIRECT +RESTART_SOL= NO + +% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% +% +MACH_NUMBER= 5 +AOA= 0.0 +SIDESLIP_ANGLE= 0.0 +FREESTREAM_PRESSURE= 101325.0 +FREESTREAM_TEMPERATURE= 288.15 +FREESTREAM_TEMPERATURE_VE= 288.15 + +% ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +% +FLUID_MODEL= SU2_NONEQ + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_EULER= ( Euler, Wall ) +MARKER_OUTLET= ( Exit, 10 ) +MARKER_FAR = ( Farfield ) +MARKER_SUPERSONIC_INLET = ( Inlet, 288.15, 101325.0, 1705.16, 0.0, 0.0 ) +INLET_TEMPERATURE_VE = 288.15 +MARKER_PLOTTING= ( NONE ) +MARKER_MONITORING= ( Wall ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +CFL_NUMBER= 3 +ITER= 1000 +LINEAR_SOLVER= BCGSTAB +LINEAR_SOLVER_ERROR= 1E-6 +LINEAR_SOLVER_ITER= 5 + +% -----------------------------------------------------------------------% +% +CONV_NUM_METHOD_FLOW= AUSM +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= VENKATAKRISHNAN +VENKAT_LIMITER_COEFF= 0.05 +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -50 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-10 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= invwedge.su2 +MESH_FORMAT= SU2 +SOLUTION_FILENAME= restart_flow.dat +TABULAR_FORMAT= TECPLOT +CONV_FILENAME= convergence +RESTART_FILENAME= restart_flow.dat +VOLUME_FILENAME= soln_volume +SURFACE_FILENAME= soln_surface +OUTPUT_WRT_FREQ= 100 +OUTPUT_FILES= (RESTART_ASCII, PARAVIEW_ASCII) From d5d53a38b9fe030c98b9db286ccde651274c669b Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 15:58:12 -0800 Subject: [PATCH 117/179] update serial regression Signed-off-by: jtneedels --- .../nonequilibrium/invwedge/invwedge_ss_inlet.cfg | 2 +- TestCases/serial_regression.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg b/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg index 770a679ddd3..73e841eccdf 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg @@ -45,7 +45,7 @@ MARKER_MONITORING= ( Wall ) % NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES CFL_NUMBER= 3 -ITER= 1000 +ITER= 11 LINEAR_SOLVER= BCGSTAB LINEAR_SOLVER_ERROR= 1E-6 LINEAR_SOLVER_ITER= 5 diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 9ff934437db..174a2971a84 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -67,6 +67,16 @@ def main(): invwedge.test_vals_aarch64 = [-1.046323, -1.571086, -18.300012, -18.627418, -18.573436, 2.271778, 1.875687, 5.315769, 0.870008] invwedge.new_output = True test_list.append(invwedge) + + # Inviscid single wedge, implicit, NEMO supersonic inlet + invwedge_ss_inlet = TestCase('invwedge_ss_inlet') + invwedge_ss_inlet.cfg_dir = "nonequilibrium/invwedge" + invwedge_ss_inlet.cfg_file = "invwedge_ss_inlet.cfg" + invwedge_ss_inlet.test_iter = 10 + invwedge_ss_inlet.test_vals = [-1.046196, -1.570959, -18.250158, -18.579516, -18.523248, 2.271892, 1.875990, 5.315899, 0.870132] + invwedge_ss_inlet.test_vals_aarch64 = [-1.046196, -1.570959, -18.250158, -18.579516, -18.523248, 2.271892, 1.875990, 5.315899, 0.870132] + invwedge_ss_inlet.new_output = True + test_list.append(invwedge_ss_inlet) # Viscous single cone - axisymmetric visc_cone = TestCase('visc_cone') From 36cba804f19562085271b1e4a86866216532543e Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 16:04:11 -0800 Subject: [PATCH 118/179] update parallel regression Signed-off-by: jtneedels --- TestCases/parallel_regression.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 4e54afd29e4..c61ad4d455c 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -80,6 +80,16 @@ def main(): invwedge.new_output = True test_list.append(invwedge) + # Inviscid single wedge, implicit, NEMO supersonic inlet + invwedge_ss_inlet = TestCase('invwedge_ss_inlet') + invwedge_ss_inlet.cfg_dir = "nonequilibrium/invwedge" + invwedge_ss_inlet.cfg_file = "invwedge_ss_inlet.cfg" + invwedge_ss_inlet.test_iter = 10 + invwedge_ss_inlet.test_vals = [-1.042718, -1.567481, -18.250190, -18.579528, -18.523263, 2.275305, 1.880068, 5.319548, 0.873821] + invwedge_ss_inlet.test_vals_aarch64 = [-1.042718, -1.567481, -18.250190, -18.579528, -18.523263, 2.275305, 1.880068, 5.319548, 0.873821] + invwedge_ss_inlet.new_output = True + test_list.append(invwedge_ss_inlet) + # Viscous single cone - axisymmetric visc_cone = TestCase('visc_cone') visc_cone.cfg_dir = "nonequilibrium/viscous" From 2c7e21550188d8e2d9226dc4ec8bd24530e83a69 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 16:14:34 -0800 Subject: [PATCH 119/179] update config template Signed-off-by: jtneedels --- config_template.cfg | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config_template.cfg b/config_template.cfg index 38f01f3cd3a..a7d0c468d8e 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -369,6 +369,10 @@ GAS_COMPOSITION= (0.77, 0.23, 0.0, 0.0, 0.0) % Freeze chemical reactions FROZEN_MIXTURE= 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). From f2e3dd27ae783447747d3086234e504c36381164 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 17:26:03 -0800 Subject: [PATCH 120/179] fix regression Signed-off-by: jtneedels --- TestCases/parallel_regression.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index c61ad4d455c..67a5707ee30 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -85,8 +85,8 @@ def main(): invwedge_ss_inlet.cfg_dir = "nonequilibrium/invwedge" invwedge_ss_inlet.cfg_file = "invwedge_ss_inlet.cfg" invwedge_ss_inlet.test_iter = 10 - invwedge_ss_inlet.test_vals = [-1.042718, -1.567481, -18.250190, -18.579528, -18.523263, 2.275305, 1.880068, 5.319548, 0.873821] - invwedge_ss_inlet.test_vals_aarch64 = [-1.042718, -1.567481, -18.250190, -18.579528, -18.523263, 2.275305, 1.880068, 5.319548, 0.873821] + invwedge_ss_inlet.test_vals = [-1.042718, -1.567481, -18.250175, -18.579516, -18.523248, 2.275305, 1.880068, 5.319548, 0.873821] + invwedge_ss_inlet.test_vals_aarch64 = [-1.042718, -1.567481, -18.250175, -18.579516, -18.523248, 2.275305, 1.880068, 5.319548, 0.873821] invwedge_ss_inlet.new_output = True test_list.append(invwedge_ss_inlet) From 339c429939a6104edb4e327c38817f58e9907a89 Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Wed, 11 Jan 2023 20:45:40 -0800 Subject: [PATCH 121/179] Update Common/include/CConfig.hpp Co-authored-by: Wally Maier --- Common/include/CConfig.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 4eee8da53e9..4e572de907f 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -6689,7 +6689,7 @@ class CConfig { const su2double* GetInlet_Velocity(string val_index) const; /*! - * \brief Get the mass fraction vector for a NEMO supersonic inlet boundary. + * \brief Get the mass fraction vector for a NEMO inlet boundary. * \param[in] val_index - Index corresponding to the inlet boundary. * \return The inlet velocity vector. */ From 77524125074d8bbba5883657c4b9bc9fb6b60d82 Mon Sep 17 00:00:00 2001 From: Jacob Needels <44848904+jtneedels@users.noreply.github.com> Date: Wed, 11 Jan 2023 20:45:56 -0800 Subject: [PATCH 122/179] Update Common/include/CConfig.hpp Co-authored-by: Wally Maier --- Common/include/CConfig.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 4e572de907f..fbdf58c0653 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -6696,7 +6696,7 @@ class CConfig { const su2double* GetInlet_MassFrac() const { return Inlet_MassFrac; } /*! - * \brief Get the Tve value for a NEMO supersonic inlet boundary. + * \brief Get the Tve value for a NEMO inlet boundary. * \param[in] val_index - Index corresponding to the inlet boundary. * \return The inlet velocity vector. */ From 97d86b6f507de530f2fefd0ee3ea253c7dc824ac Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 20:50:18 -0800 Subject: [PATCH 123/179] fixing some comments Signed-off-by: jtneedels --- Common/src/CConfig.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index bf269a50a6d..0357290120f 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1195,9 +1195,9 @@ void CConfig::SetConfig_Options() { addEnumOption("TRANSPORT_COEFF_MODEL", Kind_TransCoeffModel, TransCoeffModel_Map, TRANSCOEFFMODEL::WILKE); /* DESCRIPTION: Specify mass fraction of each species */ addDoubleListOption("GAS_COMPOSITION", nSpecies, Gas_Composition); - /* DESCRIPTION: Specify mass fraction of each species for NEMO supersonic inlet*/ + /* DESCRIPTION: Specify mass fraction of each species for NEMO inlet*/ addDoubleListOption("INLET_GAS_COMPOSITION", nSpecies_inlet, Inlet_MassFrac); - /*!\brief INLET_TEMPERATURE_VE \n DESCRIPTION: NEMO supersonic inlet temperature_ve (K), if left 0 K, set to Ttr value \ingroup Config*/ + /*!\brief INLET_TEMPERATURE_VE \n DESCRIPTION: NEMO inlet temperature_ve (K), if left 0 K, set to Ttr value \ingroup Config*/ addDoubleOption("INLET_TEMPERATURE_VE", Inlet_Temperature_ve, 0.0); /* DESCRIPTION: Specify if mixture is frozen */ addBoolOption("FROZEN_MIXTURE", frozen, false); From 37aefda927b469813266fdbf9a7e8b4b685417d3 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 20:56:46 -0800 Subject: [PATCH 124/179] modifying cfg file Signed-off-by: jtneedels --- TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg b/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg index 73e841eccdf..707af980723 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg @@ -14,7 +14,6 @@ SOLVER= NEMO_EULER GAS_MODEL= AIR-5 GAS_COMPOSITION= (0.77, 0.23, 0.0, 0.0, 0.0) -INLET_GAS_COMPOSITION = (0.77, 0.23, 0.0, 0.0, 0.0) MATH_PROBLEM= DIRECT RESTART_SOL= NO @@ -37,6 +36,7 @@ MARKER_EULER= ( Euler, Wall ) MARKER_OUTLET= ( Exit, 10 ) MARKER_FAR = ( Farfield ) MARKER_SUPERSONIC_INLET = ( Inlet, 288.15, 101325.0, 1705.16, 0.0, 0.0 ) +INLET_GAS_COMPOSITION = (0.77, 0.23, 0.0, 0.0, 0.0) INLET_TEMPERATURE_VE = 288.15 MARKER_PLOTTING= ( NONE ) MARKER_MONITORING= ( Wall ) From 8f95075b214b525c9c63ce0a5df96877e8493b6c Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 23:02:44 -0800 Subject: [PATCH 125/179] codefactor Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 42 ++++++++++++------------ TestCases/serial_regression.py | 8 ++--- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 00bc2c6a08a..5d0c2c0fa80 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2182,7 +2182,6 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver Temperature, Temperature_ve, 1, nDim, nVar, nPrimVar, nPrimVarGrad, config, FluidModel); - node_inlet.SetPrimVar(0, FluidModel); su2double Normal[MAXNDIM] = {0.0}; @@ -2232,39 +2231,40 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver if (viscous) { /*--- Set the normal vector and the coordinates ---*/ - visc_numerics->SetNormal(Normal); su2double Coord_Reflected[MAXNDIM]; GeometryToolbox::PointPointReflect(nDim, geometry->nodes->GetCoord(Point_Normal), - geometry->nodes->GetCoord(iPoint), Coord_Reflected); - visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected); + geometry->nodes->GetCoord(iPoint), Coord_Reflected); + visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected ); + visc_numerics->SetNormal(Normal); /*--- Primitive variables, and gradient ---*/ visc_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet.GetSolution(0)); visc_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet.GetPrimitive(0)); visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), node_inlet.GetGradient_Primitive(0)); - /*--- Pass supplementary information to CNumerics ---*/ - visc_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); - visc_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); - visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); - visc_numerics->SetEve (nodes->GetEve(iPoint), node_inlet.GetEve(0)); - visc_numerics->SetCvve (nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); - - /*--- Species diffusion coefficients ---*/ - visc_numerics->SetDiffusionCoeff(nodes->GetDiffusionCoeff(iPoint), + /*--- Pass supplementary information to CNumerics ---*/ + visc_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); + visc_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); + visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); + visc_numerics->SetEve (nodes->GetEve(iPoint), node_inlet.GetEve(0)); + visc_numerics->SetCvve (nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); + + /*--- Species diffusion coefficients ---*/ + visc_numerics->SetDiffusionCoeff(nodes->GetDiffusionCoeff(iPoint), nodes->GetDiffusionCoeff(iPoint)); - /*--- Laminar viscosity ---*/ - visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), + /*--- Laminar viscosity ---*/ + visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), nodes->GetLaminarViscosity(iPoint)); - /*--- Eddy viscosity ---*/ - visc_numerics->SetEddyViscosity(nodes->GetEddyViscosity(iPoint), + /*--- Eddy viscosity ---*/ + visc_numerics->SetEddyViscosity(nodes->GetEddyViscosity(iPoint), nodes->GetEddyViscosity(iPoint)); - /*--- Thermal conductivity ---*/ - visc_numerics->SetThermalConductivity(nodes->GetThermalConductivity(iPoint), + /*--- Thermal conductivity ---*/ + visc_numerics->SetThermalConductivity(nodes->GetThermalConductivity(iPoint), nodes->GetThermalConductivity(iPoint)); - /*--- Vib-el. thermal conductivity ---*/ - visc_numerics->SetThermalConductivity_ve(nodes->GetThermalConductivity_ve(iPoint), + /*--- Vib-el. thermal conductivity ---*/ + visc_numerics->SetThermalConductivity_ve(nodes->GetThermalConductivity_ve(iPoint), nodes->GetThermalConductivity_ve(iPoint)); + /*--- Compute and update residual ---*/ auto residual = visc_numerics->ComputeResidual(config); LinSysRes.SubtractBlock(iPoint, residual); diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 174a2971a84..37e4c52307c 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -69,11 +69,11 @@ def main(): test_list.append(invwedge) # Inviscid single wedge, implicit, NEMO supersonic inlet - invwedge_ss_inlet = TestCase('invwedge_ss_inlet') - invwedge_ss_inlet.cfg_dir = "nonequilibrium/invwedge" - invwedge_ss_inlet.cfg_file = "invwedge_ss_inlet.cfg" + invwedge_ss_inlet = TestCase('invwedge_ss_inlet') + invwedge_ss_inlet.cfg_dir = "nonequilibrium/invwedge" + invwedge_ss_inlet.cfg_file = "invwedge_ss_inlet.cfg" invwedge_ss_inlet.test_iter = 10 - invwedge_ss_inlet.test_vals = [-1.046196, -1.570959, -18.250158, -18.579516, -18.523248, 2.271892, 1.875990, 5.315899, 0.870132] + invwedge_ss_inlet.test_vals = [-1.046196, -1.570959, -18.250158, -18.579516, -18.523248, 2.271892, 1.875990, 5.315899, 0.870132] invwedge_ss_inlet.test_vals_aarch64 = [-1.046196, -1.570959, -18.250158, -18.579516, -18.523248, 2.271892, 1.875990, 5.315899, 0.870132] invwedge_ss_inlet.new_output = True test_list.append(invwedge_ss_inlet) From b8d75256a1977f28074c272609976af546a9a4e2 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Wed, 11 Jan 2023 23:05:58 -0800 Subject: [PATCH 126/179] codefactor Signed-off-by: jtneedels --- TestCases/parallel_regression.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 67a5707ee30..66d17832076 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -81,11 +81,11 @@ def main(): test_list.append(invwedge) # Inviscid single wedge, implicit, NEMO supersonic inlet - invwedge_ss_inlet = TestCase('invwedge_ss_inlet') - invwedge_ss_inlet.cfg_dir = "nonequilibrium/invwedge" - invwedge_ss_inlet.cfg_file = "invwedge_ss_inlet.cfg" + invwedge_ss_inlet = TestCase('invwedge_ss_inlet') + invwedge_ss_inlet.cfg_dir = "nonequilibrium/invwedge" + invwedge_ss_inlet.cfg_file = "invwedge_ss_inlet.cfg" invwedge_ss_inlet.test_iter = 10 - invwedge_ss_inlet.test_vals = [-1.042718, -1.567481, -18.250175, -18.579516, -18.523248, 2.275305, 1.880068, 5.319548, 0.873821] + invwedge_ss_inlet.test_vals = [-1.042718, -1.567481, -18.250175, -18.579516, -18.523248, 2.275305, 1.880068, 5.319548, 0.873821] invwedge_ss_inlet.test_vals_aarch64 = [-1.042718, -1.567481, -18.250175, -18.579516, -18.523248, 2.275305, 1.880068, 5.319548, 0.873821] invwedge_ss_inlet.new_output = True test_list.append(invwedge_ss_inlet) @@ -1165,7 +1165,7 @@ def main(): solid_periodic_pins.cfg_dir = "solid_heat_conduction/periodic_pins" solid_periodic_pins.cfg_file = "configSolid.cfg" solid_periodic_pins.test_iter = 750 - solid_periodic_pins.test_vals = [-15.878977, -14.569206, 300.900000, 425.320000, 0.000000, 5.000000, -1.672737] #last 7 lines + solid_periodic_pins.test_vals = [-15.878977, -14.569206, 300.900000, 425.320000, 0.000000, 5.000000, -1.672737] #last 7 lines solid_periodic_pins.test_vals_aarch64 = [-15.879010, -14.569206, 300.900000, 425.320000, 0.000000, 5.000000, -1.672630] #last 7 lines test_list.append(solid_periodic_pins) From 50974f8b476fd6ccf076cfc9602766087070cad6 Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Thu, 12 Jan 2023 14:07:10 +0000 Subject: [PATCH 127/179] Update TestCases/serial_regression.py --- TestCases/serial_regression.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 37e4c52307c..9ff934437db 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -67,16 +67,6 @@ def main(): invwedge.test_vals_aarch64 = [-1.046323, -1.571086, -18.300012, -18.627418, -18.573436, 2.271778, 1.875687, 5.315769, 0.870008] invwedge.new_output = True test_list.append(invwedge) - - # Inviscid single wedge, implicit, NEMO supersonic inlet - invwedge_ss_inlet = TestCase('invwedge_ss_inlet') - invwedge_ss_inlet.cfg_dir = "nonequilibrium/invwedge" - invwedge_ss_inlet.cfg_file = "invwedge_ss_inlet.cfg" - invwedge_ss_inlet.test_iter = 10 - invwedge_ss_inlet.test_vals = [-1.046196, -1.570959, -18.250158, -18.579516, -18.523248, 2.271892, 1.875990, 5.315899, 0.870132] - invwedge_ss_inlet.test_vals_aarch64 = [-1.046196, -1.570959, -18.250158, -18.579516, -18.523248, 2.271892, 1.875990, 5.315899, 0.870132] - invwedge_ss_inlet.new_output = True - test_list.append(invwedge_ss_inlet) # Viscous single cone - axisymmetric visc_cone = TestCase('visc_cone') From 8251d01b50268496c9c7cb66050087c36d8da9c7 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Thu, 12 Jan 2023 09:33:41 -0500 Subject: [PATCH 128/179] update some version numbers, and add regressions for nemo schemes --- .../src/output/output_structure_legacy.cpp | 2 +- TestCases/nicf/coolprop/fluidModel.cfg | 2 +- TestCases/nicf/coolprop/transportModel.cfg | 2 +- .../{invwedge.cfg => invwedge_ausm.cfg} | 2 +- .../invwedge/invwedge_ausmplusup2.cfg | 73 +++++++++++++++++++ .../nonequilibrium/invwedge/invwedge_lax.cfg | 73 +++++++++++++++++++ .../nonequilibrium/invwedge/invwedge_msw.cfg | 73 +++++++++++++++++++ .../nonequilibrium/invwedge/invwedge_roe.cfg | 73 +++++++++++++++++++ TestCases/parallel_regression.py | 58 ++++++++++++--- legacy/configure.ac | 2 +- legacy/preconfigure.py | 2 +- 11 files changed, 347 insertions(+), 15 deletions(-) rename TestCases/nonequilibrium/invwedge/{invwedge.cfg => invwedge_ausm.cfg} (97%) create mode 100644 TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg create mode 100644 TestCases/nonequilibrium/invwedge/invwedge_lax.cfg create mode 100644 TestCases/nonequilibrium/invwedge/invwedge_msw.cfg create mode 100644 TestCases/nonequilibrium/invwedge/invwedge_roe.cfg diff --git a/SU2_CFD/src/output/output_structure_legacy.cpp b/SU2_CFD/src/output/output_structure_legacy.cpp index 4e4c6f94606..19587f140cf 100644 --- a/SU2_CFD/src/output/output_structure_legacy.cpp +++ b/SU2_CFD/src/output/output_structure_legacy.cpp @@ -2776,7 +2776,7 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry Breakdown_file << "\n" <<"-------------------------------------------------------------------------" << "\n"; Breakdown_file <<"| ___ _ _ ___ |" << "\n"; - Breakdown_file <<"| / __| | | |_ ) Release 7.4.0 \"Blackbird\" |" << "\n"; + Breakdown_file <<"| / __| | | |_ ) Release 7.5.0 \"Blackbird\" |" << "\n"; Breakdown_file <<"| \\__ \\ |_| |/ / |" << "\n"; Breakdown_file <<"| |___/\\___//___| Suite (Computational Fluid Dynamics Code) |" << "\n"; Breakdown_file << "| |" << "\n"; diff --git a/TestCases/nicf/coolprop/fluidModel.cfg b/TestCases/nicf/coolprop/fluidModel.cfg index 6b2fb858bc6..44df7a39118 100644 --- a/TestCases/nicf/coolprop/fluidModel.cfg +++ b/TestCases/nicf/coolprop/fluidModel.cfg @@ -6,7 +6,7 @@ % Author: Peng Yan, Alberto Guardone % % Institution: Politecnico di Milano % % Date: 2022.10.8 % -% File Version 7.4.0 Blackbird % +% File Version 7.5.0 Blackbird % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nicf/coolprop/transportModel.cfg b/TestCases/nicf/coolprop/transportModel.cfg index b4b1d9c4906..491073a2734 100644 --- a/TestCases/nicf/coolprop/transportModel.cfg +++ b/TestCases/nicf/coolprop/transportModel.cfg @@ -6,7 +6,7 @@ % Author: Peng Yan, Alberto Guardone % % Institution: Politecnico di Milano % % Date: 2022.11.26 % -% File Version 7.4.0 Blackbird % +% File Version 7.5.0 Blackbird % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/invwedge/invwedge.cfg b/TestCases/nonequilibrium/invwedge/invwedge_ausm.cfg similarity index 97% rename from TestCases/nonequilibrium/invwedge/invwedge.cfg rename to TestCases/nonequilibrium/invwedge/invwedge_ausm.cfg index 604a12145ae..f202170a6c9 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_ausm.cfg @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % SU2 configuration file % -% Case description: Mach 5 inviscid flow over a 10deg wedge % +% Case description: Mach 5 inviscid flow over a 10deg wedge-AUSM % % Author: C. Garbacz % % Institution: Strathclyde University % % Date: 2020.11.01 % diff --git a/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg b/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg new file mode 100644 index 00000000000..3812f06f339 --- /dev/null +++ b/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg @@ -0,0 +1,73 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Mach 5 inviscid flow over a 10deg wedge-AUSMPLUSUP2 % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= NEMO_EULER +GAS_MODEL= AIR-5 +GAS_COMPOSITION= (0.77, 0.23, 0.0, 0.0, 0.0) +MATH_PROBLEM= DIRECT +RESTART_SOL= NO + +% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% +% +MACH_NUMBER= 5 +AOA= 0.0 +SIDESLIP_ANGLE= 0.0 +FREESTREAM_PRESSURE= 101325.0 +FREESTREAM_TEMPERATURE= 288.15 +FREESTREAM_TEMPERATURE_VE= 288.15 + +% ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +% +FLUID_MODEL= SU2_NONEQ + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_EULER= ( Euler, Wall ) +MARKER_OUTLET= ( Exit, 10 ) +MARKER_FAR = ( Farfield, Inlet ) +MARKER_PLOTTING= (NONE ) +MARKER_MONITORING= ( Wall ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +CFL_NUMBER= 3 +ITER= 11 +LINEAR_SOLVER= BCGSTAB +LINEAR_SOLVER_ERROR= 1E-6 +LINEAR_SOLVER_ITER= 5 + +% -----------------------------------------------------------------------% +% +CONV_NUM_METHOD_FLOW= AUSMPLUSUP2 +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= VENKATAKRISHNAN +VENKAT_LIMITER_COEFF= 0.05 +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -50 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-10 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= invwedge.su2 +MESH_FORMAT= SU2 +SOLUTION_FILENAME= restart_flow.dat +TABULAR_FORMAT= TECPLOT +CONV_FILENAME= convergence +RESTART_FILENAME= restart_flow.dat +VOLUME_FILENAME= soln_volume +SURFACE_FILENAME= soln_surface +OUTPUT_WRT_FREQ= 100 +OUTPUT_FILES= (RESTART_ASCII, PARAVIEW_ASCII) diff --git a/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg b/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg new file mode 100644 index 00000000000..d6e3033420e --- /dev/null +++ b/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg @@ -0,0 +1,73 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Mach 5 inviscid flow over a 10deg wedge-LAX % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= NEMO_EULER +GAS_MODEL= AIR-5 +GAS_COMPOSITION= (0.77, 0.23, 0.0, 0.0, 0.0) +MATH_PROBLEM= DIRECT +RESTART_SOL= NO + +% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% +% +MACH_NUMBER= 5 +AOA= 0.0 +SIDESLIP_ANGLE= 0.0 +FREESTREAM_PRESSURE= 101325.0 +FREESTREAM_TEMPERATURE= 288.15 +FREESTREAM_TEMPERATURE_VE= 288.15 + +% ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +% +FLUID_MODEL= SU2_NONEQ + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_EULER= ( Euler, Wall ) +MARKER_OUTLET= ( Exit, 10 ) +MARKER_FAR = ( Farfield, Inlet ) +MARKER_PLOTTING= (NONE ) +MARKER_MONITORING= ( Wall ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +CFL_NUMBER= 3 +ITER= 11 +LINEAR_SOLVER= BCGSTAB +LINEAR_SOLVER_ERROR= 1E-6 +LINEAR_SOLVER_ITER= 5 + +% -----------------------------------------------------------------------% +% +CONV_NUM_METHOD_FLOW= LAX +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= VENKATAKRISHNAN +VENKAT_LIMITER_COEFF= 0.05 +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -50 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-10 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= invwedge.su2 +MESH_FORMAT= SU2 +SOLUTION_FILENAME= restart_flow.dat +TABULAR_FORMAT= TECPLOT +CONV_FILENAME= convergence +RESTART_FILENAME= restart_flow.dat +VOLUME_FILENAME= soln_volume +SURFACE_FILENAME= soln_surface +OUTPUT_WRT_FREQ= 100 +OUTPUT_FILES= (RESTART_ASCII, PARAVIEW_ASCII) diff --git a/TestCases/nonequilibrium/invwedge/invwedge_msw.cfg b/TestCases/nonequilibrium/invwedge/invwedge_msw.cfg new file mode 100644 index 00000000000..f7c37404d2b --- /dev/null +++ b/TestCases/nonequilibrium/invwedge/invwedge_msw.cfg @@ -0,0 +1,73 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Mach 5 inviscid flow over a 10deg wedge-MSW % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= NEMO_EULER +GAS_MODEL= AIR-5 +GAS_COMPOSITION= (0.77, 0.23, 0.0, 0.0, 0.0) +MATH_PROBLEM= DIRECT +RESTART_SOL= NO + +% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% +% +MACH_NUMBER= 5 +AOA= 0.0 +SIDESLIP_ANGLE= 0.0 +FREESTREAM_PRESSURE= 101325.0 +FREESTREAM_TEMPERATURE= 288.15 +FREESTREAM_TEMPERATURE_VE= 288.15 + +% ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +% +FLUID_MODEL= SU2_NONEQ + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_EULER= ( Euler, Wall ) +MARKER_OUTLET= ( Exit, 10 ) +MARKER_FAR = ( Farfield, Inlet ) +MARKER_PLOTTING= (NONE ) +MARKER_MONITORING= ( Wall ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +CFL_NUMBER= 3 +ITER= 11 +LINEAR_SOLVER= BCGSTAB +LINEAR_SOLVER_ERROR= 1E-6 +LINEAR_SOLVER_ITER= 5 + +% -----------------------------------------------------------------------% +% +CONV_NUM_METHOD_FLOW= MSW +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= VENKATAKRISHNAN +VENKAT_LIMITER_COEFF= 0.05 +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -50 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-10 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= invwedge.su2 +MESH_FORMAT= SU2 +SOLUTION_FILENAME= restart_flow.dat +TABULAR_FORMAT= TECPLOT +CONV_FILENAME= convergence +RESTART_FILENAME= restart_flow.dat +VOLUME_FILENAME= soln_volume +SURFACE_FILENAME= soln_surface +OUTPUT_WRT_FREQ= 100 +OUTPUT_FILES= (RESTART_ASCII, PARAVIEW_ASCII) diff --git a/TestCases/nonequilibrium/invwedge/invwedge_roe.cfg b/TestCases/nonequilibrium/invwedge/invwedge_roe.cfg new file mode 100644 index 00000000000..cc05d60edcb --- /dev/null +++ b/TestCases/nonequilibrium/invwedge/invwedge_roe.cfg @@ -0,0 +1,73 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Mach 5 inviscid flow over a 10deg wedge-ROE % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= NEMO_EULER +GAS_MODEL= AIR-5 +GAS_COMPOSITION= (0.77, 0.23, 0.0, 0.0, 0.0) +MATH_PROBLEM= DIRECT +RESTART_SOL= NO + +% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% +% +MACH_NUMBER= 5 +AOA= 0.0 +SIDESLIP_ANGLE= 0.0 +FREESTREAM_PRESSURE= 101325.0 +FREESTREAM_TEMPERATURE= 288.15 +FREESTREAM_TEMPERATURE_VE= 288.15 + +% ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +% +FLUID_MODEL= SU2_NONEQ + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_EULER= ( Euler, Wall ) +MARKER_OUTLET= ( Exit, 10 ) +MARKER_FAR = ( Farfield, Inlet ) +MARKER_PLOTTING= (NONE ) +MARKER_MONITORING= ( Wall ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +CFL_NUMBER= 3 +ITER= 11 +LINEAR_SOLVER= BCGSTAB +LINEAR_SOLVER_ERROR= 1E-6 +LINEAR_SOLVER_ITER= 5 + +% -----------------------------------------------------------------------% +% +CONV_NUM_METHOD_FLOW= ROE +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= VENKATAKRISHNAN +VENKAT_LIMITER_COEFF= 0.05 +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -50 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-10 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= invwedge.su2 +MESH_FORMAT= SU2 +SOLUTION_FILENAME= restart_flow.dat +TABULAR_FORMAT= TECPLOT +CONV_FILENAME= convergence +RESTART_FILENAME= restart_flow.dat +VOLUME_FILENAME= soln_volume +SURFACE_FILENAME= soln_surface +OUTPUT_WRT_FREQ= 100 +OUTPUT_FILES= (RESTART_ASCII, PARAVIEW_ASCII) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 4e54afd29e4..3cf0368c5b5 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -70,15 +70,55 @@ def main(): thermalbath_frozen.new_output = True test_list.append(thermalbath_frozen) - # Inviscid single wedge, implicit - invwedge = TestCase('invwedge') - invwedge.cfg_dir = "nonequilibrium/invwedge" - invwedge.cfg_file = "invwedge.cfg" - invwedge.test_iter = 10 - invwedge.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] - invwedge.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] - invwedge.new_output = True - test_list.append(invwedge) + # Inviscid single wedge, ausm, implicit + invwedge_a = TestCase('invwedge_ausm') + invwedge_a.cfg_dir = "nonequilibrium/invwedge" + invwedge_a.cfg_file = "invwedge_ausm.cfg" + invwedge_a.test_iter = 10 + invwedge_a.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_a.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_a.new_output = True + test_list.append(invwedge_a) + + # Inviscid single wedge, ausm+-up2, implicit + invwedge_ap2 = TestCase('invwedge_ap2') + invwedge_ap2.cfg_dir = "nonequilibrium/invwedge" + invwedge_ap2.cfg_file = "invwedge_ausmplusup2.cfg" + invwedge_ap2.test_iter = 10 + invwedge_ap2.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_ap2.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_ap2.new_output = True + test_list.append(invwedge_ap2) + + # Inviscid single wedge, msw, implicit + invwedge_msw = TestCase('invwedge_msw') + invwedge_msw.cfg_dir = "nonequilibrium/invwedge" + invwedge_msw.cfg_file = "invwedge_msw.cfg" + invwedge_msw.test_iter = 10 + invwedge_msw.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_msw.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_msw.new_output = True + test_list.append(invwedge_msw) + + # Inviscid single wedge, roe, implicit + invwedge_roe = TestCase('invwedge_roe') + invwedge_roe.cfg_dir = "nonequilibrium/invwedge" + invwedge_roe.cfg_file = "invwedge_roe.cfg" + invwedge_roe.test_iter = 10 + invwedge_roe.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_roe.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_roe.new_output = True + test_list.append(invwedge_roe) + + # Inviscid single wedge, lax, implicit + invwedge_lax = TestCase('invwedge_lax') + invwedge_lax.cfg_dir = "nonequilibrium/invwedge" + invwedge_lax.cfg_file = "invwedge_lax.cfg" + invwedge_lax.test_iter = 10 + invwedge_lax.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_lax.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_lax.new_output = True + test_list.append(invwedge_lax) # Viscous single cone - axisymmetric visc_cone = TestCase('visc_cone') diff --git a/legacy/configure.ac b/legacy/configure.ac index 3a46b079a78..7145af36a30 100644 --- a/legacy/configure.ac +++ b/legacy/configure.ac @@ -338,7 +338,7 @@ AC_MSG_RESULT([ ------------------------------------------------------------------------- | ___ _ _ ___ | -| / __| | | |_ ) Release 7.4.0 'Blackbird' | +| / __| | | |_ ) Release 7.5.0 'Blackbird' | | \\__ \\ |_| |/ / | | |___/\\___//___| Suite | | | diff --git a/legacy/preconfigure.py b/legacy/preconfigure.py index b5893cb3c21..7f99601e27c 100755 --- a/legacy/preconfigure.py +++ b/legacy/preconfigure.py @@ -553,7 +553,7 @@ def header(): print('-------------------------------------------------------------------------\n'\ '| ___ _ _ ___ | \n'\ - '| / __| | | |_ ) Release 7.4.0 \'Blackbird\' | \n'\ + '| / __| | | |_ ) Release 7.5.0 \'Blackbird\' | \n'\ '| \__ \ |_| |/ / | \n'\ '| |___/\___//___| Pre-configuration Script | \n'\ '| | \n'\ From a9473eab1dee6040fe22d85e9bed638b3e18b416 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Thu, 12 Jan 2023 10:30:02 -0500 Subject: [PATCH 129/179] update some regressions --- TestCases/nonequilibrium/invwedge/invwedge_lax.cfg | 2 +- TestCases/parallel_regression.py | 6 +++--- TestCases/serial_regression.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg b/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg index d6e3033420e..7d37a734f6e 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg @@ -46,7 +46,7 @@ LINEAR_SOLVER_ITER= 5 % -----------------------------------------------------------------------% % -CONV_NUM_METHOD_FLOW= LAX +CONV_NUM_METHOD_FLOW= LAX_FRIEDRICH MUSCL_FLOW= YES SLOPE_LIMITER_FLOW= VENKATAKRISHNAN VENKAT_LIMITER_COEFF= 0.05 diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 3cf0368c5b5..311b8e4b7fb 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -86,7 +86,7 @@ def main(): invwedge_ap2.cfg_file = "invwedge_ausmplusup2.cfg" invwedge_ap2.test_iter = 10 invwedge_ap2.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] - invwedge_ap2.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_ap2.test_vals_aarch64 = [-0.617877, -1.142640, -18.301487, -18.628852, -18.574892, 2.785436, 3.236765, 5.740905, 1.291532] invwedge_ap2.new_output = True test_list.append(invwedge_ap2) @@ -96,7 +96,7 @@ def main(): invwedge_msw.cfg_file = "invwedge_msw.cfg" invwedge_msw.test_iter = 10 invwedge_msw.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] - invwedge_msw.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_msw.test_vals_aarch64 = [-1.165957, -1.690720, -18.298756, -18.626164, -18.572159, 2.151638, 1.721236, 5.193813, 0.751584] invwedge_msw.new_output = True test_list.append(invwedge_msw) @@ -106,7 +106,7 @@ def main(): invwedge_roe.cfg_file = "invwedge_roe.cfg" invwedge_roe.test_iter = 10 invwedge_roe.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] - invwedge_roe.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_roe.test_vals_aarch64 = [-1.038582, -1.563344, -18.300307, -18.627706, -18.573706, 2.278987, 1.861307, 5.323753, 0.874900] invwedge_roe.new_output = True test_list.append(invwedge_roe) diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 9ff934437db..1c3dc9c6994 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -61,7 +61,7 @@ def main(): # Inviscid single wedge, implicit invwedge = TestCase('invwedge') invwedge.cfg_dir = "nonequilibrium/invwedge" - invwedge.cfg_file = "invwedge.cfg" + invwedge.cfg_file = "invwedge_ausm.cfg" invwedge.test_iter = 10 invwedge.test_vals = [-1.046323, -1.571086, -18.300667, -18.628064, -18.574092, 2.271778, 1.875687, 5.315769, 0.870008] invwedge.test_vals_aarch64 = [-1.046323, -1.571086, -18.300012, -18.627418, -18.573436, 2.271778, 1.875687, 5.315769, 0.870008] From 534e6508a364b2d7d2260208b4cd8c570cc17fab Mon Sep 17 00:00:00 2001 From: jtneedels Date: Thu, 12 Jan 2023 09:09:32 -0800 Subject: [PATCH 130/179] clang format Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 244 ++++++++++++----------- 1 file changed, 130 insertions(+), 114 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 5d0c2c0fa80..51534ce695d 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2148,132 +2148,148 @@ void CNEMOEulerSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container } -void CNEMOEulerSolver::BC_Supersonic_Inlet(CGeometry *geometry, CSolver **solver_container, - CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { +void CNEMOEulerSolver::BC_Supersonic_Inlet( + CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, + CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - /*--- Supersonic inlet flow: there are no outgoing characteristics, - so all flow variables can be imposed at the inlet. - First, retrieve the specified values for the primitive variables. ---*/ + /*--- Supersonic inlet flow: there are no outgoing characteristics, + so all flow variables can be imposed at the inlet. + First, retrieve the specified values for the primitive variables. ---*/ - const string Marker_Tag = config->GetMarker_All_TagBound(val_marker); + const string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); - const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); - const su2double* Velocity = config->GetInlet_Velocity(Marker_Tag); - const su2double* Mass_Frac = config->GetInlet_MassFrac(); - su2double Temperature_ve = config->GetInlet_Temperature_ve(); + const su2double Temperature = config->GetInlet_Temperature(Marker_Tag); + const su2double Pressure = config->GetInlet_Pressure(Marker_Tag); + const su2double *Velocity = config->GetInlet_Velocity(Marker_Tag); + const su2double *Mass_Frac = config->GetInlet_MassFrac(); + su2double Temperature_ve = config->GetInlet_Temperature_ve(); - /*--- If no Tve value specified (left as 0 K default), set to Ttr value ---*/ - if (Temperature_ve == 0.0) {Temperature_ve = Temperature;} + /*--- If no Tve value specified (left as 0 K default), set to Ttr value ---*/ + if (Temperature_ve == 0.0) { + Temperature_ve = Temperature; + } - /*--- Set mixture state ---*/ - FluidModel->SetTDStatePTTv(Pressure, Mass_Frac, Temperature, Temperature_ve); + /*--- Set mixture state ---*/ + FluidModel->SetTDStatePTTv(Pressure, Mass_Frac, Temperature, Temperature_ve); - /*--- Compute Ma vector for flow direction ---*/ - const su2double soundspeed = FluidModel->ComputeSoundSpeed(); + /*--- Compute Ma vector for flow direction ---*/ + const su2double soundspeed = FluidModel->ComputeSoundSpeed(); - su2double Mvec[MAXNDIM] = {0.0}; + su2double Mvec[MAXNDIM] = {0.0}; - for (unsigned short iDim = 0; iDim < nDim; iDim++) - Mvec[iDim] = Velocity[iDim] / soundspeed; + for (unsigned short iDim = 0; iDim < nDim; iDim++) + Mvec[iDim] = Velocity[iDim] / soundspeed; - /*--- Allocate inlet node to compute gradients for numerics ---*/ - CNEMOEulerVariable node_inlet(Pressure, Mass_Frac, Mvec, - Temperature, Temperature_ve, - 1, nDim, nVar, nPrimVar, nPrimVarGrad, - config, FluidModel); - node_inlet.SetPrimVar(0, FluidModel); - - su2double Normal[MAXNDIM] = {0.0}; - - /*--- Loop over all the vertices on this boundary marker ---*/ - for(unsigned long iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { - const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - - /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ - if (!geometry->nodes->GetDomain(iPoint)) continue; - - /*--- Index of the closest interior node ---*/ - const auto Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); - - /*--- Normal vector for this vertex (negate for outward convention) ---*/ - geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - for (unsigned short iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; - - /*--- Set various quantities in the solver class ---*/ - conv_numerics->SetNormal(Normal); - conv_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet.GetSolution(0)); - conv_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet.GetPrimitive(0)); - - /*--- Pass supplementary info to CNumerics ---*/ - conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); - conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); - conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); - conv_numerics->SetEve(nodes->GetEve(iPoint), node_inlet.GetEve(0)); - conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); - - const bool dynamic_grid = config->GetGrid_Movement(); - if (dynamic_grid) - conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), - geometry->nodes->GetGridVel(iPoint)); - - /*--- Compute the residual using an upwind scheme ---*/ - auto residual = conv_numerics->ComputeResidual(config); - LinSysRes.AddBlock(iPoint, residual); - - /*--- Jacobian contribution for implicit integration ---*/ - bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - if (implicit) - Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); - - /*--- Viscous contribution ---*/ - bool viscous = config->GetViscous(); - if (viscous) { - - /*--- Set the normal vector and the coordinates ---*/ - su2double Coord_Reflected[MAXNDIM]; - GeometryToolbox::PointPointReflect(nDim, geometry->nodes->GetCoord(Point_Normal), - geometry->nodes->GetCoord(iPoint), Coord_Reflected); - visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected ); - visc_numerics->SetNormal(Normal); - - /*--- Primitive variables, and gradient ---*/ - visc_numerics->SetConservative(nodes->GetSolution(iPoint), node_inlet.GetSolution(0)); - visc_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), node_inlet.GetPrimitive(0)); - visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), node_inlet.GetGradient_Primitive(0)); - - /*--- Pass supplementary information to CNumerics ---*/ - visc_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); - visc_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); - visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); - visc_numerics->SetEve (nodes->GetEve(iPoint), node_inlet.GetEve(0)); - visc_numerics->SetCvve (nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); - - /*--- Species diffusion coefficients ---*/ - visc_numerics->SetDiffusionCoeff(nodes->GetDiffusionCoeff(iPoint), + /*--- Allocate inlet node to compute gradients for numerics ---*/ + CNEMOEulerVariable node_inlet(Pressure, Mass_Frac, Mvec, Temperature, + Temperature_ve, 1, nDim, nVar, nPrimVar, + nPrimVarGrad, config, FluidModel); + node_inlet.SetPrimVar(0, FluidModel); + + su2double Normal[MAXNDIM] = {0.0}; + + /*--- Loop over all the vertices on this boundary marker ---*/ + for (unsigned long iVertex = 0; iVertex < geometry->nVertex[val_marker]; + iVertex++) { + const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + + /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ + if (!geometry->nodes->GetDomain(iPoint)) + continue; + + /*--- Index of the closest interior node ---*/ + const auto Point_Normal = + geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); + + /*--- Normal vector for this vertex (negate for outward convention) ---*/ + geometry->vertex[val_marker][iVertex]->GetNormal(Normal); + for (unsigned short iDim = 0; iDim < nDim; iDim++) + Normal[iDim] = -Normal[iDim]; + + /*--- Set various quantities in the solver class ---*/ + conv_numerics->SetNormal(Normal); + conv_numerics->SetConservative(nodes->GetSolution(iPoint), + node_inlet.GetSolution(0)); + conv_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), + node_inlet.GetPrimitive(0)); + + /*--- Pass supplementary info to CNumerics ---*/ + conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); + conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); + conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_inlet.GetdTvedU(0)); + conv_numerics->SetEve(nodes->GetEve(iPoint), node_inlet.GetEve(0)); + conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); + + const bool dynamic_grid = config->GetGrid_Movement(); + if (dynamic_grid) + conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), + geometry->nodes->GetGridVel(iPoint)); + + /*--- Compute the residual using an upwind scheme ---*/ + auto residual = conv_numerics->ComputeResidual(config); + LinSysRes.AddBlock(iPoint, residual); + + /*--- Jacobian contribution for implicit integration ---*/ + bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + if (implicit) + Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); + + /*--- Viscous contribution ---*/ + bool viscous = config->GetViscous(); + if (viscous) { + + /*--- Set the normal vector and the coordinates ---*/ + su2double Coord_Reflected[MAXNDIM]; + GeometryToolbox::PointPointReflect( + nDim, geometry->nodes->GetCoord(Point_Normal), + geometry->nodes->GetCoord(iPoint), Coord_Reflected); + visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), + Coord_Reflected); + visc_numerics->SetNormal(Normal); + + /*--- Primitive variables, and gradient ---*/ + visc_numerics->SetConservative(nodes->GetSolution(iPoint), + node_inlet.GetSolution(0)); + visc_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), + node_inlet.GetPrimitive(0)); + visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), + node_inlet.GetGradient_Primitive(0)); + + /*--- Pass supplementary information to CNumerics ---*/ + visc_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_inlet.GetdPdU(0)); + visc_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_inlet.GetdTdU(0)); + visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), + node_inlet.GetdTvedU(0)); + visc_numerics->SetEve(nodes->GetEve(iPoint), node_inlet.GetEve(0)); + visc_numerics->SetCvve(nodes->GetCvve(iPoint), node_inlet.GetCvve(0)); + + /*--- Species diffusion coefficients ---*/ + visc_numerics->SetDiffusionCoeff(nodes->GetDiffusionCoeff(iPoint), nodes->GetDiffusionCoeff(iPoint)); - /*--- Laminar viscosity ---*/ - visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), + /*--- Laminar viscosity ---*/ + visc_numerics->SetLaminarViscosity(nodes->GetLaminarViscosity(iPoint), nodes->GetLaminarViscosity(iPoint)); - /*--- Eddy viscosity ---*/ - visc_numerics->SetEddyViscosity(nodes->GetEddyViscosity(iPoint), + /*--- Eddy viscosity ---*/ + visc_numerics->SetEddyViscosity(nodes->GetEddyViscosity(iPoint), nodes->GetEddyViscosity(iPoint)); - /*--- Thermal conductivity ---*/ - visc_numerics->SetThermalConductivity(nodes->GetThermalConductivity(iPoint), - nodes->GetThermalConductivity(iPoint)); - /*--- Vib-el. thermal conductivity ---*/ - visc_numerics->SetThermalConductivity_ve(nodes->GetThermalConductivity_ve(iPoint), - nodes->GetThermalConductivity_ve(iPoint)); - - /*--- Compute and update residual ---*/ - auto residual = visc_numerics->ComputeResidual(config); - LinSysRes.SubtractBlock(iPoint, residual); - - /*--- Jacobian contribution for implicit integration ---*/ - if (implicit) - Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); - } - } + /*--- Thermal conductivity ---*/ + visc_numerics->SetThermalConductivity( + nodes->GetThermalConductivity(iPoint), + nodes->GetThermalConductivity(iPoint)); + /*--- Vib-el. thermal conductivity ---*/ + visc_numerics->SetThermalConductivity_ve( + nodes->GetThermalConductivity_ve(iPoint), + nodes->GetThermalConductivity_ve(iPoint)); + + /*--- Compute and update residual ---*/ + auto residual = visc_numerics->ComputeResidual(config); + LinSysRes.SubtractBlock(iPoint, residual); + + /*--- Jacobian contribution for implicit integration ---*/ + if (implicit) + Jacobian.SubtractBlock2Diag(iPoint, residual.jacobian_i); + } + } } void CNEMOEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_container, From a092614afb2cc5548200b59f57f1cea2b929ca0c Mon Sep 17 00:00:00 2001 From: jtneedels Date: Thu, 12 Jan 2023 09:17:08 -0800 Subject: [PATCH 131/179] const Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 51534ce695d..cf5a70f9654 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2230,7 +2230,7 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet( LinSysRes.AddBlock(iPoint, residual); /*--- Jacobian contribution for implicit integration ---*/ - bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); From f40b5eb8461137cd483c6d48ba9b8927bc16ea65 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Thu, 12 Jan 2023 09:33:58 -0800 Subject: [PATCH 132/179] cleanup ss_outlet Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 93 +++++++++++------------- 1 file changed, 42 insertions(+), 51 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index cf5a70f9654..f1d02730b21 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2292,70 +2292,61 @@ void CNEMOEulerSolver::BC_Supersonic_Inlet( } } -void CNEMOEulerSolver::BC_Supersonic_Outlet(CGeometry *geometry, CSolver **solver_container, - CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - unsigned short iDim; - unsigned long iVertex, iPoint; - su2double *V_outlet, *V_domain; - su2double *U_outlet, *U_domain; - - bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - - su2double *Normal = new su2double[nDim]; +void CNEMOEulerSolver::BC_Supersonic_Outlet( + CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, + CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { /*--- Supersonic outlet flow: there are no ingoing characteristics, so all flow variables can should be interpolated from the domain. ---*/ - /*--- Loop over all the vertices on this boundary marker ---*/ - for (iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { + su2double Normal[MAXNDIM] = {0.0}; - iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + const string Marker_Tag = config->GetMarker_All_TagBound(val_marker); - /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ - if (geometry->nodes->GetDomain(iPoint)) { + /*--- Loop over all the vertices on this boundary marker ---*/ + for (unsigned long iVertex = 0; iVertex < geometry->nVertex[val_marker]; + iVertex++) { - /*--- Current solution at this boundary node ---*/ - V_domain = nodes->GetPrimitive(iPoint); - U_domain = nodes->GetSolution(iPoint); + const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - /*--- Allocate the value at the outlet ---*/ - V_outlet = GetCharacPrimVar(val_marker, iVertex); - V_outlet = V_domain; - U_outlet = U_domain; + /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ + if (!geometry->nodes->GetDomain(iPoint)) + continue; - /*--- Normal vector for this vertex (negate for outward convention) ---*/ - geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; + /*--- Normal vector for this vertex (negate for outward convention) ---*/ + geometry->vertex[val_marker][iVertex]->GetNormal(Normal); + for (unsigned short iDim = 0; iDim < nDim; iDim++) + Normal[iDim] = -Normal[iDim]; - /*--- Set various quantities in the solver class ---*/ - conv_numerics->SetNormal(Normal); - conv_numerics->SetPrimitive(V_domain, V_outlet); - conv_numerics->SetConservative(U_domain, U_outlet); + /*--- Set various quantities in the solver class, outlet properties are + * equal to domain properties ---*/ + conv_numerics->SetNormal(Normal); + conv_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), + nodes->GetPrimitive(iPoint)); + conv_numerics->SetConservative(nodes->GetSolution(iPoint), + nodes->GetSolution(iPoint)); - /*--- Pass supplementary information to CNumerics ---*/ - conv_numerics->SetdPdU (nodes->GetdPdU(iPoint), nodes->GetdPdU(iPoint)); - conv_numerics->SetdTdU (nodes->GetdTdU(iPoint), nodes->GetdTdU(iPoint)); - conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), nodes->GetdTvedU(iPoint)); - conv_numerics->SetEve (nodes->GetEve(iPoint), nodes->GetEve(iPoint)); - conv_numerics->SetCvve (nodes->GetCvve(iPoint), nodes->GetCvve(iPoint)); - conv_numerics->SetGamma (nodes->GetGamma(iPoint), nodes->GetGamma(iPoint)); + /*--- Pass supplementary information to CNumerics ---*/ + conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), nodes->GetdPdU(iPoint)); + conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), nodes->GetdTdU(iPoint)); + conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), + nodes->GetdTvedU(iPoint)); + conv_numerics->SetEve(nodes->GetEve(iPoint), nodes->GetEve(iPoint)); + conv_numerics->SetCvve(nodes->GetCvve(iPoint), nodes->GetCvve(iPoint)); + conv_numerics->SetGamma(nodes->GetGamma(iPoint), nodes->GetGamma(iPoint)); - if (dynamic_grid) - conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), - geometry->nodes->GetGridVel(iPoint)); + const bool dynamic_grid = config->GetGrid_Movement(); + if (dynamic_grid) + conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), + geometry->nodes->GetGridVel(iPoint)); - /*--- Compute the residual using an upwind scheme ---*/ - auto residual = conv_numerics->ComputeResidual(config); - LinSysRes.AddBlock(iPoint, residual); + /*--- Compute the residual using an upwind scheme ---*/ + auto residual = conv_numerics->ComputeResidual(config); + LinSysRes.AddBlock(iPoint, residual); - /*--- Jacobian contribution for implicit integration ---*/ - if (implicit) - Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); - } + /*--- Jacobian contribution for implicit integration ---*/ + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + if (implicit) + Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); } - - /*--- Free locally allocated memory ---*/ - delete [] Normal; - } From c8675f7c0cf2ccfad21075cc0fbbbdfd43c4baa2 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Thu, 12 Jan 2023 12:39:46 -0500 Subject: [PATCH 133/179] fix regressions, one more needed --- TestCases/nonequilibrium/invwedge/invwedge_lax.cfg | 2 +- TestCases/parallel_regression.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg b/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg index 7d37a734f6e..b979502e8c6 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg @@ -46,7 +46,7 @@ LINEAR_SOLVER_ITER= 5 % -----------------------------------------------------------------------% % -CONV_NUM_METHOD_FLOW= LAX_FRIEDRICH +CONV_NUM_METHOD_FLOW= LAX-FRIEDRICH MUSCL_FLOW= YES SLOPE_LIMITER_FLOW= VENKATAKRISHNAN VENKAT_LIMITER_COEFF= 0.05 diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 311b8e4b7fb..b90128ffeb7 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -85,7 +85,7 @@ def main(): invwedge_ap2.cfg_dir = "nonequilibrium/invwedge" invwedge_ap2.cfg_file = "invwedge_ausmplusup2.cfg" invwedge_ap2.test_iter = 10 - invwedge_ap2.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_ap2.test_vals = [-0.617877, -1.142640, -18.301487, -18.628852, -18.574892, 2.785436, 3.236765, 5.740905, 1.291532] invwedge_ap2.test_vals_aarch64 = [-0.617877, -1.142640, -18.301487, -18.628852, -18.574892, 2.785436, 3.236765, 5.740905, 1.291532] invwedge_ap2.new_output = True test_list.append(invwedge_ap2) @@ -95,7 +95,7 @@ def main(): invwedge_msw.cfg_dir = "nonequilibrium/invwedge" invwedge_msw.cfg_file = "invwedge_msw.cfg" invwedge_msw.test_iter = 10 - invwedge_msw.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_msw.test_vals = [-1.165957, -1.690720, -18.298756, -18.626164, -18.572159, 2.151638, 1.721236, 5.193813, 0.751584] invwedge_msw.test_vals_aarch64 = [-1.165957, -1.690720, -18.298756, -18.626164, -18.572159, 2.151638, 1.721236, 5.193813, 0.751584] invwedge_msw.new_output = True test_list.append(invwedge_msw) @@ -105,7 +105,7 @@ def main(): invwedge_roe.cfg_dir = "nonequilibrium/invwedge" invwedge_roe.cfg_file = "invwedge_roe.cfg" invwedge_roe.test_iter = 10 - invwedge_roe.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_roe.test_vals = [-1.038582, -1.563344, -18.300307, -18.627706, -18.573706, 2.278987, 1.861307, 5.323753, 0.874900] invwedge_roe.test_vals_aarch64 = [-1.038582, -1.563344, -18.300307, -18.627706, -18.573706, 2.278987, 1.861307, 5.323753, 0.874900] invwedge_roe.new_output = True test_list.append(invwedge_roe) From cb4dc79764b056e2c1e3cf76bac69d1c7ea8b582 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Thu, 12 Jan 2023 10:08:09 -0800 Subject: [PATCH 134/179] clean up farfield Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 99 ++++++++++++------------ 1 file changed, 49 insertions(+), 50 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index f1d02730b21..ee92868bfea 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -1503,25 +1503,19 @@ void CNEMOEulerSolver::BC_Sym_Plane(CGeometry *geometry, CSolver **solver_contai } } -void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_container, - CNumerics *conv_numerics, CNumerics *visc_numerics, - CConfig *config, unsigned short val_marker) { - - unsigned short iDim; - unsigned long iVertex, iPoint, Point_Normal; - - su2double *V_infty, *V_domain, *U_infty, *U_domain; - - /*--- Set booleans from configuration parameters ---*/ - bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - bool viscous = config->GetViscous(); +void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, + CSolver **solver_container, + CNumerics *conv_numerics, + CNumerics *visc_numerics, CConfig *config, + unsigned short val_marker) { /*--- Allocate arrays ---*/ - su2double *Normal = new su2double[nDim]; + su2double Normal[MAXNDIM] = {0.0}; /*--- Loop over all the vertices on this boundary (val_marker) ---*/ - for (iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { - iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + for (unsigned long iVertex = 0; iVertex < geometry->nVertex[val_marker]; + iVertex++) { + const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); /*--- Allocate the value at the infinity ---*/ V_infty = GetCharacPrimVar(val_marker, iVertex); @@ -1530,63 +1524,69 @@ void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contai if (geometry->nodes->GetDomain(iPoint)) { /*--- Retrieve index of the closest interior node ---*/ - Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); //only used for implicit + const auto Point_Normal = + geometry->vertex[val_marker][iVertex] + ->GetNormal_Neighbor(); // only used for implicit /*--- Pass boundary node normal to CNumerics ---*/ geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; + for (unsigned short iDim = 0; iDim < nDim; iDim++) + Normal[iDim] = -Normal[iDim]; conv_numerics->SetNormal(Normal); - /*--- Retrieve solution at the boundary node & free-stream ---*/ - U_domain = nodes->GetSolution(iPoint); - V_domain = nodes->GetPrimitive(iPoint); - U_infty = node_infty->GetSolution(0); - V_infty = node_infty->GetPrimitive(0); - /*--- Pass conserved & primitive variables to CNumerics ---*/ - conv_numerics->SetConservative(U_domain, U_infty); - conv_numerics->SetPrimitive(V_domain, V_infty); + conv_numerics->SetConservative(nodes->GetSolution(iPoint), + node_infty->GetSolution(0)); + conv_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), + node_infty->GetPrimitive(0)); /*--- Pass supplementary information to CNumerics ---*/ - conv_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_infty->GetdPdU(0)); - conv_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_infty->GetdTdU(0)); - conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_infty->GetdTvedU(0)); - conv_numerics->SetEve (nodes->GetEve(iPoint), node_infty->GetEve(0)); - conv_numerics->SetCvve (nodes->GetCvve(iPoint), node_infty->GetCvve(0)); - conv_numerics->SetGamma (nodes->GetGamma(iPoint), node_infty->GetGamma(0)); + conv_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_infty->GetdPdU(0)); + conv_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_infty->GetdTdU(0)); + conv_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), + node_infty->GetdTvedU(0)); + conv_numerics->SetEve(nodes->GetEve(iPoint), node_infty->GetEve(0)); + conv_numerics->SetCvve(nodes->GetCvve(iPoint), node_infty->GetCvve(0)); + conv_numerics->SetGamma(nodes->GetGamma(iPoint), node_infty->GetGamma(0)); /*--- Compute the convective residual (and Jacobian) ---*/ - // Note: This uses the specified boundary num. method specified in driver_structure.cpp + // Note: This uses the specified boundary num. method specified in + // driver_structure.cpp auto residual = conv_numerics->ComputeResidual(config); /*--- Apply contribution to the linear system ---*/ LinSysRes.AddBlock(iPoint, residual); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); /*--- Viscous contribution ---*/ + bool viscous = config->GetViscous(); if (viscous) { su2double Coord_Reflected[MAXNDIM]; - GeometryToolbox::PointPointReflect(nDim, geometry->nodes->GetCoord(Point_Normal), - geometry->nodes->GetCoord(iPoint), Coord_Reflected); - visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), Coord_Reflected ); + GeometryToolbox::PointPointReflect( + nDim, geometry->nodes->GetCoord(Point_Normal), + geometry->nodes->GetCoord(iPoint), Coord_Reflected); + visc_numerics->SetCoord(geometry->nodes->GetCoord(iPoint), + Coord_Reflected); visc_numerics->SetNormal(Normal); /*--- Primitive variables, and gradient ---*/ visc_numerics->SetConservative(nodes->GetSolution(iPoint), - node_infty->GetSolution(0) ); + node_infty->GetSolution(0)); visc_numerics->SetPrimitive(nodes->GetPrimitive(iPoint), - node_infty->GetPrimitive(0) ); + node_infty->GetPrimitive(0)); visc_numerics->SetPrimVarGradient(nodes->GetGradient_Primitive(iPoint), - node_infty->GetGradient_Primitive(0) ); + node_infty->GetGradient_Primitive(0)); /*--- Pass supplementary information to CNumerics ---*/ - visc_numerics->SetdPdU (nodes->GetdPdU(iPoint), node_infty->GetdPdU(0)); - visc_numerics->SetdTdU (nodes->GetdTdU(iPoint), node_infty->GetdTdU(0)); - visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), node_infty->GetdTvedU(0)); - visc_numerics->SetEve (nodes->GetEve(iPoint), node_infty->GetEve(0)); - visc_numerics->SetCvve (nodes->GetCvve(iPoint), node_infty->GetCvve(0)); + visc_numerics->SetdPdU(nodes->GetdPdU(iPoint), node_infty->GetdPdU(0)); + visc_numerics->SetdTdU(nodes->GetdTdU(iPoint), node_infty->GetdTdU(0)); + visc_numerics->SetdTvedU(nodes->GetdTvedU(iPoint), + node_infty->GetdTvedU(0)); + visc_numerics->SetEve(nodes->GetEve(iPoint), node_infty->GetEve(0)); + visc_numerics->SetCvve(nodes->GetCvve(iPoint), node_infty->GetCvve(0)); /*--- Species diffusion coefficients ---*/ visc_numerics->SetDiffusionCoeff(nodes->GetDiffusionCoeff(iPoint), @@ -1601,12 +1601,14 @@ void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contai nodes->GetEddyViscosity(iPoint)); /*--- Thermal conductivity ---*/ - visc_numerics->SetThermalConductivity(nodes->GetThermalConductivity(iPoint), - nodes->GetThermalConductivity(iPoint)); + visc_numerics->SetThermalConductivity( + nodes->GetThermalConductivity(iPoint), + nodes->GetThermalConductivity(iPoint)); /*--- Vib-el. thermal conductivity ---*/ - visc_numerics->SetThermalConductivity_ve(nodes->GetThermalConductivity_ve(iPoint), - nodes->GetThermalConductivity_ve(iPoint)); + visc_numerics->SetThermalConductivity_ve( + nodes->GetThermalConductivity_ve(iPoint), + nodes->GetThermalConductivity_ve(iPoint)); /*--- Compute and update residual ---*/ auto residual = visc_numerics->ComputeResidual(config); @@ -1618,9 +1620,6 @@ void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, CSolver **solver_contai } } } - - /*--- Free locally allocated memory ---*/ - delete [] Normal; } void CNEMOEulerSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, From c47471a65736f34b322677200f242b30d4aae274 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Thu, 12 Jan 2023 10:20:57 -0800 Subject: [PATCH 135/179] clean up farfield Signed-off-by: jtneedels --- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index ee92868bfea..ea4e4b60aec 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -1517,15 +1517,11 @@ void CNEMOEulerSolver::BC_Far_Field(CGeometry *geometry, iVertex++) { const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - /*--- Allocate the value at the infinity ---*/ - V_infty = GetCharacPrimVar(val_marker, iVertex); - /*--- Check if the node belongs to the domain (i.e, not a halo node) ---*/ if (geometry->nodes->GetDomain(iPoint)) { /*--- Retrieve index of the closest interior node ---*/ - const auto Point_Normal = - geometry->vertex[val_marker][iVertex] + const auto Point_Normal = geometry->vertex[val_marker][iVertex] ->GetNormal_Neighbor(); // only used for implicit /*--- Pass boundary node normal to CNumerics ---*/ From ddeea617ec04195b64f3a9ee476874b798ad05f9 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Thu, 12 Jan 2023 13:39:36 -0500 Subject: [PATCH 136/179] should work now --- TestCases/parallel_regression.py | 42 ++++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index b90128ffeb7..bdc7179c555 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -71,52 +71,52 @@ def main(): test_list.append(thermalbath_frozen) # Inviscid single wedge, ausm, implicit - invwedge_a = TestCase('invwedge_ausm') - invwedge_a.cfg_dir = "nonequilibrium/invwedge" - invwedge_a.cfg_file = "invwedge_ausm.cfg" + invwedge_a = TestCase('invwedge_ausm') + invwedge_a.cfg_dir = "nonequilibrium/invwedge" + invwedge_a.cfg_file = "invwedge_ausm.cfg" invwedge_a.test_iter = 10 - invwedge_a.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_a.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] invwedge_a.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] invwedge_a.new_output = True test_list.append(invwedge_a) # Inviscid single wedge, ausm+-up2, implicit - invwedge_ap2 = TestCase('invwedge_ap2') - invwedge_ap2.cfg_dir = "nonequilibrium/invwedge" - invwedge_ap2.cfg_file = "invwedge_ausmplusup2.cfg" + invwedge_ap2 = TestCase('invwedge_ap2') + invwedge_ap2.cfg_dir = "nonequilibrium/invwedge" + invwedge_ap2.cfg_file = "invwedge_ausmplusup2.cfg" invwedge_ap2.test_iter = 10 - invwedge_ap2.test_vals = [-0.617877, -1.142640, -18.301487, -18.628852, -18.574892, 2.785436, 3.236765, 5.740905, 1.291532] + invwedge_ap2.test_vals = [-0.617877, -1.142640, -18.301487, -18.628852, -18.574892, 2.785436, 3.236765, 5.740905, 1.291532] invwedge_ap2.test_vals_aarch64 = [-0.617877, -1.142640, -18.301487, -18.628852, -18.574892, 2.785436, 3.236765, 5.740905, 1.291532] invwedge_ap2.new_output = True test_list.append(invwedge_ap2) # Inviscid single wedge, msw, implicit - invwedge_msw = TestCase('invwedge_msw') - invwedge_msw.cfg_dir = "nonequilibrium/invwedge" - invwedge_msw.cfg_file = "invwedge_msw.cfg" + invwedge_msw = TestCase('invwedge_msw') + invwedge_msw.cfg_dir = "nonequilibrium/invwedge" + invwedge_msw.cfg_file = "invwedge_msw.cfg" invwedge_msw.test_iter = 10 - invwedge_msw.test_vals = [-1.165957, -1.690720, -18.298756, -18.626164, -18.572159, 2.151638, 1.721236, 5.193813, 0.751584] + invwedge_msw.test_vals = [-1.165957, -1.690720, -18.298756, -18.626164, -18.572159, 2.151638, 1.721236, 5.193813, 0.751584] invwedge_msw.test_vals_aarch64 = [-1.165957, -1.690720, -18.298756, -18.626164, -18.572159, 2.151638, 1.721236, 5.193813, 0.751584] invwedge_msw.new_output = True test_list.append(invwedge_msw) # Inviscid single wedge, roe, implicit - invwedge_roe = TestCase('invwedge_roe') - invwedge_roe.cfg_dir = "nonequilibrium/invwedge" - invwedge_roe.cfg_file = "invwedge_roe.cfg" + invwedge_roe = TestCase('invwedge_roe') + invwedge_roe.cfg_dir = "nonequilibrium/invwedge" + invwedge_roe.cfg_file = "invwedge_roe.cfg" invwedge_roe.test_iter = 10 - invwedge_roe.test_vals = [-1.038582, -1.563344, -18.300307, -18.627706, -18.573706, 2.278987, 1.861307, 5.323753, 0.874900] + invwedge_roe.test_vals = [-1.038582, -1.563344, -18.300307, -18.627706, -18.573706, 2.278987, 1.861307, 5.323753, 0.874900] invwedge_roe.test_vals_aarch64 = [-1.038582, -1.563344, -18.300307, -18.627706, -18.573706, 2.278987, 1.861307, 5.323753, 0.874900] invwedge_roe.new_output = True test_list.append(invwedge_roe) # Inviscid single wedge, lax, implicit - invwedge_lax = TestCase('invwedge_lax') - invwedge_lax.cfg_dir = "nonequilibrium/invwedge" - invwedge_lax.cfg_file = "invwedge_lax.cfg" + invwedge_lax = TestCase('invwedge_lax') + invwedge_lax.cfg_dir = "nonequilibrium/invwedge" + invwedge_lax.cfg_file = "invwedge_lax.cfg" invwedge_lax.test_iter = 10 - invwedge_lax.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] - invwedge_lax.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_lax.test_vals = [-1.075662, -1.600425, -32.000000, -32.000000, -24.972431, 2.252952, 1.725158, 5.282140, 0.848823] + invwedge_lax.test_vals_aarch64 = [-1.075662, -1.600425, -32.000000, -32.000000, -24.972431, 2.252952, 1.725158, 5.282140, 0.848823] invwedge_lax.new_output = True test_list.append(invwedge_lax) From 5050f0f7c2c1ab5e98b207c338f87a0d299c2e80 Mon Sep 17 00:00:00 2001 From: jtneedels Date: Thu, 12 Jan 2023 13:17:34 -0800 Subject: [PATCH 137/179] fix some cconfig.hpp doc Signed-off-by: jtneedels --- Common/include/CConfig.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index fbdf58c0653..a56c907ed9d 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -1189,7 +1189,7 @@ class CConfig { /* other NEMO configure options*/ unsigned short nSpecies_Cat_Wall, /*!< \brief No. of species for a catalytic wall. */ - nSpecies_inlet, /*!< \brief No. of species for NEMO supersonic inlet. */ + nSpecies_inlet, /*!< \brief No. of species for NEMO inlet. */ iWall_Catalytic, /*!< \brief Iterator over catalytic walls. */ nWall_Catalytic; /*!< \brief No. of catalytic walls. */ su2double *Gas_Composition, /*!< \brief Initial mass fractions of flow [dimensionless]. */ @@ -1204,7 +1204,7 @@ class CConfig { *Wall_Catalytic; /*!< \brief Pointer to catalytic walls. */ TRANSCOEFFMODEL Kind_TransCoeffModel; /*!< \brief Transport coefficient Model for NEMO solver. */ su2double CatalyticEfficiency; /*!< \brief Wall catalytic efficiency. */ - su2double *Inlet_MassFrac; /*!< \brief Specified Mass fraction vectors for supersonic inlet boundaries (NEMO solver). */ + su2double *Inlet_MassFrac; /*!< \brief Specified Mass fraction vectors for NEMO inlet boundaries. */ su2double Inlet_Temperature_ve; /*!< \brief Specified Tve for supersonic inlet boundaries (NEMO solver). */ /*--- Additional species solver options ---*/ From a5b5b039dd207f0f474f5c4db0d21ba7431c0ec6 Mon Sep 17 00:00:00 2001 From: Cristopher Morales <98025159+Cristopher-Morales@users.noreply.github.com> Date: Fri, 13 Jan 2023 13:16:25 +0100 Subject: [PATCH 138/179] adding tutorial for composition-dependent model to tutorials.py (#1886) * addint tutotial fluid_mixture model * tutorial branch * updating tutorials.py * -- * updating residuals Co-authored-by: Wally Maier --- TestCases/tutorials.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/TestCases/tutorials.py b/TestCases/tutorials.py index 5471eab7258..dc45e5c1664 100644 --- a/TestCases/tutorials.py +++ b/TestCases/tutorials.py @@ -104,6 +104,16 @@ def main(): DAspecies3_primitiveVenturi.command = TestCase.Command("mpirun -n 2", "SU2_CFD_AD") DAspecies3_primitiveVenturi.new_output = True test_list.append(DAspecies3_primitiveVenturi) + + # 2 species (1 eq) kenics static mixer for composition-dependent model + kenics_mixer_tutorial = TestCase('kenics_mixer_tutorial') + kenics_mixer_tutorial.cfg_dir = "../Tutorials/incompressible_flow/Inc_Species_Transport_Composition_Dependent_Model" + kenics_mixer_tutorial.cfg_file = "kenics_mixer_tutorial.cfg" + kenics_mixer_tutorial.test_iter = 10 + kenics_mixer_tutorial.test_vals = [-7.489841, -6.823474, -6.838069, -5.157396, -7.902273, -3.174235, -7.448166, 5.000000, -1.862000, 4.000000, -5.173789, 3.000000, -6.373917, 0.025135, 0.000000, 0.025135, 0.000000, 64.095000, 8.479500, 48.089000, 7.526700] + kenics_mixer_tutorial.command = TestCase.Command("mpirun -n 2", "SU2_CFD") + kenics_mixer_tutorial.new_output = True + test_list.append(kenics_mixer_tutorial) ### Compressible Flow From 2b02623b2e140667f85cb7d8a1f12fe1ba21b4d6 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Sat, 14 Jan 2023 08:14:45 -0500 Subject: [PATCH 139/179] adding thermal conductivities to NEMO output --- SU2_CFD/src/output/CNEMOCompOutput.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp index 54b68bddfe8..b68c7438e88 100644 --- a/SU2_CFD/src/output/CNEMOCompOutput.cpp +++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp @@ -254,6 +254,8 @@ void CNEMOCompOutput::SetVolumeOutputFields(CConfig *config){ if (nDim == 3) AddVolumeOutput("SKIN_FRICTION-Z", "Skin_Friction_Coefficient_z", "PRIMITIVE", "z-component of the skin friction vector"); + AddVolumeOutput("THERMAL_COND_TR", "Thermal_Cond_tr", "PRIMITIVE", "thermal tr"); + AddVolumeOutput("THERMAL__COND_VE", "Thermal_Cond_ve", "PRIMITIVE", "thermal vib"); AddVolumeOutput("HEAT_FLUX", "Heat_Flux", "PRIMITIVE", "Heat-flux"); AddVolumeOutput("Y_PLUS", "Y_Plus", "PRIMITIVE", "Non-dim. wall distance (Y-Plus)"); @@ -332,6 +334,8 @@ void CNEMOCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolv if (config->GetViscous()){ SetVolumeOutputValue("LAMINAR_VISCOSITY", iPoint, Node_Flow->GetLaminarViscosity(iPoint)); + SetVolumeOutputValue("THERMAL_COND_TR", iPoint, Node_Flow->GetThermalConductivity(iPoint)); + SetVolumeOutputValue("THERMAL_COND_VE", iPoint, Node_Flow->GetThermalConductivity_ve(iPoint)); } for(iSpecies = 0; iSpecies < nSpecies; iSpecies++) From 28827f2aa8a471dc0466e07f662a54f091d401fd Mon Sep 17 00:00:00 2001 From: Wally Maier Date: Sat, 14 Jan 2023 08:26:26 -0500 Subject: [PATCH 140/179] Update SU2_CFD/src/output/CNEMOCompOutput.cpp remove extra spaces --- SU2_CFD/src/output/CNEMOCompOutput.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp index b68c7438e88..b243e88cbc6 100644 --- a/SU2_CFD/src/output/CNEMOCompOutput.cpp +++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp @@ -254,8 +254,8 @@ void CNEMOCompOutput::SetVolumeOutputFields(CConfig *config){ if (nDim == 3) AddVolumeOutput("SKIN_FRICTION-Z", "Skin_Friction_Coefficient_z", "PRIMITIVE", "z-component of the skin friction vector"); - AddVolumeOutput("THERMAL_COND_TR", "Thermal_Cond_tr", "PRIMITIVE", "thermal tr"); - AddVolumeOutput("THERMAL__COND_VE", "Thermal_Cond_ve", "PRIMITIVE", "thermal vib"); + AddVolumeOutput("THERMAL_COND_TR", "Thermal_Cond_tr", "PRIMITIVE", "thermal tr"); + AddVolumeOutput("THERMAL__COND_VE", "Thermal_Cond_ve", "PRIMITIVE", "thermal vib"); AddVolumeOutput("HEAT_FLUX", "Heat_Flux", "PRIMITIVE", "Heat-flux"); AddVolumeOutput("Y_PLUS", "Y_Plus", "PRIMITIVE", "Non-dim. wall distance (Y-Plus)"); From 550d562971395f605fa4c34d91798b9d622d0c9a Mon Sep 17 00:00:00 2001 From: Wally Maier Date: Sat, 14 Jan 2023 08:38:26 -0500 Subject: [PATCH 141/179] Apply suggestions from code review --- SU2_CFD/src/output/CNEMOCompOutput.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp index b243e88cbc6..939358ba7e5 100644 --- a/SU2_CFD/src/output/CNEMOCompOutput.cpp +++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp @@ -254,8 +254,8 @@ void CNEMOCompOutput::SetVolumeOutputFields(CConfig *config){ if (nDim == 3) AddVolumeOutput("SKIN_FRICTION-Z", "Skin_Friction_Coefficient_z", "PRIMITIVE", "z-component of the skin friction vector"); - AddVolumeOutput("THERMAL_COND_TR", "Thermal_Cond_tr", "PRIMITIVE", "thermal tr"); - AddVolumeOutput("THERMAL__COND_VE", "Thermal_Cond_ve", "PRIMITIVE", "thermal vib"); + AddVolumeOutput("THERMAL_CONDUCTIVITY_TR", "Thermal_Conductivity_tr", "PRIMITIVE", "thermal tr"); + AddVolumeOutput("THERMAL_CONDUCTIVITY_VE", "Thermal_Conductivity_ve", "PRIMITIVE", "thermal vib"); AddVolumeOutput("HEAT_FLUX", "Heat_Flux", "PRIMITIVE", "Heat-flux"); AddVolumeOutput("Y_PLUS", "Y_Plus", "PRIMITIVE", "Non-dim. wall distance (Y-Plus)"); @@ -334,8 +334,8 @@ void CNEMOCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolv if (config->GetViscous()){ SetVolumeOutputValue("LAMINAR_VISCOSITY", iPoint, Node_Flow->GetLaminarViscosity(iPoint)); - SetVolumeOutputValue("THERMAL_COND_TR", iPoint, Node_Flow->GetThermalConductivity(iPoint)); - SetVolumeOutputValue("THERMAL_COND_VE", iPoint, Node_Flow->GetThermalConductivity_ve(iPoint)); + SetVolumeOutputValue("THERMAL_CONDUCTIVITY_TR", iPoint, Node_Flow->GetThermalConductivity(iPoint)); + SetVolumeOutputValue("THERMAL_CONDUCTIVITY_VE", iPoint, Node_Flow->GetThermalConductivity_ve(iPoint)); } for(iSpecies = 0; iSpecies < nSpecies; iSpecies++) From 626cc7426febb20e3bee2c82fec81baddc8f49e4 Mon Sep 17 00:00:00 2001 From: Wally Maier Date: Sat, 14 Jan 2023 15:16:13 -0500 Subject: [PATCH 142/179] Update SU2_CFD/src/output/CNEMOCompOutput.cpp --- SU2_CFD/src/output/CNEMOCompOutput.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp index 939358ba7e5..613b0302315 100644 --- a/SU2_CFD/src/output/CNEMOCompOutput.cpp +++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp @@ -254,8 +254,8 @@ void CNEMOCompOutput::SetVolumeOutputFields(CConfig *config){ if (nDim == 3) AddVolumeOutput("SKIN_FRICTION-Z", "Skin_Friction_Coefficient_z", "PRIMITIVE", "z-component of the skin friction vector"); - AddVolumeOutput("THERMAL_CONDUCTIVITY_TR", "Thermal_Conductivity_tr", "PRIMITIVE", "thermal tr"); - AddVolumeOutput("THERMAL_CONDUCTIVITY_VE", "Thermal_Conductivity_ve", "PRIMITIVE", "thermal vib"); + AddVolumeOutput("THERMAL_CONDUCTIVITY_TR", "Thermal_Conductivity_tr", "PRIMITIVE", "Translational-rotational thermal conductivity"); + AddVolumeOutput("THERMAL_CONDUCTIVITY_VE", "Thermal_Conductivity_ve", "PRIMITIVE", "Vibrational-electronic thermal conductivity"); AddVolumeOutput("HEAT_FLUX", "Heat_Flux", "PRIMITIVE", "Heat-flux"); AddVolumeOutput("Y_PLUS", "Y_Plus", "PRIMITIVE", "Non-dim. wall distance (Y-Plus)"); From 0e88a1bb6b760ad945037ddc2d19385fd64f3a2a Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 15 Jan 2023 13:27:36 +0000 Subject: [PATCH 143/179] remove centered heat scheme --- Common/include/CConfig.hpp | 17 +--- Common/src/CConfig.cpp | 25 +++--- SU2_CFD/include/numerics/heat.hpp | 34 -------- SU2_CFD/include/solvers/CHeatSolver.hpp | 15 ---- SU2_CFD/src/drivers/CDriver.cpp | 5 -- SU2_CFD/src/numerics/heat.cpp | 84 ------------------- SU2_CFD/src/solvers/CHeatSolver.cpp | 45 ---------- SU2_CFD/src/variables/CHeatVariable.cpp | 4 - .../disc_adj_unsteadyCHT_cylinder/solid.cfg | 1 - TestCases/disc_adj_heat/disc_adj_heat.cfg | 4 +- .../chtPinArray_3d/configSolid.cfg | 1 - config_template.cfg | 37 ++++---- 12 files changed, 29 insertions(+), 243 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index a56c907ed9d..e7edcd3abb1 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -628,8 +628,6 @@ class CConfig { Kappa_1st_Flow, /*!< \brief Lax 1st order dissipation coefficient for flow equations (coarse multigrid levels). */ Kappa_2nd_Flow, /*!< \brief JST 2nd order dissipation coefficient for flow equations. */ Kappa_4th_Flow, /*!< \brief JST 4th order dissipation coefficient for flow equations. */ - Kappa_2nd_Heat, /*!< \brief 2nd order dissipation coefficient for heat equation. */ - Kappa_4th_Heat, /*!< \brief 4th order dissipation coefficient for heat equation. */ Cent_Jac_Fix_Factor, /*!< \brief Multiply the dissipation contribution to the Jacobian of central schemes by this factor to make the global matrix more diagonal dominant. */ Cent_Inc_Jac_Fix_Factor; /*!< \brief Multiply the dissipation contribution to the Jacobian of incompressible central schemes */ @@ -1100,7 +1098,6 @@ class CConfig { rampRotFrame_coeff[3], /*!< \brief ramp rotating frame coefficients for the COption class. */ rampOutPres_coeff[3], /*!< \brief ramp outlet pressure coefficients for the COption class. */ jst_adj_coeff[2], /*!< \brief artificial dissipation (adjoint) array for the COption class. */ - ad_coeff_heat[2], /*!< \brief artificial dissipation (heat) array for the COption class. */ mesh_box_length[3], /*!< \brief mesh box length for the COption class. */ mesh_box_offset[3], /*!< \brief mesh box offset for the COption class. */ geo_loc[2], /*!< \brief SU2_GEO section locations array for the COption class. */ @@ -4342,7 +4339,7 @@ class CConfig { * \return Value of roughness. */ su2double GethRoughness(void) const { return hRoughness; } - + /*! * \brief Get the kind of the species model. * \return Kind of the species model. @@ -4657,18 +4654,6 @@ class CConfig { */ su2double GetKappa_4th_Flow(void) const { return Kappa_4th_Flow; } - /*! - * \brief Value of the calibrated constant for the JST method (center scheme). - * \return Calibrated constant for the JST-like method for the heat equations. - */ - su2double GetKappa_2nd_Heat(void) const { return Kappa_2nd_Heat; } - - /*! - * \brief Value of the calibrated constant for the JST-like method (center scheme). - * \return Calibrated constant for the JST-like method for the heat equation. - */ - su2double GetKappa_4th_Heat(void) const { return Kappa_4th_Heat; } - /*! * \brief Factor by which to multiply the dissipation contribution to Jacobians of central schemes. * \return The factor. diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 0357290120f..b19078e967b 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1899,9 +1899,6 @@ void CConfig::SetConfig_Options() { addDoubleArrayOption("JST_SENSOR_COEFF", 2, jst_coeff); /*!\brief LAX_SENSOR_COEFF \n DESCRIPTION: 1st order artificial dissipation coefficients for the Lax-Friedrichs method. \ingroup Config*/ addDoubleOption("LAX_SENSOR_COEFF", Kappa_1st_Flow, 0.15); - ad_coeff_heat[0] = 0.5; ad_coeff_heat[1] = 0.02; - /*!\brief JST_SENSOR_COEFF_HEAT \n DESCRIPTION: 2nd and 4th order artificial dissipation coefficients for the JST method \ingroup Config*/ - addDoubleArrayOption("JST_SENSOR_COEFF_HEAT", 2, ad_coeff_heat); /*!\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 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*/ @@ -4390,8 +4387,6 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i Kappa_4th_Flow = jst_coeff[1]; Kappa_2nd_AdjFlow = jst_adj_coeff[0]; Kappa_4th_AdjFlow = jst_adj_coeff[1]; - Kappa_2nd_Heat = ad_coeff_heat[0]; - Kappa_4th_Heat = ad_coeff_heat[1]; /*--- Make the MG_PreSmooth, MG_PostSmooth, and MG_CorrecSmooth arrays consistent with nMGLevels ---*/ @@ -8410,6 +8405,13 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, } }; + auto SetHeatParam = [&]() { + if (val_system == RUNTIME_HEAT_SYS) { + SetKind_ConvNumScheme(Kind_ConvNumScheme_Heat, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, MUSCL_Heat, NONE); + SetKind_TimeIntScheme(Kind_TimeIntScheme_Heat); + } + }; + auto SetSpeciesParam = [&]() { if (val_system == RUNTIME_SPECIES_SYS) { SetKind_ConvNumScheme(Kind_ConvNumScheme_Species, Kind_Centered_Species, @@ -8437,17 +8439,14 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, case MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES: case MAIN_SOLVER::DISC_ADJ_INC_NAVIER_STOKES: SetFlowParam(); SetSpeciesParam(); - - if (val_system == RUNTIME_HEAT_SYS) { - SetKind_ConvNumScheme(Kind_ConvNumScheme_Heat, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, NONE, NONE); - SetKind_TimeIntScheme(Kind_TimeIntScheme_Heat); - } + SetHeatParam(); break; case MAIN_SOLVER::RANS: case MAIN_SOLVER::INC_RANS: case MAIN_SOLVER::DISC_ADJ_RANS: case MAIN_SOLVER::DISC_ADJ_INC_RANS: SetFlowParam(); SetTurbParam(); SetSpeciesParam(); + SetHeatParam(); if (val_system == RUNTIME_TRANS_SYS) { SetKind_ConvNumScheme(Kind_ConvNumScheme_Turb, Kind_Centered_Turb, @@ -8455,10 +8454,6 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, MUSCL_Turb, NONE); SetKind_TimeIntScheme(Kind_TimeIntScheme_Turb); } - if (val_system == RUNTIME_HEAT_SYS) { - SetKind_ConvNumScheme(Kind_ConvNumScheme_Heat, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, NONE, NONE); - SetKind_TimeIntScheme(Kind_TimeIntScheme_Heat); - } break; case MAIN_SOLVER::FEM_EULER: case MAIN_SOLVER::FEM_NAVIER_STOKES: @@ -8505,7 +8500,7 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, Current_DynTime = static_cast(TimeIter)*Delta_DynTime; if (val_system == RUNTIME_FEA_SYS) { - SetKind_ConvNumScheme(NONE, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE , NONE, NONE); + SetKind_ConvNumScheme(NONE, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, NONE, NONE); SetKind_TimeIntScheme(NONE); } break; diff --git a/SU2_CFD/include/numerics/heat.hpp b/SU2_CFD/include/numerics/heat.hpp index f5076a434be..4cf231d2cd3 100644 --- a/SU2_CFD/include/numerics/heat.hpp +++ b/SU2_CFD/include/numerics/heat.hpp @@ -29,40 +29,6 @@ #include "scalar/scalar_diffusion.hpp" -/*! - * \class CCentSca_Heat - * \brief Class for scalar centered scheme. - * \ingroup ConvDiscr - * \author O. Burghardt - * \version 7.5.0 "Blackbird" - */ -class CCentSca_Heat : public CNumerics { -private: - su2double Param_Kappa_4; /*!< \brief Artificial dissipation parameters. */ - bool implicit; /*!< \brief Implicit calculation. */ - bool dynamic_grid; /*!< \brief Modification for grid movement. */ - -public: - /*! - * \brief Constructor of the class. - * \param[in] val_nDim - Number of dimension of the problem. - * \param[in] val_nVar - Number of variables of the problem. - * \param[in] config - Definition of the particular problem. - */ - CCentSca_Heat(unsigned short val_nDim, unsigned short val_nVar, const CConfig *config); - - /*! - * \brief Compute the flow residual using a JST method. - * \param[out] val_resconv - Pointer to the convective residual. - * \param[out] val_resvisc - Pointer to the artificial viscosity residual. - * \param[out] val_Jacobian_i - Jacobian of the numerical method at node i (implicit computation). - * \param[out] val_Jacobian_j - Jacobian of the numerical method at node j (implicit computation). - * \param[in] config - Definition of the particular problem. - */ - void ComputeResidual(su2double *val_residual, su2double **val_Jacobian_i, su2double **val_Jacobian_j, - CConfig *config) override; -}; - /*! * \class CUpwSca_Heat * \brief Class for doing a scalar upwind solver for the heat convection equation. diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index 5668af4243f..cb4ff403303 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -148,21 +148,6 @@ class CHeatSolver final : public CScalarSolver { int val_iter, bool val_update_geo) override; - /*! - * \brief Compute the spatial integration using a centered scheme. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] numerics_container - Description of the numerical method. - * \param[in] config - Definition of the particular problem. - * \param[in] iMesh - Index of the mesh in multigrid computations. - * \param[in] iRKStep - Current step of the Runge-Kutta iteration. - */ - void Centered_Residual(CGeometry *geometry, - CSolver **solver_container, - CNumerics **numerics_container, - CConfig *config, - unsigned short iMesh, - unsigned short iRKStep) override; /*! * \brief Compute the spatial integration using a upwind scheme. * \param[in] geometry - Geometrical definition of the problem. diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index 0b2c5d94aab..05773c0e38a 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -2129,11 +2129,6 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol numerics[iMGlevel][HEAT_SOL][conv_bound_term] = new CUpwSca_Heat(nDim, nVar_Heat, config); break; - case SPACE_CENTERED : - numerics[iMGlevel][HEAT_SOL][conv_term] = new CCentSca_Heat(nDim, nVar_Heat, config); - numerics[iMGlevel][HEAT_SOL][conv_bound_term] = new CUpwSca_Heat(nDim, nVar_Heat, config); - break; - default: SU2_MPI::Error("Invalid convective scheme for the heat transfer equations.", CURRENT_FUNCTION); break; diff --git a/SU2_CFD/src/numerics/heat.cpp b/SU2_CFD/src/numerics/heat.cpp index f18c2a69b62..367481cdf6b 100644 --- a/SU2_CFD/src/numerics/heat.cpp +++ b/SU2_CFD/src/numerics/heat.cpp @@ -28,90 +28,6 @@ #include "../../include/numerics/heat.hpp" #include "../../../Common/include/toolboxes/geometry_toolbox.hpp" -CCentSca_Heat::CCentSca_Heat(unsigned short val_nDim, unsigned short val_nVar, const CConfig *config) : - CNumerics(val_nDim, val_nVar, config) { - - implicit = (config->GetKind_TimeIntScheme_Turb() == EULER_IMPLICIT); - dynamic_grid = config->GetDynamic_Grid(); - Param_Kappa_4 = config->GetKappa_4th_Heat(); - -} - -void CCentSca_Heat::ComputeResidual(su2double *val_residual, su2double **val_Jacobian_i, - su2double **val_Jacobian_j, CConfig *config) { - AD::StartPreacc(); - AD::SetPreaccIn(V_i, nDim+3); AD::SetPreaccIn(V_j, nDim+3); - AD::SetPreaccIn(Temp_i); AD::SetPreaccIn(Temp_j); - AD::SetPreaccIn(Und_Lapl_i, nVar); AD::SetPreaccIn(Und_Lapl_j, nVar); - AD::SetPreaccIn(Normal, nDim); - if (dynamic_grid) { - AD::SetPreaccIn(GridVel_i, nDim); AD::SetPreaccIn(GridVel_j, nDim); - } - - /*--- Primitive variables at point i and j ---*/ - - Pressure_i = V_i[0]; Pressure_j = V_j[0]; - DensityInc_i = V_i[nDim+2]; DensityInc_j = V_j[nDim+2]; - BetaInc2_i = V_i[nDim+3]; BetaInc2_j = V_j[nDim+3]; - - /*--- Projected velocities at the current edge ---*/ - - su2double ProjVelocity_i = 0.0; - su2double ProjVelocity_j = 0.0; - - if (dynamic_grid) { - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - su2double Velocity_i = V_i[iDim+1] - GridVel_i[iDim]; - su2double Velocity_j = V_j[iDim+1] - GridVel_j[iDim]; - ProjVelocity_i += Velocity_i*Normal[iDim]; - ProjVelocity_j += Velocity_j*Normal[iDim]; - } - } - else { - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - ProjVelocity_i += V_i[iDim+1]*Normal[iDim]; - ProjVelocity_j += V_j[iDim+1]*Normal[iDim]; - } - } - - /*--- Computing the second order centered scheme part ---*/ - - const su2double ProjVelocity = 0.5*(ProjVelocity_i+ProjVelocity_j); - - val_residual[0] = 0.5*(Temp_i + Temp_j)*ProjVelocity; - - if (implicit) { - val_Jacobian_i[0][0] = 0.5*ProjVelocity; - val_Jacobian_j[0][0] = 0.5*ProjVelocity; - } - - /*--- Adding artificial dissipation to stabilize the centered scheme ---*/ - - const su2double Diff_Lapl = Und_Lapl_i[0]-Und_Lapl_j[0]; - const su2double Area2 = GeometryToolbox::SquaredNorm(nDim, Normal); - - const su2double SoundSpeed_i = sqrt(pow(ProjVelocity_i,2) + (BetaInc2_i/DensityInc_i)*Area2); - const su2double SoundSpeed_j = sqrt(pow(ProjVelocity_j,2) + (BetaInc2_j/DensityInc_j)*Area2); - - const su2double Local_Lambda_i = fabs(ProjVelocity_i)+SoundSpeed_i; - const su2double Local_Lambda_j = fabs(ProjVelocity_j)+SoundSpeed_j; - const su2double MeanLambda = 0.5*(Local_Lambda_i+Local_Lambda_j); - - val_residual[0] += -Param_Kappa_4*Diff_Lapl*MeanLambda; - - if (implicit) { - const su2double cte_0 = Param_Kappa_4*su2double(Neighbor_i+1)*MeanLambda; - const su2double cte_1 = Param_Kappa_4*su2double(Neighbor_j+1)*MeanLambda; - - val_Jacobian_i[0][0] += cte_0; - val_Jacobian_j[0][0] -= cte_1; - } - - AD::SetPreaccOut(val_residual[0]); - AD::EndPreacc(); - -} - CUpwSca_Heat::CUpwSca_Heat(unsigned short val_nDim, unsigned short val_nVar, const CConfig *config) : CNumerics(val_nDim, val_nVar, config) { diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index d4f385f4a6c..e17130fcefd 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -193,10 +193,6 @@ void CHeatSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem); END_SU2_OMP_MASTER - if (config->GetKind_ConvNumScheme_Heat() == SPACE_CENTERED) { - SetUndivided_Laplacian(geometry, config); - } - CommonPreprocessing(geometry, config, Output); } @@ -283,47 +279,6 @@ void CHeatSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConfig * Restart_Data = nullptr; } -void CHeatSolver::Centered_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, - CConfig *config, unsigned short iMesh, unsigned short iRKStep) { - - const auto numerics = numerics_container[CONV_TERM]; - - if(flow) { - - nVarFlow = solver_container[FLOW_SOL]->GetnVar(); - - for (auto iEdge = 0ul; iEdge < geometry->GetnEdge(); iEdge++) { - - /*--- Points in edge ---*/ - const auto iPoint = geometry->edges->GetNode(iEdge,0); - const auto jPoint = geometry->edges->GetNode(iEdge,1); - numerics->SetNormal(geometry->edges->GetNormal(iEdge)); - - /*--- Primitive variables w/o reconstruction ---*/ - const auto V_i = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); - const auto V_j = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(jPoint); - - const auto Temp_i = nodes->GetTemperature(iPoint); - const auto Temp_j = nodes->GetTemperature(jPoint); - - numerics->SetUndivided_Laplacian(nodes->GetUndivided_Laplacian(iPoint), nodes->GetUndivided_Laplacian(jPoint)); - numerics->SetNeighbor(geometry->nodes->GetnNeighbor(iPoint), geometry->nodes->GetnNeighbor(jPoint)); - - numerics->SetPrimitive(V_i, V_j); - numerics->SetTemperature(Temp_i, Temp_j); - - numerics->ComputeResidual(Residual, Jacobian_i, Jacobian_j, config); - - LinSysRes.AddBlock(iPoint, Residual); - LinSysRes.SubtractBlock(jPoint, Residual); - - /*--- Implicit part ---*/ - - Jacobian.UpdateBlocks(iEdge, iPoint, jPoint, Jacobian_i, Jacobian_j); - } - } -} - void CHeatSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) { diff --git a/SU2_CFD/src/variables/CHeatVariable.cpp b/SU2_CFD/src/variables/CHeatVariable.cpp index 1f696a2f66f..c5f2c58f128 100644 --- a/SU2_CFD/src/variables/CHeatVariable.cpp +++ b/SU2_CFD/src/variables/CHeatVariable.cpp @@ -58,10 +58,6 @@ CHeatVariable::CHeatVariable(su2double heat, unsigned long npoint, unsigned long Solution_time_n1 = heat; } - if (config->GetKind_ConvNumScheme_Heat() == SPACE_CENTERED) - Undivided_Laplacian.resize(nPoint, nVar); - - Max_Lambda_Inv.resize(nPoint); Max_Lambda_Visc.resize(nPoint); if (config->GetMultizone_Problem()) diff --git a/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/solid.cfg b/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/solid.cfg index 3fb2d6bafd2..c3d950ae259 100644 --- a/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/solid.cfg +++ b/TestCases/coupled_cht/disc_adj_unsteadyCHT_cylinder/solid.cfg @@ -42,7 +42,6 @@ CONV_STARTITER= 10000 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % -CONV_NUM_METHOD_HEAT = SPACE_CENTERED TIME_DISCRE_HEAT= EULER_IMPLICIT % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% diff --git a/TestCases/disc_adj_heat/disc_adj_heat.cfg b/TestCases/disc_adj_heat/disc_adj_heat.cfg index 78df9c1bd58..7df92c8bee0 100644 --- a/TestCases/disc_adj_heat/disc_adj_heat.cfg +++ b/TestCases/disc_adj_heat/disc_adj_heat.cfg @@ -126,12 +126,10 @@ CFL_REDUCTION_TURB= 1.0 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% -CONV_NUM_METHOD_HEAT = SPACE_CENTERED +CONV_NUM_METHOD_HEAT = SPACE_UPWIND MUSCL_HEAT= YES -JST_SENSOR_COEFF_HEAT= ( 0.5, 0.15 ) - TIME_DISCRE_HEAT= EULER_IMPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg index 6961daef9fc..5f7f7a90b3d 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg @@ -64,7 +64,6 @@ CONV_STARTITER= 100 % % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% % -CONV_NUM_METHOD_HEAT = SPACE_CENTERED TIME_DISCRE_HEAT= EULER_IMPLICIT % % ------------------------- INPUT/OUTPUT INFORMATION --------------------------% diff --git a/config_template.cfg b/config_template.cfg index a7d0c468d8e..8ceec40e40f 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -203,8 +203,8 @@ FREESTREAM_TURBULENCEINTENSITY= 0.05 % Fix turbulence quantities to far-field values inside an upstream half-space TURB_FIXED_VALUES= NO % -% Shift of the half-space on which fixed values are applied. -% It consists of those coordinates whose dot product with the +% Shift of the half-space on which fixed values are applied. +% It consists of those coordinates whose dot product with the % normalized far-field velocity is less than this parameter. TURB_FIXED_VALUES_DOMAIN= -1.0 % @@ -340,7 +340,7 @@ CRITICAL_PRESSURE= 3588550.0 ACENTRIC_FACTOR= 0.035 % % Thermodynamics(operating) Pressure (101325 Pa default value, only for incompressible flow and FLUID_MIXTURE) -THERMODYNAMIC_PRESSURE= 101325.0 +THERMODYNAMIC_PRESSURE= 101325.0 % % Specific heat at constant pressure, Cp (1004.703 J/kg*K (air)). % Incompressible fluids with energy eqn. (CONSTANT_DENSITY, INC_IDEAL_GAS) and the heat equation. @@ -350,7 +350,7 @@ SPECIFIC_HEAT_CP= 1004.703 % Used with Boussinesq approx. (incompressible, BOUSSINESQ density model only) THERMAL_EXPANSION_COEFF= 0.00347 % -% Molecular Weights of species for an incompressible ideal gas (28.96 g/mol (air) default), +% Molecular Weights of species for an incompressible ideal gas (28.96 g/mol (air) default), % For multispecies, we have N Molecular weights: W_1, W_2,...., W_N MOLECULAR_WEIGHT= 28.96, 16.043 % @@ -424,8 +424,8 @@ PRANDTL_TURB= 0.90 % ROTATING_FRAME: This option considers both parameters ROTATION_RATE and % TRANSLATION_RATE, which allows to simulate a free-flying aircraft (in a flight % mechanical sense) which moves and rotates in all six degrees of freedom about -% the center of gravity. In this context, the farfield MACH number is set to -% zero and MACH_MOTION is used instead to compute force coefficients. +% the center of gravity. In this context, the farfield MACH number is set to +% zero and MACH_MOTION is used instead to compute force coefficients. % STEADY_TRANSLATION: This option considers only the parameter TRANSLATION_RATE. % GRID_MOVEMENT= NONE @@ -789,7 +789,7 @@ KIND_STREAMWISE_PERIODIC= NONE % Defaults to 1.0. STREAMWISE_PERIODIC_PRESSURE_DROP= 1.0 % -% Target massflow [kg/s]. Necessary pressure drop is determined iteratively. +% Target massflow [kg/s]. Necessary pressure drop is determined iteratively. % Initial value is given via STREAMWISE_PERIODIC_PRESSURE_DROP. Default value 1.0. % Use INC_OUTLET_DAMPING as a relaxation factor. Default value 0.1 is a good start. STREAMWISE_PERIODIC_MASSFLOW= 0.0 @@ -998,19 +998,19 @@ WALL_ROUGHNESS = (wall1, ks1, wall2, ks2) % ------------------------ WALL FUNCTION DEFINITION --------------------------% % -% The von Karman constant, the constant below only affects the standard wall function model +% The von Karman constant, the constant below only affects the standard wall function model WALLMODEL_KAPPA= 0.41 % -% The wall function model constant B +% The wall function model constant B WALLMODEL_B= 5.5 % -% The y+ value below which the wall function is switched off and we resolve the wall +% The y+ value below which the wall function is switched off and we resolve the wall WALLMODEL_MINYPLUS= 5.0 % % [Expert] Max Newton iterations used for the standard wall function WALLMODEL_MAXITER= 200 % -% [Expert] relaxation factor for the Newton iterations of the standard wall function +% [Expert] relaxation factor for the Newton iterations of the standard wall function WALLMODEL_RELFAC= 0.5 % ------------------------ SURFACES IDENTIFICATION ----------------------------% @@ -1310,14 +1310,11 @@ CFL_REDUCTION_TURB= 1.0 THERMAL_DIFFUSIVITY= 1.0 % % Convective numerical method -CONV_NUM_METHOD_HEAT= SPACE_CENTERED +CONV_NUM_METHOD_HEAT= SPACE_UPWIND % % Check if the MUSCL scheme should be used MUSCL_HEAT= YES % -% 2nd and 4th order artificial dissipation coefficients for the JST method -JST_SENSOR_COEFF_HEAT= ( 0.5, 0.15 ) -% % Time discretization TIME_DISCRE_HEAT= EULER_IMPLICIT % @@ -1693,19 +1690,19 @@ HISTORY_WRT_FREQ_OUTER= 1 % HISTORY_WRT_FREQ_TIME= 1 % -% list of writing frequencies corresponding to the list in OUTPUT_FILES +% list of writing frequencies corresponding to the list in OUTPUT_FILES OUTPUT_WRT_FREQ= 10, 250, 42 % % Output the performance summary to the console at the end of SU2_CFD WRT_PERFORMANCE= NO % -% Overwrite or append iteration number to the restart files when saving +% Overwrite or append iteration number to the restart files when saving WRT_RESTART_OVERWRITE= YES % -% Overwrite or append iteration number to the surface files when saving +% Overwrite or append iteration number to the surface files when saving WRT_SURFACE_OVERWRITE= YES % -% Overwrite or append iteration number to the volume files when saving +% Overwrite or append iteration number to the volume files when saving WRT_VOLUME_OVERWRITE= YES % % ------------------------- INPUT/OUTPUT FILE INFORMATION --------------------------% @@ -1877,7 +1874,7 @@ SAVE_LIBROM = NO % Prefix to the saved libROM files (default: su2) LIBROM_BASE_FILENAME = su2 % -% Specify POD basis generation algorithm (STATIC_POD, INCREMENTAL_POD) +% Specify POD basis generation algorithm (STATIC_POD, INCREMENTAL_POD) % STATIC_POD recommended for steady problems BASIS_GENERATION = STATIC_POD % From 121e6816046d8554a70e8191551a25083a0635ca Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 15 Jan 2023 16:20:28 +0000 Subject: [PATCH 144/179] use the scalar upwind numerics in the heat solver --- SU2_CFD/include/numerics/CNumerics.hpp | 13 -- SU2_CFD/include/numerics/heat.hpp | 30 +++-- SU2_CFD/include/solvers/CHeatSolver.hpp | 36 ++++++ SU2_CFD/obj/Makefile.am | 15 +-- SU2_CFD/src/drivers/CDriver.cpp | 9 +- SU2_CFD/src/meson.build | 3 +- SU2_CFD/src/numerics/flow/flow_sources.cpp | 2 +- SU2_CFD/src/numerics/heat.cpp | 78 ----------- SU2_CFD/src/solvers/CHeatSolver.cpp | 142 +++------------------ 9 files changed, 84 insertions(+), 244 deletions(-) delete mode 100644 SU2_CFD/src/numerics/heat.cpp diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 4eea7d9debd..354ff746ec4 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -106,9 +106,6 @@ class CNumerics { su2double dist_i, /*!< \brief Distance of point i to the nearest wall. */ dist_j; /*!< \brief Distance of point j to the nearest wall. */ - su2double - Temp_i, /*!< \brief Temperature at point i. */ - Temp_j; /*!< \brief Temperature at point j. */ const su2double *Und_Lapl_i, /*!< \brief Undivided laplacians at point i. */ *Und_Lapl_j; /*!< \brief Undivided laplacians at point j. */ @@ -923,16 +920,6 @@ class CNumerics { SoundSpeed_j = val_soundspeed_j; } - /*! - * \brief Set the value of the temperature. - * \param[in] val_temp_i - Value of the temperature at point i. - * \param[in] val_temp_j - Value of the temperature at point j. - */ - inline void SetTemperature(su2double val_temp_i, su2double val_temp_j) { - Temp_i = val_temp_i; - Temp_j = val_temp_j; - } - /*! * \brief Set the value of the enthalpy. * \param[in] val_enthalpy_i - Value of the enthalpy at point i. diff --git a/SU2_CFD/include/numerics/heat.hpp b/SU2_CFD/include/numerics/heat.hpp index 4cf231d2cd3..a07a0fe6b97 100644 --- a/SU2_CFD/include/numerics/heat.hpp +++ b/SU2_CFD/include/numerics/heat.hpp @@ -28,6 +28,8 @@ #pragma once #include "scalar/scalar_diffusion.hpp" +#include "scalar/scalar_convection.hpp" +#include "../variables/CIncEulerVariable.hpp" /*! * \class CUpwSca_Heat @@ -36,27 +38,31 @@ * \author O. Burghardt. * \version 7.5.0 "Blackbird" */ -class CUpwSca_Heat : public CNumerics { -private: - bool implicit, dynamic_grid; - -public: +class CUpwSca_Heat final : public CUpwScalar> { + public: /*! * \brief Constructor of the class. * \param[in] val_nDim - Number of dimensions of the problem. - * \param[in] val_nVar - Number of variables of the problem. * \param[in] config - Definition of the particular problem. */ - CUpwSca_Heat(unsigned short val_nDim, unsigned short val_nVar, const CConfig *config); + CUpwSca_Heat(unsigned short val_nDim, const CConfig *config) + : CUpwScalar>(val_nDim, 1, config) {} + + private: + /*! + * \brief Adds extra variables to AD + */ + void ExtraADPreaccIn(void) override {} /*! - * \brief Compute the scalar upwind flux between two nodes i and j. - * \param[out] val_residual - Pointer to the total residual. - * \param[out] val_Jacobian_i - Jacobian of the numerical method at node i (implicit computation). - * \param[out] val_Jacobian_j - Jacobian of the numerical method at node j (implicit computation). + * \brief Heat-specific specific steps in the ComputeResidual method * \param[in] config - Definition of the particular problem. */ - void ComputeResidual(su2double *val_residual, su2double **val_Jacobian_i, su2double **val_Jacobian_j, CConfig *config) override; + void FinishResidualCalc(const CConfig* config) override { + Flux[0] = a0 * ScalarVar_i[0] + a1 * ScalarVar_j[0]; + Jacobian_i[0][0] = a0; + Jacobian_j[0][0] = a1; + } }; /*! diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index cb4ff403303..95aa88c4f83 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -97,6 +97,42 @@ class CHeatSolver final : public CScalarSolver { } } + /*! + * \brief Compute the viscous flux for the scalar equation at a particular edge. + * \param[in] iEdge - Edge for which we want to compute the flux + * \param[in] geometry - Geometrical definition of the problem. + * \param[in] solver_container - Container vector with all the solutions. + * \param[in] numerics - Description of the numerical method. + * \param[in] config - Definition of the particular problem. + * \note Calls a generic implementation after defining a SolverSpecificNumerics object. + */ + inline void Viscous_Residual(unsigned long iEdge, CGeometry* geometry, CSolver** solver_container, + CNumerics* numerics, CConfig* config) override { + const CVariable* flow_nodes = flow ? solver_container[FLOW_SOL]->GetNodes() : nullptr; + + const su2double const_diffusivity = config->GetThermalDiffusivity(); + const su2double pr_lam = config->GetPrandtl_Lam(); + const su2double pr_turb = config->GetPrandtl_Turb(); + + su2double thermal_diffusivity_i{}, thermal_diffusivity_j{}; + + /*--- Computes the thermal diffusivity to use in the viscous numerics. ---*/ + auto compute_thermal_diffusivity = [&](unsigned long iPoint, unsigned long jPoint) { + if (flow) { + thermal_diffusivity_i = flow_nodes->GetLaminarViscosity(iPoint) / pr_lam + + flow_nodes->GetEddyViscosity(iPoint) / pr_turb; + thermal_diffusivity_j = flow_nodes->GetLaminarViscosity(jPoint) / pr_lam + + flow_nodes->GetEddyViscosity(jPoint) / pr_turb; + numerics->SetDiffusionCoeff(&thermal_diffusivity_i, &thermal_diffusivity_j); + } + else { + numerics->SetDiffusionCoeff(&const_diffusivity, &const_diffusivity); + } + }; + /*--- Compute residual and Jacobians. ---*/ + Viscous_Residual_impl(compute_thermal_diffusivity, iEdge, geometry, solver_container, numerics, config); + } + public: /*! diff --git a/SU2_CFD/obj/Makefile.am b/SU2_CFD/obj/Makefile.am index 632dfceae27..9f06eb17ea3 100644 --- a/SU2_CFD/obj/Makefile.am +++ b/SU2_CFD/obj/Makefile.am @@ -6,8 +6,8 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # # Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) @@ -16,7 +16,7 @@ # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -85,7 +85,6 @@ libSU2Core_sources = ../src/definition_structure.cpp \ ../src/numerics/CNumerics.cpp \ ../src/numerics/template.cpp \ ../src/numerics/transition.cpp \ - ../src/numerics/heat.cpp \ ../src/numerics/radiation.cpp \ ../src/numerics/CLookUpTable.cpp \ ../src/numerics/CTrapezoidalMap.cpp \ @@ -135,7 +134,7 @@ libSU2Core_sources = ../src/definition_structure.cpp \ ../src/output/filewriter/CSU2MeshFileWriter.cpp \ ../src/output/filewriter/CTecplotFileWriter.cpp \ ../src/output/filewriter/CTecplotBinaryFileWriter.cpp \ - ../src/output/filewriter/CCGNSFileWriter.cpp \ + ../src/output/filewriter/CCGNSFileWriter.cpp \ ../src/output/tools/CWindowingTools.cpp \ ../src/output/COutput.cpp \ ../src/output/output_physics.cpp \ @@ -231,7 +230,7 @@ su2_cfd_sources = \ ../src/SU2_CFD.cpp libSU2Core_cxx_flags = -fPIC -std=c++11 -libSU2Core_libadd = +libSU2Core_libadd = su2_cfd_cxx_flags = -fPIC -std=c++11 su2_cfd_ldadd = @@ -265,7 +264,7 @@ if BUILD_DIRECTDIFF libSU2Core_DIRECTDIFF_a_SOURCES = $(libSU2Core_sources) libSU2Core_DIRECTDIFF_a_CXXFLAGS = @DIRECTDIFF_CXX@ $(libSU2Core_cxx_flags) libSU2Core_DIRECTDIFF_a_LIBADD = @DIRECTDIFF_LIBS@ $(libSU2Core_libadd) -___bin_SU2_CFD_DIRECTDIFF_SOURCES = $(su2_cfd_sources) +___bin_SU2_CFD_DIRECTDIFF_SOURCES = $(su2_cfd_sources) ___bin_SU2_CFD_DIRECTDIFF_CXXFLAGS = @DIRECTDIFF_CXX@ ${su2_cfd_cxx_flags} ___bin_SU2_CFD_DIRECTDIFF_LDADD = libSU2Core_DIRECTDIFF.a @DIRECTDIFF_LIBS@ ../../Common/lib/libSU2_DIRECTDIFF.a ${su2_cfd_ldadd} endif @@ -274,7 +273,7 @@ if BUILD_REVERSE libSU2Core_AD_a_SOURCES = $(libSU2Core_sources) libSU2Core_AD_a_CXXFLAGS = @REVERSE_CXX@ $(libSU2Core_cxx_flags) libSU2Core_AD_a_LIBADD = @REVERSE_LIBS@ $(libSU2Core_libadd) -___bin_SU2_CFD_AD_SOURCES = $(su2_cfd_sources) +___bin_SU2_CFD_AD_SOURCES = $(su2_cfd_sources) ___bin_SU2_CFD_AD_CXXFLAGS = @REVERSE_CXX@ ${su2_cfd_cxx_flags} ___bin_SU2_CFD_AD_LDADD = libSU2Core_AD.a @REVERSE_LIBS@ ../../Common/lib/libSU2_AD.a ${su2_cfd_ldadd} endif diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index 05773c0e38a..dca735e062f 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -1461,7 +1461,6 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol cout << endl <<"------------------- Numerics Preprocessing ( Zone " << config->GetiZone() <<" ) -------------------" << endl; unsigned short iMGlevel, iSol, - nVar_Template = 0, nVar_Flow = 0, nVar_NEMO = 0, @@ -1473,8 +1472,7 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol nVar_Adj_Flow = 0, nVar_Adj_Turb = 0, nVar_FEM = 0, - nVar_Rad = 0, - nVar_Heat = 0; + nVar_Rad = 0; numerics = new CNumerics***[config->GetnMGLevels()+1] (); @@ -1591,7 +1589,6 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol if (fem_ns) nVar_Flow = solver[MESH_0][FLOW_SOL]->GetnVar(); if (fem) nVar_FEM = solver[MESH_0][FEA_SOL]->GetnVar(); - if (heat) nVar_Heat = solver[MESH_0][HEAT_SOL]->GetnVar(); if (config->AddRadiation()) nVar_Rad = solver[MESH_0][RAD_SOL]->GetnVar(); @@ -2125,8 +2122,8 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol switch (config->GetKind_ConvNumScheme_Heat()) { case SPACE_UPWIND : - numerics[iMGlevel][HEAT_SOL][conv_term] = new CUpwSca_Heat(nDim, nVar_Heat, config); - numerics[iMGlevel][HEAT_SOL][conv_bound_term] = new CUpwSca_Heat(nDim, nVar_Heat, config); + numerics[iMGlevel][HEAT_SOL][conv_term] = new CUpwSca_Heat(nDim, config); + numerics[iMGlevel][HEAT_SOL][conv_bound_term] = new CUpwSca_Heat(nDim, config); break; default: diff --git a/SU2_CFD/src/meson.build b/SU2_CFD/src/meson.build index d7c7d156c41..8c920b240e6 100644 --- a/SU2_CFD/src/meson.build +++ b/SU2_CFD/src/meson.build @@ -117,8 +117,7 @@ su2_cfd_src += files(['solvers/CSolverFactory.cpp', 'solvers/CGradientSmoothingSolver.cpp']) su2_cfd_src += files(['numerics/CNumerics.cpp', - 'numerics/template.cpp', - 'numerics/heat.cpp', + 'numerics/template.cpp', 'numerics/radiation.cpp', 'numerics/flow/convection/roe.cpp', 'numerics/flow/convection/fds.cpp', diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index 7b6d0a43021..8c5b737215d 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -259,8 +259,8 @@ CNumerics::ResidualType<> CSourceIncAxisymmetric_Flow::ComputeResidual(const CCo /*--- Set primitive variables at points iPoint. ---*/ + const su2double Temp_i = V_i[nDim+1]; Pressure_i = V_i[0]; - Temp_i = V_i[nDim+1]; DensityInc_i = V_i[nDim+2]; BetaInc2_i = V_i[nDim+3]; Cp_i = V_i[nDim+7]; diff --git a/SU2_CFD/src/numerics/heat.cpp b/SU2_CFD/src/numerics/heat.cpp deleted file mode 100644 index 367481cdf6b..00000000000 --- a/SU2_CFD/src/numerics/heat.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/*! - * \file heat.cpp - * \brief Implementation of numerics classes for heat transfer. - * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" - * - * SU2 Project Website: https://su2code.github.io - * - * The SU2 Project is maintained by the SU2 Foundation - * (http://su2foundation.org) - * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) - * - * SU2 is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * SU2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with SU2. If not, see . - */ - -#include "../../include/numerics/heat.hpp" -#include "../../../Common/include/toolboxes/geometry_toolbox.hpp" - -CUpwSca_Heat::CUpwSca_Heat(unsigned short val_nDim, unsigned short val_nVar, const CConfig *config) : - CNumerics(val_nDim, val_nVar, config) { - - implicit = (config->GetKind_TimeIntScheme_Turb() == EULER_IMPLICIT); - dynamic_grid = config->GetDynamic_Grid(); - -} - -void CUpwSca_Heat::ComputeResidual(su2double *val_residual, su2double **val_Jacobian_i, - su2double **val_Jacobian_j, CConfig *config) { - - AD::StartPreacc(); - AD::SetPreaccIn(V_i, nDim+1); AD::SetPreaccIn(V_j, nDim+1); - AD::SetPreaccIn(Temp_i); AD::SetPreaccIn(Temp_j); - AD::SetPreaccIn(Normal, nDim); - if (dynamic_grid) { - AD::SetPreaccIn(GridVel_i, nDim); AD::SetPreaccIn(GridVel_j, nDim); - } - - su2double q_ij = 0.0; - - if (dynamic_grid) { - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - const su2double Velocity_i = V_i[iDim+1] - GridVel_i[iDim]; - const su2double Velocity_j = V_j[iDim+1] - GridVel_j[iDim]; - q_ij += 0.5*(Velocity_i+Velocity_j)*Normal[iDim]; - } - } - else { - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - q_ij += 0.5*(V_i[iDim+1]+V_j[iDim+1])*Normal[iDim]; - } - } - - const su2double a0 = 0.5*(q_ij+fabs(q_ij)); - const su2double a1 = 0.5*(q_ij-fabs(q_ij)); - - val_residual[0] = a0*Temp_i+a1*Temp_j; - - if (implicit) { - val_Jacobian_i[0][0] = a0; - val_Jacobian_j[0][0] = a1; - } - - AD::SetPreaccOut(val_residual[0]); - AD::EndPreacc(); - -} diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index e17130fcefd..5cad3580c28 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -281,130 +281,20 @@ void CHeatSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConfig * void CHeatSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh) { - - CNumerics* numerics = numerics_container[CONV_TERM]; - - su2double *V_i, *V_j, Temp_i, Temp_i_Corrected, Temp_j, Temp_j_Corrected, - Project_Grad_i, Project_Grad_j, Project_Temp_i_Grad, Project_Temp_j_Grad; - - su2double Vector_i[MAXNDIM] = {0}; - su2double Vector_j[MAXNDIM] = {0}; - - if(flow) { - - nVarFlow = solver_container[FLOW_SOL]->GetnVar(); - - /*--- Define some auxiliary vectors related to the primitive flow solution ---*/ - vector Primitive_Flow_i(nVarFlow, 0.0); - vector Primitive_Flow_j(nVarFlow, 0.0); - - for (auto iEdge = 0ul; iEdge < geometry->GetnEdge(); iEdge++) { - - /*--- Points in edge ---*/ - const auto iPoint = geometry->edges->GetNode(iEdge,0); - const auto jPoint = geometry->edges->GetNode(iEdge,1); - numerics->SetNormal(geometry->edges->GetNormal(iEdge)); - - /*--- Primitive variables w/o reconstruction ---*/ - V_i = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); - V_j = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(jPoint); - - const auto Temp_i_Grad = nodes->GetGradient(iPoint); - const auto Temp_j_Grad = nodes->GetGradient(jPoint); - numerics->SetConsVarGradient(Temp_i_Grad, Temp_j_Grad); - - Temp_i = nodes->GetTemperature(iPoint); - Temp_j = nodes->GetTemperature(jPoint); - - /* Second order reconstruction */ - if (config->GetMUSCL_Heat()) { - - for (auto iDim = 0u; iDim < nDim; iDim++) { - Vector_i[iDim] = 0.5*(geometry->nodes->GetCoord(jPoint, iDim) - geometry->nodes->GetCoord(iPoint, iDim)); - Vector_j[iDim] = 0.5*(geometry->nodes->GetCoord(iPoint, iDim) - geometry->nodes->GetCoord(jPoint, iDim)); - } - - const auto Gradient_i = solver_container[FLOW_SOL]->GetNodes()->GetGradient_Reconstruction(iPoint); - const auto Gradient_j = solver_container[FLOW_SOL]->GetNodes()->GetGradient_Reconstruction(jPoint); - const auto Temp_i_Grad = nodes->GetGradient_Reconstruction(iPoint); - const auto Temp_j_Grad = nodes->GetGradient_Reconstruction(jPoint); - - /*Loop to correct the flow variables*/ - for (auto iVar = 0u; iVar < nVarFlow; iVar++) { - - /*Apply the Gradient to get the right temperature value on the edge */ - Project_Grad_i = 0.0; Project_Grad_j = 0.0; - for (auto iDim = 0u; iDim < nDim; iDim++) { - Project_Grad_i += Vector_i[iDim]*Gradient_i[iVar][iDim]; - Project_Grad_j += Vector_j[iDim]*Gradient_j[iVar][iDim]; - } - - Primitive_Flow_i[iVar] = V_i[iVar] + Project_Grad_i; - Primitive_Flow_j[iVar] = V_j[iVar] + Project_Grad_j; - } - - /* Correct the temperature variables */ - Project_Temp_i_Grad = 0.0; Project_Temp_j_Grad = 0.0; - for (auto iDim = 0u; iDim < nDim; iDim++) { - Project_Temp_i_Grad += Vector_i[iDim]*Temp_i_Grad[0][iDim]; - Project_Temp_j_Grad += Vector_j[iDim]*Temp_j_Grad[0][iDim]; - } - - Temp_i_Corrected = Temp_i + Project_Temp_i_Grad; - Temp_j_Corrected = Temp_j + Project_Temp_j_Grad; - - numerics->SetPrimitive(Primitive_Flow_i.data(), Primitive_Flow_j.data()); - numerics->SetTemperature(Temp_i_Corrected, Temp_j_Corrected); - } - - else { - - numerics->SetPrimitive(V_i, V_j); - numerics->SetTemperature(Temp_i, Temp_j); - } - - numerics->ComputeResidual(Residual, Jacobian_i, Jacobian_j, config); - - LinSysRes.AddBlock(iPoint, Residual); - LinSysRes.SubtractBlock(jPoint, Residual); - - /*--- Implicit part ---*/ - - Jacobian.UpdateBlocks(iEdge, iPoint, jPoint, Jacobian_i, Jacobian_j); - } - } - + /*--- For solid heat transfer there is no convection. ---*/ + if (!flow) return; + CScalarSolver::Upwind_Residual(geometry, solver_container, numerics_container, config, iMesh); } void CHeatSolver::Viscous_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics **numerics_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep) { + /*--- For fluid problems the viscous residual is included in the convective residual. ---*/ + if (flow) return; CNumerics* numerics = numerics_container[VISC_TERM]; - const CVariable* flow_nodes = flow ? solver_container[FLOW_SOL]->GetNodes() : nullptr; - - const su2double const_diffusivity = config->GetThermalDiffusivity(); - const su2double pr_lam = config->GetPrandtl_Lam(); - const su2double pr_turb = config->GetPrandtl_Turb(); - for (auto iEdge = 0ul; iEdge < geometry->GetnEdge(); iEdge++) { - su2double thermal_diffusivity_i{}, thermal_diffusivity_j{}; - - /*--- Computes the thermal diffusivity to use in the viscous numerics. ---*/ - auto compute_thermal_diffusivity = [&](unsigned long iPoint, unsigned long jPoint) { - if (flow) { - thermal_diffusivity_i = flow_nodes->GetLaminarViscosity(iPoint) / pr_lam + - flow_nodes->GetEddyViscosity(iPoint) / pr_turb; - thermal_diffusivity_j = flow_nodes->GetLaminarViscosity(jPoint) / pr_lam + - flow_nodes->GetEddyViscosity(jPoint) / pr_turb; - numerics->SetDiffusionCoeff(&thermal_diffusivity_i, &thermal_diffusivity_j); - } - else { - numerics->SetDiffusionCoeff(&const_diffusivity, &const_diffusivity); - } - }; - /*--- Compute residual and Jacobians. ---*/ - Viscous_Residual_impl(compute_thermal_diffusivity, iEdge, geometry, solver_container, numerics, config); + Viscous_Residual(iEdge, geometry, solver_container, numerics, config); } } @@ -505,6 +395,7 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, const bool viscous = config->GetViscous(); const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); + const su2double Temp_j = config->GetInlet_Ttotal(Marker_Tag) / config->GetTemperature_Ref(); su2double Normal[MAXNDIM]; @@ -544,20 +435,21 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, if (dynamic_grid) conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); - conv_numerics->SetTemperature(nodes->GetTemperature(iPoint), config->GetInlet_Ttotal(Marker_Tag)/config->GetTemperature_Ref()); + const su2double Temp_i = nodes->GetTemperature(iPoint); + conv_numerics->SetScalarVar(&Temp_i, &Temp_j); /*--- Compute the residual using an upwind scheme ---*/ - conv_numerics->ComputeResidual(Residual, Jacobian_i, Jacobian_j, config); + auto residual = conv_numerics->ComputeResidual(config); /*--- Update residual value ---*/ - LinSysRes.AddBlock(iPoint, Residual); + LinSysRes.AddBlock(iPoint, residual); /*--- Jacobian contribution for implicit integration ---*/ if (implicit) - Jacobian.AddBlock2Diag(iPoint, Jacobian_i); + Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); } /*--- Viscous contribution ---*/ @@ -610,20 +502,22 @@ void CHeatSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, if (dynamic_grid) conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); - conv_numerics->SetTemperature(nodes->GetTemperature(iPoint), nodes->GetTemperature(Point_Normal)); + const su2double Temp_i = nodes->GetTemperature(iPoint); + const su2double Temp_j = nodes->GetTemperature(Point_Normal); + conv_numerics->SetScalarVar(&Temp_i, &Temp_j); /*--- Compute the residual using an upwind scheme ---*/ - conv_numerics->ComputeResidual(Residual, Jacobian_i, Jacobian_j, config); + auto residual = conv_numerics->ComputeResidual(config); /*--- Update residual value ---*/ - LinSysRes.AddBlock(iPoint, Residual); + LinSysRes.AddBlock(iPoint, residual); /*--- Jacobian contribution for implicit integration ---*/ if (implicit) - Jacobian.AddBlock2Diag(iPoint, Jacobian_i); + Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); } } } From 13b27b02026ac6f0b445b442ac98a2ee5972402a Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 15 Jan 2023 16:30:22 +0000 Subject: [PATCH 145/179] cleanup some implicit logic and uses of CSolver temp vars --- .../numerics/scalar/scalar_convection.hpp | 3 +- .../numerics/turbulent/turb_convection.hpp | 20 ++++------- SU2_CFD/src/solvers/CHeatSolver.cpp | 35 +++++-------------- 3 files changed, 16 insertions(+), 42 deletions(-) diff --git a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp index c403af3ee43..7d50d2fe9e0 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp @@ -57,7 +57,7 @@ class CUpwScalar : public CNumerics { su2double* Jacobian_j[MAXNVAR]; /*!< \brief Flux Jacobian w.r.t. node j. */ su2double JacobianBuffer[2*MAXNVAR*MAXNVAR]; /*!< \brief Static storage for the two Jacobians. */ - const bool implicit = false, incompressible = false, dynamic_grid = false; + const bool incompressible = false, dynamic_grid = false; /*! * \brief A pure virtual function. Derived classes must use it to register the additional @@ -82,7 +82,6 @@ class CUpwScalar : public CNumerics { CUpwScalar(unsigned short ndim, unsigned short nvar, const CConfig* config) : CNumerics(ndim, nvar, config), idx(ndim, config->GetnSpecies()), - implicit(config->GetKind_TimeIntScheme_Turb() == EULER_IMPLICIT), incompressible(config->GetKind_Regime() == ENUM_REGIME::INCOMPRESSIBLE), dynamic_grid(config->GetDynamic_Grid()) { if (nVar > MAXNVAR) { diff --git a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp index 9723d186bbf..90a1c9ba216 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp @@ -47,7 +47,6 @@ class CUpwSca_TurbSA final : public CUpwScalar { using Base::Jacobian_j; using Base::ScalarVar_i; using Base::ScalarVar_j; - using Base::implicit; using Base::bounded_scalar; /*! @@ -61,11 +60,8 @@ class CUpwSca_TurbSA final : public CUpwScalar { */ void FinishResidualCalc(const CConfig* config) override { Flux[0] = a0*ScalarVar_i[0] + a1*ScalarVar_j[0]; - - if (implicit) { - Jacobian_i[0][0] = a0; - Jacobian_j[0][0] = a1; - } + Jacobian_i[0][0] = a0; + Jacobian_j[0][0] = a1; } public: @@ -99,7 +95,6 @@ class CUpwSca_TurbSST final : public CUpwScalar { using Base::Jacobian_j; using Base::ScalarVar_i; using Base::ScalarVar_j; - using Base::implicit; using Base::idx; using Base::bounded_scalar; @@ -115,13 +110,12 @@ class CUpwSca_TurbSST final : public CUpwScalar { void FinishResidualCalc(const CConfig* config) override { Flux[0] = a0*V_i[idx.Density()]*ScalarVar_i[0] + a1*V_j[idx.Density()]*ScalarVar_j[0]; Flux[1] = a0*V_i[idx.Density()]*ScalarVar_i[1] + a1*V_j[idx.Density()]*ScalarVar_j[1]; - if (implicit) { - Jacobian_i[0][0] = a0; Jacobian_i[0][1] = 0.0; - Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = a0; - Jacobian_j[0][0] = a1; Jacobian_j[0][1] = 0.0; - Jacobian_j[1][0] = 0.0; Jacobian_j[1][1] = a1; - } + Jacobian_i[0][0] = a0; Jacobian_i[0][1] = 0.0; + Jacobian_i[1][0] = 0.0; Jacobian_i[1][1] = a0; + + Jacobian_j[0][0] = a1; Jacobian_j[0][1] = 0.0; + Jacobian_j[1][0] = 0.0; Jacobian_j[1][1] = a1; } public: diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 5cad3580c28..1694fc07566 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -56,11 +56,6 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM nDim = geometry->GetnDim(); - /*--- Define some auxiliary vector related with the residual ---*/ - - Residual = new su2double[nVar]; for (auto iVar = 0u; iVar < nVar; iVar++) Residual[iVar] = 0.0; - Res_Visc = new su2double[nVar]; for (auto iVar = 0u; iVar < nVar; iVar++) Res_Visc[iVar] = 0.0; - /*--- Define some structures for locating max residuals ---*/ Residual_RMS.resize(nVar,0.0); @@ -68,15 +63,6 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM Point_Max.resize(nVar,0); Point_Max_Coord.resize(nVar,nDim) = su2double(0.0); - /*--- Jacobians and vector structures for implicit computations ---*/ - - Jacobian_i = new su2double* [nVar]; - Jacobian_j = new su2double* [nVar]; - for (auto iVar = 0u; iVar < nVar; iVar++) { - Jacobian_i[iVar] = new su2double [nVar]; - Jacobian_j[iVar] = new su2double [nVar]; - } - /*--- Initialization of the structure of the whole Jacobian ---*/ if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (heat equation) MG level: " << iMesh << "." << endl; @@ -465,11 +451,7 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, void CHeatSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - su2double *V_outlet, *V_domain; - - bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); - - su2double Normal[MAXNDIM]; + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { @@ -481,6 +463,7 @@ void CHeatSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, /*--- Normal vector for this vertex (negate for outward convention) ---*/ + su2double Normal[MAXNDIM]; geometry->vertex[val_marker][iVertex]->GetNormal(Normal); for (auto iDim = 0u; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; @@ -489,11 +472,11 @@ void CHeatSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, /*--- Retrieve solution at this boundary node ---*/ - V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); + const auto* V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); /*--- Retrieve the specified velocity for the inlet. ---*/ - V_outlet = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); + auto* V_outlet = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); for (auto iDim = 0u; iDim < nDim; iDim++) V_outlet[iDim+1] = solver_container[FLOW_SOL]->GetNodes()->GetVelocity(Point_Normal, iDim); @@ -528,7 +511,7 @@ void CHeatSolver::BC_ConjugateHeat_Interface(CGeometry *geometry, CSolver **solv su2double thermal_diffusivity, T_Conjugate, Tinterface, Tnormal_Conjugate, HeatFluxDensity, HeatFlux, Area; - const bool implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); const su2double Temperature_Ref = config->GetTemperature_Ref(); const su2double rho_cp_solid = config->GetMaterialDensity(0)*config->GetSpecific_Heat_Cp(); @@ -577,9 +560,8 @@ void CHeatSolver::BC_ConjugateHeat_Interface(CGeometry *geometry, CSolver **solv HeatFlux = HeatFluxDensity * Area; if (implicit) { - - Jacobian_i[0][0] = -thermal_diffusivity*Area; - Jacobian.SubtractBlock2Diag(iPoint, Jacobian_i); + su2double Jacobian_i[] = {-thermal_diffusivity*Area}; + Jacobian.SubtractBlock2Diag(iPoint, &Jacobian_i); } } else { @@ -588,8 +570,7 @@ void CHeatSolver::BC_ConjugateHeat_Interface(CGeometry *geometry, CSolver **solv HeatFlux = HeatFluxDensity*Area; } - Res_Visc[0] = -HeatFlux; - LinSysRes.SubtractBlock(iPoint, Res_Visc); + LinSysRes(iPoint, 0) += HeatFlux; } } } From 8507ec72c41d2a43b237dabe416070c62b6c0f0e Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 15 Jan 2023 17:04:15 +0000 Subject: [PATCH 146/179] cleanup heat solver BCs and add OpenMP --- SU2_CFD/include/solvers/CHeatSolver.hpp | 22 +--- SU2_CFD/include/solvers/CScalarSolver.hpp | 12 +- SU2_CFD/src/solvers/CHeatSolver.cpp | 133 ++++++++++++---------- 3 files changed, 78 insertions(+), 89 deletions(-) diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index 95aa88c4f83..7f0df9a9ca8 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -46,16 +46,13 @@ class CHeatSolver final : public CScalarSolver { su2double Global_Delta_Time = 0.0, Global_Delta_UnstTimeND = 0.0; - unsigned short nVarFlow; - vector > HeatFlux; + vector> HeatFlux; vector HeatFlux_per_Marker; su2double Total_HeatFlux; su2double AllBound_HeatFlux; vector AverageT_per_Marker; su2double Total_AverageT; su2double AllBound_AverageT; - vector Primitive_Flow_i; - vector Primitive_Flow_j; vector Surface_Areas; su2double Total_HeatFlux_Areas; su2double Total_HeatFlux_Areas_Monitor; @@ -158,18 +155,6 @@ class CHeatSolver final : public CScalarSolver { unsigned short RunTime_EqSystem, bool Output) override; - /*! - * \brief A virtual member. - * \param[in] geometry - Geometrical definition of the problem. - * \param[in] solver_container - Container vector with all the solutions. - * \param[in] config - Definition of the particular problem. - * \param[in] iMesh - Index of the mesh in multigrid computations. - */ - void Postprocessing(CGeometry *geometry, - CSolver **solver_container, - CConfig *config, - unsigned short iMesh) override; - /*! * \brief Load a solution from a restart file. * \param[in] geometry - Geometrical definition of the problem. @@ -417,9 +402,4 @@ class CHeatSolver final : public CScalarSolver { * \return Value of the heat flux. */ inline su2double GetHeatFlux(unsigned short val_marker, unsigned long val_vertex) const override { return HeatFlux[val_marker][val_vertex]; } - - /*! - * \brief Does not support OpenMP+MPI yet. - */ - inline bool GetHasHybridParallel() const override { return false; } }; diff --git a/SU2_CFD/include/solvers/CScalarSolver.hpp b/SU2_CFD/include/solvers/CScalarSolver.hpp index e7ec30d5900..a94ef7e02eb 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.hpp +++ b/SU2_CFD/include/solvers/CScalarSolver.hpp @@ -291,6 +291,12 @@ class CScalarSolver : public CSolver { */ void CommonPreprocessing(CGeometry *geometry, const CConfig *config, const bool Output); + /*! + * \brief Sum the edge fluxes for each cell to populate the residual vector, only used on coarse grids. + * \param[in] geometry - Geometrical definition of the problem. + */ + void SumEdgeFluxes(CGeometry* geometry); + private: /*! * \brief Compute the viscous flux for the scalar equation at a particular edge. @@ -313,12 +319,6 @@ class CScalarSolver : public CSolver { } using CSolver::Viscous_Residual; /*--- Silence warning ---*/ - /*! - * \brief Sum the edge fluxes for each cell to populate the residual vector, only used on coarse grids. - * \param[in] geometry - Geometrical definition of the problem. - */ - void SumEdgeFluxes(CGeometry* geometry); - /*! * \brief Compute a suitable under-relaxation parameter to limit the change in the solution variables over * a nonlinear iteration for stability. Default value 1.0 set in ctor of CScalarVariable. diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 1694fc07566..ee179027685 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -37,11 +37,6 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM : CScalarSolver(geometry, config, false), flow(config->GetFluidProblem()), heat_equation(config->GetHeatProblem()) { - /*--- This solver will not run with OpenMP yet so force this to false. ---*/ -#ifdef HAVE_OMP - ReducerStrategy = false; -#endif - /*--- Dimension of the problem --> temperature is the only conservative variable ---*/ nVar = 1; @@ -174,30 +169,24 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM SolverName = "HEAT"; } -void CHeatSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) { - SU2_OMP_MASTER - config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem); - END_SU2_OMP_MASTER - +void CHeatSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh, + unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) { + SU2_OMP_SAFE_GLOBAL_ACCESS(config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem);) CommonPreprocessing(geometry, config, Output); } -void CHeatSolver::Postprocessing(CGeometry *geometry, CSolver **solver_container, CConfig *config, unsigned short iMesh) { } - void CHeatSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConfig *config, int val_iter, bool val_update_geo) { - /*--- Restart the solution from file information ---*/ - const string restart_filename = config->GetFilename(config->GetSolution_FileName(), "", val_iter); + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS { /*--- Skip coordinates ---*/ unsigned short skipVars = nDim; if (flow) { // P, vx, vy (,vz) - if (nDim == 2) skipVars += 3; - if (nDim == 3) skipVars += 4; + skipVars += 1 + nDim; } /*--- Read the restart data from either an ASCII or binary SU2 file. ---*/ @@ -235,6 +224,8 @@ void CHeatSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConfig * SU2_MPI::Error(string("The solution file ") + restart_filename + string(" does not match with the mesh file!\n") + string("This can be caused by empty lines at the end of the file."), CURRENT_FUNCTION); } + } + END_SU2_OMP_SAFE_GLOBAL_ACCESS /*--- Communicate the loaded solution on the fine grid before we transfer it down to the coarse levels. We alo call the preprocessing routine @@ -259,10 +250,13 @@ void CHeatSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConfig * /*--- Delete the class memory that is used to load the restart. ---*/ - delete[] Restart_Vars; - Restart_Vars = nullptr; - delete[] Restart_Data; - Restart_Data = nullptr; + BEGIN_SU2_OMP_SAFE_GLOBAL_ACCESS { + delete[] Restart_Vars; + Restart_Vars = nullptr; + delete[] Restart_Data; + Restart_Data = nullptr; + } + END_SU2_OMP_SAFE_GLOBAL_ACCESS } void CHeatSolver::Upwind_Residual(CGeometry *geometry, CSolver **solver_container, @@ -276,11 +270,31 @@ void CHeatSolver::Viscous_Residual(CGeometry *geometry, CSolver **solver_contain CConfig *config, unsigned short iMesh, unsigned short iRKStep) { /*--- For fluid problems the viscous residual is included in the convective residual. ---*/ if (flow) return; + const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + CNumerics* numerics = numerics_container[VISC_TERM + omp_get_thread_num() * MAX_TERMS]; + + bool pausePreacc = false; + if (ReducerStrategy) + pausePreacc = AD::PausePreaccumulation(); + else + AD::StartNoSharedReading(); + + for (auto color : EdgeColoring) { + SU2_OMP_FOR_DYN(nextMultiple(OMP_MIN_SIZE, color.groupSize)) + for (auto k = 0ul; k < color.size; ++k) { + auto iEdge = color.indices[k]; + Viscous_Residual(iEdge, geometry, solver_container, numerics, config); + } + END_SU2_OMP_FOR + } - CNumerics* numerics = numerics_container[VISC_TERM]; + /*--- Restore preaccumulation and adjoint evaluation state. ---*/ + AD::ResumePreaccumulation(pausePreacc); + if (!ReducerStrategy) AD::EndNoSharedReading(); - for (auto iEdge = 0ul; iEdge < geometry->GetnEdge(); iEdge++) { - Viscous_Residual(iEdge, geometry, solver_container, numerics, config); + if (ReducerStrategy) { + SumEdgeFluxes(geometry); + if (implicit) Jacobian.SetDiagonalAsColumnSum(); } } @@ -345,9 +359,11 @@ void CHeatSolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_conta const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); const su2double Twall = config->GetIsothermal_Temperature(Marker_Tag) / config->GetTemperature_Ref(); + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { IsothermalBoundaryCondition(geometry, solver_container[FLOW_SOL], config, val_marker, iVertex, Twall); } + END_SU2_OMP_FOR } void CHeatSolver::BC_HeatFlux_Wall(CGeometry* geometry, CSolver** solver_container, CNumerics* conv_numerics, @@ -359,6 +375,7 @@ void CHeatSolver::BC_HeatFlux_Wall(CGeometry* geometry, CSolver** solver_contain Wall_HeatFlux /= geometry->GetSurfaceArea(config, val_marker); } + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); if (!geometry->nodes->GetDomain(iPoint)) continue; @@ -369,32 +386,27 @@ void CHeatSolver::BC_HeatFlux_Wall(CGeometry* geometry, CSolver** solver_contain const su2double flux = Wall_HeatFlux * Area; LinSysRes(iPoint, 0) -= flux; } + END_SU2_OMP_FOR } void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { - unsigned short iDim; - unsigned long iVertex, iPoint; - su2double Vel_Mag, *V_inlet, *V_domain; - const bool viscous = config->GetViscous(); const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); const su2double Temp_j = config->GetInlet_Ttotal(Marker_Tag) / config->GetTemperature_Ref(); - - su2double Normal[MAXNDIM]; - const su2double Twall = config->GetTemperature_FreeStreamND(); - for (iVertex = 0; iVertex < geometry->nVertex[val_marker]; iVertex++) { + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) + for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { - iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); + const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); if (geometry->nodes->GetDomain(iPoint)) { - + su2double Normal[MAXNDIM]; geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - for (iDim = 0; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; + for (auto iDim = 0u; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; if (flow) { @@ -404,16 +416,16 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, /*--- Retrieve solution at this boundary node ---*/ - V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); + const auto* V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); /*--- Retrieve the specified velocity for the inlet. ---*/ - Vel_Mag = config->GetInlet_Ptotal(Marker_Tag)/config->GetVelocity_Ref(); - auto Flow_Dir = config->GetInlet_FlowDir(Marker_Tag); + const su2double Vel_Mag = config->GetInlet_Ptotal(Marker_Tag) / config->GetVelocity_Ref(); + const auto* Flow_Dir = config->GetInlet_FlowDir(Marker_Tag); - V_inlet = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); + auto* V_inlet = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); - for (iDim = 0; iDim < nDim; iDim++) + for (auto iDim = 0u; iDim < nDim; iDim++) V_inlet[iDim+1] = Vel_Mag*Flow_Dir[iDim]; conv_numerics->SetPrimitive(V_domain, V_inlet); @@ -445,7 +457,7 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, } } } - + END_SU2_OMP_FOR } void CHeatSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, @@ -453,6 +465,7 @@ void CHeatSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); @@ -504,41 +517,35 @@ void CHeatSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, } } } - + END_SU2_OMP_FOR } void CHeatSolver::BC_ConjugateHeat_Interface(CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CConfig *config, unsigned short val_marker) { - su2double thermal_diffusivity, T_Conjugate, Tinterface, Tnormal_Conjugate, HeatFluxDensity, HeatFlux, Area; - const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - const su2double Temperature_Ref = config->GetTemperature_Ref(); - const su2double rho_cp_solid = config->GetMaterialDensity(0)*config->GetSpecific_Heat_Cp(); + const su2double rho_cp_solid = config->GetMaterialDensity(0) * config->GetSpecific_Heat_Cp(); if (flow) { - + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); if (geometry->nodes->GetDomain(iPoint)) { + const su2double T_Conjugate = GetConjugateHeatVariable(val_marker, iVertex, 0) / Temperature_Ref; - const su2double* Normal = geometry->vertex[val_marker][iVertex]->GetNormal(); - Area = GeometryToolbox::Norm(nDim, Normal); - - T_Conjugate = GetConjugateHeatVariable(val_marker, iVertex, 0)/Temperature_Ref; - - nodes->SetSolution_Old(iPoint,&T_Conjugate); + nodes->SetSolution_Old(iPoint, &T_Conjugate); LinSysRes(iPoint, 0) = 0.0; nodes->SetRes_TruncErrorZero(iPoint); if (implicit) Jacobian.DeleteValsRowi(iPoint); } } + END_SU2_OMP_FOR } else if (heat_equation) { - + SU2_OMP_FOR_STAT(OMP_MIN_SIZE) for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); @@ -546,18 +553,19 @@ void CHeatSolver::BC_ConjugateHeat_Interface(CGeometry *geometry, CSolver **solv if (geometry->nodes->GetDomain(iPoint)) { su2double const* Normal = geometry->vertex[val_marker][iVertex]->GetNormal(); - Area = GeometryToolbox::Norm(nDim, Normal); + const su2double Area = GeometryToolbox::Norm(nDim, Normal); - thermal_diffusivity = GetConjugateHeatVariable(val_marker, iVertex, 2)/rho_cp_solid; + const su2double thermal_diffusivity = GetConjugateHeatVariable(val_marker, iVertex, 2) / rho_cp_solid; + su2double HeatFlux = 0; if ((config->GetKind_CHT_Coupling() == CHT_COUPLING::DIRECT_TEMPERATURE_ROBIN_HEATFLUX) || (config->GetKind_CHT_Coupling() == CHT_COUPLING::AVERAGED_TEMPERATURE_ROBIN_HEATFLUX)) { - Tinterface = nodes->GetTemperature(iPoint); - Tnormal_Conjugate = GetConjugateHeatVariable(val_marker, iVertex, 3)/Temperature_Ref; + const su2double Tinterface = nodes->GetTemperature(iPoint); + const su2double Tnormal_Conjugate = GetConjugateHeatVariable(val_marker, iVertex, 3) / Temperature_Ref; - HeatFluxDensity = thermal_diffusivity*(Tinterface - Tnormal_Conjugate); - HeatFlux = HeatFluxDensity * Area; + const su2double HeatFluxDensity = thermal_diffusivity * (Tinterface - Tnormal_Conjugate); + HeatFlux = HeatFluxDensity * Area; if (implicit) { su2double Jacobian_i[] = {-thermal_diffusivity*Area}; @@ -565,14 +573,15 @@ void CHeatSolver::BC_ConjugateHeat_Interface(CGeometry *geometry, CSolver **solv } } else { - - HeatFluxDensity = GetConjugateHeatVariable(val_marker, iVertex, 1)/config->GetHeat_Flux_Ref(); - HeatFlux = HeatFluxDensity*Area; + const su2double HeatFluxDensity = + GetConjugateHeatVariable(val_marker, iVertex, 1) / config->GetHeat_Flux_Ref(); + HeatFlux = HeatFluxDensity*Area; } LinSysRes(iPoint, 0) += HeatFlux; } } + END_SU2_OMP_FOR } } From 230b532173b44b4a22615f9639e77ea25bcb0c70 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 15 Jan 2023 17:42:48 +0000 Subject: [PATCH 147/179] limiter options for heat solver --- Common/include/CConfig.hpp | 7 +++++-- Common/include/option_structure.inl | 4 ++-- Common/src/CConfig.cpp | 25 +++++++++++++++++------ TestCases/disc_adj_heat/disc_adj_heat.cfg | 2 +- config_template.cfg | 7 +++++-- 5 files changed, 32 insertions(+), 13 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index e7edcd3abb1..34df7fc10a6 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -497,6 +497,7 @@ class CConfig { Kind_SlopeLimit_Turb, /*!< \brief Slope limiter for the turbulence equation.*/ Kind_SlopeLimit_AdjTurb, /*!< \brief Slope limiter for the adjoint turbulent equation.*/ Kind_SlopeLimit_AdjFlow, /*!< \brief Slope limiter for the adjoint equation.*/ + Kind_SlopeLimit_Heat, /*!< \brief Slope limiter for the adjoint equation.*/ Kind_SlopeLimit_Species; /*!< \brief Slope limiter for the species equation.*/ unsigned short Kind_FluidModel, /*!< \brief Kind of the Fluid Model: Ideal, van der Waals, etc. */ Kind_InitOption, /*!< \brief Kind of Init option to choose if initializing with Reynolds number or with thermodynamic conditions */ @@ -547,6 +548,7 @@ class CConfig { Kind_Centered_Turb, /*!< \brief Centered scheme for the turbulence model. */ Kind_Centered_AdjTurb, /*!< \brief Centered scheme for the adjoint turbulence model. */ Kind_Centered_Species, /*!< \brief Centered scheme for the species model. */ + Kind_Centered_Heat, /*!< \brief Centered scheme for the heat transfer model. */ Kind_Centered_Template; /*!< \brief Centered scheme for the template model. */ @@ -563,6 +565,7 @@ class CConfig { Kind_Upwind_Turb, /*!< \brief Upwind scheme for the turbulence model. */ Kind_Upwind_AdjTurb, /*!< \brief Upwind scheme for the adjoint turbulence model. */ Kind_Upwind_Species, /*!< \brief Upwind scheme for the species model. */ + Kind_Upwind_Heat, /*!< \brief Upwind scheme for the heat transfer model. */ Kind_Upwind_Template; /*!< \brief Upwind scheme for the template model. */ bool MUSCL, /*!< \brief MUSCL scheme .*/ @@ -2325,8 +2328,8 @@ class CConfig { * \param[in] val_kind_fem - If FEM, what kind of FEM discretization. */ void SetKind_ConvNumScheme(unsigned short val_kind_convnumscheme, CENTERED val_kind_centered, - UPWIND val_kind_upwind, LIMITER val_kind_slopelimit, - bool val_muscl, unsigned short val_kind_fem); + UPWIND val_kind_upwind, LIMITER val_kind_slopelimit, + bool val_muscl, unsigned short val_kind_fem); /*! * \brief Get the value of limiter coefficient. diff --git a/Common/include/option_structure.inl b/Common/include/option_structure.inl index 706b9f8c05f..8d973e370bb 100644 --- a/Common/include/option_structure.inl +++ b/Common/include/option_structure.inl @@ -422,13 +422,13 @@ public: } if (Centered_Map.count(option_value[0])) { - this->space = Space_Map.find("SPACE_CENTERED")->second; + this->space = SPACE_CENTERED; this->centered = Centered_Map.find(option_value[0])->second; this->upwind = UPWIND::NONE; return ""; } if (Upwind_Map.count(option_value[0])) { - this->space = Space_Map.find("SPACE_UPWIND")->second; + this->space = SPACE_UPWIND; this->upwind = Upwind_Map.find(option_value[0])->second; this->centered = CENTERED::NONE; return ""; diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index b19078e967b..d3ac984c413 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -1947,9 +1947,10 @@ void CConfig::SetConfig_Options() { /*!\brief MUSCL_FLOW \n DESCRIPTION: Check if the MUSCL scheme should be used \ingroup Config*/ addBoolOption("MUSCL_HEAT", MUSCL_Heat, false); - /*!\brief CONV_NUM_METHOD_HEAT - * \n DESCRIPTION: Convective numerical method \n DEFAULT: UPWIND */ - addEnumOption("CONV_NUM_METHOD_HEAT", Kind_ConvNumScheme_Heat, Space_Map, SPACE_UPWIND); + /*!\brief SLOPE_LIMITER_HEAT \n DESCRIPTION: Slope limiter \n OPTIONS: See \link Limiter_Map \endlink \n DEFAULT NONE \ingroup Config*/ + addEnumOption("SLOPE_LIMITER_HEAT", Kind_SlopeLimit_Heat, Limiter_Map, LIMITER::NONE); + /*!\brief CONV_NUM_METHOD_HEAT \n DESCRIPTION: Convective numerical method */ + addConvectOption("CONV_NUM_METHOD_HEAT", Kind_ConvNumScheme_Heat, Kind_Centered_Heat, Kind_Upwind_Heat); /*!\par CONFIG_CATEGORY: Adjoint and Gradient \ingroup Config*/ /*--- Options related to the adjoint and gradient ---*/ @@ -3547,9 +3548,20 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i /*--- Set limiter for no MUSCL reconstructions ---*/ + auto SetScalarDefaults = [](bool muscl, unsigned short& KindConvScheme, UPWIND& KindUpwind, LIMITER& KindLimiter) { + if (KindConvScheme == NO_CONVECTIVE) { + KindConvScheme = SPACE_UPWIND; + KindUpwind = UPWIND::SCALAR_UPWIND; + } else if (KindConvScheme == SPACE_CENTERED) { + SU2_MPI::Error("Centered schemes are not available for scalar transport", CURRENT_FUNCTION); + } + if (!muscl) KindLimiter = LIMITER::NONE; + }; + SetScalarDefaults(MUSCL_Turb, Kind_ConvNumScheme_Turb, Kind_Upwind_Turb, Kind_SlopeLimit_Turb); + SetScalarDefaults(MUSCL_Heat, Kind_ConvNumScheme_Heat, Kind_Upwind_Heat, Kind_SlopeLimit_Heat); + SetScalarDefaults(MUSCL_Species, Kind_ConvNumScheme_Species, Kind_Upwind_Species, Kind_SlopeLimit_Species); + if (!MUSCL_Flow || (Kind_ConvNumScheme_Flow == SPACE_CENTERED)) Kind_SlopeLimit_Flow = LIMITER::NONE; - if (!MUSCL_Turb || (Kind_ConvNumScheme_Turb == SPACE_CENTERED)) Kind_SlopeLimit_Turb = LIMITER::NONE; - if (!MUSCL_Species || (Kind_ConvNumScheme_Species == SPACE_CENTERED)) Kind_SlopeLimit_Species = LIMITER::NONE; if (!MUSCL_AdjFlow || (Kind_ConvNumScheme_AdjFlow == SPACE_CENTERED)) Kind_SlopeLimit_AdjFlow = LIMITER::NONE; if (!MUSCL_AdjTurb || (Kind_ConvNumScheme_AdjTurb == SPACE_CENTERED)) Kind_SlopeLimit_AdjTurb = LIMITER::NONE; @@ -8407,7 +8419,8 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver, auto SetHeatParam = [&]() { if (val_system == RUNTIME_HEAT_SYS) { - SetKind_ConvNumScheme(Kind_ConvNumScheme_Heat, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, MUSCL_Heat, NONE); + SetKind_ConvNumScheme(Kind_ConvNumScheme_Heat, Kind_Centered_Heat, + Kind_Upwind_Heat, Kind_SlopeLimit_Heat, MUSCL_Heat, NONE); SetKind_TimeIntScheme(Kind_TimeIntScheme_Heat); } }; diff --git a/TestCases/disc_adj_heat/disc_adj_heat.cfg b/TestCases/disc_adj_heat/disc_adj_heat.cfg index 7df92c8bee0..26a502096de 100644 --- a/TestCases/disc_adj_heat/disc_adj_heat.cfg +++ b/TestCases/disc_adj_heat/disc_adj_heat.cfg @@ -126,7 +126,7 @@ CFL_REDUCTION_TURB= 1.0 % -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% -CONV_NUM_METHOD_HEAT = SPACE_UPWIND +CONV_NUM_METHOD_HEAT = SCALAR_UPWIND MUSCL_HEAT= YES diff --git a/config_template.cfg b/config_template.cfg index 8ceec40e40f..69fff1ee7a6 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -1309,12 +1309,15 @@ CFL_REDUCTION_TURB= 1.0 % Value of the thermal diffusivity THERMAL_DIFFUSIVITY= 1.0 % -% Convective numerical method -CONV_NUM_METHOD_HEAT= SPACE_UPWIND +% Convective numerical method for the heat equation (only SCALAR_UPWIND) +CONV_NUM_METHOD_HEAT= SCALAR_UPWIND % % Check if the MUSCL scheme should be used MUSCL_HEAT= YES % +% Slope limiter for the heat equation (same options as SLOPE_LIMITER_SPECIES) +SLOPE_LIMITER_HEAT = NONE +% % Time discretization TIME_DISCRE_HEAT= EULER_IMPLICIT % From e51af8d154ff4e663cbb6671dab6445bbed1260c Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 15 Jan 2023 18:20:15 +0000 Subject: [PATCH 148/179] cleanup some unused maps --- Common/include/option_structure.hpp | 6 ------ Common/include/option_structure.inl | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index d39d6abde86..452c7bd7c33 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -534,12 +534,6 @@ enum ENUM_SPACE { SPACE_UPWIND = 2, /*!< \brief Upwind convective numerical method. */ FINITE_ELEMENT = 3 /*!< \brief Finite element convective numerical method. */ }; -static const MapType Space_Map = { - MakePair("NONE", NO_CONVECTIVE) - MakePair("SPACE_CENTERED", SPACE_CENTERED) - MakePair("SPACE_UPWIND", SPACE_UPWIND) - MakePair("FINITE_ELEMENT", FINITE_ELEMENT) -}; /*! * \brief Types of fluid model diff --git a/Common/include/option_structure.inl b/Common/include/option_structure.inl index 8d973e370bb..ddb31c34754 100644 --- a/Common/include/option_structure.inl +++ b/Common/include/option_structure.inl @@ -466,7 +466,7 @@ public: } if (FEM_Map.count(option_value[0])) { - this->space = Space_Map.find("FINITE_ELEMENT")->second; + this->space = FINITE_ELEMENT; this->fem = FEM_Map.find(option_value[0])->second; return ""; } From 4785f2742b0378be9c2073857e04419dfa5cbfa7 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 15 Jan 2023 20:30:33 +0000 Subject: [PATCH 149/179] fix Inlet Outlet and Farfield --- SU2_CFD/src/solvers/CHeatSolver.cpp | 127 ++++++++++++---------------- 1 file changed, 56 insertions(+), 71 deletions(-) diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index ee179027685..2c4e14d7cd1 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -93,7 +93,8 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM Temperature_Ref = config->GetInc_Temperature_Ref(); } config->SetTemperature_Ref(Temperature_Ref); - config->SetTemperature_FreeStreamND(Temperature_FreeStream/Temperature_Ref); + config->SetTemperature_FreeStreamND(Temperature_FreeStream / Temperature_Ref); + Solution_Inf[0] = config->GetTemperature_FreeStreamND(); /*--- Set the reference values for heat fluxes. If the heat solver runs stand-alone, * thermal conductivity is read directly from config file ---*/ @@ -115,7 +116,7 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM used for communications with donor cells ---*/ const unsigned short nConjVariables = 4; - AllocVectorOfMatrices(nVertex, nConjVariables, ConjugateVar, config->GetTemperature_FreeStreamND()); + AllocVectorOfMatrices(nVertex, nConjVariables, ConjugateVar, Solution_Inf[0]); /*--- Heat flux in all the markers ---*/ @@ -131,7 +132,7 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM /*--- Initialize the nodes vector. ---*/ - nodes = new CHeatVariable(config->GetTemperature_FreeStreamND(), nPoint, nDim, nVar, config); + nodes = new CHeatVariable(Solution_Inf[0], nPoint, nDim, nVar, config); SetBaseClassPointerToNodes(); @@ -389,72 +390,61 @@ void CHeatSolver::BC_HeatFlux_Wall(CGeometry* geometry, CSolver** solver_contain END_SU2_OMP_FOR } -void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, - CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { +void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, + CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { + if (!flow) return; const bool viscous = config->GetViscous(); const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); - const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); - const su2double Temp_j = config->GetInlet_Ttotal(Marker_Tag) / config->GetTemperature_Ref(); - const su2double Twall = config->GetTemperature_FreeStreamND(); SU2_OMP_FOR_STAT(OMP_MIN_SIZE) for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - if (geometry->nodes->GetDomain(iPoint)) { - su2double Normal[MAXNDIM]; - geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - for (auto iDim = 0u; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; - - if (flow) { - - /*--- Normal vector for this vertex (negate for outward convention) ---*/ + if (!geometry->nodes->GetDomain(iPoint)) continue; - conv_numerics->SetNormal(Normal); + su2double Normal[MAXNDIM]; + geometry->vertex[val_marker][iVertex]->GetNormal(Normal); + for (auto iDim = 0u; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; - /*--- Retrieve solution at this boundary node ---*/ + /*--- Normal vector for this vertex (negate for outward convention) ---*/ - const auto* V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); + conv_numerics->SetNormal(Normal); - /*--- Retrieve the specified velocity for the inlet. ---*/ + /*--- Retrieve solution at this boundary node ---*/ - const su2double Vel_Mag = config->GetInlet_Ptotal(Marker_Tag) / config->GetVelocity_Ref(); - const auto* Flow_Dir = config->GetInlet_FlowDir(Marker_Tag); + const auto* V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); - auto* V_inlet = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); + /*--- Retrieve the specified velocity for the inlet. ---*/ - for (auto iDim = 0u; iDim < nDim; iDim++) - V_inlet[iDim+1] = Vel_Mag*Flow_Dir[iDim]; + const auto* V_inlet = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); - conv_numerics->SetPrimitive(V_domain, V_inlet); + conv_numerics->SetPrimitive(V_domain, V_inlet); - if (dynamic_grid) - conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); + if (dynamic_grid) + conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); - const su2double Temp_i = nodes->GetTemperature(iPoint); - conv_numerics->SetScalarVar(&Temp_i, &Temp_j); + const su2double Temp_i = nodes->GetTemperature(iPoint); + const su2double Temp_j = V_inlet[prim_idx.Temperature()]; + conv_numerics->SetScalarVar(&Temp_i, &Temp_j); - /*--- Compute the residual using an upwind scheme ---*/ + /*--- Compute the residual using an upwind scheme ---*/ - auto residual = conv_numerics->ComputeResidual(config); + auto residual = conv_numerics->ComputeResidual(config); - /*--- Update residual value ---*/ + /*--- Update residual value ---*/ - LinSysRes.AddBlock(iPoint, residual); + LinSysRes.AddBlock(iPoint, residual); - /*--- Jacobian contribution for implicit integration ---*/ + /*--- Jacobian contribution for implicit integration ---*/ - if (implicit) - Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); - } + if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); - /*--- Viscous contribution ---*/ + /*--- Viscous contribution ---*/ - if (viscous) { - IsothermalBoundaryCondition(geometry, solver_container[FLOW_SOL], config, val_marker, iVertex, Twall); - } + if (viscous) { + IsothermalBoundaryCondition(geometry, solver_container[FLOW_SOL], config, val_marker, iVertex, Temp_j); } } END_SU2_OMP_FOR @@ -462,6 +452,7 @@ void CHeatSolver::BC_Inlet(CGeometry *geometry, CSolver **solver_container, void CHeatSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, CNumerics *conv_numerics, CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { + if (!flow) return; const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT); @@ -470,52 +461,46 @@ void CHeatSolver::BC_Outlet(CGeometry *geometry, CSolver **solver_container, const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); - if (geometry->nodes->GetDomain(iPoint)) { + if (!geometry->nodes->GetDomain(iPoint)) continue; - const auto Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); + const auto Point_Normal = geometry->vertex[val_marker][iVertex]->GetNormal_Neighbor(); - /*--- Normal vector for this vertex (negate for outward convention) ---*/ + /*--- Normal vector for this vertex (negate for outward convention) ---*/ - su2double Normal[MAXNDIM]; - geometry->vertex[val_marker][iVertex]->GetNormal(Normal); - for (auto iDim = 0u; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; + su2double Normal[MAXNDIM]; + geometry->vertex[val_marker][iVertex]->GetNormal(Normal); + for (auto iDim = 0u; iDim < nDim; iDim++) Normal[iDim] = -Normal[iDim]; - if(flow) { - conv_numerics->SetNormal(Normal); + conv_numerics->SetNormal(Normal); - /*--- Retrieve solution at this boundary node ---*/ + /*--- Retrieve solution at this boundary node ---*/ - const auto* V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); + const auto* V_domain = solver_container[FLOW_SOL]->GetNodes()->GetPrimitive(iPoint); - /*--- Retrieve the specified velocity for the inlet. ---*/ + /*--- Retrieve the specified velocity for the inlet. ---*/ - auto* V_outlet = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); - for (auto iDim = 0u; iDim < nDim; iDim++) - V_outlet[iDim+1] = solver_container[FLOW_SOL]->GetNodes()->GetVelocity(Point_Normal, iDim); + const auto* V_outlet = solver_container[FLOW_SOL]->GetCharacPrimVar(val_marker, iVertex); - conv_numerics->SetPrimitive(V_domain, V_outlet); + conv_numerics->SetPrimitive(V_domain, V_outlet); - if (dynamic_grid) - conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); + if (dynamic_grid) + conv_numerics->SetGridVel(geometry->nodes->GetGridVel(iPoint), geometry->nodes->GetGridVel(iPoint)); - const su2double Temp_i = nodes->GetTemperature(iPoint); - const su2double Temp_j = nodes->GetTemperature(Point_Normal); - conv_numerics->SetScalarVar(&Temp_i, &Temp_j); + const su2double Temp_i = nodes->GetTemperature(iPoint); + const su2double Temp_j = nodes->GetTemperature(Point_Normal); + conv_numerics->SetScalarVar(&Temp_i, &Temp_j); - /*--- Compute the residual using an upwind scheme ---*/ + /*--- Compute the residual using an upwind scheme ---*/ - auto residual = conv_numerics->ComputeResidual(config); + auto residual = conv_numerics->ComputeResidual(config); - /*--- Update residual value ---*/ + /*--- Update residual value ---*/ - LinSysRes.AddBlock(iPoint, residual); + LinSysRes.AddBlock(iPoint, residual); - /*--- Jacobian contribution for implicit integration ---*/ + /*--- Jacobian contribution for implicit integration ---*/ - if (implicit) - Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); - } - } + if (implicit) Jacobian.AddBlock2Diag(iPoint, residual.jacobian_i); } END_SU2_OMP_FOR } From 13dae366130ea610dbf5a024f1d44510a8251a45 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 16 Jan 2023 06:01:18 -0800 Subject: [PATCH 150/179] add primal regression for weakly coupled heat --- .github/workflows/regression.yml | 2 +- TestCases/disc_adj_heat/primal.cfg | 141 +++++++++++++++++++++++++++++ TestCases/hybrid_regression.py | 10 +- 3 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 TestCases/disc_adj_heat/primal.cfg diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index e749e661e70..5572944fe32 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -128,7 +128,7 @@ jobs: uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: # -t -c - args: -b ${{github.ref}} -t develop -c develop -s ${{matrix.testscript}} + args: -b ${{github.ref}} -t develop -c heat_solver_scalar_framework -s ${{matrix.testscript}} - name: Cleanup uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: diff --git a/TestCases/disc_adj_heat/primal.cfg b/TestCases/disc_adj_heat/primal.cfg new file mode 100644 index 00000000000..d755d41a951 --- /dev/null +++ b/TestCases/disc_adj_heat/primal.cfg @@ -0,0 +1,141 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: 2D Cylinder test case with weakly coupled heat equation % +% Author: Ole Burghardt % +% Institution: Chair for Scientific Computing, TU Kaiserslautern % +% Date: November 26th, 2018 % +% File Version 7.5.0 "Blackbird" % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% + +SOLVER= INC_RANS +KIND_TURB_MODEL= SA +WEAKLY_COUPLED_HEAT_EQUATION= YES +RESTART_SOL= YES +OBJECTIVE_FUNCTION= TOTAL_HEATFLUX + +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% + +INC_DENSITY_MODEL= CONSTANT +INC_ENERGY_EQUATION= NO +INC_DENSITY_INIT= 998.2 +INC_VELOCITY_INIT= ( 0.25, 0.0, 0.0 ) +INC_TEMPERATURE_INIT= 300.0 +INC_NONDIM= INITIAL_VALUES +INC_INLET_TYPE = VELOCITY_INLET +INC_OUTLET_TYPE= PRESSURE_OUTLET + +% ---------------- (SOLIDS) CONDUCTION CONDITION DEFINITION -------------------% + +FREESTREAM_TEMPERATURE= 350.0 + +% ---- IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% + +SPECIFIC_HEAT_CP = 4182.0 + +% --------------------------- VISCOSITY MODEL ---------------------------------% + +VISCOSITY_MODEL=CONSTANT_VISCOSITY +MU_CONSTANT= 1.003E-3 + +% --------------------------- THERMAL CONDUCTIVITY MODEL ----------------------% + +CONDUCTIVITY_MODEL= CONSTANT_PRANDTL +PRANDTL_LAM = 6.99091 + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% + +MARKER_INLET= ( IN, 300.0, 0.25, 1.0, 0.0, 0.0 ) +MARKER_OUTLET= ( OUT, 0 ) +MARKER_SYM= ( SYM, SYMINNER ) +MARKER_ISOTHERMAL= ( PIN, 350.0, NOZZLE, 300.0 ) + +% ------------------------ SURFACES IDENTIFICATION ----------------------------% + +MARKER_PLOTTING = ( PIN ) +MARKER_MONITORING = ( PIN ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% + +NUM_METHOD_GRAD= GREEN_GAUSS +CFL_NUMBER= 1000 +CFL_ADAPT= NO + +% ------------------------ LINEAR SOLVER DEFINITION ---------------------------% + +LINEAR_SOLVER= FGMRES +LINEAR_SOLVER_PREC= ILU +LINEAR_SOLVER_ERROR= 0.1 +LINEAR_SOLVER_ITER= 10 + +% -------------------- FLOW NUMERICAL METHOD DEFINITION -----------------------% + +CONV_NUM_METHOD_FLOW= JST +MUSCL_FLOW= NO +JST_SENSOR_COEFF= ( 0.5, 0.05 ) +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% -------------------- TURBULENT NUMERICAL METHOD DEFINITION ------------------% + +CONV_NUM_METHOD_TURB= SCALAR_UPWIND +MUSCL_TURB= NO +TIME_DISCRE_TURB= EULER_IMPLICIT +CFL_REDUCTION_TURB= 1.0 + +% -------------------- HEAT NUMERICAL METHOD DEFINITION -----------------------% + +CONV_NUM_METHOD_HEAT = SCALAR_UPWIND +MUSCL_HEAT= YES +TIME_DISCRE_HEAT= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% + +CONV_RESIDUAL_MINVAL= -18 +CONV_STARTITER= 50 +ITER= 500 + +% ----------------------- DESIGN VARIABLE PARAMETERS --------------------------% + +DV_KIND= FFD_CONTROL_POINT_2D +DV_PARAM= ( PIN_BOX, 8, 4, 1.0, -1.0 ) +DV_MARKER= ( PIN ) +DV_VALUE= 0.0005 + +% ------------------------ GRID DEFORMATION PARAMETERS ------------------------% + +DEFORM_LINEAR_SOLVER= FGMRES +DEFORM_LINEAR_SOLVER_ITER= 100 +DEFORM_CONSOLE_OUTPUT= YES +DEFORM_STIFFNESS_TYPE= WALL_DISTANCE + +% -------------------- FREE-FORM DEFORMATION PARAMETERS -----------------------% + +FFD_TOLERANCE= 1E-10 +FFD_DEFINITION= ( PIN_BOX, -0.0005, -0.0005, 0.0, -0.0005, 0.0015, 0.0, 0.0025, 0.0015, 0.0, 0.0025, -0.0005, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ) +FFD_DEGREE= (10, 10, 0) +FFD_ITERATIONS= 100 +FFD_BLENDING= BSPLINE_UNIFORM +FFD_BSPLINE_ORDER= 4,4,2 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% + +MESH_FILENAME= cylinder2d_ffd.su2 +MESH_FORMAT= SU2 +MESH_OUT_FILENAME= mesh_out.su2 +SOLUTION_FILENAME= solution_flow.dat +SOLUTION_ADJ_FILENAME= solution_adj.dat +TABULAR_FORMAT= CSV +CONV_FILENAME= history +RESTART_FILENAME= restart_flow.dat +RESTART_ADJ_FILENAME= restart_adj.dat +VOLUME_FILENAME= flow +VOLUME_ADJ_FILENAME= adjoint +VALUE_OBJFUNC_FILENAME= of_eval.dat +GRAD_OBJFUNC_FILENAME= of_grad.dat +SURFACE_FILENAME= surface_flow +SURFACE_ADJ_FILENAME= surface_adjoint +OUTPUT_WRT_FREQ= 250 +SCREEN_OUTPUT= (INNER_ITER, RMS_RES, LINSOL_RESIDUAL, TOTAL_HEATFLUX) diff --git a/TestCases/hybrid_regression.py b/TestCases/hybrid_regression.py index 2127f2371dd..1a4c653e484 100644 --- a/TestCases/hybrid_regression.py +++ b/TestCases/hybrid_regression.py @@ -248,7 +248,7 @@ def main(): ####################################### ### Axisymmetric Compressible RANS ### ####################################### - + # Axisymmetric air nozzle (transonic) axi_rans_air_nozzle_restart = TestCase('axi_rans_air_nozzle_restart') axi_rans_air_nozzle_restart.cfg_dir = "axisymmetric_rans/air_nozzle" @@ -427,6 +427,14 @@ def main(): inc_turb_naca0012_sst_sust.test_vals = [-7.274028, 0.145888, 0.000002, 0.312014] test_list.append(inc_turb_naca0012_sst_sust) + # Weakly coupled heat equation + inc_weakly_coupled = TestCase('inc_weakly_coupled') + inc_weakly_coupled.cfg_dir = "disc_adj_heat" + inc_weakly_coupled.cfg_file = "primal.cfg" + inc_weakly_coupled.test_iter = 10 + inc_weakly_coupled.test_vals = [-15.485939, -14.427060, -14.309349, -14.207925, -14.419144, -1.049701, 5.5458] + test_list.append(inc_weakly_coupled) + ###################################### ### Moving Wall ### ###################################### From 47a63e5f7a982c3a6b51b2b37369303dda3f2bb7 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 16 Jan 2023 07:21:37 -0800 Subject: [PATCH 151/179] avoid NDFlatner issues --- Common/include/geometry/dual_grid/CPoint.hpp | 8 +- Common/src/geometry/CGeometry.cpp | 77 +++++++++++++------- 2 files changed, 56 insertions(+), 29 deletions(-) diff --git a/Common/include/geometry/dual_grid/CPoint.hpp b/Common/include/geometry/dual_grid/CPoint.hpp index b5750ddb4d2..03443ee3862 100644 --- a/Common/include/geometry/dual_grid/CPoint.hpp +++ b/Common/include/geometry/dual_grid/CPoint.hpp @@ -865,16 +865,16 @@ class CPoint { /*! * \brief Set wall roughnesses according to stored closest wall information. - * \param[in] roughness - Mapping [rank][zone][marker] -> roughness + * \param[in] roughness - Function (rank, zone, marker) -> roughness */ template - void SetWallRoughness(Roughness_type const& roughness){ + void SetWallRoughness(Roughness_type const& roughness) { for (unsigned long iPoint=0; iPoint= 0){ - SetRoughnessHeight(iPoint, roughness[rankID][zoneID][markerID]); + if (rankID >= 0) { + SetRoughnessHeight(iPoint, roughness(rankID, zoneID, markerID)); } } } diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 87ed7214f60..112ecf74ff7 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -4035,12 +4035,12 @@ const CGeometry::CLineletInfo& CGeometry::GetLineletInfo(const CConfig* config) void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeometry ****geometry_container){ - int nZone = config_container[ZONE_0]->GetnZone(); + const auto nZone = config_container[ZONE_0]->GetnZone(); bool allEmpty = true; vector wallDistanceNeeded(nZone, false); - for (int iInst = 0; iInst < config_container[ZONE_0]->GetnTimeInstances(); iInst++){ - for (int iZone = 0; iZone < nZone; iZone++){ + for (auto iInst = 0u; iInst < config_container[ZONE_0]->GetnTimeInstances(); iInst++){ + for (auto iZone = 0u; iZone < nZone; iZone++){ /*--- Check if a zone needs the wall distance and store a boolean ---*/ @@ -4063,13 +4063,13 @@ void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeo } /*--- Loop over all zones and compute the ADT based on the viscous walls in that zone ---*/ - for (int iZone = 0; iZone < nZone; iZone++){ + for (auto iZone = 0u; iZone < nZone; iZone++){ unique_ptr WallADT = geometry_container[iZone][iInst][MESH_0]->ComputeViscousWallADT(config_container[iZone]); if (WallADT && !WallADT->IsEmpty()){ allEmpty = false; /*--- Inner loop over all zones to update the wall distances. * It might happen that there is a closer viscous wall in zone iZone for points in zone jZone. ---*/ - for (int jZone = 0; jZone < nZone; jZone++){ + for (auto jZone = 0u; jZone < nZone; jZone++){ if (wallDistanceNeeded[jZone]) geometry_container[jZone][iInst][MESH_0]->SetWallDistance(WallADT.get(), config_container[jZone], iZone); } @@ -4078,31 +4078,58 @@ void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeo /*--- If there are no viscous walls in the entire domain, set distances to zero ---*/ if (allEmpty){ - for (int iZone = 0; iZone < nZone; iZone++){ + for (auto iZone = 0u; iZone < nZone; iZone++){ CGeometry *geometry = geometry_container[iZone][iInst][MESH_0]; geometry->SetWallDistance(0.0); } } /*--- Otherwise, set wall roughnesses. ---*/ - if(!allEmpty){ - /*--- Store all wall roughnesses in a common data structure. ---*/ - // [iZone][iMarker] -> roughness, for this rank - auto roughness_f = - make_pair( nZone, [config_container,geometry_container,iInst](unsigned long iZone){ - const CConfig* config = config_container[iZone]; - const auto nMarker = geometry_container[iZone][iInst][MESH_0]->GetnMarker(); - - return make_pair( nMarker, [config](unsigned long iMarker){ - return config->GetWallRoughnessProperties(config->GetMarker_All_TagBound(iMarker)).second; - }); - }); - NdFlattener<2> roughness_local(roughness_f); - // [rank][iZone][iMarker] -> roughness - NdFlattener<3> roughness_global(Nd_MPI_Environment(), roughness_local); - // use it to update roughnesses - for(int jZone=0; jZoneGetnRoughWall()>0){ - geometry_container[jZone][iInst][MESH_0]->nodes->SetWallRoughness(roughness_global); + if (!allEmpty) { + /*--- Store all marker wall roughnesses in a common data structure. ---*/ + std::vector wall_rough_zone, wall_rough_marker; + std::vector wall_rough_val; + for (auto iZone = 0u; iZone < nZone; ++iZone) { + const CConfig* config = config_container[iZone]; + for (auto iMarker = 0u; iMarker < geometry_container[iZone][iInst][MESH_0]->GetnMarker(); ++iMarker) { + wall_rough_zone.push_back(iZone); + wall_rough_marker.push_back(iMarker); + wall_rough_val.push_back(config->GetWallRoughnessProperties(config->GetMarker_All_TagBound(iMarker)).second); + } + } + /*--- Communicate. ---*/ + const int wall_rough_size = wall_rough_val.size(); + const int mpi_size = SU2_MPI::GetSize(); + std::vector counts(mpi_size); + SU2_MPI::Allgather(&wall_rough_size, 1, MPI_INT, counts.data(), 1, MPI_INT, SU2_MPI::GetComm()); + std::vector displs(mpi_size + 1, 0); + for (int i = 1; i <= mpi_size; ++i) displs[i] = displs[i - 1] + counts[i - 1]; + const auto total_size = displs.back(); + + std::vector all_wall_rough_zone(total_size), all_wall_rough_marker(total_size); + std::vector all_wall_rough_val(total_size); + + SU2_MPI::Allgatherv(wall_rough_zone.data(), wall_rough_size, MPI_UNSIGNED_SHORT, all_wall_rough_zone.data(), + counts.data(), displs.data(), MPI_UNSIGNED_SHORT, SU2_MPI::GetComm()); + SU2_MPI::Allgatherv(wall_rough_marker.data(), wall_rough_size, MPI_UNSIGNED_SHORT, all_wall_rough_marker.data(), + counts.data(), displs.data(), MPI_UNSIGNED_SHORT, SU2_MPI::GetComm()); + SU2_MPI::Allgatherv(wall_rough_val.data(), wall_rough_size, MPI_DOUBLE, all_wall_rough_val.data(), + counts.data(), displs.data(), MPI_DOUBLE, SU2_MPI::GetComm()); + + /*--- f(iRank, iZone, iMarker) -> roughness value ---*/ + auto wall_rough_func = [&](int iRank, unsigned short iZone, unsigned short iMarker) { + /*--- Jump based on rank, then linear search for (iZone, iMarker). ---*/ + for (auto k = displs[iRank]; k < displs[iRank + 1]; ++k) { + if (all_wall_rough_zone[k] == iZone && all_wall_rough_marker[k] == iMarker) { + return all_wall_rough_val[k]; + } + } + SU2_MPI::Error("Failed to find wall roughness value", CURRENT_FUNCTION); + return su2double{}; + }; + + for(auto jZone=0u; jZoneGetnRoughWall() > 0) { + geometry_container[jZone][iInst][MESH_0]->nodes->SetWallRoughness(wall_rough_func); } } } From 65e4167dabc9f737b4f32b92cb799db72703328a Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Mon, 16 Jan 2023 08:14:39 -0800 Subject: [PATCH 152/179] update regressions --- TestCases/hybrid_regression.py | 2 +- TestCases/parallel_regression_AD.py | 4 ++-- TestCases/serial_regression_AD.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TestCases/hybrid_regression.py b/TestCases/hybrid_regression.py index 1a4c653e484..26d829c717c 100644 --- a/TestCases/hybrid_regression.py +++ b/TestCases/hybrid_regression.py @@ -432,7 +432,7 @@ def main(): inc_weakly_coupled.cfg_dir = "disc_adj_heat" inc_weakly_coupled.cfg_file = "primal.cfg" inc_weakly_coupled.test_iter = 10 - inc_weakly_coupled.test_vals = [-15.485939, -14.427060, -14.309349, -14.207925, -14.419144, -1.049701, 5.5458] + inc_weakly_coupled.test_vals = [-17.240436, -16.184455, -16.069131, -17.230730, -18.350601, -13.768070, 5.545700] test_list.append(inc_weakly_coupled) ###################################### diff --git a/TestCases/parallel_regression_AD.py b/TestCases/parallel_regression_AD.py index 1e7e82189df..a24bfe5d844 100644 --- a/TestCases/parallel_regression_AD.py +++ b/TestCases/parallel_regression_AD.py @@ -255,8 +255,8 @@ def main(): discadj_heat.cfg_dir = "disc_adj_heat" discadj_heat.cfg_file = "disc_adj_heat.cfg" discadj_heat.test_iter = 10 - discadj_heat.test_vals = [-2.344307, 0.721551, -0.507470, -5.612700] - discadj_heat.test_vals_aarch64 = [-2.344307, 0.721551, -0.507470, -5.612700] + discadj_heat.test_vals = [-2.226525, 0.603989, 0.000000, -6.256200] + discadj_heat.test_vals_aarch64 = [-2.226525, 0.603989, 0.000000, -6.256200] test_list.append(discadj_heat) ################################### diff --git a/TestCases/serial_regression_AD.py b/TestCases/serial_regression_AD.py index 092c102d191..c3d0b926e74 100644 --- a/TestCases/serial_regression_AD.py +++ b/TestCases/serial_regression_AD.py @@ -200,7 +200,7 @@ def main(): discadj_heat.cfg_dir = "disc_adj_heat" discadj_heat.cfg_file = "disc_adj_heat.cfg" discadj_heat.test_iter = 10 - discadj_heat.test_vals = [-2.350284, 0.665882, -2.649900, -7.006800] #last 4 columns + discadj_heat.test_vals = [-2.227518, 0.576043, 0.000000, -7.753900] #last 4 columns test_list.append(discadj_heat) ################################### From 18fde7e8b5177a39530fedfaad1ebee9c70bee98 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Tue, 17 Jan 2023 14:23:58 -0800 Subject: [PATCH 153/179] simplify --- .../containers/container_decorators.hpp | 6 ++ Common/src/geometry/CGeometry.cpp | 59 ++++++------------- 2 files changed, 25 insertions(+), 40 deletions(-) diff --git a/Common/include/containers/container_decorators.hpp b/Common/include/containers/container_decorators.hpp index b3c1c2a08d4..428bc01254e 100644 --- a/Common/include/containers/container_decorators.hpp +++ b/Common/include/containers/container_decorators.hpp @@ -115,6 +115,12 @@ class C3DContainerDecorator { Index rows() const noexcept { return m_storage.cols() / m_innerSz; } Index cols() const noexcept { return m_innerSz; } + /*! + * \brief Raw data. + */ + Scalar* data() noexcept { return m_storage.data(); } + const Scalar* data() const noexcept { return m_storage.data(); } + /*! * \brief Element-wise access. */ diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 112ecf74ff7..124d1aee92e 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -4085,51 +4085,30 @@ void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeo } /*--- Otherwise, set wall roughnesses. ---*/ if (!allEmpty) { - /*--- Store all marker wall roughnesses in a common data structure. ---*/ - std::vector wall_rough_zone, wall_rough_marker; - std::vector wall_rough_val; + /*--- Store all marker wall roughnesses in a common data structure (rank, zone, marker) -> value. ---*/ + unsigned short nMarkerMax = 0; + for (auto iZone = 0u; iZone < nZone; ++iZone) { + nMarkerMax = std::max(nMarkerMax, geometry_container[iZone][iInst][MESH_0]->GetnMarker()); + } + const auto tmp = nMarkerMax; + SU2_MPI::Allreduce(&tmp, &nMarkerMax, 1, MPI_UNSIGNED_SHORT, MPI_MAX, SU2_MPI::GetComm()); + + su2activematrix wall_roughness(nZone, nMarkerMax); for (auto iZone = 0u; iZone < nZone; ++iZone) { const CConfig* config = config_container[iZone]; for (auto iMarker = 0u; iMarker < geometry_container[iZone][iInst][MESH_0]->GetnMarker(); ++iMarker) { - wall_rough_zone.push_back(iZone); - wall_rough_marker.push_back(iMarker); - wall_rough_val.push_back(config->GetWallRoughnessProperties(config->GetMarker_All_TagBound(iMarker)).second); + wall_roughness(iZone, iMarker) = + config->GetWallRoughnessProperties(config->GetMarker_All_TagBound(iMarker)).second; } } - /*--- Communicate. ---*/ - const int wall_rough_size = wall_rough_val.size(); - const int mpi_size = SU2_MPI::GetSize(); - std::vector counts(mpi_size); - SU2_MPI::Allgather(&wall_rough_size, 1, MPI_INT, counts.data(), 1, MPI_INT, SU2_MPI::GetComm()); - std::vector displs(mpi_size + 1, 0); - for (int i = 1; i <= mpi_size; ++i) displs[i] = displs[i - 1] + counts[i - 1]; - const auto total_size = displs.back(); - - std::vector all_wall_rough_zone(total_size), all_wall_rough_marker(total_size); - std::vector all_wall_rough_val(total_size); - - SU2_MPI::Allgatherv(wall_rough_zone.data(), wall_rough_size, MPI_UNSIGNED_SHORT, all_wall_rough_zone.data(), - counts.data(), displs.data(), MPI_UNSIGNED_SHORT, SU2_MPI::GetComm()); - SU2_MPI::Allgatherv(wall_rough_marker.data(), wall_rough_size, MPI_UNSIGNED_SHORT, all_wall_rough_marker.data(), - counts.data(), displs.data(), MPI_UNSIGNED_SHORT, SU2_MPI::GetComm()); - SU2_MPI::Allgatherv(wall_rough_val.data(), wall_rough_size, MPI_DOUBLE, all_wall_rough_val.data(), - counts.data(), displs.data(), MPI_DOUBLE, SU2_MPI::GetComm()); - - /*--- f(iRank, iZone, iMarker) -> roughness value ---*/ - auto wall_rough_func = [&](int iRank, unsigned short iZone, unsigned short iMarker) { - /*--- Jump based on rank, then linear search for (iZone, iMarker). ---*/ - for (auto k = displs[iRank]; k < displs[iRank + 1]; ++k) { - if (all_wall_rough_zone[k] == iZone && all_wall_rough_marker[k] == iMarker) { - return all_wall_rough_val[k]; - } - } - SU2_MPI::Error("Failed to find wall roughness value", CURRENT_FUNCTION); - return su2double{}; - }; - - for(auto jZone=0u; jZoneGetnRoughWall() > 0) { - geometry_container[jZone][iInst][MESH_0]->nodes->SetWallRoughness(wall_rough_func); + const auto nRank = SU2_MPI::GetSize(); + C3DDoubleMatrix all_wall_roughness(nRank, nZone, nMarkerMax); + SU2_MPI::Allgather(wall_roughness.data(), wall_roughness.size(), MPI_DOUBLE, all_wall_roughness.data(), + wall_roughness.size(), MPI_DOUBLE, SU2_MPI::GetComm()); + + for(auto iZone = 0u; iZone < nZone; ++iZone) { + if (wallDistanceNeeded[iZone] && config_container[iZone]->GetnRoughWall() > 0) { + geometry_container[iZone][iInst][MESH_0]->nodes->SetWallRoughness(all_wall_roughness); } } } From f97c85df37694175e7d19a28731a839868b1d5e3 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Tue, 17 Jan 2023 20:46:16 -0500 Subject: [PATCH 154/179] change ausm+-up2 regression --- .../nonequilibrium/invwedge/invwedge_ausmplusup2.cfg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg b/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg index 3812f06f339..277f4e44eae 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % SU2 configuration file % -% Case description: Mach 5 inviscid flow over a 10deg wedge-AUSMPLUSUP2 % +% Case description: Mach 5 inviscid flow over a 10deg wedge- AUSM+-Up2 % % File Version 7.5.0 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -38,7 +38,7 @@ MARKER_MONITORING= ( Wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -CFL_NUMBER= 3 +CFL_NUMBER= 0.25 ITER= 11 LINEAR_SOLVER= BCGSTAB LINEAR_SOLVER_ERROR= 1E-6 @@ -47,10 +47,10 @@ LINEAR_SOLVER_ITER= 5 % -----------------------------------------------------------------------% % CONV_NUM_METHOD_FLOW= AUSMPLUSUP2 -MUSCL_FLOW= YES +MUSCL_FLOW= NO SLOPE_LIMITER_FLOW= VENKATAKRISHNAN VENKAT_LIMITER_COEFF= 0.05 -TIME_DISCRE_FLOW= EULER_IMPLICIT +TIME_DISCRE_FLOW= EULER_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % From f828f43abe06f370335c2b8adbb12fd1958d14d1 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Tue, 17 Jan 2023 22:01:45 -0500 Subject: [PATCH 155/179] update ap2 regression values --- TestCases/parallel_regression.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 3ab006fad8a..a72454dd5c9 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -85,8 +85,8 @@ def main(): invwedge_ap2.cfg_dir = "nonequilibrium/invwedge" invwedge_ap2.cfg_file = "invwedge_ausmplusup2.cfg" invwedge_ap2.test_iter = 10 - invwedge_ap2.test_vals = [-0.617877, -1.142640, -18.301487, -18.628852, -18.574892, 2.785436, 3.236765, 5.740905, 1.291532] - invwedge_ap2.test_vals_aarch64 = [-0.617877, -1.142640, -18.301487, -18.628852, -18.574892, 2.785436, 3.236765, 5.740905, 1.291532] + invwedge_ap2.test_vals = [-0.952589, -1.477352, -16.736014, -17.064021, -17.009120, 2.387086, 1.287286, 5.403046, 0.956402] + invwedge_ap2.test_vals_aarch64 = [-0.952589, -1.477352, -16.736014, -17.064021, -17.009120, 2.387086, 1.287286, 5.403046, 0.956402] invwedge_ap2.new_output = True test_list.append(invwedge_ap2) From 745ef8f377176dbb5858beabf428f8eccfdb1599 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Tue, 17 Jan 2023 22:16:24 -0500 Subject: [PATCH 156/179] adding a test case --- .../nonequilibrium/invwedge/invwedge_am.cfg | 72 +++++++++++++++++++ TestCases/parallel_regression.py | 10 +++ 2 files changed, 82 insertions(+) create mode 100644 TestCases/nonequilibrium/invwedge/invwedge_am.cfg diff --git a/TestCases/nonequilibrium/invwedge/invwedge_am.cfg b/TestCases/nonequilibrium/invwedge/invwedge_am.cfg new file mode 100644 index 00000000000..826509e446f --- /dev/null +++ b/TestCases/nonequilibrium/invwedge/invwedge_am.cfg @@ -0,0 +1,72 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: Mach 5 inviscid flow over a 10deg wedge - AUSM+M % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= NEMO_EULER +GAS_MODEL= AIR-5 +GAS_COMPOSITION= (0.77, 0.23, 0.0, 0.0, 0.0) +MATH_PROBLEM= DIRECT +RESTART_SOL= NO + +% ----------- COMPRESSIBLE AND INCOMPRESSIBLE FREE-STREAM DEFINITION ----------% +% +MACH_NUMBER= 5 +AOA= 0.0 +SIDESLIP_ANGLE= 0.0 +FREESTREAM_PRESSURE= 101325.0 +FREESTREAM_TEMPERATURE= 288.15 +FREESTREAM_TEMPERATURE_VE= 288.15 + +% ---- NONEQUILIBRIUM GAS, IDEAL GAS, POLYTROPIC, VAN DER WAALS AND PENG ROBINSON CONSTANTS -------% +% +FLUID_MODEL= SU2_NONEQ + +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_EULER= ( Euler, Wall ) +MARKER_OUTLET= ( Exit, 10 ) +MARKER_FAR = ( Farfield, Inlet ) +MARKER_PLOTTING= (NONE ) +MARKER_MONITORING= ( Wall ) + +% ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% +% +NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES +CFL_NUMBER= 3 +ITER= 11 +LINEAR_SOLVER= BCGSTAB +LINEAR_SOLVER_ERROR= 1E-6 +LINEAR_SOLVER_ITER= 5 + +% -----------------------------------------------------------------------% +% +CONV_NUM_METHOD_FLOW= AUSMPLUSM +MUSCL_FLOW= YES +SLOPE_LIMITER_FLOW= VENKATAKRISHNAN +VENKAT_LIMITER_COEFF= 0.05 +TIME_DISCRE_FLOW= EULER_IMPLICIT + +% --------------------------- CONVERGENCE PARAMETERS --------------------------% +% +CONV_RESIDUAL_MINVAL= -50 +CONV_STARTITER= 10 +CONV_CAUCHY_ELEMS= 100 +CONV_CAUCHY_EPS= 1E-10 + +% ------------------------- INPUT/OUTPUT INFORMATION --------------------------% +% +MESH_FILENAME= invwedge.su2 +MESH_FORMAT= SU2 +SOLUTION_FILENAME= restart_flow.dat +TABULAR_FORMAT= TECPLOT +CONV_FILENAME= convergence +RESTART_FILENAME= restart_flow.dat +VOLUME_FILENAME= soln_volume +SURFACE_FILENAME= soln_surface +OUTPUT_WRT_FREQ= 100 +OUTPUT_FILES= (RESTART_ASCII, PARAVIEW_ASCII) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 66d17832076..855ba1091c2 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -80,6 +80,16 @@ def main(): invwedge.new_output = True test_list.append(invwedge) + # Inviscid single wedge, implicit, AUSM+M scheme + invwedge_ausm_m = TestCase('invwedge_ausm_m') + invwedge_ausm_m.cfg_dir = "nonequilibrium/invwedge" + invwedge_ausm_m.cfg_file = "invwedge_am.cfg" + invwedge_ausm_m.test_iter = 10 + invwedge_ausm_m.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_ausm_m.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_ausm_m.new_output = True + test_list.append(invwedge_ausm_m) + # Inviscid single wedge, implicit, NEMO supersonic inlet invwedge_ss_inlet = TestCase('invwedge_ss_inlet') invwedge_ss_inlet.cfg_dir = "nonequilibrium/invwedge" From adea49169962024a932b6f94baf82969c8620c07 Mon Sep 17 00:00:00 2001 From: Wally Maier Date: Wed, 18 Jan 2023 21:26:24 -0500 Subject: [PATCH 157/179] Apply suggestions from code review --- TestCases/nonequilibrium/invwedge/invwedge_am.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TestCases/nonequilibrium/invwedge/invwedge_am.cfg b/TestCases/nonequilibrium/invwedge/invwedge_am.cfg index 826509e446f..e5071518c16 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_am.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_am.cfg @@ -37,7 +37,7 @@ MARKER_MONITORING= ( Wall ) % ------------- COMMON PARAMETERS DEFINING THE NUMERICAL METHOD ---------------% % NUM_METHOD_GRAD= WEIGHTED_LEAST_SQUARES -CFL_NUMBER= 3 +CFL_NUMBER= 0.75 ITER= 11 LINEAR_SOLVER= BCGSTAB LINEAR_SOLVER_ERROR= 1E-6 @@ -49,7 +49,7 @@ CONV_NUM_METHOD_FLOW= AUSMPLUSM MUSCL_FLOW= YES SLOPE_LIMITER_FLOW= VENKATAKRISHNAN VENKAT_LIMITER_COEFF= 0.05 -TIME_DISCRE_FLOW= EULER_IMPLICIT +TIME_DISCRE_FLOW= EULER_EXPLICIT % --------------------------- CONVERGENCE PARAMETERS --------------------------% % From a9561c58180ee56712f76770ee8d92238cd849bd Mon Sep 17 00:00:00 2001 From: Max Aehle Date: Fri, 20 Jan 2023 10:11:33 +0100 Subject: [PATCH 158/179] NdFlattener uses wrapper for Allgatherv The wrapper performs a copy operation if there is only one MPI rank, to avoid a potential bug in MPICH's Allgatherv implementation. --- .../include/parallelization/mpi_structure.cpp | 15 +++++++++++++++ .../include/parallelization/mpi_structure.hpp | 4 +++- Common/include/toolboxes/ndflattener.hpp | 18 ++++++++++++++++-- 3 files changed, 34 insertions(+), 3 deletions(-) diff --git a/Common/include/parallelization/mpi_structure.cpp b/Common/include/parallelization/mpi_structure.cpp index d280cad159a..0bda8516338 100644 --- a/Common/include/parallelization/mpi_structure.cpp +++ b/Common/include/parallelization/mpi_structure.cpp @@ -26,6 +26,7 @@ */ #include "mpi_structure.hpp" +#include // memcpy /* Initialise the MPI Communicator Rank and Size */ @@ -109,6 +110,20 @@ void CBaseMPIWrapper::Error(std::string ErrorMsg, std::string FunctionName){ } Abort(currentComm, EXIT_FAILURE); } + +void CBaseMPIWrapper::CopyData(const void* sendbuf, void* recvbuf, int size, Datatype datatype, int recvshift, int sendshift) { + if(datatype==MPI_DOUBLE) { + for (int i = 0; i < size; i++) { + static_cast(recvbuf)[i+recvshift] = static_cast(sendbuf)[i+sendshift]; + } + } else { + int scalarsize; + MPI_Type_size(datatype, &scalarsize); + const char* src = static_cast(sendbuf) + sendshift*scalarsize; + char* dest = static_cast(recvbuf) + recvshift*scalarsize; + std::memcpy(static_cast(dest), static_cast(src), size*scalarsize); + } +} #else // HAVE_MPI void CBaseMPIWrapper::Error(std::string ErrorMsg, std::string FunctionName){ diff --git a/Common/include/parallelization/mpi_structure.hpp b/Common/include/parallelization/mpi_structure.hpp index 52d629a5968..7fcd546930f 100644 --- a/Common/include/parallelization/mpi_structure.hpp +++ b/Common/include/parallelization/mpi_structure.hpp @@ -105,6 +105,8 @@ class CBaseMPIWrapper { static Win winMinRankError; public: + static void CopyData(const void* sendbuf, void* recvbuf, int size, Datatype datatype, int recvshift=0, int sendshift=0); + static void Error(std::string ErrorMsg, std::string FunctionName); static inline int GetRank() { return Rank; } @@ -503,9 +505,9 @@ class CBaseMPIWrapper { static int Rank, Size; static Comm currentComm; + public: static void CopyData(const void* sendbuf, void* recvbuf, int size, Datatype datatype, int recvshift=0, int sendshift=0); - public: static void Error(std::string ErrorMsg, std::string FunctionName); static inline int GetRank() { return Rank; } diff --git a/Common/include/toolboxes/ndflattener.hpp b/Common/include/toolboxes/ndflattener.hpp index 035deb64dbc..a8710320de3 100644 --- a/Common/include/toolboxes/ndflattener.hpp +++ b/Common/include/toolboxes/ndflattener.hpp @@ -207,6 +207,20 @@ template class NdFlattener; +/*! Allgatherv wrapper defaulting to a copy operation if there is only a single MPI rank. + * + * Introducing this was necessary because MPICH's Allgatherv behaved unexpectedly if there + * is only one MPI rank. + */ +static inline void SU2_MPI_Allgatherv_safe(const void* sendbuf, int sendcount, SU2_MPI::Datatype sendtype, void* recvbuf, + const int* recvcounts, const int* displs, SU2_MPI::Datatype recvtype, SU2_MPI::Comm comm) { + if(SU2_MPI::GetSize()==1){ + SU2_MPI::CopyData(sendbuf,recvbuf,sendcount,sendtype,displs[0]); + } else { + SU2_MPI::Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm); + } +} + /*! \struct Nd_MPI_Environment * \brief Contains information for the collective communication of NdFlatteners. * @@ -232,7 +246,7 @@ struct Nd_MPI_Environment { MPI_Datatype_t mpi_index = MPI_UNSIGNED_LONG, MPI_Communicator_t comm = SU2_MPI::GetComm(), MPI_Allgather_t MPI_Allgather_fun = &(SU2_MPI::Allgather), - MPI_Allgatherv_t MPI_Allgatherv_fun = &(SU2_MPI::Allgatherv)) + MPI_Allgatherv_t MPI_Allgatherv_fun = &(SU2_MPI_Allgatherv_safe)) : mpi_data(mpi_data), mpi_index(mpi_index), comm(comm), @@ -830,4 +844,4 @@ class NdFlattener<1, Data_t_, Index_t_> { const Data_t* data() const { return data_.data(); } }; -/// @} \ No newline at end of file +/// @} From 5ec89fb19f33711c4a9f7c367f36b89a05db1ffb Mon Sep 17 00:00:00 2001 From: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com> Date: Fri, 20 Jan 2023 09:23:55 -0800 Subject: [PATCH 159/179] Update Common/include/toolboxes/ndflattener.hpp --- Common/include/toolboxes/ndflattener.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Common/include/toolboxes/ndflattener.hpp b/Common/include/toolboxes/ndflattener.hpp index a8710320de3..c123c32218c 100644 --- a/Common/include/toolboxes/ndflattener.hpp +++ b/Common/include/toolboxes/ndflattener.hpp @@ -210,12 +210,12 @@ class NdFlattener; /*! Allgatherv wrapper defaulting to a copy operation if there is only a single MPI rank. * * Introducing this was necessary because MPICH's Allgatherv behaved unexpectedly if there - * is only one MPI rank. + * is only one MPI rank (seemingly ignoring displs[0] != 0). */ static inline void SU2_MPI_Allgatherv_safe(const void* sendbuf, int sendcount, SU2_MPI::Datatype sendtype, void* recvbuf, const int* recvcounts, const int* displs, SU2_MPI::Datatype recvtype, SU2_MPI::Comm comm) { - if(SU2_MPI::GetSize()==1){ - SU2_MPI::CopyData(sendbuf,recvbuf,sendcount,sendtype,displs[0]); + if (SU2_MPI::GetSize() == 1) { + SU2_MPI::CopyData(sendbuf, recvbuf, sendcount, sendtype, displs[0]); } else { SU2_MPI::Allgatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, comm); } From 6276045c1197c69e61736640cd66536190c7b5af Mon Sep 17 00:00:00 2001 From: Max Aehle Date: Fri, 20 Jan 2023 22:26:10 +0100 Subject: [PATCH 160/179] Fix code scanning warning about integer overflow --- Common/include/parallelization/mpi_structure.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Common/include/parallelization/mpi_structure.cpp b/Common/include/parallelization/mpi_structure.cpp index 0bda8516338..e358847c266 100644 --- a/Common/include/parallelization/mpi_structure.cpp +++ b/Common/include/parallelization/mpi_structure.cpp @@ -119,9 +119,9 @@ void CBaseMPIWrapper::CopyData(const void* sendbuf, void* recvbuf, int size, Dat } else { int scalarsize; MPI_Type_size(datatype, &scalarsize); - const char* src = static_cast(sendbuf) + sendshift*scalarsize; - char* dest = static_cast(recvbuf) + recvshift*scalarsize; - std::memcpy(static_cast(dest), static_cast(src), size*scalarsize); + const char* src = static_cast(sendbuf) + sendshift*static_cast(scalarsize); + char* dest = static_cast(recvbuf) + recvshift*static_cast(scalarsize); + std::memcpy(static_cast(dest), static_cast(src), size*static_cast(scalarsize)); } } #else // HAVE_MPI From 9ebf441fd77ec300a0917309e97e282c2c42eebf Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Fri, 20 Jan 2023 18:15:56 -0800 Subject: [PATCH 161/179] Revert "simplify" This reverts commit 18fde7e8b5177a39530fedfaad1ebee9c70bee98. --- .../containers/container_decorators.hpp | 6 -- Common/src/geometry/CGeometry.cpp | 59 +++++++++++++------ 2 files changed, 40 insertions(+), 25 deletions(-) diff --git a/Common/include/containers/container_decorators.hpp b/Common/include/containers/container_decorators.hpp index 428bc01254e..b3c1c2a08d4 100644 --- a/Common/include/containers/container_decorators.hpp +++ b/Common/include/containers/container_decorators.hpp @@ -115,12 +115,6 @@ class C3DContainerDecorator { Index rows() const noexcept { return m_storage.cols() / m_innerSz; } Index cols() const noexcept { return m_innerSz; } - /*! - * \brief Raw data. - */ - Scalar* data() noexcept { return m_storage.data(); } - const Scalar* data() const noexcept { return m_storage.data(); } - /*! * \brief Element-wise access. */ diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 124d1aee92e..112ecf74ff7 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -4085,30 +4085,51 @@ void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeo } /*--- Otherwise, set wall roughnesses. ---*/ if (!allEmpty) { - /*--- Store all marker wall roughnesses in a common data structure (rank, zone, marker) -> value. ---*/ - unsigned short nMarkerMax = 0; - for (auto iZone = 0u; iZone < nZone; ++iZone) { - nMarkerMax = std::max(nMarkerMax, geometry_container[iZone][iInst][MESH_0]->GetnMarker()); - } - const auto tmp = nMarkerMax; - SU2_MPI::Allreduce(&tmp, &nMarkerMax, 1, MPI_UNSIGNED_SHORT, MPI_MAX, SU2_MPI::GetComm()); - - su2activematrix wall_roughness(nZone, nMarkerMax); + /*--- Store all marker wall roughnesses in a common data structure. ---*/ + std::vector wall_rough_zone, wall_rough_marker; + std::vector wall_rough_val; for (auto iZone = 0u; iZone < nZone; ++iZone) { const CConfig* config = config_container[iZone]; for (auto iMarker = 0u; iMarker < geometry_container[iZone][iInst][MESH_0]->GetnMarker(); ++iMarker) { - wall_roughness(iZone, iMarker) = - config->GetWallRoughnessProperties(config->GetMarker_All_TagBound(iMarker)).second; + wall_rough_zone.push_back(iZone); + wall_rough_marker.push_back(iMarker); + wall_rough_val.push_back(config->GetWallRoughnessProperties(config->GetMarker_All_TagBound(iMarker)).second); } } - const auto nRank = SU2_MPI::GetSize(); - C3DDoubleMatrix all_wall_roughness(nRank, nZone, nMarkerMax); - SU2_MPI::Allgather(wall_roughness.data(), wall_roughness.size(), MPI_DOUBLE, all_wall_roughness.data(), - wall_roughness.size(), MPI_DOUBLE, SU2_MPI::GetComm()); - - for(auto iZone = 0u; iZone < nZone; ++iZone) { - if (wallDistanceNeeded[iZone] && config_container[iZone]->GetnRoughWall() > 0) { - geometry_container[iZone][iInst][MESH_0]->nodes->SetWallRoughness(all_wall_roughness); + /*--- Communicate. ---*/ + const int wall_rough_size = wall_rough_val.size(); + const int mpi_size = SU2_MPI::GetSize(); + std::vector counts(mpi_size); + SU2_MPI::Allgather(&wall_rough_size, 1, MPI_INT, counts.data(), 1, MPI_INT, SU2_MPI::GetComm()); + std::vector displs(mpi_size + 1, 0); + for (int i = 1; i <= mpi_size; ++i) displs[i] = displs[i - 1] + counts[i - 1]; + const auto total_size = displs.back(); + + std::vector all_wall_rough_zone(total_size), all_wall_rough_marker(total_size); + std::vector all_wall_rough_val(total_size); + + SU2_MPI::Allgatherv(wall_rough_zone.data(), wall_rough_size, MPI_UNSIGNED_SHORT, all_wall_rough_zone.data(), + counts.data(), displs.data(), MPI_UNSIGNED_SHORT, SU2_MPI::GetComm()); + SU2_MPI::Allgatherv(wall_rough_marker.data(), wall_rough_size, MPI_UNSIGNED_SHORT, all_wall_rough_marker.data(), + counts.data(), displs.data(), MPI_UNSIGNED_SHORT, SU2_MPI::GetComm()); + SU2_MPI::Allgatherv(wall_rough_val.data(), wall_rough_size, MPI_DOUBLE, all_wall_rough_val.data(), + counts.data(), displs.data(), MPI_DOUBLE, SU2_MPI::GetComm()); + + /*--- f(iRank, iZone, iMarker) -> roughness value ---*/ + auto wall_rough_func = [&](int iRank, unsigned short iZone, unsigned short iMarker) { + /*--- Jump based on rank, then linear search for (iZone, iMarker). ---*/ + for (auto k = displs[iRank]; k < displs[iRank + 1]; ++k) { + if (all_wall_rough_zone[k] == iZone && all_wall_rough_marker[k] == iMarker) { + return all_wall_rough_val[k]; + } + } + SU2_MPI::Error("Failed to find wall roughness value", CURRENT_FUNCTION); + return su2double{}; + }; + + for(auto jZone=0u; jZoneGetnRoughWall() > 0) { + geometry_container[jZone][iInst][MESH_0]->nodes->SetWallRoughness(wall_rough_func); } } } From 8148d4bdebaa750f77f0454c5d0b354d5cf7c815 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Fri, 20 Jan 2023 18:16:11 -0800 Subject: [PATCH 162/179] Revert "avoid NDFlatner issues" This reverts commit 47a63e5f7a982c3a6b51b2b37369303dda3f2bb7. --- Common/include/geometry/dual_grid/CPoint.hpp | 8 +- Common/src/geometry/CGeometry.cpp | 77 +++++++------------- 2 files changed, 29 insertions(+), 56 deletions(-) diff --git a/Common/include/geometry/dual_grid/CPoint.hpp b/Common/include/geometry/dual_grid/CPoint.hpp index 03443ee3862..b5750ddb4d2 100644 --- a/Common/include/geometry/dual_grid/CPoint.hpp +++ b/Common/include/geometry/dual_grid/CPoint.hpp @@ -865,16 +865,16 @@ class CPoint { /*! * \brief Set wall roughnesses according to stored closest wall information. - * \param[in] roughness - Function (rank, zone, marker) -> roughness + * \param[in] roughness - Mapping [rank][zone][marker] -> roughness */ template - void SetWallRoughness(Roughness_type const& roughness) { + void SetWallRoughness(Roughness_type const& roughness){ for (unsigned long iPoint=0; iPoint= 0) { - SetRoughnessHeight(iPoint, roughness(rankID, zoneID, markerID)); + if(rankID >= 0){ + SetRoughnessHeight(iPoint, roughness[rankID][zoneID][markerID]); } } } diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 112ecf74ff7..87ed7214f60 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -4035,12 +4035,12 @@ const CGeometry::CLineletInfo& CGeometry::GetLineletInfo(const CConfig* config) void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeometry ****geometry_container){ - const auto nZone = config_container[ZONE_0]->GetnZone(); + int nZone = config_container[ZONE_0]->GetnZone(); bool allEmpty = true; vector wallDistanceNeeded(nZone, false); - for (auto iInst = 0u; iInst < config_container[ZONE_0]->GetnTimeInstances(); iInst++){ - for (auto iZone = 0u; iZone < nZone; iZone++){ + for (int iInst = 0; iInst < config_container[ZONE_0]->GetnTimeInstances(); iInst++){ + for (int iZone = 0; iZone < nZone; iZone++){ /*--- Check if a zone needs the wall distance and store a boolean ---*/ @@ -4063,13 +4063,13 @@ void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeo } /*--- Loop over all zones and compute the ADT based on the viscous walls in that zone ---*/ - for (auto iZone = 0u; iZone < nZone; iZone++){ + for (int iZone = 0; iZone < nZone; iZone++){ unique_ptr WallADT = geometry_container[iZone][iInst][MESH_0]->ComputeViscousWallADT(config_container[iZone]); if (WallADT && !WallADT->IsEmpty()){ allEmpty = false; /*--- Inner loop over all zones to update the wall distances. * It might happen that there is a closer viscous wall in zone iZone for points in zone jZone. ---*/ - for (auto jZone = 0u; jZone < nZone; jZone++){ + for (int jZone = 0; jZone < nZone; jZone++){ if (wallDistanceNeeded[jZone]) geometry_container[jZone][iInst][MESH_0]->SetWallDistance(WallADT.get(), config_container[jZone], iZone); } @@ -4078,58 +4078,31 @@ void CGeometry::ComputeWallDistance(const CConfig* const* config_container, CGeo /*--- If there are no viscous walls in the entire domain, set distances to zero ---*/ if (allEmpty){ - for (auto iZone = 0u; iZone < nZone; iZone++){ + for (int iZone = 0; iZone < nZone; iZone++){ CGeometry *geometry = geometry_container[iZone][iInst][MESH_0]; geometry->SetWallDistance(0.0); } } /*--- Otherwise, set wall roughnesses. ---*/ - if (!allEmpty) { - /*--- Store all marker wall roughnesses in a common data structure. ---*/ - std::vector wall_rough_zone, wall_rough_marker; - std::vector wall_rough_val; - for (auto iZone = 0u; iZone < nZone; ++iZone) { - const CConfig* config = config_container[iZone]; - for (auto iMarker = 0u; iMarker < geometry_container[iZone][iInst][MESH_0]->GetnMarker(); ++iMarker) { - wall_rough_zone.push_back(iZone); - wall_rough_marker.push_back(iMarker); - wall_rough_val.push_back(config->GetWallRoughnessProperties(config->GetMarker_All_TagBound(iMarker)).second); - } - } - /*--- Communicate. ---*/ - const int wall_rough_size = wall_rough_val.size(); - const int mpi_size = SU2_MPI::GetSize(); - std::vector counts(mpi_size); - SU2_MPI::Allgather(&wall_rough_size, 1, MPI_INT, counts.data(), 1, MPI_INT, SU2_MPI::GetComm()); - std::vector displs(mpi_size + 1, 0); - for (int i = 1; i <= mpi_size; ++i) displs[i] = displs[i - 1] + counts[i - 1]; - const auto total_size = displs.back(); - - std::vector all_wall_rough_zone(total_size), all_wall_rough_marker(total_size); - std::vector all_wall_rough_val(total_size); - - SU2_MPI::Allgatherv(wall_rough_zone.data(), wall_rough_size, MPI_UNSIGNED_SHORT, all_wall_rough_zone.data(), - counts.data(), displs.data(), MPI_UNSIGNED_SHORT, SU2_MPI::GetComm()); - SU2_MPI::Allgatherv(wall_rough_marker.data(), wall_rough_size, MPI_UNSIGNED_SHORT, all_wall_rough_marker.data(), - counts.data(), displs.data(), MPI_UNSIGNED_SHORT, SU2_MPI::GetComm()); - SU2_MPI::Allgatherv(wall_rough_val.data(), wall_rough_size, MPI_DOUBLE, all_wall_rough_val.data(), - counts.data(), displs.data(), MPI_DOUBLE, SU2_MPI::GetComm()); - - /*--- f(iRank, iZone, iMarker) -> roughness value ---*/ - auto wall_rough_func = [&](int iRank, unsigned short iZone, unsigned short iMarker) { - /*--- Jump based on rank, then linear search for (iZone, iMarker). ---*/ - for (auto k = displs[iRank]; k < displs[iRank + 1]; ++k) { - if (all_wall_rough_zone[k] == iZone && all_wall_rough_marker[k] == iMarker) { - return all_wall_rough_val[k]; - } - } - SU2_MPI::Error("Failed to find wall roughness value", CURRENT_FUNCTION); - return su2double{}; - }; - - for(auto jZone=0u; jZoneGetnRoughWall() > 0) { - geometry_container[jZone][iInst][MESH_0]->nodes->SetWallRoughness(wall_rough_func); + if(!allEmpty){ + /*--- Store all wall roughnesses in a common data structure. ---*/ + // [iZone][iMarker] -> roughness, for this rank + auto roughness_f = + make_pair( nZone, [config_container,geometry_container,iInst](unsigned long iZone){ + const CConfig* config = config_container[iZone]; + const auto nMarker = geometry_container[iZone][iInst][MESH_0]->GetnMarker(); + + return make_pair( nMarker, [config](unsigned long iMarker){ + return config->GetWallRoughnessProperties(config->GetMarker_All_TagBound(iMarker)).second; + }); + }); + NdFlattener<2> roughness_local(roughness_f); + // [rank][iZone][iMarker] -> roughness + NdFlattener<3> roughness_global(Nd_MPI_Environment(), roughness_local); + // use it to update roughnesses + for(int jZone=0; jZoneGetnRoughWall()>0){ + geometry_container[jZone][iInst][MESH_0]->nodes->SetWallRoughness(roughness_global); } } } From 71629aa9efd9e4d8e9552679c6cf455f7a1c022e Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sat, 21 Jan 2023 15:16:24 -0800 Subject: [PATCH 163/179] cleanup roughness stuff --- Common/include/CConfig.hpp | 3 +- Common/src/CConfig.cpp | 152 +++++++------------------------------ 2 files changed, 28 insertions(+), 127 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 34df7fc10a6..67af457f39f 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -601,7 +601,6 @@ class CConfig { INLET_TYPE Kind_Inlet; INLET_TYPE *Kind_Inc_Inlet; INC_OUTLET_TYPE *Kind_Inc_Outlet; - WALL_TYPE *Kind_Wall; /*!< \brief Type of wall treatment. */ unsigned short nWall_Types; /*!< \brief Number of wall treatment types listed. */ unsigned short nInc_Inlet; /*!< \brief Number of inlet boundary treatment types listed. */ unsigned short nInc_Outlet; /*!< \brief Number of inlet boundary treatment types listed. */ @@ -6962,7 +6961,7 @@ class CConfig { * \param[in] val_index - Index corresponding to the boundary. * \return The wall type and roughness height. */ - pair GetWallRoughnessProperties(string val_marker) const; + pair GetWallRoughnessProperties(const string& val_marker) const; /*! * \brief Get the target (pressure, massflow, etc) at an engine inflow boundary. diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index d3ac984c413..e559b141916 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -840,7 +840,6 @@ void CConfig::SetPointersNull(void) { Kind_WallFunctions = nullptr; IntInfo_WallFunctions = nullptr; DoubleInfo_WallFunctions = nullptr; - Kind_Wall = nullptr; Config_Filenames = nullptr; @@ -5030,95 +5029,25 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i Streamwise_Periodic_Temperature = false; } - /*--- Check that if the wall roughness array are compatible and set deafult values if needed. ---*/ - if ((nMarker_HeatFlux > 0) || (nMarker_Isothermal > 0) || (nMarker_HeatTransfer) || (nMarker_CHTInterface > 0)) { - - /*--- The total number of wall markers. ---*/ - unsigned short nWall = nMarker_HeatFlux + nMarker_Isothermal + nMarker_HeatTransfer + nMarker_CHTInterface; - - /*--- If no roughness is specified all walls are assumed to be smooth. ---*/ - if (nRough_Wall == 0) { - - nRough_Wall = nWall; - Roughness_Height = new su2double [nWall]; - Kind_Wall = new WALL_TYPE [nWall]; - for (iMarker = 0; iMarker < nMarker_HeatFlux; iMarker++) { - Roughness_Height[iMarker] = 0.0; - Kind_Wall[iMarker] = WALL_TYPE::SMOOTH; - } - for (iMarker = 0; iMarker < nMarker_Isothermal; iMarker++) { - Roughness_Height[nMarker_HeatFlux + iMarker] = 0.0; - Kind_Wall[nMarker_HeatFlux + iMarker] = WALL_TYPE::SMOOTH; - } - for (iMarker = 0; iMarker < nMarker_HeatTransfer; iMarker++) { - Roughness_Height[nMarker_HeatFlux + nMarker_Isothermal + iMarker] = 0.0; - Kind_Wall[nMarker_HeatFlux + nMarker_Isothermal + iMarker] = WALL_TYPE::SMOOTH; - } - for (iMarker = 0; iMarker < nMarker_CHTInterface; iMarker++) { - Roughness_Height[nMarker_HeatFlux + nMarker_Isothermal + nMarker_HeatTransfer + iMarker] = 0.0; - Kind_Wall[nMarker_HeatFlux + nMarker_Isothermal + nMarker_HeatTransfer + iMarker] = WALL_TYPE::SMOOTH; - } - - /*--- Check for mismatch in number of rough walls and solid walls. ---*/ - } else if (nRough_Wall > nWall) { - SU2_MPI::Error("Mismatch in number of rough walls and solid walls. Number of rough walls cannot be more than solid walls.", CURRENT_FUNCTION); - /*--- Check name of the marker and assign the corresponding roughness. ---*/ - } else { - /*--- Store roughness heights in a temp array. ---*/ - vector temp_rough; - for (iMarker = 0; iMarker < nRough_Wall; iMarker++) - temp_rough.push_back(Roughness_Height[iMarker]); - - /*--- Reallocate the roughness arrays in case not all walls are rough. ---*/ - delete Roughness_Height; - delete Kind_Wall; - Roughness_Height = new su2double [nWall]; - Kind_Wall = new WALL_TYPE [nWall]; - unsigned short jMarker, chkRough = 0; - - /*--- Initialize everything to smooth. ---*/ - for (iMarker = 0; iMarker < nWall; iMarker++) { - Roughness_Height[iMarker] = 0.0; - Kind_Wall[iMarker] = WALL_TYPE::SMOOTH; - } - - /*--- Look through heat flux, isothermal, heat transfer and cht_interface markers and assign proper values. ---*/ - for (iMarker = 0; iMarker < nRough_Wall; iMarker++) { - for (jMarker = 0; jMarker < nMarker_HeatFlux; jMarker++) - if (Marker_HeatFlux[jMarker].compare(Marker_RoughWall[iMarker]) == 0) { - Roughness_Height[jMarker] = temp_rough[iMarker]; - chkRough++; - } - - for (jMarker = 0; jMarker < nMarker_Isothermal; jMarker++) - if (Marker_Isothermal[jMarker].compare(Marker_RoughWall[iMarker]) == 0) { - Roughness_Height[nMarker_HeatFlux + jMarker] = temp_rough[iMarker]; - chkRough++; - } - - for (jMarker = 0; jMarker < nMarker_HeatTransfer; jMarker++) - if (Marker_HeatTransfer[jMarker].compare(Marker_RoughWall[iMarker]) == 0) { - Roughness_Height[nMarker_HeatFlux + nMarker_Isothermal + jMarker] = temp_rough[iMarker]; - chkRough++; - } - - for (jMarker = 0; jMarker < nMarker_CHTInterface; jMarker++) - if (Marker_CHTInterface[jMarker].compare(Marker_RoughWall[iMarker]) == 0) { - Roughness_Height[nMarker_HeatFlux + nMarker_Isothermal + nMarker_HeatTransfer + jMarker] = temp_rough[iMarker]; - chkRough++; - } - } - - /*--- Update kind_wall when a non zero roughness value is specified. ---*/ - for (iMarker = 0; iMarker < nWall; iMarker++) - if (Roughness_Height[iMarker] != 0.0) - Kind_Wall[iMarker] = WALL_TYPE::ROUGH; - - /*--- Check if a non solid wall marker was specified as rough. ---*/ - if (chkRough != nRough_Wall) - SU2_MPI::Error("Only solid walls can be rough.", CURRENT_FUNCTION); - } - } + if (nRough_Wall > 0) { + /*--- Validate name of the markers. ---*/ + for (iMarker = 0; iMarker < nRough_Wall; ++iMarker) { + auto CheckMarker = [&](unsigned short nMarker, const string* markerName) { + for (auto jMarker = 0u; jMarker < nMarker; ++jMarker) { + if (markerName[jMarker].compare(Marker_RoughWall[iMarker]) == 0) { + return true; + } + } + return false; + }; + if (!CheckMarker(nMarker_HeatFlux, Marker_HeatFlux) && + !CheckMarker(nMarker_Isothermal, Marker_Isothermal) && + !CheckMarker(nMarker_HeatTransfer, Marker_HeatTransfer) && + !CheckMarker(nMarker_CHTInterface, Marker_CHTInterface)) { + SU2_MPI::Error("Marker " + Marker_RoughWall[iMarker] + " is not a viscous wall.", CURRENT_FUNCTION); + } + } + } /*--- Handle default options for topology optimization ---*/ @@ -8026,8 +7955,6 @@ CConfig::~CConfig() { delete[] Marker_All_SendRecv; - delete[] Kind_Wall; - if (DV_Value != nullptr) { for (iDV = 0; iDV < nDV; iDV++) delete[] DV_Value[iDV]; delete [] DV_Value; @@ -9203,40 +9130,15 @@ su2double CConfig::GetWall_HeatTransfer_Temperature(string val_marker) const { return HeatTransfer_WallTemp[0]; } -pair CConfig::GetWallRoughnessProperties(string val_marker) const { - unsigned short iMarker = 0; - short flag = -1; - pair WallProp; - - if (nMarker_HeatFlux > 0 || nMarker_Isothermal > 0 || nMarker_HeatTransfer || nMarker_CHTInterface > 0) { - for (iMarker = 0; iMarker < nMarker_HeatFlux; iMarker++) - if (Marker_HeatFlux[iMarker] == val_marker) { - flag = iMarker; - WallProp = make_pair(Kind_Wall[flag], Roughness_Height[flag]); - return WallProp; - } - for (iMarker = 0; iMarker < nMarker_Isothermal; iMarker++) - if (Marker_Isothermal[iMarker] == val_marker) { - flag = nMarker_HeatFlux + iMarker; - WallProp = make_pair(Kind_Wall[flag], Roughness_Height[flag]); - return WallProp; - } - for (iMarker = 0; iMarker < nMarker_HeatTransfer; iMarker++) - if (Marker_HeatTransfer[iMarker] == val_marker) { - flag = nMarker_HeatFlux + nMarker_Isothermal + iMarker; - WallProp = make_pair(Kind_Wall[flag], Roughness_Height[flag]); - return WallProp; - } - for (iMarker = 0; iMarker < nMarker_CHTInterface; iMarker++) - if (Marker_CHTInterface[iMarker] == val_marker) { - flag = nMarker_HeatFlux + nMarker_Isothermal + nMarker_HeatTransfer + iMarker; - WallProp = make_pair(Kind_Wall[flag], Roughness_Height[flag]); - return WallProp; - } +pair CConfig::GetWallRoughnessProperties(const string& val_marker) const { + su2double roughness = 0.0; + for (auto iMarker = 0u; iMarker < nRough_Wall; iMarker++) { + if (val_marker.compare(Marker_RoughWall[iMarker]) == 0) { + roughness = Roughness_Height[iMarker]; + break; + } } - - WallProp = make_pair(WALL_TYPE::SMOOTH, 0.0); - return WallProp; + return make_pair(roughness > 0 ? WALL_TYPE::ROUGH : WALL_TYPE::SMOOTH, roughness); } WALL_FUNCTIONS CConfig::GetWallFunction_Treatment(string val_marker) const { From 58cb339e2510ee3447040a5f4a85e93f60e0d4f5 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sat, 21 Jan 2023 18:15:39 -0800 Subject: [PATCH 164/179] allow pycustom markers in the heat solver --- SU2_CFD/src/solvers/CHeatSolver.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 2c4e14d7cd1..5700fc4ab14 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -358,10 +358,14 @@ void CHeatSolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_conta CNumerics *visc_numerics, CConfig *config, unsigned short val_marker) { const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); - const su2double Twall = config->GetIsothermal_Temperature(Marker_Tag) / config->GetTemperature_Ref(); + su2double Twall = config->GetIsothermal_Temperature(Marker_Tag) / config->GetTemperature_Ref(); + const bool IsPyCustom = config->GetMarker_All_PyCustom(val_marker); SU2_OMP_FOR_STAT(OMP_MIN_SIZE) for (auto iVertex = 0ul; iVertex < geometry->nVertex[val_marker]; iVertex++) { + if (IsPyCustom) { + Twall = geometry->GetCustomBoundaryTemperature(val_marker, iVertex); + } IsothermalBoundaryCondition(geometry, solver_container[FLOW_SOL], config, val_marker, iVertex, Twall); } END_SU2_OMP_FOR @@ -370,6 +374,7 @@ void CHeatSolver::BC_Isothermal_Wall(CGeometry *geometry, CSolver **solver_conta void CHeatSolver::BC_HeatFlux_Wall(CGeometry* geometry, CSolver** solver_container, CNumerics* conv_numerics, CNumerics* visc_numerics, CConfig* config, unsigned short val_marker) { const auto Marker_Tag = config->GetMarker_All_TagBound(val_marker); + const bool IsPyCustom = config->GetMarker_All_PyCustom(val_marker); su2double Wall_HeatFlux = config->GetWall_HeatFlux(Marker_Tag) / config->GetHeat_Flux_Ref(); if (config->GetIntegrated_HeatFlux()) { @@ -381,6 +386,9 @@ void CHeatSolver::BC_HeatFlux_Wall(CGeometry* geometry, CSolver** solver_contain const auto iPoint = geometry->vertex[val_marker][iVertex]->GetNode(); if (!geometry->nodes->GetDomain(iPoint)) continue; + if (IsPyCustom) { + Wall_HeatFlux = geometry->GetCustomBoundaryHeatFlux(val_marker, iVertex); + } /*--- Viscous contribution to the residual at the wall. ---*/ const auto* Normal = geometry->vertex[val_marker][iVertex]->GetNormal(); const su2double Area = GeometryToolbox::Norm(nDim, Normal); From ee0e9f073d54f5e6a2baa604ecfa2ccc9ff549d1 Mon Sep 17 00:00:00 2001 From: Nijso Date: Sun, 22 Jan 2023 21:58:22 +0100 Subject: [PATCH 165/179] Add turbulent bend to regression tests (#1898) * add turbulent bend to regression tests --- TestCases/tutorials.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/TestCases/tutorials.py b/TestCases/tutorials.py index dc45e5c1664..7d045af5ed7 100644 --- a/TestCases/tutorials.py +++ b/TestCases/tutorials.py @@ -115,6 +115,16 @@ def main(): kenics_mixer_tutorial.new_output = True test_list.append(kenics_mixer_tutorial) + # 90 degree pipe bend with wall functions from the experiments of Sudo et al. + sudo_tutorial = TestCase('sudo_bend') + sudo_tutorial.cfg_dir = "../Tutorials/incompressible_flow/Inc_Turbulent_Bend_Wallfunctions" + sudo_tutorial.cfg_file = "sudo.cfg" + sudo_tutorial.test_iter = 10 + sudo_tutorial.test_vals = [-13.618610, -12.647974, -12.296537, -11.658760, -13.136523, -9.550829, 15.000000, -2.369703] + sudo_tutorial.command = TestCase.Command("mpirun -n 2", "SU2_CFD") + sudo_tutorial.new_output = True + test_list.append(sudo_tutorial) + ### Compressible Flow # Inviscid Bump From a04a5786a03b269bd4500e8a1cc9e86480173d7d Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Tue, 24 Jan 2023 08:33:32 -0500 Subject: [PATCH 166/179] undoing line missing commits --- .github/stale.yml | 2 +- .github/workflows/release-management.yml | 2 +- .../linear_algebra/CPreconditioner.hpp | 2 +- Common/include/toolboxes/graph_toolbox.hpp | 2 +- .../species_transport/multizone/zone2.cfg | 96 +++++++++---------- 5 files changed, 52 insertions(+), 52 deletions(-) diff --git a/.github/stale.yml b/.github/stale.yml index 24e34ca82d3..8be284cd80f 100644 --- a/.github/stale.yml +++ b/.github/stale.yml @@ -12,7 +12,7 @@ staleLabel: stale markComment: > This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. - **If this is still a relevant issue please comment on it to restart the discussion.** + **If this is still a relevant issue please comment on it to restart the discussion.** Thank you for your contributions. # Comment to post when closing a stale issue. Set to `false` to disable closeComment: false diff --git a/.github/workflows/release-management.yml b/.github/workflows/release-management.yml index 921724fcc9e..287ecdb517d 100644 --- a/.github/workflows/release-management.yml +++ b/.github/workflows/release-management.yml @@ -65,4 +65,4 @@ jobs: asset_path: ${{matrix.os_bin}}.zip asset_name: SU2-${{ steps.update_release.outputs.tagname }}-${{matrix.os_bin}}.zip asset_content_type: application/zip - + diff --git a/Common/include/linear_algebra/CPreconditioner.hpp b/Common/include/linear_algebra/CPreconditioner.hpp index c5660683342..2ca619c11dd 100644 --- a/Common/include/linear_algebra/CPreconditioner.hpp +++ b/Common/include/linear_algebra/CPreconditioner.hpp @@ -357,4 +357,4 @@ CPreconditioner* CPreconditioner::Create(ENUM_LINEAR_SOL return prec; } -/// @} +/// @} \ No newline at end of file diff --git a/Common/include/toolboxes/graph_toolbox.hpp b/Common/include/toolboxes/graph_toolbox.hpp index 02c12283a41..16cc515a1c0 100644 --- a/Common/include/toolboxes/graph_toolbox.hpp +++ b/Common/include/toolboxes/graph_toolbox.hpp @@ -721,4 +721,4 @@ su2double coloringEfficiency(const SparsePattern& coloring, int numThreads, int return ideal / real; } -/// @} +/// @} \ No newline at end of file diff --git a/TestCases/species_transport/multizone/zone2.cfg b/TestCases/species_transport/multizone/zone2.cfg index 3cce87bff96..622685ab51f 100644 --- a/TestCases/species_transport/multizone/zone2.cfg +++ b/TestCases/species_transport/multizone/zone2.cfg @@ -1,48 +1,48 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% % -% SU2 configuration file % -% Case description: zone 2: fluid zone % -% % -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% -% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% -% -SOLVER= INC_RANS -KIND_TURB_MODEL= SST -% -% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% -% -MARKER_HEATFLUX= ( wall2, 0.0 ) -MARKER_SYM= ( axis2 ) -SPECIFIED_INLET_PROFILE= NO -INLET_FILENAME= inlet_venturi.dat -INC_INLET_TYPE= VELOCITY_INLET -MARKER_INLET= ( air_axial_inlet2, 310.0, 1.2, 0.0 -1.0, 0.0 ) -SPECIES_USE_STRONG_BC= NO -MARKER_INLET_SPECIES= (air_axial_inlet2, 0.6, 0.0 ) -INC_OUTLET_TYPE= PRESSURE_OUTLET -MARKER_OUTLET= ( outlet2, 0.0 ) -MARKER_PLOTTING= (NONE) -MARKER_MONITORING= (NONE) -% -% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% -% -INC_DENSITY_MODEL= VARIABLE -INC_DENSITY_INIT= 1.2 -INC_VELOCITY_INIT= ( 1.0, 0.0, 0.0 ) -INC_ENERGY_EQUATION= YES -INC_TEMPERATURE_INIT= 300.0 -INC_NONDIM= DIMENSIONAL -% -% -------------------- FLUID PROPERTIES ------------------------------------- % -% -FLUID_MODEL= FLUID_MIXTURE -MOLECULAR_WEIGHT= (28.96, 25.0, 20.0) -SPECIFIC_HEAT_CP= (1009.0, 880.0, 800.0) -CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY -THERMAL_CONDUCTIVITY_CONSTANT= (0.036, 0.032 0.03) -TURBULENT_CONDUCTIVITY_MODEL= NONE -PRANDTL_TURB= 0.90, 0.90, 0.90 -VISCOSITY_MODEL= CONSTANT_VISCOSITY -MU_CONSTANT= (1.716E-5, 1.82e-5, 1.85e-5) -MIXING_VISCOSITY_MODEL= WILKE \ No newline at end of file +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% SU2 configuration file % +% Case description: zone 2: fluid zone % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% +% +SOLVER= INC_RANS +KIND_TURB_MODEL= SST +% +% -------------------- BOUNDARY CONDITION DEFINITION --------------------------% +% +MARKER_HEATFLUX= ( wall2, 0.0 ) +MARKER_SYM= ( axis2 ) +SPECIFIED_INLET_PROFILE= NO +INLET_FILENAME= inlet_venturi.dat +INC_INLET_TYPE= VELOCITY_INLET +MARKER_INLET= ( air_axial_inlet2, 310.0, 1.2, 0.0 -1.0, 0.0 ) +SPECIES_USE_STRONG_BC= NO +MARKER_INLET_SPECIES= (air_axial_inlet2, 0.6, 0.0 ) +INC_OUTLET_TYPE= PRESSURE_OUTLET +MARKER_OUTLET= ( outlet2, 0.0 ) +MARKER_PLOTTING= (NONE) +MARKER_MONITORING= (NONE) +% +% ---------------- INCOMPRESSIBLE FLOW CONDITION DEFINITION -------------------% +% +INC_DENSITY_MODEL= VARIABLE +INC_DENSITY_INIT= 1.2 +INC_VELOCITY_INIT= ( 1.0, 0.0, 0.0 ) +INC_ENERGY_EQUATION= YES +INC_TEMPERATURE_INIT= 300.0 +INC_NONDIM= DIMENSIONAL +% +% -------------------- FLUID PROPERTIES ------------------------------------- % +% +FLUID_MODEL= FLUID_MIXTURE +MOLECULAR_WEIGHT= (28.96, 25.0, 20.0) +SPECIFIC_HEAT_CP= (1009.0, 880.0, 800.0) +CONDUCTIVITY_MODEL= CONSTANT_CONDUCTIVITY +THERMAL_CONDUCTIVITY_CONSTANT= (0.036, 0.032 0.03) +TURBULENT_CONDUCTIVITY_MODEL= NONE +PRANDTL_TURB= 0.90, 0.90, 0.90 +VISCOSITY_MODEL= CONSTANT_VISCOSITY +MU_CONSTANT= (1.716E-5, 1.82e-5, 1.85e-5) +MIXING_VISCOSITY_MODEL= WILKE From 1ec10ca01234a97302b068d73f7071e29b8a2834 Mon Sep 17 00:00:00 2001 From: David Schneider Date: Thu, 26 Jan 2023 12:50:30 +0100 Subject: [PATCH 167/179] Remove git extension in coolprop auto downloading --- meson_scripts/init.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson_scripts/init.py b/meson_scripts/init.py index 1c072e0a039..ee7a34ee1e3 100755 --- a/meson_scripts/init.py +++ b/meson_scripts/init.py @@ -57,7 +57,7 @@ def init_submodules(method = 'auto'): sha_version_mpp = '5ff579f43781cae07411e5ab46291c9971536be6' github_repo_mpp = 'https://github.com/mutationpp/Mutationpp' sha_version_coolprop = '0ce42fcf3bb2c373512bc825a4f0c1973a78f307' - github_repo_coolprop = 'https://github.com/CoolProp/CoolProp.git' + github_repo_coolprop = 'https://github.com/CoolProp/CoolProp' sha_version_mel = '2484cd3258ef800a10e361016cb341834ee7930b' github_repo_mel = 'https://github.com/pcarruscag/MEL' From 2ae10fd9df8c1ed93f0485e07e1bb033a4acaa10 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 29 Jan 2023 18:14:50 -0800 Subject: [PATCH 168/179] openmp fixes --- SU2_CFD/src/solvers/CHeatSolver.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 5700fc4ab14..eb90c215444 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -40,6 +40,7 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM /*--- Dimension of the problem --> temperature is the only conservative variable ---*/ nVar = 1; + nPrimVar = 1; nPoint = geometry->GetnPoint(); nPointDomain = geometry->GetnPointDomain(); @@ -61,9 +62,10 @@ CHeatSolver::CHeatSolver(CGeometry *geometry, CConfig *config, unsigned short iM /*--- Initialization of the structure of the whole Jacobian ---*/ if (rank == MASTER_NODE) cout << "Initialize Jacobian structure (heat equation) MG level: " << iMesh << "." << endl; - Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config); + Jacobian.Initialize(nPoint, nPointDomain, nVar, nVar, true, geometry, config, ReducerStrategy); LinSysSol.Initialize(nPoint, nPointDomain, nVar, 0.0); LinSysRes.Initialize(nPoint, nPointDomain, nVar, 0.0); + if (ReducerStrategy) EdgeFluxes.Initialize(geometry->GetnEdge(), geometry->GetnEdge(), nVar, nullptr); if (config->GetExtraOutput()) { if (nDim == 2) { nOutputVariables = 13; } From 580ebe2cbae649b118747d90322057ce8a0560a9 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 29 Jan 2023 19:10:33 -0800 Subject: [PATCH 169/179] one more OpenMP fix --- .github/workflows/regression.yml | 2 +- SU2_CFD/src/solvers/CHeatSolver.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 5572944fe32..e749e661e70 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -128,7 +128,7 @@ jobs: uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: # -t -c - args: -b ${{github.ref}} -t develop -c heat_solver_scalar_framework -s ${{matrix.testscript}} + args: -b ${{github.ref}} -t develop -c develop -s ${{matrix.testscript}} - name: Cleanup uses: docker://ghcr.io/su2code/su2/test-su2:221224-1158 with: diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index eb90c215444..b044a1915e5 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -176,6 +176,17 @@ void CHeatSolver::Preprocessing(CGeometry *geometry, CSolver **solver_container, unsigned short iRKStep, unsigned short RunTime_EqSystem, bool Output) { SU2_OMP_SAFE_GLOBAL_ACCESS(config->SetGlobalParam(config->GetKind_Solver(), RunTime_EqSystem);) CommonPreprocessing(geometry, config, Output); + + /*--- Need to clear EdgeFluxes and Jacobian when only the viscous part is called for solid heat transfer, + * for the weakly coupled energy equation the convection part does this by setting instead of incrementing. ---*/ + if (!Output && !flow && ReducerStrategy) { + EdgeFluxes.SetValZero(); + if (config->GetKind_TimeIntScheme() == EULER_IMPLICIT) { + Jacobian.SetValZero(); + } else { + SU2_OMP_BARRIER + } + } } void CHeatSolver::LoadRestart(CGeometry **geometry, CSolver ***solver, CConfig *config, int val_iter, From 7beea93dfd468e5dee888e23fa550be06d3e4cd0 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Tue, 31 Jan 2023 17:57:07 -0500 Subject: [PATCH 170/179] update ausm-m regression (explicit) --- TestCases/parallel_regression.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 3f1ecb18513..851cae80b5d 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -125,8 +125,8 @@ def main(): invwedge_ausm_m.cfg_dir = "nonequilibrium/invwedge" invwedge_ausm_m.cfg_file = "invwedge_am.cfg" invwedge_ausm_m.test_iter = 10 - invwedge_ausm_m.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] - invwedge_ausm_m.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_ausm_m.test_vals = [-1.049631, -1.574394, -16.739725, -17.063619, -17.012831, 2.273504, 1.803327, 5.308213, 0.861629] + invwedge_ausm_m.test_vals_aarch64 = [-1.049631, -1.574394, -16.739725, -17.063619, -17.012831, 2.273504, 1.803327, 5.308213, 0.861629] invwedge_ausm_m.new_output = True test_list.append(invwedge_ausm_m) From 8cb2ba7322c0ffbad6e373250a5000568cdd88bb Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Fri, 3 Feb 2023 13:39:24 -0500 Subject: [PATCH 171/179] refactor AUSM schemes --- Common/include/CConfig.hpp | 2 +- Common/include/option_structure.hpp | 2 - Common/src/CConfig.cpp | 17 +- .../include/numerics/NEMO/CNEMONumerics.hpp | 10 +- .../include/numerics/NEMO/convection/ausm.hpp | 67 -- .../numerics/NEMO/convection/ausm_slau.hpp | 246 +++++++ .../numerics/NEMO/convection/ausmplusm.hpp | 70 -- .../numerics/NEMO/convection/ausmplusup2.hpp | 68 -- .../numerics/NEMO/convection/ausmpwplus.hpp | 67 -- SU2_CFD/obj/Makefile.am | 4 +- SU2_CFD/src/drivers/CDriver.cpp | 12 +- SU2_CFD/src/meson.build | 5 +- SU2_CFD/src/numerics/NEMO/convection/ausm.cpp | 385 ----------- .../numerics/NEMO/convection/ausm_slau.cpp | 638 ++++++++++++++++++ .../numerics/NEMO/convection/ausmplusm.cpp | 232 ------- .../numerics/NEMO/convection/ausmplusup2.cpp | 433 ------------ .../numerics/NEMO/convection/ausmpwplus.cpp | 445 ------------ SU2_CFD/src/numerics/NEMO/convection/lax.cpp | 16 +- SU2_CFD/src/numerics/NEMO/convection/msw.cpp | 34 +- SU2_CFD/src/variables/CNEMOEulerVariable.cpp | 2 - TestCases/parallel_regression.py | 58 +- config_template.cfg | 2 +- 22 files changed, 950 insertions(+), 1865 deletions(-) delete mode 100644 SU2_CFD/include/numerics/NEMO/convection/ausm.hpp create mode 100644 SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp delete mode 100644 SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp delete mode 100644 SU2_CFD/include/numerics/NEMO/convection/ausmplusup2.hpp delete mode 100644 SU2_CFD/include/numerics/NEMO/convection/ausmpwplus.hpp delete mode 100644 SU2_CFD/src/numerics/NEMO/convection/ausm.cpp create mode 100644 SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp delete mode 100644 SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp delete mode 100644 SU2_CFD/src/numerics/NEMO/convection/ausmplusup2.cpp delete mode 100644 SU2_CFD/src/numerics/NEMO/convection/ausmpwplus.cpp diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index f78763dd740..071d36ba1bb 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -3714,7 +3714,7 @@ class CConfig { */ bool GetAUSMMethod(void) const { switch (Kind_Upwind_Flow) { - case UPWIND::AUSM : case UPWIND::AUSMPLUSUP: case UPWIND::AUSMPLUSUP2: case UPWIND::AUSMPWPLUS: case UPWIND::AUSMPLUSM: + case UPWIND::AUSM : case UPWIND::AUSMPLUSUP: case UPWIND::AUSMPLUSUP2: case UPWIND::AUSMPLUSM: return true; default: return false; diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 095fa0eac9c..005a78f0c37 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -828,7 +828,6 @@ enum class UPWIND { LAX_FRIEDRICH, /*!< \brief Lax-Friedrich numerical method. */ AUSMPLUSUP, /*!< \brief AUSM+ -up numerical method (All Speed) */ AUSMPLUSUP2, /*!< \brief AUSM+ -up2 numerical method (All Speed) */ - AUSMPWPLUS, /*!< \brief AUSM-pw+ numerical method. (NEMO Only)*/ AUSMPLUSM, /*!< \breif AUSM+M numerical method. (NEMO Only)*/ BOUNDED_SCALAR /*!< \brief Scalar advection numerical method. */ }; @@ -839,7 +838,6 @@ static const MapType Upwind_Map = { MakePair("AUSM", UPWIND::AUSM) MakePair("AUSMPLUSUP", UPWIND::AUSMPLUSUP) MakePair("AUSMPLUSUP2", UPWIND::AUSMPLUSUP2) - MakePair("AUSMPWPLUS", UPWIND::AUSMPWPLUS) MakePair("AUSMPLUSM", UPWIND::AUSMPLUSM) MakePair("SLAU", UPWIND::SLAU) MakePair("HLLC", UPWIND::HLLC) diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index e559b141916..23613a7a776 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -2333,7 +2333,7 @@ void CConfig::SetConfig_Options() { /*!\par CONFIG_CATEGORY: FEM flow solver definition \ingroup Config*/ /*--- Options related to the finite element flow solver---*/ - /* DESCRIPTION: Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) */ + /* DESCRIPTION: Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, HLLC, VAN_LEER) */ addEnumOption("RIEMANN_SOLVER_FEM", Riemann_Solver_FEM, Upwind_Map, UPWIND::ROE); /* DESCRIPTION: Constant factor applied for quadrature with straight elements (2.0 by default) */ addDoubleOption("QUADRATURE_FACTOR_STRAIGHT_FEM", Quadrature_Factor_Straight, 2.0); @@ -3941,16 +3941,11 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i CURRENT_FUNCTION); } - if (!ideal_gas && !nemo) { - if (Kind_Upwind_Flow != UPWIND::ROE && Kind_Upwind_Flow != UPWIND::HLLC && Kind_Centered_Flow != CENTERED::JST) { - SU2_MPI::Error("Only ROE Upwind, HLLC Upwind scheme, and JST scheme can be used for Non-Ideal Compressible Fluids", CURRENT_FUNCTION); + if (!ideal_gas && !nemo) { + if (Kind_Upwind_Flow != UPWIND::ROE && Kind_Upwind_Flow != UPWIND::HLLC && Kind_Centered_Flow != CENTERED::JST) { + SU2_MPI::Error("Only ROE Upwind, HLLC Upwind scheme, and JST scheme can be used for Non-Ideal Compressible Fluids", CURRENT_FUNCTION); + } } - } - - if (nemo){ - if (Kind_Upwind_Flow == UPWIND::AUSMPWPLUS) - SU2_MPI::Error("AUSMPW+ is extremely unstable. Feel free to fix me!", CURRENT_FUNCTION); - } if (GetBoolTurbomachinery()) { nBlades = new su2double[nZone]; @@ -6639,7 +6634,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { if (Kind_Upwind_Flow == UPWIND::FDS) cout << "Flux difference splitting (FDS) upwind scheme for the flow inviscid terms."<< endl; if (Kind_Upwind_Flow == UPWIND::AUSMPLUSUP) cout << "AUSM+-up solver for the flow inviscid terms."<< endl; if (Kind_Upwind_Flow == UPWIND::AUSMPLUSUP2) cout << "AUSM+-up2 solver for the flow inviscid terms."<< endl; - if (Kind_Upwind_Flow == UPWIND::AUSMPWPLUS) cout << "AUSMPWPLUS solver for the flow inviscid terms."<< endl; + if (Kind_Upwind_Flow == UPWIND::AUSMPLUSM) cout << "AUSM+M solver for the flow inviscid terms."<< endl; if (Kind_Solver == MAIN_SOLVER::EULER || Kind_Solver == MAIN_SOLVER::DISC_ADJ_EULER || Kind_Solver == MAIN_SOLVER::NAVIER_STOKES || Kind_Solver == MAIN_SOLVER::DISC_ADJ_NAVIER_STOKES || diff --git a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp index 08c11113168..2289ab9caca 100644 --- a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp +++ b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp @@ -36,19 +36,17 @@ /*! * \class CNEMONumerics * \brief Base class template NEMO numerics. - * \author C. Garbacz. + * \author C. Garbacz., W. Maier */ class CNEMONumerics : public CNumerics { public: bool implicit, ionization; - su2double *rhos_i, *u_i; - su2double *rhos_j, *u_j; - su2double a_i, P_i, h_i; - su2double a_j, P_j, h_j; - su2double rho_i, rho_j; + su2double *rhos_i, *rhos_j; + su2double Velocity_i[MAXNDIM] = {0.0}, Velocity_j[MAXNDIM] = {0.0}; su2double e_ve_i, e_ve_j; su2double rhoCvtr_i, rhoCvtr_j; su2double rhoCvve_i, rhoCvve_j; + su2double ProjVelocity_i, ProjVelocity_j; unsigned short nPrimVar, nPrimVarGrad; su2double* Flux = nullptr; /*!< \brief The flux / residual across the edge. */ diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausm.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausm.hpp deleted file mode 100644 index a7d5f3187be..00000000000 --- a/SU2_CFD/include/numerics/NEMO/convection/ausm.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*! - * \file ausm.hpp - * \brief Declaration of numerics classes for the AUSM family of schemes in NEMO. - * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" - * - * SU2 Project Website: https://su2code.github.io - * - * The SU2 Project is maintained by the SU2 Foundation - * (http://su2foundation.org) - * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) - * - * SU2 is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * SU2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with SU2. If not, see . - */ - -#pragma once - -#include "../CNEMONumerics.hpp" - -/*! - * \class CUpwAUSM_NEMO - * \brief Class for solving an approximate Riemann AUSM. - * \ingroup ConvDiscr - * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - */ -class CUpwAUSM_NEMO : public CNEMONumerics { -private: - su2double *FcL, *FcR, *FcLR; - su2double *dmLP, *dmRM, *dpLP, *dpRM; - su2double *daL, *daR; - su2double ProjVel_i, ProjVel_j; - -public: - - /*! - * \brief Constructor of the class. - * \param[in] val_nDim - Number of dimensions of the problem. - * \param[in] val_nVar - Number of variables of the problem. - * \param[in] val_nPrimVar - Number of primitive variables of the problem - * \param[in] val_nPrimVarGrad - Number of grad primitive variables of the problem - * \param[in] config - Definition of the particular problem. - */ - CUpwAUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, CConfig *config); - - /*! - * \brief Destructor of the class. - */ - ~CUpwAUSM_NEMO(void); - - /*! - * \brief Compute the Roe's flux between two nodes i and j. - * \param[in] config - Definition of the particular problem. - */ - ResidualType<> ComputeResidual(const CConfig* config) final; -}; diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp new file mode 100644 index 00000000000..8741524a74a --- /dev/null +++ b/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp @@ -0,0 +1,246 @@ +/*! + * \file ausm_slau.hpp + * \brief Declaration of numerics classes for the AUSM and SLAU family of schemes in NEMO. + * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz + * \version 7.5.0 "Blackbird" + * + * SU2 Project Website: https://su2code.github.io + * + * The SU2 Project is maintained by the SU2 Foundation + * (http://su2foundation.org) + * + * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * + * SU2 is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * SU2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with SU2. If not, see . + */ + +#pragma once + +#include "../CNEMONumerics.hpp" + +/*! + * \class CUpwAUSM_SLAU_Base_NEMO + * \brief Class for solving an approximate Riemann AUSM. + * \ingroup ConvDiscr + * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz + */ +class CUpwAUSM_SLAU_Base_NEMO : public CNEMONumerics { +protected: + + su2double A_F[2] = {0.0}, PressureFlux[MAXNDIM]={0.0}; + su2double M_L, M_R, M_F; + + su2double* Fc_L = nullptr; + su2double* Fc_R = nullptr; + su2double* Fc_LR = nullptr; + su2double* dM_LP = nullptr; + su2double* dM_RM = nullptr; + su2double* dP_LP = nullptr; + su2double* dP_RM = nullptr; + su2double* da_L = nullptr; + su2double* da_R = nullptr; + + su2double* Flux = nullptr; /*!< \brief The flux accross the face. */ + su2double** Jacobian_i = nullptr; /*!< \brief The Jacobian w.r.t. point i after computation. */ + su2double** Jacobian_j = nullptr; /*!< \brief The Jacobian w.r.t. point j after computation. */ + + /*! + * \brief Compute the interface Mach number, soundspeeds and pressure based on Primitives_i/j.. + * \param[in] config - Definition of the particular problem. + * \param[out] pressure - The pressure at the control volume face. + * \param[out] interface_mach - The interface Mach number M_(1/2). + * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). + */ + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, + su2double &interface_mach, + su2double *interface_soundspeed) = 0; + +private: + /*! + * \brief Compute the flux Jacobians of the AUSM scheme to use as an approximation. + * \param[out] val_Jacobian_i - Jacobian of the numerical method at node i (implicit computation). + * \param[out] val_Jacobian_j - Jacobian of the numerical method at node j (implicit computation). + */ + void ComputeJacobian(su2double **val_Jacobian_i, su2double **val_Jacobian_j); + +public: + + /*! + * \brief Constructor of the class. + * \param[in] val_nDim - Number of dimension of the problem. + * \param[in] val_nVar - Number of variables of the problem. + * \param[in] val_nPrimVar - Number of primitive variables of the problem. + * \param[in] val_nPrimVarGrad - Number of primitive gradient variables of the problem. + * \param[in] config - Definition of the particular problem. + */ + CUpwAUSM_SLAU_Base_NEMO(unsigned short val_nDim, unsigned short val_nVar, + unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, + const CConfig* config); + + /*! + * \brief Destructor of the class. + */ + ~CUpwAUSM_SLAU_Base_NEMO(void) override; + + /*! + * \brief Compute the AUSM and SLAU family of schemes. + * \param[in] config - Definition of the particular problem. + * \return A lightweight const-view (read-only) of the residual/flux and Jacobians. + */ + ResidualType<> ComputeResidual(const CConfig* config) final; + +}; + +/*! + * \class CUpwAUSM_NEMO + * \brief Class for solving an approximate Riemann AUSM. + * \ingroup ConvDiscr + * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz + */ +class CUpwAUSM_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { +private: + + /*! + * \brief Compute the interface Mach number, soundspeeds and pressure for AUSM scheme. + * \param[in] config - Definition of the particular problem. + * \param[out] pressure - The pressure at the control volume face. + * \param[out] interface_mach - The interface Mach number M_(1/2). + * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). + */ + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, + su2double &interface_mach, + su2double *interface_soundspeed) override; +public: + + /*! + * \brief Constructor of the class. + * \param[in] val_nDim - Number of dimensions of the problem. + * \param[in] val_nVar - Number of variables of the problem. + * \param[in] val_nPrimVar - Number of primitive variables of the problem + * \param[in] val_nPrimVarGrad - Number of grad primitive variables of the problem + * \param[in] config - Definition of the particular problem. + */ + CUpwAUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, + unsigned short val_nPrimVarGrad, const CConfig* config); + +}; + +/*! + * \class CUpwAUSMPLUSM_NEMO + * \brief Class for solving an approximate Riemann AUSM+ M, Two-Temperature Model. https://doi.org/10.1016/j.apm.2019.09.005 + * \ingroup ConvDiscr + * \author F. Morgado + */ +class CUpwAUSMPLUSM_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { + private: + + su2double beta; + + /*! + * \brief Compute the interface Mach number, soundspeeds and pressure for AUSM+M scheme. + * \param[in] config - Definition of the particular problem. + * \param[out] pressure - The pressure at the control volume face. + * \param[out] interface_mach - The interface Mach number M_(1/2). + * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). + */ + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, + su2double &interface_mach, + su2double *interface_soundspeed) override; + public: + /*! + * \brief Constructor of the class. + * \param[in] val_nDim - Number of dimension of the problem. + * \param[in] val_nVar - Number of variables of the problem. + * \param[in] val_nPrimVar - Number of primitive variables of the problem. + * \param[in] val_nPrimVarGrad - Number of primitive gradient variables of the problem. + * \param[in] config - Definition of the particular problem. + */ + CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, + unsigned short val_nPrimVarGrad, const CConfig* config); + +}; + +/*! + * \class CUpwAUSMPLUSUP2_NEMO + * \brief Class for solving an approximate Riemann AUSM+-up2, Two-Temperature Model. https://doi.org/10.1016/j.jcp.2013.02.046 + * \ingroup ConvDiscr + * \author W. Maier, A. Sachedeva, C. Garbacz + */ +class CUpwAUSMPLUSUP2_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { +private: + + su2double Kp, Ku, sigma; + + /*! + * \brief Compute the interface Mach number, soundspeeds and pressure for AUSM+-Up2 scheme. + * \param[in] config - Definition of the particular problem. + * \param[out] pressure - The pressure at the control volume face. + * \param[out] interface_mach - The interface Mach number M_(1/2). + * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). + */ + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, + su2double &interface_mach, + su2double *interface_soundspeed) override; + +public: + + /*! + * \brief Constructor of the class. + * \param[in] val_nDim - Number of dimensions of the problem. + * \param[in] val_nVar - Number of variables of the problem. + * \param[in] val_nPrimVar - Number of primitive variables of the problem + * \param[in] val_nPrimVarGrad - Number of grad primitive variables of the problem + * \param[in] config - Definition of the particular problem. + */ + CUpwAUSMPLUSUP2_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, + unsigned short val_nPrimVarGrad, const CConfig* config); + +}; + +/*! + * \class CUpwAUSMPWplus_NEMO + * \brief Class for solving an approximate Riemann AUSM. + * \ingroup ConvDiscr + * \author F. Palacios, W.Maier, C. Garbacz + */ +class CUpwAUSMPWplus_NEMO : public CUpwAUSM_SLAU_Base_NEMO { +private: + + su2double alpha; + + /*! + * \brief Compute the interface Mach number, soundspeeds and pressure for AUSMpw+ scheme. + * \param[in] config - Definition of the particular problem. + * \param[out] pressure - The pressure at the control volume face. + * \param[out] interface_mach - The interface Mach number M_(1/2). + * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). + */ + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, + su2double &interface_mach, + su2double *interface_soundspeed) override; + +public: + + /*! + * \brief Constructor of the class. + * \param[in] val_nDim - Number of dimensions of the problem. + * \param[in] val_nVar - Number of variables of the problem. + * \param[in] val_nPrimVar - Number of primitive variables of the problem + * \param[in] val_nPrimVarGrad - Number of grad primitive variables of the problem + * \param[in] config - Definition of the particular problem. + */ + CUpwAUSMPWplus_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, + unsigned short val_nPrimVarGrad, const CConfig* config); + +}; diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp deleted file mode 100644 index fba0352856a..00000000000 --- a/SU2_CFD/include/numerics/NEMO/convection/ausmplusm.hpp +++ /dev/null @@ -1,70 +0,0 @@ -/*! - * \file ausmplusm.hpp - * \brief Declaration of numerics classes for the AUSM family of schemes in NEMO - AUSM+M. - * \author F. Morgado - * \version 7.5.0 "Blackbird" - * - * SU2 Project Website: https://su2code.github.io - * - * The SU2 Project is maintained by the SU2 Foundation - * (http://su2foundation.org) - * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) - * - * SU2 is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * SU2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with SU2. If not, see . - */ - -#pragma once - -#include "../CNEMONumerics.hpp" - -/*! - * \class CUpwAUSMPLUSM_NEMO - * \brief Class for solving an approximate Riemann AUSM+ M, Two-Temperature Model. - * https://doi.org/10.1016/j.apm.2019.09.005 \ingroup ConvDiscr \author F. Morgado - */ -class CUpwAUSMPLUSM_NEMO : public CNEMONumerics { - private: - su2double* FcL = nullptr; - su2double* FcR = nullptr; - su2double* dmLP = nullptr; - su2double* dmRM = nullptr; - su2double* dpLP = nullptr; - su2double* dpRM = nullptr; - su2double* daL = nullptr; - su2double* daR = nullptr; - - public: - /*! - * \brief Constructor of the class. - * \param[in] val_nDim - Number of dimension of the problem. - * \param[in] val_nVar - Number of variables of the problem. - * \param[in] val_nPrimVar - Number of primitive variables of the problem. - * \param[in] val_nPrimVarGrad - Number of primitive gradient variables of the problem. - * \param[in] config - Definition of the particular problem. - */ - CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, - unsigned short val_nPrimVarGrad, CConfig* config); - - /*! - * \brief Destructor of the class. - */ - ~CUpwAUSMPLUSM_NEMO(void); - - /*! - * \brief Compute the AUSM+M flux between two nodes i and j. - * \param[in] config - Definition of the particular problem. - */ - ResidualType<> ComputeResidual(const CConfig* config) final; -}; diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausmplusup2.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausmplusup2.hpp deleted file mode 100644 index 9c6ec1c95b3..00000000000 --- a/SU2_CFD/include/numerics/NEMO/convection/ausmplusup2.hpp +++ /dev/null @@ -1,68 +0,0 @@ -/*! - * \file ausmplusup2.hpp - * \brief Declaration of numerics classes for the AUSM family of schemes in NEMO - AUSM+UP2. - * \author W. Maier, A. Sachedeva, C. Garbacz. - * \version 7.5.0 "Blackbird" - * - * SU2 Project Website: https://su2code.github.io - * - * The SU2 Project is maintained by the SU2 Foundation - * (http://su2foundation.org) - * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) - * - * SU2 is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * SU2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with SU2. If not, see . - */ - -#pragma once - -#include "../CNEMONumerics.hpp" - -/*! - * \class CUpwAUSMPLUSUP2_NEMO - * \brief Class for solving an approximate Riemann AUSM+ -up2, Two-Temperature Model. https://doi.org/10.1016/j.jcp.2013.02.046 - * \ingroup ConvDiscr - * \author W. Maier, A. Sachedeva, C. Garbacz - */ -class CUpwAUSMPLUSUP2_NEMO : public CNEMONumerics { -private: - su2double *FcL, *FcR, *FcLR; - su2double *dmLP, *dmRM, *dpLP, *dpRM; - su2double *daL, *daR; - su2double ProjVel_i, ProjVel_j; - su2double mL, mR, mLP, mRM, mF, pLP, pRM, pFi, pF, Phi; - su2double CstarL, CstarR, ChatL, ChatR, aF, rhoF, MFsq, Mrefsq, Mp, fa; - su2double Kp, sigma, alpha, beta, param1, mfP, mfM; - -public: - - /*! - * \brief Constructor of the class. - * \param[in] val_nDim - Number of dimensions of the problem. - * \param[in] val_nVar - Number of variables of the problem. - * \param[in] config - Definition of the particular problem. - */ - CUpwAUSMPLUSUP2_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, CConfig *config); - - /*! - * \brief Destructor of the class. - */ - ~CUpwAUSMPLUSUP2_NEMO(void); - - /*! - * \brief Compute the AUSM+ -up flux between two nodes i and j. - * \param[in] config - Definition of the particular problem. - */ - ResidualType<> ComputeResidual(const CConfig* config) final; -}; diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausmpwplus.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausmpwplus.hpp deleted file mode 100644 index d1172cf9c6b..00000000000 --- a/SU2_CFD/include/numerics/NEMO/convection/ausmpwplus.hpp +++ /dev/null @@ -1,67 +0,0 @@ -/*! - * \file ausmpwplus.hpp - * \brief Declaration of numerics classes for the AUSM family of schemes in NEMO - AUSMPWPLUS. - * \author F. Palacios, W.Maier, C. Garbacz - * \version 7.5.0 "Blackbird" - * - * SU2 Project Website: https://su2code.github.io - * - * The SU2 Project is maintained by the SU2 Foundation - * (http://su2foundation.org) - * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) - * - * SU2 is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * SU2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with SU2. If not, see . - */ - -#pragma once - -#include "../CNEMONumerics.hpp" - -/*! - * \class CUpwAUSM_NEMO - * \brief Class for solving an approximate Riemann AUSM. - * \ingroup ConvDiscr - * \author F. Palacios, W.Maier, C. Garbacz - */ -class CUpwAUSMPWplus_NEMO : public CNEMONumerics { -private: - - su2double *FcL, *FcR; - - su2double ProjVel_i, ProjVel_j; - su2double rhoCvtr_i, rhoCvtr_j, rhoCvve_i, rhoCvve_j; - - -public: - - /*! - * \brief Constructor of the class. - * \param[in] val_nDim - Number of dimensions of the problem. - * \param[in] val_nVar - Number of variables of the problem. - * \param[in] config - Definition of the particular problem. - */ - CUpwAUSMPWplus_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, CConfig *config); - - /*! - * \brief Destructor of the class. - */ - ~CUpwAUSMPWplus_NEMO(void); - - /*! - * \brief Compute the Roe's flux between two nodes i and j. - * \param[in] config - Definition of the particular problem. - */ - ResidualType<> ComputeResidual(const CConfig* config) final; -}; diff --git a/SU2_CFD/obj/Makefile.am b/SU2_CFD/obj/Makefile.am index 9f06eb17ea3..8208ed5d0e0 100644 --- a/SU2_CFD/obj/Makefile.am +++ b/SU2_CFD/obj/Makefile.am @@ -99,9 +99,7 @@ libSU2Core_sources = ../src/definition_structure.cpp \ ../src/numerics/flow/flow_diffusion.cpp \ ../src/numerics/flow/flow_sources.cpp \ ../src/numerics/NEMO/convection/roe.cpp \ - ../src/numerics/NEMO/convection/ausm.cpp \ - ../src/numerics/NEMO/convection/ausmplusup2.cpp \ - ../src/numerics/NEMO/convection/ausmpwplus.cpp \ + ../src/numerics/NEMO/convection/ausm_slau.cpp \ ../src/numerics/NEMO/convection/lax.cpp \ ../src/numerics/NEMO/convection/msw.cpp \ ../src/numerics/NEMO/CNEMONumerics.cpp \ diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index c5a2e8ea324..08e2782146f 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -69,10 +69,7 @@ #include "../../include/numerics/flow/flow_sources.hpp" #include "../../include/numerics/NEMO/convection/roe.hpp" #include "../../include/numerics/NEMO/convection/lax.hpp" -#include "../../include/numerics/NEMO/convection/ausm.hpp" -#include "../../include/numerics/NEMO/convection/ausmplusup2.hpp" -#include "../../include/numerics/NEMO/convection/ausmpwplus.hpp" -#include "../../include/numerics/NEMO/convection/ausmplusm.hpp" +#include "../../include/numerics/NEMO/convection/ausm_slau.hpp" #include "../../include/numerics/NEMO/convection/msw.hpp" #include "../../include/numerics/NEMO/NEMO_diffusion.hpp" #include "../../include/numerics/NEMO/NEMO_sources.hpp" @@ -1986,13 +1983,6 @@ void CDriver::Numerics_Preprocessing(CConfig *config, CGeometry **geometry, CSol } break; - case UPWIND::AUSMPWPLUS: - for (iMGlevel = 0; iMGlevel <= config->GetnMGLevels(); iMGlevel++) { - numerics[iMGlevel][FLOW_SOL][conv_term] = new CUpwAUSMPWplus_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); - numerics[iMGlevel][FLOW_SOL][conv_bound_term] = new CUpwAUSMPWplus_NEMO(nDim, nVar_NEMO, nPrimVar_NEMO, nPrimVarGrad_NEMO, config); - } - break; - default: SU2_MPI::Error("Invalid upwind scheme or not implemented.", CURRENT_FUNCTION); break; diff --git a/SU2_CFD/src/meson.build b/SU2_CFD/src/meson.build index 588c940f532..fd5a5252d0e 100644 --- a/SU2_CFD/src/meson.build +++ b/SU2_CFD/src/meson.build @@ -131,10 +131,7 @@ su2_cfd_src += files(['numerics/CNumerics.cpp', 'numerics/NEMO/CNEMONumerics.cpp', 'numerics/NEMO/convection/lax.cpp', 'numerics/NEMO/convection/roe.cpp', - 'numerics/NEMO/convection/ausm.cpp', - 'numerics/NEMO/convection/ausmplusup2.cpp', - 'numerics/NEMO/convection/ausmplusm.cpp', - 'numerics/NEMO/convection/ausmpwplus.cpp', + 'numerics/NEMO/convection/ausm_slau.cpp', 'numerics/NEMO/convection/msw.cpp', 'numerics/NEMO/NEMO_diffusion.cpp', 'numerics/NEMO/NEMO_sources.cpp', diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausm.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausm.cpp deleted file mode 100644 index 8a336c67db3..00000000000 --- a/SU2_CFD/src/numerics/NEMO/convection/ausm.cpp +++ /dev/null @@ -1,385 +0,0 @@ -/*! - * \file ausm.cpp - * \brief Implementations of the AUSM-family of schemes in NEMO. - * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" - * - * SU2 Project Website: https://su2code.github.io - * - * The SU2 Project is maintained by the SU2 Foundation - * (http://su2foundation.org) - * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) - * - * SU2 is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * SU2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with SU2. If not, see . - */ - -#include "../../../../include/numerics/NEMO/convection/ausm.hpp" -#include "../../../../../Common/include/toolboxes/geometry_toolbox.hpp" - -CUpwAUSM_NEMO::CUpwAUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, - unsigned short val_nPrimVar, - unsigned short val_nPrimVarGrad, - CConfig *config) : CNEMONumerics(val_nDim, val_nVar, val_nPrimVar, val_nPrimVarGrad, - config) { - - FcL = new su2double [nVar]; - FcR = new su2double [nVar]; - dmLP = new su2double [nVar]; - dmRM = new su2double [nVar]; - dpLP = new su2double [nVar]; - dpRM = new su2double [nVar]; - rhos_i = new su2double [nSpecies]; - rhos_j = new su2double [nSpecies]; - u_i = new su2double [nDim]; - u_j = new su2double [nDim]; - daL = new su2double [nVar]; - daR = new su2double [nVar]; - - Flux = new su2double[nVar]; - Jacobian_i = new su2double* [nVar]; - Jacobian_j = new su2double* [nVar]; - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - Jacobian_i[iVar] = new su2double [nVar]; - Jacobian_j[iVar] = new su2double [nVar]; - } -} - -CUpwAUSM_NEMO::~CUpwAUSM_NEMO(void) { - - delete [] FcL; - delete [] FcR; - delete [] dmLP; - delete [] dmRM; - delete [] dpLP; - delete [] dpRM; - delete [] rhos_i; - delete [] rhos_j; - delete [] u_i; - delete [] u_j; - delete [] Flux; - delete [] daL; - delete [] daR; - - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - delete [] Jacobian_i[iVar]; - delete [] Jacobian_j[iVar]; - } - delete [] Jacobian_i; - delete [] Jacobian_j; -} - -CNumerics::ResidualType<> CUpwAUSM_NEMO::ComputeResidual(const CConfig *config) { - - /*--- Compute geometric quantities ---*/ - Area = GeometryToolbox::Norm(nDim, Normal); - - for (unsigned short iDim = 0; iDim < nDim; iDim++) - UnitNormal[iDim] = Normal[iDim]/Area; - - /*--- Pull stored primitive variables ---*/ - // Primitives: [rho1,...,rhoNs, T, Tve, u, v, w, P, rho, h, a, c] - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - rhos_i[iSpecies] = V_i[RHOS_INDEX+iSpecies]; - rhos_j[iSpecies] = V_j[RHOS_INDEX+iSpecies]; - } - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - u_i[iDim] = V_i[VEL_INDEX+iDim]; - u_j[iDim] = V_j[VEL_INDEX+iDim]; - } - - P_i = V_i[P_INDEX]; P_j = V_j[P_INDEX]; - h_i = V_i[H_INDEX]; h_j = V_j[H_INDEX]; - a_i = V_i[A_INDEX]; a_j = V_j[A_INDEX]; - rho_i = V_i[RHO_INDEX]; rho_j = V_j[RHO_INDEX]; - - e_ve_i = 0; e_ve_j = 0; - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - e_ve_i += (V_i[RHOS_INDEX+iSpecies]*eve_i[iSpecies])/rho_i; - e_ve_j += (V_j[RHOS_INDEX+iSpecies]*eve_j[iSpecies])/rho_j; - } - - /*--- Projected velocities ---*/ - ProjVel_i = GeometryToolbox::DotProduct(nDim, u_i, UnitNormal); - ProjVel_j = GeometryToolbox::DotProduct(nDim, u_j, UnitNormal); - - /*--- Calculate L/R Mach numbers ---*/ - su2double mL = ProjVel_i/a_i; - su2double mR = ProjVel_j/a_j; - - /*--- Calculate split numerical fluxes ---*/ - su2double mLP, mRM, pLP, pRM; - - if (fabs(mL) <= 1.0) mLP = 0.25*(mL+1.0)*(mL+1.0); - else mLP = 0.5*(mL+fabs(mL)); - - if (fabs(mR) <= 1.0) mRM = -0.25*(mR-1.0)*(mR-1.0); - else mRM = 0.5*(mR-fabs(mR)); - - su2double mF = mLP + mRM; - - if (fabs(mL) <= 1.0) pLP = 0.25*P_i*(mL+1.0)*(mL+1.0)*(2.0-mL); - else pLP = 0.5*P_i*(mL+fabs(mL))/mL; - - if (fabs(mR) <= 1.0) pRM = 0.25*P_j*(mR-1.0)*(mR-1.0)*(2.0+mR); - else pRM = 0.5*P_j*(mR-fabs(mR))/mR; - - su2double pF = pLP + pRM; - su2double Phi = fabs(mF); - - /*--- Assign left & right convective vectors ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - FcL[iSpecies] = rhos_i[iSpecies]*a_i; - FcR[iSpecies] = rhos_j[iSpecies]*a_j; - } - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - FcL[nSpecies+iDim] = rho_i*a_i*u_i[iDim]; - FcR[nSpecies+iDim] = rho_j*a_j*u_j[iDim]; - } - FcL[nSpecies+nDim] = rho_i*a_i*h_i; - FcR[nSpecies+nDim] = rho_j*a_j*h_j; - FcL[nSpecies+nDim+1] = rho_i*a_i*e_ve_i; - FcR[nSpecies+nDim+1] = rho_j*a_j*e_ve_j; - - /*--- Compute numerical flux ---*/ - for (unsigned short iVar = 0; iVar < nVar; iVar++) - Flux[iVar] = 0.5*((mF+Phi)*FcL[iVar]+(mF-Phi)*FcR[iVar])*Area; - - for (unsigned short iDim = 0; iDim < nDim; iDim++) - Flux[nSpecies+iDim] += pF*UnitNormal[iDim]*Area; - - /*--- Populate the AUSM Jacobian, if necessary. ---*/ - if (implicit){ - - const auto& Ms = fluidmodel->GetSpeciesMolarMass(); - const auto& Cvtr = fluidmodel->GetSpeciesCvTraRot(); - const su2double Ru = 1000.0*UNIVERSAL_GAS_CONSTANT; - rhoCvtr_i = V_i[RHOCVTR_INDEX]; - rhoCvtr_j = V_j[RHOCVTR_INDEX]; - - /*--- Initialize the Jacobians ---*/ - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[iVar][jVar] = 0.0; - Jacobian_j[iVar][jVar] = 0.0; - } - } - - if (mF >= 0.0) FcLR = FcL; - else FcLR = FcR; - - /*--- Sound speed derivatives: Species density ---*/ - for (unsigned short iSpecies = 0; iSpecies < nEl; iSpecies++) { - daL[iSpecies] = 1.0/(2.0*a_i*rho_i) * (1+dPdU_i[nSpecies+nDim])*(dPdU_i[iSpecies] - P_i/rho_i); - daR[iSpecies] = 1.0/(2.0*a_j*rho_j) * (1+dPdU_j[nSpecies+nDim])*(dPdU_j[iSpecies] - P_j/rho_j); - } - - for (unsigned short iSpecies = nEl; iSpecies < nHeavy; iSpecies++) { - daL[iSpecies] = 1.0/(2.0*a_i) * (1/rhoCvtr_i*(Ru/Ms[iSpecies] - Cvtr[iSpecies]*dPdU_i[nSpecies+nDim])*P_i/rho_i - + 1.0/rho_i*(1.0+dPdU_i[nSpecies+nDim])*(dPdU_i[iSpecies] - P_i/rho_i)); - daR[iSpecies] = 1.0/(2.0*a_j) * (1/rhoCvtr_j*(Ru/Ms[iSpecies] - Cvtr[iSpecies]*dPdU_j[nSpecies+nDim])*P_j/rho_j - + 1.0/rho_j*(1.0+dPdU_j[nSpecies+nDim])*(dPdU_j[iSpecies] - P_j/rho_j)); - } - - /*--- Sound speed derivatives: Momentum ---*/ - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - daL[nSpecies+iDim] = -1.0/(2.0*rho_i*a_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim])*u_i[iDim]; - daR[nSpecies+iDim] = -1.0/(2.0*rho_j*a_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim])*u_j[iDim]; - } - - /*--- Sound speed derivatives: Energy ---*/ - daL[nSpecies+nDim] = 1.0/(2.0*rho_i*a_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim]); - daR[nSpecies+nDim] = 1.0/(2.0*rho_j*a_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim]); - - /*--- Sound speed derivatives: Vib-el energy ---*/ - daL[nSpecies+nDim+1] = 1.0/(2.0*rho_i*a_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim+1]); - daR[nSpecies+nDim+1] = 1.0/(2.0*rho_j*a_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim+1]); - - /*--- Left state Jacobian ---*/ - if (mF >= 0) { - - /*--- Jacobian contribution: dFc terms ---*/ - for (auto iVar = 0u; iVar < nSpecies+nDim; iVar++) { - for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[iVar][jVar] += mF * FcL[iVar]/a_i * daL[jVar]; - } - Jacobian_i[iVar][iVar] += mF * a_i; - } - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - Jacobian_i[nSpecies+nDim][iSpecies] += mF * (dPdU_i[iSpecies]*a_i + rho_i*h_i*daL[iSpecies]); - } - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - Jacobian_i[nSpecies+nDim][nSpecies+iDim] += mF * (-dPdU_i[nSpecies+nDim]*u_i[iDim]*a_i + rho_i*h_i*daL[nSpecies+iDim]); - } - Jacobian_i[nSpecies+nDim][nSpecies+nDim] += mF * ((1.0+dPdU_i[nSpecies+nDim])*a_i + rho_i*h_i*daL[nSpecies+nDim]); - Jacobian_i[nSpecies+nDim][nSpecies+nDim+1] += mF * (dPdU_i[nSpecies+nDim+1]*a_i + rho_i*h_i*daL[nSpecies+nDim+1]); - for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[nSpecies+nDim+1][jVar] += mF * FcL[nSpecies+nDim+1]/a_i * daL[jVar]; - } - Jacobian_i[nSpecies+nDim+1][nSpecies+nDim+1] += mF * a_i; - } - - /*--- Calculate derivatives of the split pressure flux ---*/ - if ( (mF >= 0) || ((mF < 0)&&(fabs(mF) <= 1.0)) ) { - if (fabs(mL) <= 1.0) { - - /*--- Mach number ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dmLP[iSpecies] = 0.5*(mL+1.0) * (-ProjVel_i/(rho_i*a_i) - ProjVel_i*daL[iSpecies]/(a_i*a_i)); - for (unsigned short iDim = 0; iDim < nDim; iDim++) - dmLP[nSpecies+iDim] = 0.5*(mL+1.0) * (-ProjVel_i/(a_i*a_i) * daL[nSpecies+iDim] + UnitNormal[iDim]/(rho_i*a_i)); - dmLP[nSpecies+nDim] = 0.5*(mL+1.0) * (-ProjVel_i/(a_i*a_i) * daL[nSpecies+nDim]); - dmLP[nSpecies+nDim+1] = 0.5*(mL+1.0) * (-ProjVel_i/(a_i*a_i) * daL[nSpecies+nDim+1]); - - /*--- Pressure ---*/ - for(unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dpLP[iSpecies] = 0.25*(mL+1.0) * (dPdU_i[iSpecies]*(mL+1.0)*(2.0-mL) - + P_i*(-ProjVel_i/(rho_i*a_i) - -ProjVel_i*daL[iSpecies]/(a_i*a_i))*(3.0-3.0*mL)); - for (unsigned short iDim = 0; iDim < nDim; iDim++) - dpLP[nSpecies+iDim] = 0.25*(mL+1.0) * (-u_i[iDim]*dPdU_i[nSpecies+nDim]*(mL+1.0)*(2.0-mL) - + P_i*( -ProjVel_i/(a_i*a_i) * daL[nSpecies+iDim] - + UnitNormal[iDim]/(rho_i*a_i))*(3.0-3.0*mL)); - dpLP[nSpecies+nDim] = 0.25*(mL+1.0) * (dPdU_i[nSpecies+nDim]*(mL+1.0)*(2.0-mL) - + P_i*(-ProjVel_i/(a_i*a_i) * daL[nSpecies+nDim])*(3.0-3.0*mL)); - dpLP[nSpecies+nDim+1] = 0.25*(mL+1.0) * (dPdU_i[nSpecies+nDim+1]*(mL+1.0)*(2.0-mL) - + P_i*(-ProjVel_i/(a_i*a_i) * daL[nSpecies+nDim+1])*(3.0-3.0*mL)); - } else { - - /*--- Mach number ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dmLP[iSpecies] = -ProjVel_i/(rho_i*a_i) - ProjVel_i*daL[iSpecies]/(a_i*a_i); - for (unsigned short iDim = 0; iDim < nDim; iDim++) - dmLP[nSpecies+iDim] = -ProjVel_i/(a_i*a_i) * daL[nSpecies+iDim] + UnitNormal[iDim]/(rho_i*a_i); - dmLP[nSpecies+nDim] = -ProjVel_i/(a_i*a_i) * daL[nSpecies+nDim]; - dmLP[nSpecies+nDim+1] = -ProjVel_i/(a_i*a_i) * daL[nSpecies+nDim+1]; - - /*--- Pressure ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dpLP[iSpecies] = dPdU_i[iSpecies]; - for (unsigned short iDim = 0; iDim < nDim; iDim++) - dpLP[nSpecies+iDim] = (-u_i[iDim]*dPdU_i[nSpecies+nDim]); - dpLP[nSpecies+nDim] = dPdU_i[nSpecies+nDim]; - dpLP[nSpecies+nDim+1] = dPdU_i[nSpecies+nDim+1]; - } - - /*--- dM contribution ---*/ - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[iVar][jVar] += dmLP[jVar]*FcLR[iVar]; - } - } - - /*--- Jacobian contribution: dP terms ---*/ - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - Jacobian_i[nSpecies+iDim][iVar] += dpLP[iVar]*UnitNormal[iDim]; - } - } - } - - /*--- Right state Jacobian ---*/ - if (mF < 0) { - - /*--- Jacobian contribution: dFc terms ---*/ - for (auto iVar = 0u; iVar < nSpecies+nDim; iVar++) { - for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_j[iVar][jVar] += mF * FcR[iVar]/a_j * daR[jVar]; - } - Jacobian_j[iVar][iVar] += mF * a_j; - } - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - Jacobian_j[nSpecies+nDim][iSpecies] += mF * (dPdU_j[iSpecies]*a_j + rho_j*h_j*daR[iSpecies]); - } - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - Jacobian_j[nSpecies+nDim][nSpecies+iDim] += mF * (-dPdU_j[nSpecies+nDim]*u_j[iDim]*a_j + rho_j*h_j*daR[nSpecies+iDim]); - } - Jacobian_j[nSpecies+nDim][nSpecies+nDim] += mF * ((1.0+dPdU_j[nSpecies+nDim])*a_j + rho_j*h_j*daR[nSpecies+nDim]); - Jacobian_j[nSpecies+nDim][nSpecies+nDim+1] += mF * (dPdU_j[nSpecies+nDim+1]*a_j + rho_j*h_j*daR[nSpecies+nDim+1]); - for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_j[nSpecies+nDim+1][jVar] += mF * FcR[nSpecies+nDim+1]/a_j * daR[jVar]; - } - Jacobian_j[nSpecies+nDim+1][nSpecies+nDim+1] += mF * a_j; - } - - /*--- Calculate derivatives of the split pressure flux ---*/ - if ( (mF < 0) || ((mF >= 0)&&(fabs(mF) <= 1.0)) ) { - if (fabs(mR) <= 1.0) { - - /*--- Mach ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dmRM[iSpecies] = -0.5*(mR-1.0) * (-ProjVel_j/(rho_j*a_j) - ProjVel_j*daR[iSpecies]/(a_j*a_j)); - for (unsigned short iDim = 0; iDim < nDim; iDim++) - dmRM[nSpecies+iDim] = -0.5*(mR-1.0) * (-ProjVel_j/(a_j*a_j) * daR[nSpecies+iDim] + UnitNormal[iDim]/(rho_j*a_j)); - dmRM[nSpecies+nDim] = -0.5*(mR-1.0) * (-ProjVel_j/(a_j*a_j) * daR[nSpecies+nDim]); - dmRM[nSpecies+nDim+1] = -0.5*(mR-1.0) * (-ProjVel_j/(a_j*a_j) * daR[nSpecies+nDim+1]); - - /*--- Pressure ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dpRM[iSpecies] = 0.25*(mR-1.0) * (dPdU_j[iSpecies]*(mR-1.0)*(2.0+mR) - + P_j*(-ProjVel_j/(rho_j*a_j) - -ProjVel_j*daR[iSpecies]/(a_j*a_j))*(3.0+3.0*mR)); - for (unsigned short iDim = 0; iDim < nDim; iDim++) - dpRM[nSpecies+iDim] = 0.25*(mR-1.0) * ((-u_j[iDim]*dPdU_j[nSpecies+nDim])*(mR-1.0)*(2.0+mR) - + P_j*( -ProjVel_j/(a_j*a_j) * daR[nSpecies+iDim] - + UnitNormal[iDim]/(rho_j*a_j))*(3.0+3.0*mR)); - dpRM[nSpecies+nDim] = 0.25*(mR-1.0) * (dPdU_j[nSpecies+nDim]*(mR-1.0)*(2.0+mR) - + P_j*(-ProjVel_j/(a_j*a_j)*daR[nSpecies+nDim])*(3.0+3.0*mR)); - dpRM[nSpecies+nDim+1] = 0.25*(mR-1.0) * (dPdU_j[nSpecies+nDim+1]*(mR-1.0)*(2.0+mR) - + P_j*(-ProjVel_j/(a_j*a_j) * daR[nSpecies+nDim+1])*(3.0+3.0*mR)); - - } else { - - /*--- Mach ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dmRM[iSpecies] = -ProjVel_j/(rho_j*a_j) - ProjVel_j*daR[iSpecies]/(a_j*a_j); - for (unsigned short iDim = 0; iDim < nDim; iDim++) - dmRM[nSpecies+iDim] = -ProjVel_j/(a_j*a_j) * daR[nSpecies+iDim] + UnitNormal[iDim]/(rho_j*a_j); - dmRM[nSpecies+nDim] = -ProjVel_j/(a_j*a_j) * daR[nSpecies+nDim]; - dmRM[nSpecies+nDim+1] = -ProjVel_j/(a_j*a_j) * daR[nSpecies+nDim+1]; - - /*--- Pressure ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dpRM[iSpecies] = dPdU_j[iSpecies]; - for (unsigned short iDim = 0; iDim < nDim; iDim++) - dpRM[nSpecies+iDim] = -u_j[iDim]*dPdU_j[nSpecies+nDim]; - dpRM[nSpecies+nDim] = dPdU_j[nSpecies+nDim]; - dpRM[nSpecies+nDim+1] = dPdU_j[nSpecies+nDim+1]; - } - - /*--- Jacobian contribution: dM terms ---*/ - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_j[iVar][jVar] += dmRM[jVar] * FcLR[iVar]; - } - } - - /*--- Jacobian contribution: dP terms ---*/ - for (unsigned short iDim = 0; iDim < nDim; iDim++) { - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - Jacobian_j[nSpecies+iDim][iVar] += dpRM[iVar]*UnitNormal[iDim]; - } - } - } - - /*--- Integrate over dual-face area ---*/ - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[iVar][jVar] *= Area; - Jacobian_j[iVar][jVar] *= Area; - } - } - } - return ResidualType<>(Flux, Jacobian_i, Jacobian_j); -} diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp new file mode 100644 index 00000000000..0d0d6fd0c9b --- /dev/null +++ b/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp @@ -0,0 +1,638 @@ +/*! + * \file ausm_slau.cpp + * \brief Implementations of the AUSM-family of schemes in NEMO. + * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz + * \version 7.5.0 "Blackbird" + * + * SU2 Project Website: https://su2code.github.io + * + * The SU2 Project is maintained by the SU2 Foundation + * (http://su2foundation.org) + * + * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * + * SU2 is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * SU2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with SU2. If not, see . + */ + +#include "../../../../include/numerics/NEMO/convection/ausm_slau.hpp" +#include "../../../../../Common/include/toolboxes/geometry_toolbox.hpp" + +CUpwAUSM_SLAU_Base_NEMO::CUpwAUSM_SLAU_Base_NEMO(unsigned short val_nDim, unsigned short val_nVar, + unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, + const CConfig* config) : + CNEMONumerics(val_nDim, val_nVar, val_nPrimVar, + val_nPrimVarGrad, config) { + + if (config->GetDynamic_Grid() && (SU2_MPI::GetRank() == MASTER_NODE)) + cout << "WARNING: Grid velocities are NOT yet considered in AUSM-type schemes." << endl; + + implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); + + rhos_i = new su2double [nSpecies]; + rhos_j = new su2double [nSpecies]; + + Fc_L = new su2double [nVar]; + Fc_R = new su2double [nVar]; + dM_LP = new su2double [nVar]; + dM_RM = new su2double [nVar]; + dP_LP = new su2double [nVar]; + dP_RM = new su2double [nVar]; + da_L = new su2double [nVar]; + da_R = new su2double [nVar]; + + Flux = new su2double [nVar]; + Jacobian_i = new su2double* [nVar]; + Jacobian_j = new su2double* [nVar]; + for (unsigned short iVar = 0; iVar < nVar; iVar++) { + Jacobian_i[iVar] = new su2double [nVar]; + Jacobian_j[iVar] = new su2double [nVar]; + } + +} + +CUpwAUSM_SLAU_Base_NEMO::~CUpwAUSM_SLAU_Base_NEMO(void) { + + delete [] rhos_i; + delete [] rhos_j; + + delete [] Fc_L; + delete [] Fc_R; + delete [] dM_LP; + delete [] dM_RM; + delete [] dP_LP; + delete [] dP_RM; + delete [] da_L; + delete [] da_R; + + delete [] Flux; + for (unsigned short iVar = 0; iVar < nVar; iVar++) { + delete [] Jacobian_i[iVar]; + delete [] Jacobian_j[iVar]; + } + delete [] Jacobian_i; + delete [] Jacobian_j; + +} + +void CUpwAUSM_SLAU_Base_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, + su2double &interface_mach, + su2double *interface_soundspeed) { + + /*--- For schemes that fit in the general form of AUSM+up and SLAU schemes you can inherit from this class + and implement only the specifics, which should be the face mass flux (per unit area) and the face pressure. + For implicit solution methods this class can either approximate the flux Jacobians (using those of the Roe + scheme) or compute accurate ones. This is done either numerically, differentiating "mdot" and "pressure" + using 1st order finite differences, or analytically if you use this function to set the values of + "dmdot_dVi/j", "dpres_dVi/j" and set "HasAnalyticalDerivatives" to true in the ctor of the derived class. + For accurate numerical differentiation "mdot" and "pressure" can be functions of, at most, the velocities, + pressures, densities, and enthalpies at nodes i/j. This is also the order expected for the partial derivatives + of "mdot" and "pressure" in "d?_dVi/j" (in case they are known analytically, see the AUSM+up implementation). + ---*/ + +} + +void CUpwAUSM_SLAU_Base_NEMO::ComputeJacobian(su2double **val_Jacobian_i, su2double **val_Jacobian_j) { + + const auto& Ms = fluidmodel->GetSpeciesMolarMass(); + const auto& Cvtr = fluidmodel->GetSpeciesCvTraRot(); + const su2double Ru = 1000.0*UNIVERSAL_GAS_CONSTANT; + rhoCvtr_i = V_i[RHOCVTR_INDEX]; + rhoCvtr_j = V_j[RHOCVTR_INDEX]; + + /*--- Initialize the Jacobians ---*/ + for (unsigned short iVar = 0; iVar < nVar; iVar++) { + for (unsigned short jVar = 0; jVar < nVar; jVar++) { + Jacobian_i[iVar][jVar] = 0.0; + Jacobian_j[iVar][jVar] = 0.0; + } + } + + /*--- Determine proper flux and soundspeed ---*/ + if (M_F >= 0.0) Fc_LR = Fc_L; + else Fc_LR = Fc_R; + + su2double A_LR = 0; + if (M_F >= 0.0) A_LR = A_F[0]; + else A_LR = A_F[1]; + + /*--- Sound speed derivatives: Species density ---*/ + + // Electrons only + for (unsigned short iSpecies = 0; iSpecies < nEl; iSpecies++) { + da_L[iSpecies] = 1.0/(2.0*SoundSpeed_i*Density_i) * (1+dPdU_i[nSpecies+nDim])*(dPdU_i[iSpecies] - Pressure_i/Density_i); + da_R[iSpecies] = 1.0/(2.0*SoundSpeed_j*Density_j) * (1+dPdU_j[nSpecies+nDim])*(dPdU_j[iSpecies] - Pressure_j/Density_j); + } + + // Heavy species + for (unsigned short iSpecies = nEl; iSpecies < nSpecies; iSpecies++) { + da_L[iSpecies] = 1.0/(2.0*SoundSpeed_i) * (1/rhoCvtr_i*(Ru/Ms[iSpecies] - Cvtr[iSpecies]*dPdU_i[nSpecies+nDim])*Pressure_i/Density_i + + 1.0/Density_i*(1.0+dPdU_i[nSpecies+nDim])*(dPdU_i[iSpecies] - Pressure_i/Density_i)); + da_R[iSpecies] = 1.0/(2.0*SoundSpeed_j) * (1/rhoCvtr_j*(Ru/Ms[iSpecies] - Cvtr[iSpecies]*dPdU_j[nSpecies+nDim])*Pressure_j/Density_j + + 1.0/Density_j*(1.0+dPdU_j[nSpecies+nDim])*(dPdU_j[iSpecies] - Pressure_j/Density_j)); + } + + /*--- Sound speed derivatives: Momentum ---*/ + for (unsigned short iDim = 0; iDim < nDim; iDim++) { + da_L[nSpecies+iDim] = -1.0/(2.0*Density_i*SoundSpeed_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim])*Velocity_i[iDim]; + da_R[nSpecies+iDim] = -1.0/(2.0*Density_j*SoundSpeed_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim])*Velocity_j[iDim]; + } + + /*--- Sound speed derivatives: Energy ---*/ + da_L[nSpecies+nDim] = 1.0/(2.0*Density_i*SoundSpeed_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim]); + da_R[nSpecies+nDim] = 1.0/(2.0*Density_j*SoundSpeed_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim]); + + /*--- Sound speed derivatives: Vib-el energy ---*/ + da_L[nSpecies+nDim+1] = 1.0/(2.0*Density_i*SoundSpeed_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim+1]); + da_R[nSpecies+nDim+1] = 1.0/(2.0*Density_j*SoundSpeed_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim+1]); + + /*--- Left state Jacobian ---*/ + if (M_F >= 0) { + + /*--- Jacobian contribution: dFc terms ---*/ + for (auto iVar = 0u; iVar < nSpecies+nDim; iVar++) { + for (unsigned short jVar = 0; jVar < nVar; jVar++) { + Jacobian_i[iVar][jVar] += M_F * Fc_L[iVar] * da_L[jVar]; + } + Jacobian_i[iVar][iVar] += M_F * SoundSpeed_i; + } + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { + Jacobian_i[nSpecies+nDim][iSpecies] += M_F * (dPdU_i[iSpecies]*SoundSpeed_i + Density_i*Enthalpy_i*da_L[iSpecies]); + } + for (unsigned short iDim = 0; iDim < nDim; iDim++) { + Jacobian_i[nSpecies+nDim][nSpecies+iDim] += M_F * (-dPdU_i[nSpecies+nDim]*Velocity_i[iDim]*SoundSpeed_i + Density_i*Enthalpy_i*da_L[nSpecies+iDim]); + } + Jacobian_i[nSpecies+nDim][nSpecies+nDim] += M_F * ((1.0+dPdU_i[nSpecies+nDim])*SoundSpeed_i + Density_i*Enthalpy_i*da_L[nSpecies+nDim]); + Jacobian_i[nSpecies+nDim][nSpecies+nDim+1] += M_F * (dPdU_i[nSpecies+nDim+1]*SoundSpeed_i + Density_i*Enthalpy_i*da_L[nSpecies+nDim+1]); + for (unsigned short jVar = 0; jVar < nVar; jVar++) { + Jacobian_i[nSpecies+nDim+1][jVar] += M_F * Fc_L[nSpecies+nDim+1] * da_L[jVar]; + } + Jacobian_i[nSpecies+nDim+1][nSpecies+nDim+1] += M_F * SoundSpeed_i; + } + + /*--- Calculate derivatives of the split pressure flux ---*/ + if ((M_F >= 0) || ((M_F < 0) && (fabs(M_F) <= 1.0))) { + + if (fabs(M_L) <= 1.0) { + + /*--- Mach number ---*/ + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) + dM_LP[iSpecies] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(Density_i*SoundSpeed_i) - ProjVelocity_i*da_L[iSpecies]/(SoundSpeed_i*SoundSpeed_i)); + for (unsigned short iDim = 0; iDim < nDim; iDim++) + dM_LP[nSpecies+iDim] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+iDim] + UnitNormal[iDim]/(Density_i*SoundSpeed_i)); + dM_LP[nSpecies+nDim] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim]); + dM_LP[nSpecies+nDim+1] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim+1]); + + /*--- Pressure ---*/ + for(unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) + dP_LP[iSpecies] = 0.25*(M_L+1.0) * (dPdU_i[iSpecies]*(M_L+1.0)*(2.0-M_L) + + Pressure_i*(-ProjVelocity_i/(Density_i*SoundSpeed_i) + - ProjVelocity_i*da_L[iSpecies]/(SoundSpeed_i*SoundSpeed_i))*(3.0-3.0*M_L)); + for (unsigned short iDim = 0; iDim < nDim; iDim++) + dP_LP[nSpecies+iDim] = 0.25*(M_L+1.0) * (-Velocity_i[iDim]*dPdU_i[nSpecies+nDim]*(M_L+1.0)*(2.0-M_L) + + Pressure_i*( -ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+iDim] + + UnitNormal[iDim]/(Density_i*SoundSpeed_i))*(3.0-3.0*M_L)); + dP_LP[nSpecies+nDim] = 0.25*(M_L+1.0) * (dPdU_i[nSpecies+nDim]*(M_L+1.0)*(2.0-M_L) + + Pressure_i*(-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim])*(3.0-3.0*M_L)); + dP_LP[nSpecies+nDim+1] = 0.25*(M_L+1.0) * (dPdU_i[nSpecies+nDim+1]*(M_L+1.0)*(2.0-M_L) + + Pressure_i*(-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim+1])*(3.0-3.0*M_L)); + } else { + + /*--- Mach number ---*/ + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) + dM_LP[iSpecies] = -ProjVelocity_i/(Density_i*SoundSpeed_i) - ProjVelocity_i*da_L[iSpecies]/(SoundSpeed_i*SoundSpeed_i); + for (unsigned short iDim = 0; iDim < nDim; iDim++) + dM_LP[nSpecies+iDim] = -ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+iDim] + UnitNormal[iDim]/(Density_i*SoundSpeed_i); + dM_LP[nSpecies+nDim] = -ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim]; + dM_LP[nSpecies+nDim+1] = -ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim+1]; + + /*--- Pressure ---*/ + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) + dP_LP[iSpecies] = dPdU_i[iSpecies]; + for (unsigned short iDim = 0; iDim < nDim; iDim++) + dP_LP[nSpecies+iDim] = (-Velocity_i[iDim]*dPdU_i[nSpecies+nDim]); + dP_LP[nSpecies+nDim] = dPdU_i[nSpecies+nDim]; + dP_LP[nSpecies+nDim+1] = dPdU_i[nSpecies+nDim+1]; + } + + /*--- dM contribution ---*/ + for (unsigned short iVar = 0; iVar < nVar; iVar++) { + for (unsigned short jVar = 0; jVar < nVar; jVar++) { + Jacobian_i[iVar][jVar] += dM_LP[jVar]*Fc_LR[iVar]*A_LR; + } + } + + /*--- Jacobian contribution: dP terms ---*/ + for (unsigned short iDim = 0; iDim < nDim; iDim++) { + for (unsigned short iVar = 0; iVar < nVar; iVar++) { + Jacobian_i[nSpecies+iDim][iVar] += dP_LP[iVar]*UnitNormal[iDim]; + } + } + } + + /*--- Right state Jacobian ---*/ + if (M_F < 0) { + + /*--- Jacobian contribution: dFc terms ---*/ + for (auto iVar = 0u; iVar < nSpecies+nDim; iVar++) { + for (unsigned short jVar = 0; jVar < nVar; jVar++) { + Jacobian_j[iVar][jVar] += M_F * Fc_R[iVar] * da_R[jVar]; + } + Jacobian_j[iVar][iVar] += M_F * SoundSpeed_j; + } + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { + Jacobian_j[nSpecies+nDim][iSpecies] += M_F * (dPdU_j[iSpecies]*SoundSpeed_j + Density_j*Enthalpy_j*da_R[iSpecies]); + } + for (unsigned short iDim = 0; iDim < nDim; iDim++) { + Jacobian_j[nSpecies+nDim][nSpecies+iDim] += M_F * (-dPdU_j[nSpecies+nDim]*Velocity_j[iDim]*SoundSpeed_j + Density_j*Enthalpy_j*da_R[nSpecies+iDim]); + } + Jacobian_j[nSpecies+nDim][nSpecies+nDim] += M_F * ((1.0+dPdU_j[nSpecies+nDim])*SoundSpeed_j + Density_j*Enthalpy_j*da_R[nSpecies+nDim]); + Jacobian_j[nSpecies+nDim][nSpecies+nDim+1] += M_F * (dPdU_j[nSpecies+nDim+1]*SoundSpeed_j + Density_j*Enthalpy_j*da_R[nSpecies+nDim+1]); + for (unsigned short jVar = 0; jVar < nVar; jVar++) { + Jacobian_j[nSpecies+nDim+1][jVar] += M_F * Fc_R[nSpecies+nDim+1] * da_R[jVar]; + } + Jacobian_j[nSpecies+nDim+1][nSpecies+nDim+1] += M_F * SoundSpeed_j; + } + + /*--- Calculate derivatives of the split pressure flux ---*/ + if ((M_F < 0) || ((M_F >= 0) && (fabs(M_F) <= 1.0))) { + if (fabs(M_R) <= 1.0) { + + /*--- Mach ---*/ + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) + dM_RM[iSpecies] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(Density_j*SoundSpeed_j) - ProjVelocity_j*da_R[iSpecies]/(SoundSpeed_j*SoundSpeed_j)); + for (unsigned short iDim = 0; iDim < nDim; iDim++) + dM_RM[nSpecies+iDim] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+iDim] + UnitNormal[iDim]/(Density_j*SoundSpeed_j)); + dM_RM[nSpecies+nDim] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+nDim]); + dM_RM[nSpecies+nDim+1] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+nDim+1]); + + /*--- Pressure ---*/ + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) + dP_RM[iSpecies] = 0.25*(M_R-1.0) * (dPdU_j[iSpecies]*(M_R-1.0)*(2.0+M_R) + + Pressure_j*(-ProjVelocity_j/(Density_j*SoundSpeed_j) + -ProjVelocity_j*da_R[iSpecies]/(SoundSpeed_j*SoundSpeed_j))*(3.0+3.0*M_R)); + for (unsigned short iDim = 0; iDim < nDim; iDim++) + dP_RM[nSpecies+iDim] = 0.25*(M_R-1.0) * ((-Velocity_j[iDim]*dPdU_j[nSpecies+nDim])*(M_R-1.0)*(2.0+M_R) + + Pressure_j*( -ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+iDim] + + UnitNormal[iDim]/(Density_j*SoundSpeed_j))*(3.0+3.0*M_R)); + dP_RM[nSpecies+nDim] = 0.25*(M_R-1.0) * (dPdU_j[nSpecies+nDim]*(M_R-1.0)*(2.0+M_R) + + Pressure_j*(-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j)*da_R[nSpecies+nDim])*(3.0+3.0*M_R)); + dP_RM[nSpecies+nDim+1] = 0.25*(M_R-1.0) * (dPdU_j[nSpecies+nDim+1]*(M_R-1.0)*(2.0+M_R) + + Pressure_j*(-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j)*da_R[nSpecies+nDim+1])*(3.0+3.0*M_R)); + + } else { + + /*--- Mach ---*/ + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) + dM_RM[iSpecies] = -ProjVelocity_j/(Density_j*SoundSpeed_j) - ProjVelocity_j*da_R[iSpecies]/(SoundSpeed_j*SoundSpeed_j); + for (unsigned short iDim = 0; iDim < nDim; iDim++) + dM_RM[nSpecies+iDim] = -ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+iDim] + UnitNormal[iDim]/(Density_j*SoundSpeed_j); + dM_RM[nSpecies+nDim] = -ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+nDim]; + dM_RM[nSpecies+nDim+1] = -ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+nDim+1]; + + /*--- Pressure ---*/ + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) + dP_RM[iSpecies] = dPdU_j[iSpecies]; + for (unsigned short iDim = 0; iDim < nDim; iDim++) + dP_RM[nSpecies+iDim] = -Velocity_j[iDim]*dPdU_j[nSpecies+nDim]; + dP_RM[nSpecies+nDim] = dPdU_j[nSpecies+nDim]; + dP_RM[nSpecies+nDim+1] = dPdU_j[nSpecies+nDim+1]; + } + + /*--- Jacobian contribution: dM terms ---*/ + for (unsigned short iVar = 0; iVar < nVar; iVar++) { + for (unsigned short jVar = 0; jVar < nVar; jVar++) { + Jacobian_j[iVar][jVar] += dM_RM[jVar] * Fc_LR[iVar]*A_LR; + } + } + + /*--- Jacobian contribution: dP terms ---*/ + for (unsigned short iDim = 0; iDim < nDim; iDim++) { + for (unsigned short iVar = 0; iVar < nVar; iVar++) { + Jacobian_j[nSpecies+iDim][iVar] += dP_RM[iVar]*UnitNormal[iDim]; + } + } + } + + /*--- Integrate over dual-face area ---*/ + for (unsigned short iVar = 0; iVar < nVar; iVar++) { + for (unsigned short jVar = 0; jVar < nVar; jVar++) { + Jacobian_i[iVar][jVar] *= Area; + Jacobian_j[iVar][jVar] *= Area; + } + } +} + +CNumerics::ResidualType<> CUpwAUSM_SLAU_Base_NEMO::ComputeResidual(const CConfig* config) { + + /*--- Compute geometric quantities ---*/ + Area = GeometryToolbox::Norm(nDim, Normal); + + for (unsigned short iDim = 0; iDim < nDim; iDim++) + UnitNormal[iDim] = Normal[iDim]/Area; + + /*--- Pull stored primitive variables ---*/ + // Primitives: [rho1,...,rhoNs, T, Tve, u, v, w, P, rho, h, a, c] + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { + rhos_i[iSpecies] = V_i[RHOS_INDEX+iSpecies]; + rhos_j[iSpecies] = V_j[RHOS_INDEX+iSpecies]; + } + for (unsigned short iDim = 0; iDim < nDim; iDim++) { + Velocity_i[iDim] = V_i[VEL_INDEX+iDim]; + Velocity_j[iDim] = V_j[VEL_INDEX+iDim]; + } + + Pressure_i = V_i[P_INDEX]; + Enthalpy_i = V_i[H_INDEX]; + Density_i = V_i[RHO_INDEX]; + SoundSpeed_i = V_i[A_INDEX]; + + Pressure_j = V_j[P_INDEX]; + Enthalpy_j = V_j[H_INDEX]; + Density_j = V_j[RHO_INDEX]; + SoundSpeed_j = V_j[A_INDEX]; + + e_ve_i = 0; e_ve_j = 0; + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { + e_ve_i += (V_i[RHOS_INDEX+iSpecies]*eve_i[iSpecies])/Density_i; + e_ve_j += (V_j[RHOS_INDEX+iSpecies]*eve_j[iSpecies])/Density_j; + } + + /*--- Projected velocities ---*/ + ProjVelocity_i = GeometryToolbox::DotProduct(nDim, Velocity_i, UnitNormal); + ProjVelocity_j = GeometryToolbox::DotProduct(nDim, Velocity_j, UnitNormal); + + /*--- Compute mass and pressure fluxes of specific scheme ---*/ + ComputeInterfaceQuantities(config, PressureFlux, M_F, A_F); + + su2double MassFlux_i = M_F*A_F[0]; + su2double MassFlux_j = M_F*A_F[1]; + + su2double DissFlux_i = fabs(MassFlux_i); + su2double DissFlux_j = fabs(MassFlux_j); + + /*--- Assign left & right convective flux vectors ---*/ + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { + Fc_L[iSpecies] = rhos_i[iSpecies]; + Fc_R[iSpecies] = rhos_j[iSpecies]; + } + for (unsigned short iDim = 0; iDim < nDim; iDim++) { + Fc_L[nSpecies+iDim] = Density_i*Velocity_i[iDim]; + Fc_R[nSpecies+iDim] = Density_j*Velocity_j[iDim]; + } + Fc_L[nSpecies+nDim] = Density_i*Enthalpy_i; + Fc_R[nSpecies+nDim] = Density_j*Enthalpy_j; + Fc_L[nSpecies+nDim+1] = Density_i*e_ve_i; + Fc_R[nSpecies+nDim+1] = Density_j*e_ve_j; + + /*--- Compute numerical flux ---*/ + for (unsigned short iVar = 0; iVar < nVar; iVar++) + Flux[iVar] = 0.5*((MassFlux_i+DissFlux_i)*Fc_L[iVar] + + (MassFlux_j-DissFlux_j)*Fc_R[iVar]) * Area; + + for (unsigned short iDim = 0; iDim < nDim; iDim++) + Flux[nSpecies+iDim] += PressureFlux[iDim] * Area; + + + /*--- If required, compute Jacobians (approximated using AUSM) ---*/ + if (implicit) ComputeJacobian(Jacobian_i, Jacobian_j); + + return ResidualType<>(Flux, Jacobian_i, Jacobian_j); + +} + +CUpwAUSM_NEMO::CUpwAUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, + unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, + const CConfig* config) : + CUpwAUSM_SLAU_Base_NEMO(val_nDim, val_nVar, val_nPrimVar, + val_nPrimVarGrad, config) { + +} + +void CUpwAUSM_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, + su2double &interface_mach, + su2double *interface_soundspeed) { + + /*--- Calculate L/R Mach numbers ---*/ + interface_soundspeed[0] = SoundSpeed_i; + interface_soundspeed[1] = SoundSpeed_j; + M_L = ProjVelocity_i/interface_soundspeed[0]; + M_R = ProjVelocity_j/interface_soundspeed[1]; + + /*--- Calculate split numerical fluxes ---*/ + su2double M_LP, M_RM, P_LP, P_RM; + + if (fabs(M_L) <= 1.0) { + M_LP = 0.25*(M_L+1.0)*(M_L+1.0); + P_LP = 0.25*Pressure_i*(M_L+1.0)*(M_L+1.0)*(2.0-M_L); + } else { + M_LP = 0.5*(M_L+fabs(M_L)); + P_LP = 0.5*Pressure_i*(M_L+fabs(M_L))/M_L; + } + + if (fabs(M_R) <= 1.0) { + M_RM = -0.25*(M_R-1.0)*(M_R-1.0); + P_RM = 0.25*Pressure_j*(M_R-1.0)*(M_R-1.0)*(2.0+M_R); + } else { + M_RM = 0.5*(M_R-fabs(M_R)); + P_RM = 0.5*Pressure_j*(M_R-fabs(M_R))/M_R; + } + + // M_Lnferface = M(1/2) = (M_LP + M_RM) + interface_mach = (M_LP + M_RM); + + // Split pressure P(1/2) + // Note: only a single pressure flux in AUSM + for (auto iDim = 0ul; iDim < nDim; iDim++) + pressure[iDim] = (P_LP + P_RM) * UnitNormal[iDim]; + +} + +CUpwAUSMPLUSUP2_NEMO::CUpwAUSMPLUSUP2_NEMO(unsigned short val_nDim, unsigned short val_nVar, + unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, + const CConfig* config) : + CUpwAUSM_SLAU_Base_NEMO(val_nDim, val_nVar, val_nPrimVar, + val_nPrimVarGrad, config) { + + Minf = config->GetMach(); + Kp = 0.25; + sigma = 1.0; + + if (Minf < EPS) SU2_MPI::Error("AUSM+-Up2 requires a reference Mach number (\"MACH_NUMBER\") greater than 0.", CURRENT_FUNCTION); + +} + +void CUpwAUSMPLUSUP2_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, + su2double &interface_mach, + su2double *interface_soundspeed) { + + const su2double sq_veli = GeometryToolbox::SquaredNorm(nDim, Velocity_i); + const su2double sq_velj = GeometryToolbox::SquaredNorm(nDim, Velocity_j); + + /*--- Compute C* ---*/ + const su2double CstarL = sqrt(2.0*(Gamma_i-1.0)/(Gamma_i+1.0)*Enthalpy_i); + const su2double CstarR = sqrt(2.0*(Gamma_j-1.0)/(Gamma_j+1.0)*Enthalpy_j); + + /*--- Compute C^ ---*/ + const su2double ChatL = CstarL*CstarL/max(CstarL, ProjVelocity_i); + const su2double ChatR = CstarR*CstarR/max(CstarR,-ProjVelocity_j); + + /*--- Interface speed of sound ---*/ + const su2double aF = min(ChatL,ChatR); + interface_soundspeed[0] = interface_soundspeed[1] = aF; + + const su2double M_L = ProjVelocity_i/aF; + const su2double M_R = ProjVelocity_j/aF; + + const su2double rhoF = 0.5*(Density_i+Density_j); + const su2double MFsq = 0.5*(M_L*M_L+M_R*M_R); + + const su2double param1 = max(MFsq, Minf*Minf); + const su2double Mrefsq = (min(1.0, param1)); + const su2double fa = 2.0*sqrt(Mrefsq)-Mrefsq; + + const su2double alpha = 3.0/16.0*(-4.0+5.0*fa*fa); + const su2double beta = 1.0/8.0; + + /*--- Pressure diffusion term ---*/ + const su2double Mp = -(Kp/fa)*max((1.0-sigma*MFsq),0.0)*(Pressure_j-Pressure_i)/(rhoF*aF*aF); + + su2double M_LP, P_LP, M_RM, P_RM; + + if (fabs(M_L) <= 1.0) { + M_LP = 0.25*(M_L+1.0)*(M_L+1.0)+beta*(M_L*M_L-1.0)*(M_L*M_L-1.0); + P_LP = (0.25*(M_L+1.0)*(M_L+1.0)*(2.0-M_L)+alpha*M_L*(M_L*M_L-1.0)*(M_L*M_L-1.0)); + } else { + M_LP = 0.5*(M_L+fabs(M_L)); + P_LP = 0.5*(M_L+fabs(M_L))/M_L; + } + + if (fabs(M_R) <= 1.0) { + M_RM = -0.25*(M_R-1.0)*(M_R-1.0)-beta*(M_R*M_R-1.0)*(M_R*M_R-1.0); + P_RM = (0.25*(M_R-1.0)*(M_R-1.0)*(2.0+M_R)-alpha*M_R*(M_R*M_R-1.0)*(M_R*M_R-1.0)); + } else { + M_RM = 0.5*(M_R-fabs(M_R)); + P_RM = 0.5*(M_R-fabs(M_R))/M_R; + } + + /*--- Interface Mach number ---*/ + interface_mach = (M_LP + M_RM + Mp); + + /*--- Modified pressure flux ---*/ + const su2double pFi = sqrt(0.5*(sq_veli+sq_velj))*(P_LP+P_RM-1.0)*0.5*(Density_j+Density_i)*aF; + + for (auto iDim = 0ul; iDim < nDim; iDim++) { + pressure[iDim] = (0.5*(Pressure_j+Pressure_i)+0.5*(P_LP-P_RM)* + (Pressure_i-Pressure_j)+pFi)*UnitNormal[iDim]; + } +} + +CUpwAUSMPLUSM_NEMO::CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, + unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, + const CConfig* config) : + CUpwAUSM_SLAU_Base_NEMO(val_nDim, val_nVar, val_nPrimVar, + val_nPrimVarGrad, config) { + + Minf = config->GetMach(); + beta = 1.0/8.0; + + if (Minf < EPS) SU2_MPI::Error("AUSM+M requires a reference Mach number (\"MACH_NUMBER\") greater than 0.", CURRENT_FUNCTION); + +} + +void CUpwAUSMPLUSM_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, + su2double &interface_mach, + su2double *interface_soundspeed) { + + + const su2double sq_veli = GeometryToolbox::SquaredNorm(nDim, Velocity_i); + const su2double sq_velj = GeometryToolbox::SquaredNorm(nDim, Velocity_j); + + /*--- Calculate interface numerical gammas and speed of sound ---*/ + const su2double Enthalpy_norm = 0.5*(Enthalpy_i+Enthalpy_j); + const su2double Gamma_ij = 0.5*(Gamma_i+Gamma_j); + const su2double A_s = sqrt(2.0*Enthalpy_norm*(Gamma_ij-1.0)/(Gamma_ij+1.0)); + + su2double A_F; + if (0.5*(ProjVelocity_i+ProjVelocity_j) >= 0.0) A_F = A_s*A_s/max(fabs(ProjVelocity_i), A_s); + else A_F = A_s*A_s/max(fabs(ProjVelocity_j), A_s); + + /*--- Compute L/R Mach numbers ---*/ + interface_soundspeed[0] = interface_soundspeed[1] = A_F; + M_L = ProjVelocity_i/interface_soundspeed[0]; + M_R = ProjVelocity_j/interface_soundspeed[1]; + + /*--- Interface mach number w/ pressure diffusion term (M_p)---*/ + const su2double Density_F = 0.5*(Density_i+Density_j); + const su2double MF_sq = 0.5*(sq_veli+sq_velj)/(A_F*A_F); + + const su2double param1 = max(MF_sq, Minf*Minf); + const su2double Mrefsq = (min(1.0, param1)); + const su2double fa = 2.0*sqrt(Mrefsq)-Mrefsq; + + const su2double alpha = 3.0/16.0*(-4.0+5.0*fa*fa); + const su2double f = 0.5*(1-cos(PI_NUMBER*min(1.0, max(abs(M_L), abs(M_R))))); + + /*--- Pressure sensor terms ---*/ + const su2double h = min(Sensor_i, Sensor_j); + const su2double g = 0.5*(1+cos(PI_NUMBER*h)); + const su2double f0 = min(1.0, max(f, Minf*Minf)); + + /*--- Pressure diffusion term ---*/ + const su2double M_p = -0.5*(1.0-f)*(Pressure_j-Pressure_i)/(Density_F*A_F*A_F)*(1.0-g); + + /*--- Compute base split mach and pressure fluxes ---*/ + su2double M_LP, M_RM, P_LP, P_RM; + + if (fabs(M_L) <= 1.0) { + M_LP = 0.25*(M_L+1.0)*(M_L+1.0)+beta*(M_L*M_L-1.0)*(M_L*M_L-1.0); + P_LP = (0.25*(M_L+1.0)*(M_L+1.0)*(2.0-M_L)+alpha*M_L*(M_L*M_L-1.0)*(M_L*M_L-1.0)); + } else { + M_LP = 0.5*(M_L+fabs(M_L)); + P_LP = 0.5*(M_L+fabs(M_L))/M_L; + } + + if (fabs(M_R) <= 1.0) { + M_RM = -0.25*(M_R-1.0)*(M_R-1.0)-beta*(M_R*M_R-1.0)*(M_R*M_R-1.0); + P_RM = (0.25*(M_R-1.0)*(M_R-1.0)*(2.0+M_R)-alpha*M_R*(M_R*M_R-1.0)*(M_R*M_R-1.0)); + } else { + M_RM = 0.5*(M_R-fabs(M_R)); + P_RM = 0.5*(M_R-fabs(M_R))/M_R; + } + + interface_mach = M_LP + M_RM + M_p; + + /*--- Compute and add pressure sensor term to pressure flux ---*/ + const su2double pFi = f0*(P_LP+P_RM-1.0)*0.5*(Pressure_i+Pressure_j); + + /*--- Velocity diffusion term---*/ + su2double P_un[MAXNDIM] = {0.0}; + + for (auto iDim =0ul; iDim < nDim; iDim++){ + + su2double Vel_L = (Velocity_i[iDim]+ProjVelocity_i*UnitNormal[iDim]); + su2double Vel_R = (Velocity_j[iDim]-ProjVelocity_j*UnitNormal[iDim]); + + P_un[iDim] = -g*Gamma_ij*0.5*(Pressure_i+Pressure_j)/A_F* + P_LP*P_RM*(Vel_R-Vel_L); + } + + /*--- Pressure flux ---*/ + for (auto iDim = 0ul; iDim < nDim; iDim++) { + pressure[iDim] = (0.5*(Pressure_j+Pressure_i) + 0.5*(P_LP-P_RM) * + (Pressure_i-Pressure_j)+pFi)*UnitNormal[iDim] + + P_un[iDim]; + } + +} + diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp deleted file mode 100644 index da65605d733..00000000000 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmplusm.cpp +++ /dev/null @@ -1,232 +0,0 @@ -/*! - * \file ausmplusm.cpp - * \brief Implementations of the AUSM-family of schemes - AUSM+M. - * \author F. Morgado - * \version 7.5.0 "Blackbird" - * - * SU2 Project Website: https://su2code.github.io - * - * The SU2 Project is maintained by the SU2 Foundation - * (http://su2foundation.org) - * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) - * - * SU2 is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * SU2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with SU2. If not, see . - */ - -#include "../../../../include/numerics/NEMO/convection/ausmplusm.hpp" - -CUpwAUSMPLUSM_NEMO::CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, - unsigned short val_nPrimVarGrad, CConfig* config) - : CNEMONumerics(val_nDim, val_nVar, val_nPrimVar, val_nPrimVarGrad, config) { - /*--- Allocate data structures ---*/ - FcL = new su2double[nVar]; - FcR = new su2double[nVar]; - dmLP = new su2double[nVar]; - dmRM = new su2double[nVar]; - dpLP = new su2double[nVar]; - dpRM = new su2double[nVar]; - rhos_i = new su2double[nSpecies]; - rhos_j = new su2double[nSpecies]; - Flux = new su2double[nVar]; -} - -CUpwAUSMPLUSM_NEMO::~CUpwAUSMPLUSM_NEMO(void) { - delete[] FcL; - delete[] FcR; - delete[] dmLP; - delete[] dmRM; - delete[] dpLP; - delete[] dpRM; - delete[] rhos_i; - delete[] rhos_j; - delete[] Flux; -} - -CNumerics::ResidualType<> CUpwAUSMPLUSM_NEMO::ComputeResidual(const CConfig* config) { - - unsigned short iDim, iVar, iSpecies; - - /*--- Face area ---*/ - const su2double Area = GeometryToolbox::Norm(nDim, Normal); - - /*-- Unit Normal ---*/ - for (iDim = 0; iDim < nDim; iDim++) UnitNormal[iDim] = Normal[iDim] / Area; - - Minf = config->GetMach(); - - /*--- Extracting primitive variables ---*/ - // Primitives: [rho1,...,rhoNs, T, Tve, u, v, w, P, rho, h, a, c] - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - rhos_i[iSpecies] = V_i[RHOS_INDEX+iSpecies]; - rhos_j[iSpecies] = V_j[RHOS_INDEX+iSpecies]; - } - - su2double sq_veli = 0.0; - su2double sq_velj = 0.0; - su2double u_i[MAXNDIM] = {0.0}; - su2double u_j[MAXNDIM] = {0.0}; - for (iDim = 0; iDim < nDim; iDim++) { - u_i[iDim] = V_i[VEL_INDEX+iDim]; - u_j[iDim] = V_j[VEL_INDEX+iDim]; - sq_veli += u_i[iDim]*u_i[iDim]; - sq_velj += u_j[iDim]*u_j[iDim]; - } - - P_i = V_i[P_INDEX]; - P_j = V_j[P_INDEX]; - h_i = V_i[H_INDEX]; - h_j = V_j[H_INDEX]; - a_i = V_i[A_INDEX]; - a_j = V_j[A_INDEX]; - rho_i = V_i[RHO_INDEX]; - rho_j = V_j[RHO_INDEX]; - - rhoCvtr_i = V_i[RHOCVTR_INDEX]; - rhoCvtr_j = V_j[RHOCVTR_INDEX]; - rhoCvve_i = V_i[RHOCVVE_INDEX]; - rhoCvve_j = V_j[RHOCVVE_INDEX]; - - e_ve_i = 0.0; - e_ve_j = 0.0; - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - e_ve_i += (rhos_i[iSpecies]*eve_i[iSpecies])/rho_i; - e_ve_j += (rhos_j[iSpecies]*eve_j[iSpecies])/rho_j; - } - - /*--- Projected velocities ---*/ - su2double ProjVel_i = 0.0; - su2double ProjVel_j = 0.0; - for (iDim = 0; iDim < nDim; iDim++) { - ProjVel_i += u_i[iDim]*UnitNormal[iDim]; - ProjVel_j += u_j[iDim]*UnitNormal[iDim]; - } - - su2double sqVi = 0.0; - su2double sqVj = 0.0; - for (iDim = 0; iDim < nDim; iDim++) { - sqVi += pow(u_i[iDim] - ProjVel_i * UnitNormal[iDim] , 2); - sqVj += pow(u_j[iDim] - ProjVel_j * UnitNormal[iDim] , 2); - } - - /*--- Calculate interface numerical gammas and speed of sound ---*/ - // Hnorm = 0.5*(h_i-0.5*sqVi + h_j-0.5*sqVj); --> This formula worked until V. 7.3.0 - su2double Hnorm = 0.5*(h_i+h_j); - su2double gam = 0.5*(Gamma_i+Gamma_j); - su2double atl = sqrt(2.0*Hnorm*(gam-1.0)/(gam+1.0)); - - // ATL has to account sound speed for reactive gases - - /* if (fabs(rho_i-rho_j)/(0.5*(rho_i+rho_j)) < 1E-3) // Why this If condition ? - atl = sqrt(2.0*Hnorm*(gam-1.0)/(gam+1.0)); - else { - //Is the bottom equation correct ?? - atl = sqrt(2.0*Hnorm * (((Gamma_i-1.0)/(Gamma_i*rho_i) - (Gamma_j-1.0)/(Gamma_j*rho_j))/ - ((Gamma_j+1.0)/(Gamma_j*rho_i) - (Gamma_i+1.0)/(Gamma_i*rho_j)))); - - - // Or should it be - atl = sqrt(2.0*Hnorm * (((Gamma_i-1.0)/(Gamma_i)*rho_i - (Gamma_j-1.0)/(Gamma_j)*rho_j)/ - ((Gamma_j+1.0)/(Gamma_j)*rho_i - (Gamma_i+1.0)/(Gamma_i)*rho_j))); - } */ - - su2double aij; - if (0.5*(ProjVel_i+ProjVel_j) >= 0.0) - aij = atl*atl/max(fabs(ProjVel_i), atl); - else - aij = atl*atl/max(fabs(ProjVel_j), atl); - - su2double aF = aij; - - su2double mL = ProjVel_i/aF; - su2double mR = ProjVel_j/aF; - - su2double rhoF = 0.5*(rho_i+rho_j); - su2double MFsq = 0.5*(sq_veli+sq_velj)/(aF*aF); - - su2double param1 = max(MFsq, Minf*Minf); - su2double Mrefsq = (min(1.0, param1)); - su2double fa = 2.0*sqrt(Mrefsq)-Mrefsq; - - su2double alpha = 3.0/16.0*(-4.0+5.0*fa*fa); - su2double beta = 1.0/8.0; - - /*--- Pressure diffusion term ---*/ - su2double h_k = min(Sensor_i, Sensor_j); - - su2double g = 0.5*(1+cos(PI_NUMBER*h_k)); - su2double f = 0.5*(1-cos(PI_NUMBER*min(1.0, max(abs(mL), abs(mR))))); - - su2double Mp = -0.5*(1.0-f)*(P_j-P_i)/(rhoF*aF*aF)*(1.0-g); - - su2double mLP, mRM, pLP, pRM; - - if (fabs(mL) <= 1.0) - mLP = 0.25*(mL+1.0)*(mL+1.0)+beta*(mL*mL-1.0)*(mL*mL-1.0); - else - mLP = 0.5*(mL+fabs(mL)); - - if (fabs(mR) <= 1.0) - mRM = -0.25*(mR-1.0)*(mR-1.0)-beta*(mR*mR-1.0)*(mR*mR-1.0); - else - mRM = 0.5*(mR-fabs(mR)); - - su2double mF = mLP+mRM+Mp; - - if (fabs(mL) <= 1.0) - pLP = (0.25*(mL+1.0)*(mL+1.0)*(2.0-mL)+alpha*mL*(mL*mL-1.0)*(mL*mL-1.0)); - else - pLP = 0.5*(mL+fabs(mL))/mL; - - if (fabs(mR) <= 1.0) - pRM = (0.25*(mR-1.0)*(mR-1.0)*(2.0+mR)-alpha*mR*(mR*mR-1.0)*(mR*mR-1.0)); - else - pRM = 0.5*(mR-fabs(mR))/mR; - - su2double f0 = min(1.0, max(f, Minf*Minf)); - - // This is an alternative formulation already used by AUSMPLUSUP2 (But multiplied by f0) - su2double pFi = f0*sqrt(0.5*(sq_veli+sq_velj))*(pLP+pRM-1.0)*0.5*(rho_j+rho_i)*aF; - // pFi = f0*(pLP+pRM-1.0)*0.5*(P_i+P_j); - - su2double pF = 0.5*(P_j+P_i)+0.5*(pLP-pRM)*(P_i-P_j)+pFi; - - su2double Phi = fabs(mF); - - su2double mfP = 0.5*(mF+Phi); - su2double mfM = 0.5*(mF-Phi); - - /*--- Assign left & right covective fluxes ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - FcL[iSpecies] = rhos_i[iSpecies]*aF; - FcR[iSpecies] = rhos_j[iSpecies]*aF; - } - for (iDim = 0; iDim < nDim; iDim++) { - FcL[nSpecies + iDim] = rho_i*aF*u_i[iDim]; - FcR[nSpecies + iDim] = rho_j*aF*u_j[iDim]; - } - FcL[nSpecies + nDim] = rho_i*aF*h_i; - FcR[nSpecies + nDim] = rho_j*aF*h_j; - FcL[nSpecies + nDim + 1] = rho_i*aF*e_ve_i; - FcR[nSpecies + nDim + 1] = rho_j*aF*e_ve_j; - - /*--- Compute numerical flux ---*/ - for (iVar = 0; iVar < nVar; iVar++) Flux[iVar] = (mfP*FcL[iVar]+mfM*FcR[iVar])* Area; - - for (iDim = 0; iDim < nDim; iDim++) - Flux[nSpecies + iDim] += (pF*UnitNormal[iDim]-g*gam*0.5*(P_i+P_j)/aF*pLP*pRM* - (u_j[iDim]-ProjVel_j*UnitNormal[iDim]-u_i[iDim]+ProjVel_i*UnitNormal[iDim]))*Area; - - return ResidualType<>(Flux, nullptr, nullptr); -} diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmplusup2.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmplusup2.cpp deleted file mode 100644 index e55c05be34d..00000000000 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmplusup2.cpp +++ /dev/null @@ -1,433 +0,0 @@ -/*! - * \file ausmplusup2.cpp - * \brief Implementations of the AUSM-family of schemes - AUSM+UP2. - * \author W. Maier, A. Sachedeva, C. Garbacz - * \version 7.5.0 "Blackbird" - * - * SU2 Project Website: https://su2code.github.io - * - * The SU2 Project is maintained by the SU2 Foundation - * (http://su2foundation.org) - * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) - * - * SU2 is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * SU2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with SU2. If not, see . - */ - -#include "../../../../include/numerics/NEMO/convection/ausmplusup2.hpp" -#include "../../../../../Common/include/toolboxes/geometry_toolbox.hpp" - -CUpwAUSMPLUSUP2_NEMO::CUpwAUSMPLUSUP2_NEMO(unsigned short val_nDim, unsigned short val_nVar, - unsigned short val_nPrimVar, - unsigned short val_nPrimVarGrad, - CConfig *config): CNEMONumerics (val_nDim, val_nVar, val_nPrimVar, val_nPrimVarGrad, - config){ - - /*--- Define useful constants ---*/ - Kp = 0.25; - sigma = 1.0; - - /*--- Allocate data structures ---*/ - FcL = new su2double [nVar]; - FcR = new su2double [nVar]; - dmLP = new su2double [nVar]; - dmRM = new su2double [nVar]; - dpLP = new su2double [nVar]; - dpRM = new su2double [nVar]; - daL = new su2double [nVar]; - daR = new su2double [nVar]; - rhos_i = new su2double [nSpecies]; - rhos_j = new su2double [nSpecies]; - u_i = new su2double [nDim]; - u_j = new su2double [nDim]; - - Flux = new su2double[nVar]; - Jacobian_i = new su2double* [nVar]; - Jacobian_j = new su2double* [nVar]; - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - Jacobian_i[iVar] = new su2double [nVar]; - Jacobian_j[iVar] = new su2double [nVar]; - } -} - -CUpwAUSMPLUSUP2_NEMO::~CUpwAUSMPLUSUP2_NEMO(void) { - - delete [] FcL; - delete [] FcR; - delete [] dmLP; - delete [] dmRM; - delete [] dpLP; - delete [] dpRM; - delete [] daL; - delete [] daR; - delete [] rhos_i; - delete [] rhos_j; - delete [] u_i; - delete [] u_j; - delete [] Flux; - - for (unsigned short iVar = 0; iVar < nVar; iVar++) { - delete [] Jacobian_i[iVar]; - delete [] Jacobian_j[iVar]; - } - delete [] Jacobian_i; - delete [] Jacobian_j; -} - -CNumerics::ResidualType<> CUpwAUSMPLUSUP2_NEMO::ComputeResidual(const CConfig *config) { - - unsigned short iDim, iVar,jVar, iSpecies; - su2double rho_i, rho_j, - mL, mR, mLP, mRM, mF, pLP, pRM, pF, Phi, - e_ve_i, e_ve_j; - - /*--- Face area ---*/ - Area = GeometryToolbox::Norm(nDim, Normal); - - /*-- Unit Normal ---*/ - for (iDim = 0; iDim < nDim; iDim++) - UnitNormal[iDim] = Normal[iDim]/Area; - - Minf = config->GetMach(); - - /*--- Extracting primitive variables ---*/ - // Primitives: [rho1,...,rhoNs, T, Tve, u, v, w, P, rho, h, a, c] - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++){ - rhos_i[iSpecies] = V_i[RHOS_INDEX+iSpecies]; - rhos_j[iSpecies] = V_j[RHOS_INDEX+iSpecies]; - } - - for (iDim = 0; iDim < nDim; iDim++) { - u_i[iDim] = V_i[VEL_INDEX+iDim]; - u_j[iDim] = V_j[VEL_INDEX+iDim]; - } - su2double sq_veli = GeometryToolbox::SquaredNorm(nDim, u_i); - su2double sq_velj = GeometryToolbox::SquaredNorm(nDim, u_j); - - P_i = V_i[P_INDEX]; P_j = V_j[P_INDEX]; - h_i = V_i[H_INDEX]; h_j = V_j[H_INDEX]; - a_i = V_i[A_INDEX]; a_j = V_j[A_INDEX]; - rho_i = V_i[RHO_INDEX]; rho_j = V_j[RHO_INDEX]; - - rhoCvtr_i = V_i[RHOCVTR_INDEX]; rhoCvtr_j = V_j[RHOCVTR_INDEX]; - rhoCvve_i = V_i[RHOCVVE_INDEX]; rhoCvve_j = V_j[RHOCVVE_INDEX]; - - e_ve_i = 0.0; e_ve_j = 0.0; - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - e_ve_i += (rhos_i[iSpecies]*eve_i[iSpecies])/rho_i; - e_ve_j += (rhos_j[iSpecies]*eve_j[iSpecies])/rho_j; - } - - /*--- Projected velocities ---*/ - ProjVel_i = 0.0; ProjVel_j = 0.0; - for (iDim = 0; iDim < nDim; iDim++) { - ProjVel_i += u_i[iDim]*UnitNormal[iDim]; - ProjVel_j += u_j[iDim]*UnitNormal[iDim]; - } - - /*--- Compute C* ---*/ - CstarL = sqrt(2.0*(Gamma_i-1.0)/(Gamma_i+1.0)*h_i); - CstarR = sqrt(2.0*(Gamma_j-1.0)/(Gamma_j+1.0)*h_j); - - /*--- Compute C^ ---*/ - ChatL = CstarL*CstarL/max(CstarL,ProjVel_i); - ChatR = CstarR*CstarR/max(CstarR,-ProjVel_j); - - /*--- Interface speed of sound ---*/ - aF = min(ChatL,ChatR); - - mL = ProjVel_i/aF; - mR = ProjVel_j/aF; - - rhoF = 0.5*(rho_i+rho_j); - MFsq = 0.5*(mL*mL+mR*mR); - - param1 = max(MFsq, Minf*Minf); - Mrefsq = (min(1.0, param1)); - fa = 2.0*sqrt(Mrefsq)-Mrefsq; - - alpha = 3.0/16.0*(-4.0+5.0*fa*fa); - beta = 1.0/8.0; - - /*--- Pressure diffusion term ---*/ - Mp = -(Kp/fa)*max((1.0-sigma*MFsq),0.0)*(P_j-P_i)/(rhoF*aF*aF); - - if (fabs(mL) <= 1.0) mLP = 0.25*(mL+1.0)*(mL+1.0)+beta*(mL*mL-1.0)*(mL*mL-1.0); - else mLP = 0.5*(mL+fabs(mL)); - - if (fabs(mR) <= 1.0) mRM = -0.25*(mR-1.0)*(mR-1.0)-beta*(mR*mR-1.0)*(mR*mR-1.0); - else mRM = 0.5*(mR-fabs(mR)); - - mF = mLP + mRM + Mp; - - if (fabs(mL) <= 1.0) pLP = (0.25*(mL+1.0)*(mL+1.0)*(2.0-mL)+alpha*mL*(mL*mL-1.0)*(mL*mL-1.0)); - else pLP = 0.5*(mL+fabs(mL))/mL; - - if (fabs(mR) <= 1.0) pRM = (0.25*(mR-1.0)*(mR-1.0)*(2.0+mR)-alpha*mR*(mR*mR-1.0)*(mR*mR-1.0)); - else pRM = 0.5*(mR-fabs(mR))/mR; - - /*... Modified pressure flux ...*/ - //Use this definition - pFi = sqrt(0.5*(sq_veli+sq_velj))*(pLP+pRM-1.0)*0.5*(rho_j+rho_i)*aF; - pF = 0.5*(P_j+P_i)+0.5*(pLP-pRM)*(P_i-P_j)+pFi; - - Phi = fabs(mF); - - mfP=0.5*(mF+Phi); - mfM=0.5*(mF-Phi); - - /*--- Assign left & right covective fluxes ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - FcL[iSpecies] = rhos_i[iSpecies]*aF; - FcR[iSpecies] = rhos_j[iSpecies]*aF; - } - for (iDim = 0; iDim < nDim; iDim++) { - FcL[nSpecies+iDim] = rho_i*aF*u_i[iDim]; - FcR[nSpecies+iDim] = rho_j*aF*u_j[iDim]; - } - FcL[nSpecies+nDim] = rho_i*aF*h_i; - FcR[nSpecies+nDim] = rho_j*aF*h_j; - FcL[nSpecies+nDim+1] = rho_i*aF*e_ve_i; - FcR[nSpecies+nDim+1] = rho_j*aF*e_ve_j; - - /*--- Compute numerical flux ---*/ - for (iVar = 0; iVar < nVar; iVar++) - Flux[iVar] = (mfP*FcL[iVar]+mfM*FcR[iVar])*Area; - - for (iDim = 0; iDim < nDim; iDim++) - Flux[nSpecies+iDim] += pF*UnitNormal[iDim]*Area; - - /*--- AUSM's Jacobian ---*/ - if (implicit) { - - /*--- Initialize the Jacobians ---*/ - for (iVar = 0; iVar < nVar; iVar++) { - for (jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[iVar][jVar] = 0.0; - Jacobian_j[iVar][jVar] = 0.0; - } - } - - if (mF >= 0.0) FcLR = FcL; - else FcLR = FcR; - - /*--- Sound speed derivatives: Species density ---*/ - const auto& Cvtrs = fluidmodel -> GetSpeciesCvTraRot(); - const auto& Ms = fluidmodel -> GetSpeciesMolarMass(); - su2double Ru = 1000.0*UNIVERSAL_GAS_CONSTANT; - - for (iSpecies = 0; iSpecies < nEl; iSpecies++) { - daL[iSpecies] = 1.0/(2.0*aF*rho_i) * (1+dPdU_i[nSpecies+nDim])*(dPdU_i[iSpecies] - P_i/rho_i); - daR[iSpecies] = 1.0/(2.0*aF*rho_j) * (1+dPdU_j[nSpecies+nDim])*(dPdU_j[iSpecies] - P_j/rho_j); - } - - for (iSpecies = nEl; iSpecies < nHeavy; iSpecies++) { - daL[iSpecies] = 1.0/(2.0*aF) * (1/rhoCvtr_i*(Ru/Ms[iSpecies] - Cvtrs[iSpecies]*dPdU_i[nSpecies+nDim])*P_i/rho_i - + 1.0/rho_i*(1.0+dPdU_i[nSpecies+nDim])*(dPdU_i[iSpecies] - P_i/rho_i)); - daR[iSpecies] = 1.0/(2.0*aF) * (1/rhoCvtr_j*(Ru/Ms[iSpecies] - Cvtrs[iSpecies]*dPdU_j[nSpecies+nDim])*P_j/rho_j - + 1.0/rho_j*(1.0+dPdU_j[nSpecies+nDim])*(dPdU_j[iSpecies] - P_j/rho_j)); - } - - /*--- Sound speed derivatives: Momentum ---*/ - for (iDim = 0; iDim < nDim; iDim++) { - daL[nSpecies+iDim] = -1.0/(2.0*rho_i*aF) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim])*u_i[iDim]; - daR[nSpecies+iDim] = -1.0/(2.0*rho_j*aF) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim])*u_j[iDim]; - } - - /*--- Sound speed derivatives: Energy ---*/ - daL[nSpecies+nDim] = 1.0/(2.0*rho_i*aF) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim]); - daR[nSpecies+nDim] = 1.0/(2.0*rho_j*aF) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim]); - - /*--- Sound speed derivatives: Vib-el energy ---*/ - daL[nSpecies+nDim+1] = 1.0/(2.0*rho_i*aF) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim+1]); - daR[nSpecies+nDim+1] = 1.0/(2.0*rho_j*aF) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim+1]); - - /*--- Left state Jacobian ---*/ - if (mF >= 0) { - - /*--- Jacobian contribution: dFc terms ---*/ - for (auto iVar = 0u; iVar < nSpecies+nDim; iVar++) { - for (jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[iVar][jVar] += mF * FcL[iVar]/aF * daL[jVar]; - } - Jacobian_i[iVar][iVar] += mF * aF; - } - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - Jacobian_i[nSpecies+nDim][iSpecies] += mF * (dPdU_i[iSpecies]*aF + rho_i*h_i*daL[iSpecies]); - } - for (iDim = 0; iDim < nDim; iDim++) { - Jacobian_i[nSpecies+nDim][nSpecies+iDim] += mF * (-dPdU_i[nSpecies+nDim]*u_i[iDim]*aF + rho_i*h_i*daL[nSpecies+iDim]); - } - Jacobian_i[nSpecies+nDim][nSpecies+nDim] += mF * ((1.0+dPdU_i[nSpecies+nDim])*aF + rho_i*h_i*daL[nSpecies+nDim]); - Jacobian_i[nSpecies+nDim][nSpecies+nDim+1] += mF * (dPdU_i[nSpecies+nDim+1]*aF + rho_i*h_i*daL[nSpecies+nDim+1]); - for (jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[nSpecies+nDim+1][jVar] += mF * FcL[nSpecies+nDim+1]/aF * daL[jVar]; - } - Jacobian_i[nSpecies+nDim+1][nSpecies+nDim+1] += mF * aF; - } - - /*--- Calculate derivatives of the split pressure flux ---*/ - if ( (mF >= 0) || ((mF < 0)&&(fabs(mF) <= 1.0)) ) { - if (fabs(mL) <= 1.0) { - - /*--- Mach number ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dmLP[iSpecies] = 0.5*(mL+1.0) * (-ProjVel_i/(rho_i*aF) - ProjVel_i*daL[iSpecies]/(aF*aF)); - for (iDim = 0; iDim < nDim; iDim++) - dmLP[nSpecies+iDim] = 0.5*(mL+1.0) * (-ProjVel_i/(aF*aF) * daL[nSpecies+iDim] + UnitNormal[iDim]/(rho_i*aF)); - dmLP[nSpecies+nDim] = 0.5*(mL+1.0) * (-ProjVel_i/(aF*aF) * daL[nSpecies+nDim]); - dmLP[nSpecies+nDim+1] = 0.5*(mL+1.0) * (-ProjVel_i/(aF*aF) * daL[nSpecies+nDim+1]); - - /*--- Pressure ---*/ - for(iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dpLP[iSpecies] = 0.25*(mL+1.0) * (dPdU_i[iSpecies]*(mL+1.0)*(2.0-mL) - + P_i*(-ProjVel_i/(rho_i*aF) - -ProjVel_i*daL[iSpecies]/(aF*aF))*(3.0-3.0*mL)); - for (iDim = 0; iDim < nDim; iDim++) - dpLP[nSpecies+iDim] = 0.25*(mL+1.0) * (-u_i[iDim]*dPdU_i[nSpecies+nDim]*(mL+1.0)*(2.0-mL) - + P_i*( -ProjVel_i/(aF*aF) * daL[nSpecies+iDim] - + UnitNormal[iDim]/(rho_i*aF))*(3.0-3.0*mL)); - dpLP[nSpecies+nDim] = 0.25*(mL+1.0) * (dPdU_i[nSpecies+nDim]*(mL+1.0)*(2.0-mL) - + P_i*(-ProjVel_i/(aF*aF) * daL[nSpecies+nDim])*(3.0-3.0*mL)); - dpLP[nSpecies+nDim+1] = 0.25*(mL+1.0) * (dPdU_i[nSpecies+nDim+1]*(mL+1.0)*(2.0-mL) - + P_i*(-ProjVel_i/(aF*aF) * daL[nSpecies+nDim+1])*(3.0-3.0*mL)); - } else { - - /*--- Mach number ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dmLP[iSpecies] = -ProjVel_i/(rho_i*aF) - ProjVel_i*daL[iSpecies]/(aF*aF); - for (iDim = 0; iDim < nDim; iDim++) - dmLP[nSpecies+iDim] = -ProjVel_i/(aF*aF) * daL[nSpecies+iDim] + UnitNormal[iDim]/(rho_i*aF); - dmLP[nSpecies+nDim] = -ProjVel_i/(aF*aF) * daL[nSpecies+nDim]; - dmLP[nSpecies+nDim+1] = -ProjVel_i/(aF*aF) * daL[nSpecies+nDim+1]; - - /*--- Pressure ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dpLP[iSpecies] = dPdU_i[iSpecies]; - for (iDim = 0; iDim < nDim; iDim++) - dpLP[nSpecies+iDim] = (-u_i[iDim]*dPdU_i[nSpecies+nDim]); - dpLP[nSpecies+nDim] = dPdU_i[nSpecies+nDim]; - dpLP[nSpecies+nDim+1] = dPdU_i[nSpecies+nDim+1]; - } - - /*--- dM contribution ---*/ - for (iVar = 0; iVar < nVar; iVar++) { - for (jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[iVar][jVar] += dmLP[jVar]*FcLR[iVar]; - } - } - - /*--- Jacobian contribution: dP terms ---*/ - for (iDim = 0; iDim < nDim; iDim++) { - for (iVar = 0; iVar < nVar; iVar++) { - Jacobian_i[nSpecies+iDim][iVar] += dpLP[iVar]*UnitNormal[iDim]; - } - } - } - - /*--- Right state Jacobian ---*/ - if (mF < 0) { - - /*--- Jacobian contribution: dFc terms ---*/ - for (auto iVar = 0u; iVar < nSpecies+nDim; iVar++) { - for (jVar = 0; jVar < nVar; jVar++) { - Jacobian_j[iVar][jVar] += mF * FcR[iVar]/aF * daR[jVar]; - } - Jacobian_j[iVar][iVar] += mF * aF; - } - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - Jacobian_j[nSpecies+nDim][iSpecies] += mF * (dPdU_j[iSpecies]*aF + rho_j*h_j*daR[iSpecies]); - } - for (iDim = 0; iDim < nDim; iDim++) { - Jacobian_j[nSpecies+nDim][nSpecies+iDim] += mF * (-dPdU_j[nSpecies+nDim]*u_j[iDim]*aF + rho_j*h_j*daR[nSpecies+iDim]); - } - Jacobian_j[nSpecies+nDim][nSpecies+nDim] += mF * ((1.0+dPdU_j[nSpecies+nDim])*aF + rho_j*h_j*daR[nSpecies+nDim]); - Jacobian_j[nSpecies+nDim][nSpecies+nDim+1] += mF * (dPdU_j[nSpecies+nDim+1]*aF + rho_j*h_j*daR[nSpecies+nDim+1]); - for (jVar = 0; jVar < nVar; jVar++) { - Jacobian_j[nSpecies+nDim+1][jVar] += mF * FcR[nSpecies+nDim+1]/aF * daR[jVar]; - } - Jacobian_j[nSpecies+nDim+1][nSpecies+nDim+1] += mF * aF; - } - - /*--- Calculate derivatives of the split pressure flux ---*/ - if ( (mF < 0) || ((mF >= 0)&&(fabs(mF) <= 1.0)) ) { - if (fabs(mR) <= 1.0) { - - /*--- Mach ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dmRM[iSpecies] = -0.5*(mR-1.0) * (-ProjVel_j/(rho_j*aF) - ProjVel_j*daR[iSpecies]/(aF*aF)); - for (iDim = 0; iDim < nDim; iDim++) - dmRM[nSpecies+iDim] = -0.5*(mR-1.0) * (-ProjVel_j/(aF*aF) * daR[nSpecies+iDim] + UnitNormal[iDim]/(rho_j*aF)); - dmRM[nSpecies+nDim] = -0.5*(mR-1.0) * (-ProjVel_j/(aF*aF) * daR[nSpecies+nDim]); - dmRM[nSpecies+nDim+1] = -0.5*(mR-1.0) * (-ProjVel_j/(aF*aF) * daR[nSpecies+nDim+1]); - - /*--- Pressure ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dpRM[iSpecies] = 0.25*(mR-1.0) * (dPdU_j[iSpecies]*(mR-1.0)*(2.0+mR) - + P_j*(-ProjVel_j/(rho_j*aF) - -ProjVel_j*daR[iSpecies]/(aF*aF))*(3.0+3.0*mR)); - for (iDim = 0; iDim < nDim; iDim++) - dpRM[nSpecies+iDim] = 0.25*(mR-1.0) * ((-u_j[iDim]*dPdU_j[nSpecies+nDim])*(mR-1.0)*(2.0+mR) - + P_j*( -ProjVel_j/(aF*aF) * daR[nSpecies+iDim] - + UnitNormal[iDim]/(rho_j*aF))*(3.0+3.0*mR)); - dpRM[nSpecies+nDim] = 0.25*(mR-1.0) * (dPdU_j[nSpecies+nDim]*(mR-1.0)*(2.0+mR) - + P_j*(-ProjVel_j/(aF*aF)*daR[nSpecies+nDim])*(3.0+3.0*mR)); - dpRM[nSpecies+nDim+1] = 0.25*(mR-1.0) * (dPdU_j[nSpecies+nDim+1]*(mR-1.0)*(2.0+mR) - + P_j*(-ProjVel_j/(aF*aF) * daR[nSpecies+nDim+1])*(3.0+3.0*mR)); - - } else { - - /*--- Mach ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dmRM[iSpecies] = -ProjVel_j/(rho_j*aF) - ProjVel_j*daR[iSpecies]/(aF*aF); - for (iDim = 0; iDim < nDim; iDim++) - dmRM[nSpecies+iDim] = -ProjVel_j/(aF*aF) * daR[nSpecies+iDim] + UnitNormal[iDim]/(rho_j*aF); - dmRM[nSpecies+nDim] = -ProjVel_j/(aF*aF) * daR[nSpecies+nDim]; - dmRM[nSpecies+nDim+1] = -ProjVel_j/(aF*aF) * daR[nSpecies+nDim+1]; - - /*--- Pressure ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dpRM[iSpecies] = dPdU_j[iSpecies]; - for (iDim = 0; iDim < nDim; iDim++) - dpRM[nSpecies+iDim] = -u_j[iDim]*dPdU_j[nSpecies+nDim]; - dpRM[nSpecies+nDim] = dPdU_j[nSpecies+nDim]; - dpRM[nSpecies+nDim+1] = dPdU_j[nSpecies+nDim+1]; - } - - /*--- Jacobian contribution: dM terms ---*/ - for (iVar = 0; iVar < nVar; iVar++) { - for (jVar = 0; jVar < nVar; jVar++) { - Jacobian_j[iVar][jVar] += dmRM[jVar] * FcLR[iVar]; - } - } - - /*--- Jacobian contribution: dP terms ---*/ - for (iDim = 0; iDim < nDim; iDim++) { - for (iVar = 0; iVar < nVar; iVar++) { - Jacobian_j[nSpecies+iDim][iVar] += dpRM[iVar]*UnitNormal[iDim]; - } - } - } - - /*--- Integrate over dual-face area ---*/ - for (iVar = 0; iVar < nVar; iVar++) { - for (jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[iVar][jVar] *= Area; - Jacobian_j[iVar][jVar] *= Area; - } - } - } - - return ResidualType<>(Flux, Jacobian_i, Jacobian_j); -} diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausmpwplus.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausmpwplus.cpp deleted file mode 100644 index 38597ec2395..00000000000 --- a/SU2_CFD/src/numerics/NEMO/convection/ausmpwplus.cpp +++ /dev/null @@ -1,445 +0,0 @@ -/*! - * \file ausmpwplus.cpp - * \brief Implementations of the AUSM-family of schemes - AUSMPWPLUS. - * \author F. Palacios, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" - * - * SU2 Project Website: https://su2code.github.io - * - * The SU2 Project is maintained by the SU2 Foundation - * (http://su2foundation.org) - * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) - * - * SU2 is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * SU2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with SU2. If not, see . - */ - -#include "../../../../include/numerics/NEMO/convection/ausmpwplus.hpp" -#include "../../../../../Common/include/toolboxes/geometry_toolbox.hpp" - -CUpwAUSMPWplus_NEMO::CUpwAUSMPWplus_NEMO(unsigned short val_nDim, - unsigned short val_nVar, - unsigned short val_nPrimVar, - unsigned short val_nPrimVarGrad, - CConfig *config) : CNEMONumerics(val_nDim, val_nVar, - val_nPrimVar, val_nPrimVarGrad, - config) { - - FcL = new su2double [nVar]; - FcR = new su2double [nVar]; - rhos_i = new su2double [nSpecies]; - rhos_j = new su2double [nSpecies]; - u_i = new su2double [nDim]; - u_j = new su2double [nDim]; - - Flux = new su2double[nVar]; - -} - -CUpwAUSMPWplus_NEMO::~CUpwAUSMPWplus_NEMO(void) { - - delete [] FcL; - delete [] FcR; - delete [] rhos_i; - delete [] rhos_j; - delete [] u_i; - delete [] u_j; - delete [] Flux; -} - -CNumerics::ResidualType<> CUpwAUSMPWplus_NEMO::ComputeResidual(const CConfig *config) { - - // NOTE: OSCILLATOR DAMPER "f" NOT IMPLEMENTED!!! - - unsigned short iDim, iVar, iSpecies; - su2double rho_i, rho_j, rhoEve_i, rhoEve_j; - su2double aij, atl, gtl_i, gtl_j, sqVi, sqVj, Hnorm; - su2double w, fL, fR, alpha; - su2double mL, mR, mLP, mRM, mF, mbLP, mbRM, pLP, pRM, ps; - su2double gam; - - alpha = 3.0/16.0; - - /*---- Initialize the residual vector ---*/ - for (iVar = 0; iVar < nVar; iVar++) - Flux[iVar] = 0.0; - - /*--- Calculate geometric quantities ---*/ - Area = GeometryToolbox::Norm(nDim, Normal); - - for (iDim = 0; iDim < nDim; iDim++) - UnitNormal[iDim] = Normal[iDim]/Area; - - /*--- Pull stored primitive variables ---*/ - // Primitives: [rho1,...,rhoNs, T, Tve, u, v, w, P, rho, h, c] - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - rhos_i[iSpecies] = V_i[RHOS_INDEX+iSpecies]; - rhos_j[iSpecies] = V_j[RHOS_INDEX+iSpecies]; - } - for (iDim = 0; iDim < nDim; iDim++) { - u_i[iDim] = V_i[VEL_INDEX+iDim]; - u_j[iDim] = V_j[VEL_INDEX+iDim]; - } - P_i = V_i[P_INDEX]; P_j = V_j[P_INDEX]; - h_i = V_i[H_INDEX]; h_j = V_j[H_INDEX]; - rho_i = V_i[RHO_INDEX]; rho_j = V_j[RHO_INDEX]; - - rhoCvtr_i = V_i[RHOCVTR_INDEX]; rhoCvtr_j = V_j[RHOCVTR_INDEX]; - rhoCvve_i = V_i[RHOCVVE_INDEX]; rhoCvve_j = V_j[RHOCVVE_INDEX]; - - rhoEve_i = 0.0; rhoEve_j = 0.0; - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - rhoEve_i += (V_i[RHOS_INDEX+iSpecies]*eve_i[iSpecies]); - rhoEve_j += (V_j[RHOS_INDEX+iSpecies]*eve_j[iSpecies]); - } - - /*--- Projected velocities ---*/ - ProjVel_i = 0.0; ProjVel_j = 0.0; - for (iDim = 0; iDim < nDim; iDim++) { - ProjVel_i += u_i[iDim]*UnitNormal[iDim]; - ProjVel_j += u_j[iDim]*UnitNormal[iDim]; - } - sqVi = 0.0; sqVj = 0.0; - for (iDim = 0; iDim < nDim; iDim++) { - sqVi += (u_i[iDim]-ProjVel_i*UnitNormal[iDim]) * - (u_i[iDim]-ProjVel_i*UnitNormal[iDim]); - sqVj += (u_j[iDim]-ProjVel_j*UnitNormal[iDim]) * - (u_j[iDim]-ProjVel_j*UnitNormal[iDim]); - } - - /*--- Calculate interface numerical gammas and speed of sound ---*/ - Hnorm = 0.5*(h_i-0.5*sqVi + h_j-0.5*sqVj); - gtl_i = Gamma_i; - gtl_j = Gamma_j; - gam = 0.5*(gtl_i+gtl_j); - if (fabs(rho_i-rho_j)/(0.5*(rho_i+rho_j)) < 1E-3) - atl = sqrt(2.0*Hnorm*(gam-1.0)/(gam+1.0)); - else { - atl = sqrt(2.0*Hnorm * (((gtl_i-1.0)/(gtl_i*rho_i) - (gtl_j-1.0)/(gtl_j*rho_j))/ - ((gtl_j+1.0)/(gtl_j*rho_i) - (gtl_i+1.0)/(gtl_i*rho_j)))); - } - - if (0.5*(ProjVel_i+ProjVel_j) >= 0.0) aij = atl*atl/max(fabs(ProjVel_i),atl); - else aij = atl*atl/max(fabs(ProjVel_j),atl); - - /*--- Calculate L/R Mach & Pressure functions ---*/ - mL = ProjVel_i/aij; - mR = ProjVel_j/aij; - if (fabs(mL) <= 1.0) { - mLP = 0.25*(mL+1.0)*(mL+1.0); - pLP = P_i*(0.25*(mL+1.0)*(mL+1.0)*(2.0-mL)+alpha*mL*(mL*mL-1.0)*(mL*mL-1.0)); - } else { - mLP = 0.5*(mL+fabs(mL)); - pLP = P_i*0.5*(mL+fabs(mL))/mL; - } - if (fabs(mR) <= 1.0) { - mRM = -0.25*(mR-1.0)*(mR-1.0); - pRM = P_j*(0.25*(mR-1.0)*(mR-1.0)*(2.0+mR)-alpha*mR*(mR*mR-1.0)*(mR*mR-1.0)); - } else { - mRM = 0.5*(mR-fabs(mR)); - pRM = 0.5*P_j*(mR-fabs(mR))/mR; - } - - /*--- Calculate supporting w & f functions ---*/ - w = 1.0 - pow(min(P_i/P_j, P_j/P_i), 3.0); - ps = pLP + pRM; - - // simplified f function (Literature requires information from cells - // above and below (TODO) - if (fabs(mL) < 1.0) fL = P_i/ps - 1.0; - else fL = 0.0; - if (fabs(mR) < 1.0) fR = P_j/ps - 1.0; - else fR = 0.0; - - /*--- Calculate modified M functions ---*/ - mF = mLP + mRM; - if (mF >= 0.0) { - mbLP = mLP + mRM*((1.0-w)*(1.0+fR) - fL); - mbRM = mRM*w*(1.0+fR); - } else { - mbLP = mLP*w*(1+fL); - mbRM = mRM + mLP*((1.0-w)*(1.0+fL) + fL -fR); - } - - /*--- Assign left & right convective vectors ---*/ - for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - FcL[iSpecies] = rhos_i[iSpecies]; - FcR[iSpecies] = rhos_j[iSpecies]; - } - for (iDim = 0; iDim < nDim; iDim++) { - FcL[nSpecies+iDim] = rho_i*u_i[iDim]; - FcR[nSpecies+iDim] = rho_j*u_j[iDim]; - } - FcL[nSpecies+nDim] = rho_i*h_i; - FcR[nSpecies+nDim] = rho_j*h_j; - FcL[nSpecies+nDim+1] = rhoEve_i; - FcR[nSpecies+nDim+1] = rhoEve_j; - - /*--- Calculate the numerical flux ---*/ - for (iVar = 0; iVar < nVar; iVar++) - Flux[iVar] = (mbLP*aij*FcL[iVar] + mbRM*aij*FcR[iVar])*Area; - for (iDim = 0; iDim < nDim; iDim++) - Flux[nSpecies+iDim] += (pLP*UnitNormal[iDim] + pRM*UnitNormal[iDim])*Area; - -// if (implicit) //{ -// -// /*--- Initialize the Jacobians ---*/ -// for (iVar = 0; iVar < nVar; iVar++) { -// for (jVar = 0; jVar < nVar; jVar++) { -// val_Jacobian_i[iVar][jVar] = 0.0; -// val_Jacobian_j[iVar][jVar] = 0.0; -// } -// } -// -// /*--- Derivatives of the interface speed of sound, aij ---*/ -// // Derivatives of Hnorm -// //fact = 0.5*sqrt(2*(gam-1.0)/((gam+1.0)*Hnorm)); -// //for (iSpecies = 0; iSpecies < nHeavy; iSpecies++) { -// // dHnL[iSpecies] = 0.5*(dPdU_i[iSpecies] /*+ sqVi/rho_i*/); -// // dHnR[iSpecies] = 0.5*(dPdU_j[iSpecies] /*+ sqVj/rho_j*/); -// //} -// //for (iDim = 0; iDim < nDim; iDim++) { -// // dV2L = 0.0; -// // dV2R = 0.0; -// // for (jDim = 0; jDim < nDim; jDim++) { -// // dV2L += 2.0/rho_i*(u_i[jDim]-ProjVel_i*UnitNormal[jDim]*(-UnitNormal[iDim]*UnitNormal[jDim])); -// // dV2R += 2.0/rho_j*(u_j[jDim]-ProjVel_j*UnitNormal[jDim]*(-UnitNormal[iDim]*UnitNormal[jDim])); -// // } -// // dV2L += 2.0/rho_i*(u_i[iDim]-ProjVel_i*UnitNormal[iDim] - sqVi); -// // dV2R += 2.0/rho_j*(u_j[iDim]-ProjVel_j*UnitNormal[iDim] - sqVj); -// // dHnL[nSpecies+iDim] = 0.5*(dPdU_i[nSpecies+iDim] /*- 0.5*(dV2L)*/); -// // dHnR[nSpecies+iDim] = 0.5*(dPdU_j[nSpecies+iDim] /*- 0.5*(dV2R)*/); -// //} -// //dHnL[nSpecies+nDim] = 0.5*(1.0+dPdU_i[nSpecies+nDim]); -// //dHnR[nSpecies+nDim] = 0.5*(1.0+dPdU_j[nSpecies+nDim]); -// //dHnL[nSpecies+nDim+1] = 0.5*dPdU_i[nSpecies+nDim+1]; -// //dHnR[nSpecies+nDim+1] = 0.5*dPdU_j[nSpecies+nDim+1]; -// -// // ////////////////// -// // //debug: -// // cout << "sqVi before: " << sqVi << endl; -// // //check sqV routine w/ conserved: -// // double rVi, delta; -// // rVi = 0.0; -// // for (iDim = 0; iDim < nDim; iDim++) { -// // rVi += rho_i*u_i[iDim]*UnitNormal[iDim]; -// // } -// // sqVi = 0.0; -// // for (iDim = 0; iDim < nDim; iDim++) { -// // sqVi += (rho_i*u_i[iDim]-rVi*UnitNormal[iDim]) -// // * (rho_i*u_i[iDim]-rVi*UnitNormal[iDim])/(rho_i*rho_i); -// // } -// // cout << "sqVi after: " << sqVi << endl; -// // -// // //perturb: -// // delta = V_i[0]; -// // rho_i = V_i[0]+V_i[1]+delta; -// // rVi = 0.0; -// // for (iDim = 0; iDim < nDim; iDim++) { -// // rVi += rho_i*u_i[iDim]*UnitNormal[iDim]; -// // } -// // sqVj = 0.0; -// // for (iDim = 0; iDim < nDim; iDim++) { -// // sqVj += (rho_i*u_i[iDim]-rVi*UnitNormal[iDim]) -// // * (rho_i*u_i[iDim]-rVi*UnitNormal[iDim])/(rho_i*rho_i); -// // } -// // cout << "FD: " << (sqVj-sqVi)/delta << endl; -// // cout << "analytic: " << -2*sqVi/(rho_i-delta) << endl; -// // cout << "V0: " << V_i[0] << endl; -// // cout << "V1: " << V_i[1] << endl; -// // cout << "rho_i: " << rho_i << endl; -// // cout << "delta: " << delta << endl; -// // cout << "diff: " << sqVj-sqVi << endl; -// // cin.get(); -// -// -// -// -// // Derivatives of aij -// //if (0.5*(ProjVel_i+ProjVel_j) >= 0.0) { -// // if (atl >= fabs(ProjVel_i)) { -// // for (iVar = 0; iVar < nVar; iVar++) { -// // daL[iVar] = fact*dHnL[iVar]; -// // daR[iVar] = fact*dHnR[iVar]; -// // } -// // } else { -// // for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { -// // daL[iSpecies] = atl*atl/(rho_i*fabs(ProjVel_i)) -// // + 2*atl/fabs(ProjVel_i)*fact*dHnL[iSpecies]; -// // daR[iSpecies] = 2*atl/fabs(ProjVel_i)*fact*dHnR[iSpecies]; -// // } -// // for (iDim = 0; iDim < nDim; iDim++) { -// // daL[nSpecies+iDim] = -UnitNormal[iDim]*atl*atl/(fabs(ProjVel_i)*ProjVel_i) -// // + 2*atl/fabs(ProjVel_i)*fact*dHnL[nSpecies+iDim]; -// // daR[nSpecies+iDim] = 2*atl/fabs(ProjVel_i)*fact*dHnR[nSpecies+iDim]; -// // } -// // daL[nSpecies+nDim] = 2*atl/fabs(ProjVel_i)*fact*dHnL[nSpecies+nDim]; -// // daR[nSpecies+nDim] = 2*atl/fabs(ProjVel_i)*fact*dHnR[nSpecies+nDim]; -// // daL[nSpecies+nDim+1] = 2*atl/fabs(ProjVel_i)*fact*dHnL[nSpecies+nDim+1]; -// // daR[nSpecies+nDim+1] = 2*atl/fabs(ProjVel_i)*fact*dHnR[nSpecies+nDim+1]; -// // } -// //} else { -// // if (atl >= fabs(ProjVel_j)) { -// // for (iVar = 0; iVar < nVar; iVar++) { -// // daL[iVar] = fact*dHnL[iVar]; -// // daR[iVar] = fact*dHnR[iVar]; -// // } -// // } else { -// // for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { -// // daR[iSpecies] = atl*atl/(rho_j*fabs(ProjVel_j)) -// // + 2*atl/fabs(ProjVel_j)*fact*dHnR[iSpecies]; -// // daL[iSpecies] = 2*atl/fabs(ProjVel_j)*fact*dHnL[iSpecies]; -// // } -// // for (iDim = 0; iDim < nDim; iDim++) { -// // daR[nSpecies+iDim] = -UnitNormal[iDim]*atl*atl/(fabs(ProjVel_j)*ProjVel_j) -// // + 2*atl/fabs(ProjVel_j)*fact*dHnR[nSpecies+iDim]; -// // daL[nSpecies+iDim] = 2*atl/fabs(ProjVel_j)*fact*dHnL[nSpecies+iDim]; -// // } -// // daR[nSpecies+nDim] = 2*atl/fabs(ProjVel_j)*fact*dHnR[nSpecies+nDim]; -// // daL[nSpecies+nDim] = 2*atl/fabs(ProjVel_j)*fact*dHnL[nSpecies+nDim]; -// // daR[nSpecies+nDim+1] = 2*atl/fabs(ProjVel_j)*fact*dHnR[nSpecies+nDim+1]; -// // daL[nSpecies+nDim+1] = 2*atl/fabs(ProjVel_j)*fact*dHnL[nSpecies+nDim+1]; -// // } -// // } -// -// // cout << "atl: " << atl << endl; -// // cout << "ProjVel_i: " << ProjVel_i << endl; -// // cout << "term1: " << atl*atl/(rho_i*fabs(ProjVel_i)) << endl; -// // cout << "term2: " << endl; -// // for (iVar = 0; iVar < nVar; iVar++) -// // cout << 2*atl/fabs(ProjVel_i)*fact*dHnL[iVar] << endl; -// // cout << "area: " << Area << endl; -// // cout << "daL: " << endl; -// // for (iVar = 0; iVar < nVar; iVar++) { -// // cout << daL[iVar] << endl; -// // } -// // cin.get(); -// -// /*--- Derivatives of advection speed, mL & mR ---*/ -// for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) { -// dmLdL[iSpecies] = -ProjVel_i/(rho_i*aij) - ProjVel_i/(aij*aij)*daL[iSpecies]; -// dmRdR[iSpecies] = -ProjVel_j/(rho_j*aij) - ProjVel_j/(aij*aij)*daR[iSpecies]; -// } -// for (iDim = 0; iDim < nDim; iDim++) { -// dmLdL[nSpecies+iDim] = UnitNormal[iDim]/(rho_i*aij) - ProjVel_i/(aij*aij)*daL[nSpecies+iDim]; -// dmRdR[nSpecies+iDim] = UnitNormal[iDim]/(rho_j*aij) - ProjVel_j/(aij*aij)*daR[nSpecies+iDim]; -// } -// dmLdL[nSpecies+nDim] = -ProjVel_i/(aij*aij)*daL[nSpecies+nDim]; -// dmRdR[nSpecies+nDim] = -ProjVel_j/(aij*aij)*daR[nSpecies+nDim]; -// dmLdL[nSpecies+nDim+1] = -ProjVel_i/(aij*aij)*daL[nSpecies+nDim+1]; -// dmRdR[nSpecies+nDim+1] = -ProjVel_j/(aij*aij)*daR[nSpecies+nDim+1]; -// for (iVar = 0; iVar < nVar; iVar++) { -// dmLdR[iVar] = -ProjVel_i/(aij*aij)*daR[iVar]; -// dmRdL[iVar] = -ProjVel_j/(aij*aij)*daL[iVar]; -// } -// -// /*--- Derivatives of numerical advection, mLP & mRM ---*/ -// if (fabs(mL) <= 1.0) { -// for (iVar = 0; iVar < nVar; iVar++) { -// dmLPdL[iVar] = 0.5*(mL+1)*dmLdL[iVar]; -// dmLPdR[iVar] = 0.5*(mL+1)*dmLdR[iVar]; -// } -// } else { -// for (iVar = 0; iVar < nVar; iVar++) { -// dmLPdL[iVar] = 0.5*(dmLdL[iVar] + mL/fabs(mL)*dmLdL[iVar]); -// dmLPdR[iVar] = 0.5*(dmLdR[iVar] + mL/fabs(mL)*dmLdR[iVar]); -// } -// } -// if (fabs(mR) <= 1.0) { -// for (iVar = 0; iVar < nVar; iVar++) { -// dmRMdR[iVar] = -0.5*(mR-1)*dmRdR[iVar]; -// dmRMdL[iVar] = -0.5*(mR-1)*dmRdL[iVar]; -// } -// } else { -// for (iVar = 0; iVar < nVar; iVar++) { -// dmRMdR[iVar] = 0.5*(dmRdR[iVar] - mR/fabs(mR)*dmRdR[iVar]); -// dmRMdL[iVar] = 0.5*(dmRdL[iVar] - mR/fabs(mR)*dmRdL[iVar]); -// } -// } -// -// /*--- Derivatives of numerical advection, mbLP & mbRM ---*/ -// if (mF >= 0) { -// dmbLPdL[iVar] = dmLPdL[iVar] + dmRMdL[iVar]*((1-w)*(1+fR)-fL); -// dmbLPdR[iVar] = dmLPdR[iVar] + dmRMdR[iVar]*((1-w)*(1+fR)-fL); -// dmbRMdR[iVar] = dmRMdR[iVar]*w*(1+fR); -// dmbRMdL[iVar] = dmRMdL[iVar]*w*(1+fR); -// } else { -// dmbLPdL[iVar] = dmLPdL[iVar]*w*(1+fL); -// dmbLPdR[iVar] = dmLPdR[iVar]*w*(1+fL); -// dmbRMdR[iVar] = dmRMdR[iVar] + dmLPdR[iVar]*((1-w)*(1+fL)+fL-fR); -// dmbRMdL[iVar] = dmRMdL[iVar] + dmLPdL[iVar]*((1-w)*(1+fL)+fL-fR); -// } -// -// /*--- Derivatives of pressure function ---*/ -// if (fabs(mL) <= 1.0) { -// fact = 0.5*(mL+1)*(2-mL) - 0.25*(mL+1)*(mL+1) -// + alpha*(mL*mL-1)*(mL*mL-1) + 4*alpha*mL*mL*(mL*mL-1); -// for (iVar = 0; iVar < nVar; iVar++) { -// dpLPdL[iVar] = dPdU_i[iVar]*pLP/P_i + P_i*fact*dmLdL[iVar]; -// dpLPdR[iVar] = P_i*fact*dmLdR[iVar]; -// } -// } else { -// for (iVar = 0; iVar < nVar; iVar++) { -// dpLPdL[iVar] = dPdU_i[iVar] * 0.5*(mL+fabs(mL))/mL; -// dpLPdR[iVar] = 0.0; -// } -// } -// if (fabs(mR) <= 1.0) { -// fact = 0.5*(mR-1)*(2+mR) + 0.25*(mR-1)*(mR-1) -// - alpha*(mR*mR-1)*(mR*mR-1) - 4*alpha*mR*mR*(mR*mR-1); -// for (iVar = 0; iVar < nVar; iVar++) { -// dpRMdR[iVar] = dPdU_j[iVar]*pRM/P_j + P_j*fact*dmRdR[iVar]; -// dpRMdL[iVar] = P_j*fact*dmRdL[iVar]; -// } -// } else { -// for (iVar = 0; iVar < nVar; iVar++) { -// dpRMdR[iVar] = dPdU_j[iVar] * 0.5*(mR+fabs(mR))/mR; -// dpRMdL[iVar] = 0.0; -// } -// } -// -// /*--- L Jacobian ---*/ -// for (iVar = 0; iVar < nVar; iVar++) { -// for (jVar = 0; jVar < nVar; jVar++) { -// val_Jacobian_i[iVar][jVar] += (dmbLPdL[jVar]*FcL[iVar] + dmbRMdL[jVar]*FcR[iVar])*aij*Area; -// val_Jacobian_i[iVar][jVar] += (mbLP*FcL[iVar] + mbRM*FcR[iVar])*daL[jVar]*Area; -// } -// val_Jacobian_i[iVar][iVar] += mbLP*aij*Area; -// val_Jacobian_i[nSpecies+nDim][iVar] += mbLP*aij*dPdU_i[iVar]*Area; -// -// // pressure terms -// for (iDim = 0; iDim < nDim; iDim++) { -// val_Jacobian_i[nSpecies+iDim][iVar] += dpLPdL[iVar]*UnitNormal[iDim]*Area; -// val_Jacobian_i[nSpecies+iDim][iVar] += dpRMdL[iVar]*UnitNormal[iDim]*Area; -// } -// } -// /*--- R Jacobian ---*/ -// for (iVar = 0; iVar < nVar; iVar++) { -// for (jVar = 0; jVar < nVar; jVar++) { -// val_Jacobian_j[iVar][jVar] += (dmbLPdR[jVar]*FcL[iVar] + dmbRMdR[jVar]*FcR[iVar])*aij*Area; -// val_Jacobian_j[iVar][jVar] += (mbLP*FcL[iVar] + mbRM*FcR[iVar])*daR[jVar]*Area; -// } -// val_Jacobian_j[iVar][iVar] += mbRM*aij*Area; -// val_Jacobian_j[nSpecies+nDim][iVar] += mbRM*aij*dPdU_j[iVar]*Area; -// -// // pressure terms -// for (iDim = 0; iDim < nDim; iDim++) { -// val_Jacobian_j[nSpecies+iDim][iVar] += dpLPdR[iVar]*UnitNormal[iDim]*Area; -// val_Jacobian_j[nSpecies+iDim][iVar] += dpRMdR[iVar]*UnitNormal[iDim]*Area; -// } -// } -// } - - return ResidualType<>(Flux, nullptr, nullptr); -} diff --git a/SU2_CFD/src/numerics/NEMO/convection/lax.cpp b/SU2_CFD/src/numerics/NEMO/convection/lax.cpp index 237e99e5696..bc70e7c9202 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/lax.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/lax.cpp @@ -82,9 +82,9 @@ CNumerics::ResidualType<> CCentLax_NEMO::ComputeResidual(const CConfig *config) UnitNormal[iDim] = Normal[iDim]/Area; /*--- Rename for convenience ---*/ - rho_i = V_i[RHO_INDEX]; rho_j = V_j[RHO_INDEX]; - h_i = V_i[H_INDEX]; h_j = V_j[H_INDEX]; - a_i = V_i[A_INDEX]; a_j = V_j[A_INDEX]; + Density_i = V_i[RHO_INDEX]; Density_j = V_j[RHO_INDEX]; + Enthalpy_i = V_i[H_INDEX]; Enthalpy_j = V_j[H_INDEX]; + SoundSpeed_i = V_i[A_INDEX]; SoundSpeed_j = V_j[A_INDEX]; /*--- Compute mean quantities for the variables ---*/ for (unsigned short iVar = 0; iVar < nVar; iVar++) @@ -109,12 +109,12 @@ CNumerics::ResidualType<> CCentLax_NEMO::ComputeResidual(const CConfig *config) } /*--- Compute the local spectral radius and the stretching factor ---*/ - su2double ProjVel_i = GeometryToolbox::DotProduct(nDim, &V_i[VEL_INDEX],Normal); - su2double ProjVel_j = GeometryToolbox::DotProduct(nDim, &V_j[VEL_INDEX],Normal); + ProjVelocity_i = GeometryToolbox::DotProduct(nDim, &V_i[VEL_INDEX],Normal); + ProjVelocity_j = GeometryToolbox::DotProduct(nDim, &V_j[VEL_INDEX],Normal); /*--- Dissipation --*/ - Local_Lambda_i = (fabs(ProjVel_i)+a_i*Area); - Local_Lambda_j = (fabs(ProjVel_j)+a_j*Area); + Local_Lambda_i = (fabs(ProjVelocity_i)+SoundSpeed_i*Area); + Local_Lambda_j = (fabs(ProjVelocity_j)+SoundSpeed_j*Area); MeanLambda = 0.5*(Local_Lambda_i+Local_Lambda_j); Phi_i = pow(Lambda_i/(4.0*MeanLambda+EPS),Param_p); @@ -124,7 +124,7 @@ CNumerics::ResidualType<> CCentLax_NEMO::ComputeResidual(const CConfig *config) /*--- Computes differences btw. conservative variables ---*/ for (unsigned short iVar = 0; iVar < nVar; iVar++) Diff_U[iVar] = U_i[iVar] - U_j[iVar]; - Diff_U[nSpecies+nDim] = rho_i*h_i - rho_j*h_j; + Diff_U[nSpecies+nDim] = Density_i*Enthalpy_i - Density_j*Enthalpy_j; /*--- Compute dissipation coefficient ---*/ sc0 = 3.0*(su2double(Neighbor_i)+su2double(Neighbor_j))/(su2double(Neighbor_i)*su2double(Neighbor_j)); diff --git a/SU2_CFD/src/numerics/NEMO/convection/msw.cpp b/SU2_CFD/src/numerics/NEMO/convection/msw.cpp index f77998fcdb8..6e997552af3 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/msw.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/msw.cpp @@ -28,10 +28,8 @@ #include "../../../../include/numerics/NEMO/convection/msw.hpp" #include "../../../../../Common/include/toolboxes/geometry_toolbox.hpp" -CUpwMSW_NEMO::CUpwMSW_NEMO(unsigned short val_nDim, - unsigned short val_nVar, - unsigned short val_nPrimVar, - unsigned short val_nPrimVarGrad, +CUpwMSW_NEMO::CUpwMSW_NEMO(unsigned short val_nDim, unsigned short val_nVar, + unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, CConfig *config) : CNEMONumerics(val_nDim, val_nVar, val_nPrimVar, val_nPrimVarGrad, config) { @@ -46,8 +44,6 @@ CUpwMSW_NEMO::CUpwMSW_NEMO(unsigned short val_nDim, rhos_j = new su2double [nSpecies]; rhosst_i = new su2double [nSpecies]; rhosst_j = new su2double [nSpecies]; - u_i = new su2double [nDim]; - u_j = new su2double [nDim]; ust_i = new su2double [nDim]; ust_j = new su2double [nDim]; Vst_i = new su2double [nPrimVar]; @@ -86,8 +82,6 @@ CUpwMSW_NEMO::~CUpwMSW_NEMO(void) { delete [] rhos_j; delete [] rhosst_i; delete [] rhosst_j; - delete [] u_i; - delete [] u_j; delete [] ust_i; delete [] ust_j; delete [] Ust_i; @@ -115,8 +109,8 @@ CUpwMSW_NEMO::~CUpwMSW_NEMO(void) { CNumerics::ResidualType<> CUpwMSW_NEMO::ComputeResidual(const CConfig *config) { /*--- Set parameters in the numerical method ---*/ - su2double alpha = 5.0; - su2double epsilon = 0.0; + const su2double alpha = 5.0; + const su2double epsilon = 0.0; /*--- Calculate supporting geometry parameters ---*/ Area = GeometryToolbox::Norm(nDim, Normal); @@ -144,19 +138,19 @@ CNumerics::ResidualType<> CUpwMSW_NEMO::ComputeResidual(const CConfig *config) { rhos_j[iSpecies] = V_j[RHOS_INDEX+iSpecies]; } for (unsigned short iDim = 0; iDim < nDim; iDim++) { - u_i[iDim] = V_i[VEL_INDEX+iDim]; - u_j[iDim] = V_j[VEL_INDEX+iDim]; + Velocity_i[iDim] = V_i[VEL_INDEX+iDim]; + Velocity_j[iDim] = V_j[VEL_INDEX+iDim]; } - P_i = V_i[P_INDEX]; - P_j = V_j[P_INDEX]; + Pressure_i = V_i[P_INDEX]; + Pressure_j = V_j[P_INDEX]; /*--- Calculate velocity quantities ---*/ - ProjVel_i = GeometryToolbox::DotProduct(nDim, u_i, UnitNormal); - ProjVel_j = GeometryToolbox::DotProduct(nDim, u_j, UnitNormal); + ProjVelocity_i = GeometryToolbox::DotProduct(nDim, Velocity_i, UnitNormal); + ProjVelocity_j = GeometryToolbox::DotProduct(nDim, Velocity_j, UnitNormal); /*--- Calculate the state weighting function ---*/ - su2double dp = fabs(P_j-P_i) / min(P_j,P_i); - su2double w = 0.5 * (1.0/(pow(alpha*dp,2.0) +1.0)); + su2double dp = fabs(Pressure_j-Pressure_i) / min(Pressure_j, Pressure_i); + su2double w = 0.5 * (1.0/(pow(alpha*dp,2.0) +1.0)); su2double onemw = 1.0 - w; /*--- Calculate weighted state vector (*) for i & j ---*/ @@ -168,8 +162,8 @@ CNumerics::ResidualType<> CUpwMSW_NEMO::ComputeResidual(const CConfig *config) { Vst_i[iVar] = onemw*V_i[iVar] + w*V_j[iVar]; Vst_j[iVar] = onemw*V_j[iVar] + w*V_i[iVar]; } - su2double ProjVelst_i = onemw*ProjVel_i + w*ProjVel_j; - su2double ProjVelst_j = onemw*ProjVel_j + w*ProjVel_i; + su2double ProjVelst_i = onemw*ProjVelocity_i + w*ProjVelocity_j; + su2double ProjVelst_j = onemw*ProjVelocity_j + w*ProjVelocity_i; const auto& eves_st_i = fluidmodel->ComputeSpeciesEve(Vst_i[TVE_INDEX]); const auto& eves_st_j = fluidmodel->ComputeSpeciesEve(Vst_j[TVE_INDEX]); diff --git a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp index 8e266e70182..e9026821d92 100644 --- a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp +++ b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp @@ -187,8 +187,6 @@ bool CNEMOEulerVariable::Cons2PrimVar(su2double *U, su2double *V, Tmin = 50.0; Tmax = 8E4; Tvemin = 50.0; Tvemax = 8E4; - if (U[nSpecies+nDim+1] <= 0) {U[nSpecies+nDim+1] = 0;} - /*--- Rename variables for convenience ---*/ su2double rhoE = U[nSpecies+nDim]; // Density * energy [J/m3] su2double rhoEve = U[nSpecies+nDim+1]; // Density * energy_ve [J/m3] diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 851cae80b5d..a572bacf550 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -43,28 +43,28 @@ def main(): ######################### # Adiabatic thermal bath - thermalbath = TestCase('thermalbath') - thermalbath.cfg_dir = "nonequilibrium/thermalbath/finitechemistry" - thermalbath.cfg_file = "thermalbath.cfg" + thermalbath = TestCase('thermalbath') + thermalbath.cfg_dir = "nonequilibrium/thermalbath/finitechemistry" + thermalbath.cfg_file = "thermalbath.cfg" thermalbath.test_iter = 10 thermalbath.test_vals = [0.945997, 0.945997, -12.039262, -12.171767, -32.000000, 10.013239] thermalbath.new_output = True test_list.append(thermalbath) # Adiabatic thermal bath - ionized = TestCase('ionized') - ionized.cfg_dir = "nonequilibrium/thermalbath/finitechemistry" - ionized.cfg_file = "weakly_ionized.cfg" + ionized = TestCase('ionized') + ionized.cfg_dir = "nonequilibrium/thermalbath/finitechemistry" + ionized.cfg_file = "weakly_ionized.cfg" ionized.test_iter = 10 - ionized.test_vals = [-29.806157, -11.130797, -11.337264, -17.235059, -17.578729, -15.190274, -25.013626, -32.000000, -5.174887, 0.000000, 0.000000] + ionized.test_vals = [-29.806157, -11.130797, -11.337264, -17.235059, -17.578729, -15.190274, -25.013626, -32.000000, -5.174887, 0.000000, 0.000000] ionized.test_vals_aarch64 = [-29.816386, -10.729986, -11.720016, -17.484469, -18.237891, -15.241605, -24.956918, -32.000000, -5.727244, 0.000000, 0.000000] ionized.new_output = True test_list.append(ionized) # Adiabatic frozen thermal bath - thermalbath_frozen = TestCase('thermalbath_frozen') - thermalbath_frozen.cfg_dir = "nonequilibrium/thermalbath/frozen" - thermalbath_frozen.cfg_file = "thermalbath_frozen.cfg" + thermalbath_frozen = TestCase('thermalbath_frozen') + thermalbath_frozen.cfg_dir = "nonequilibrium/thermalbath/frozen" + thermalbath_frozen.cfg_file = "thermalbath_frozen.cfg" thermalbath_frozen.test_iter = 10 thermalbath_frozen.test_vals = [-32.000000, -32.000000, -11.962477, -11.962477, -32.000000, 10.013545] thermalbath_frozen.new_output = True @@ -141,46 +141,46 @@ def main(): test_list.append(invwedge_ss_inlet) # Viscous single cone - axisymmetric - visc_cone = TestCase('visc_cone') - visc_cone.cfg_dir = "nonequilibrium/viscous" - visc_cone.cfg_file = "axi_visccone.cfg" + visc_cone = TestCase('visc_cone') + visc_cone.cfg_dir = "nonequilibrium/viscous" + visc_cone.cfg_file = "axi_visccone.cfg" visc_cone.test_iter = 10 - visc_cone.test_vals = [-5.222278, -5.746529, -20.569425, -20.633787, -20.547644, 1.255759, -3.208374, -0.016010, 0.093459, 32633.000000] + visc_cone.test_vals = [-5.222278, -5.746529, -20.569425, -20.633787, -20.547644, 1.255759, -3.208374, -0.016010, 0.093459, 32633.000000] visc_cone.test_vals_aarch64 = [-5.222267, -5.746522, -20.569408, -20.633783, -20.546393, 1.255761, -3.208360, -0.016014, 0.093462, 32634.000000] visc_cone.new_output = True test_list.append(visc_cone) # Viscous single wedge with Mutation++ - #viscwedge_mpp = TestCase('viscwedge_mpp') - #viscwedge_mpp.cfg_dir = "nonequilibrium/viscwedge_mpp" - #viscwedge_mpp.cfg_file = "viscwedge_mpp.cfg" + #viscwedge_mpp = TestCase('viscwedge_mpp') + #viscwedge_mpp.cfg_dir = "nonequilibrium/viscwedge_mpp" + #viscwedge_mpp.cfg_file = "viscwedge_mpp.cfg" #viscwedge_mpp.test_iter = 10 #viscwedge_mpp.test_vals = [-20.608474, -20.586446,-20.707524, -5.171304,-5.696067,-1.548350,-2.071211,2.231054,-2.545494] #viscwedge_mpp.new_output = True #test_list.append(viscwedge_mpp) # Viscous single wedge - super catalytic walls - super_cat = TestCase('super_cat') - super_cat.cfg_dir = "nonequilibrium/viscous" - super_cat.cfg_file = "super_cat.cfg" + super_cat = TestCase('super_cat') + super_cat.cfg_dir = "nonequilibrium/viscous" + super_cat.cfg_file = "super_cat.cfg" super_cat.test_iter = 10 super_cat.test_vals = [-5.232590, -5.757884, -20.727046, -20.748136, -20.564044, 1.246889, -3.205235, -0.028406, 0.250857, 3.2459e+04] - super_cat.su2_exec = "mpirun -n 2 SU2_CFD" - super_cat.timeout = 1600 + super_cat.su2_exec = "mpirun -n 2 SU2_CFD" + super_cat.timeout = 1600 super_cat.new_output = True - super_cat.tol = 0.00001 + super_cat.tol = 0.00001 test_list.append(super_cat) # Viscous single wedge - partially catalytic walls - partial_cat = TestCase('partial_cat') - partial_cat.cfg_dir = "nonequilibrium/viscous" - partial_cat.cfg_file = "partial_cat.cfg" + partial_cat = TestCase('partial_cat') + partial_cat.cfg_dir = "nonequilibrium/viscous" + partial_cat.cfg_file = "partial_cat.cfg" partial_cat.test_iter = 10 partial_cat.test_vals = [-5.210300, -5.735063, -20.880374, -20.825890, -23.475263, 1.806281, -2.813924, -0.078469, 0.496017, 2.9021e+04] - partial_cat.su2_exec = "mpirun -n 2 SU2_CFD" - partial_cat.timeout = 1600 + partial_cat.su2_exec = "mpirun -n 2 SU2_CFD" + partial_cat.timeout = 1600 partial_cat.new_output = True - partial_cat.tol = 0.00001 + partial_cat.tol = 0.00001 test_list.append(partial_cat) ########################## diff --git a/config_template.cfg b/config_template.cfg index eb8535f3378..127d8a445be 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -1253,7 +1253,7 @@ NEWTON_KRYLOV= NO % FEM numerical method (DG) NUM_METHOD_FEM_FLOW= DG % -% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, AUSMPW+, HLLC, VAN_LEER) +% Riemann solver used for DG (ROE, LAX-FRIEDRICH, AUSM, HLLC, VAN_LEER) RIEMANN_SOLVER_FEM= ROE % % Constant factor applied for quadrature with straight elements (2.0 by default) From 2f6c008480a09e9ff49961e2ae51e171414b31d7 Mon Sep 17 00:00:00 2001 From: WallyMaier Date: Fri, 3 Feb 2023 18:50:11 -0500 Subject: [PATCH 172/179] addressing PR comments, update regressions --- .../numerics/NEMO/convection/ausm_slau.cpp | 64 +++++++++---------- TestCases/parallel_regression.py | 12 ++-- TestCases/serial_regression.py | 20 +++--- 3 files changed, 45 insertions(+), 51 deletions(-) diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp index 0d0d6fd0c9b..738b3b91435 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp @@ -89,15 +89,9 @@ void CUpwAUSM_SLAU_Base_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double &interface_mach, su2double *interface_soundspeed) { - /*--- For schemes that fit in the general form of AUSM+up and SLAU schemes you can inherit from this class - and implement only the specifics, which should be the face mass flux (per unit area) and the face pressure. - For implicit solution methods this class can either approximate the flux Jacobians (using those of the Roe - scheme) or compute accurate ones. This is done either numerically, differentiating "mdot" and "pressure" - using 1st order finite differences, or analytically if you use this function to set the values of - "dmdot_dVi/j", "dpres_dVi/j" and set "HasAnalyticalDerivatives" to true in the ctor of the derived class. - For accurate numerical differentiation "mdot" and "pressure" can be functions of, at most, the velocities, - pressures, densities, and enthalpies at nodes i/j. This is also the order expected for the partial derivatives - of "mdot" and "pressure" in "d?_dVi/j" (in case they are known analytically, see the AUSM+up implementation). + /*--- For schemes that fit in the general form of Advection Upstream Splitting Method (AUSM) schemes you can inherit from this class + and implement only the specifics, which should be the face pressure flux(es), interface Mach number and the interface soundspeed(s). + For implicit solution methods this class will use the analytic AUSM Jacobians, until more variant Jacobians have been added. ---*/ } @@ -149,8 +143,8 @@ void CUpwAUSM_SLAU_Base_NEMO::ComputeJacobian(su2double **val_Jacobian_i, su2dou } /*--- Sound speed derivatives: Energy ---*/ - da_L[nSpecies+nDim] = 1.0/(2.0*Density_i*SoundSpeed_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim]); - da_R[nSpecies+nDim] = 1.0/(2.0*Density_j*SoundSpeed_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim]); + da_L[nSpecies+nDim] = 1.0/(2.0*Density_i*SoundSpeed_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim]); + da_R[nSpecies+nDim] = 1.0/(2.0*Density_j*SoundSpeed_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim]); /*--- Sound speed derivatives: Vib-el energy ---*/ da_L[nSpecies+nDim+1] = 1.0/(2.0*Density_i*SoundSpeed_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim+1]); @@ -187,34 +181,34 @@ void CUpwAUSM_SLAU_Base_NEMO::ComputeJacobian(su2double **val_Jacobian_i, su2dou /*--- Mach number ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dM_LP[iSpecies] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(Density_i*SoundSpeed_i) - ProjVelocity_i*da_L[iSpecies]/(SoundSpeed_i*SoundSpeed_i)); + dM_LP[iSpecies] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(Density_i*SoundSpeed_i) - ProjVelocity_i*da_L[iSpecies]/(pow(SoundSpeed_i,2))); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dM_LP[nSpecies+iDim] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+iDim] + UnitNormal[iDim]/(Density_i*SoundSpeed_i)); - dM_LP[nSpecies+nDim] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim]); - dM_LP[nSpecies+nDim+1] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim+1]); + dM_LP[nSpecies+iDim] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+iDim] + UnitNormal[iDim]/(Density_i*SoundSpeed_i)); + dM_LP[nSpecies+nDim] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim]); + dM_LP[nSpecies+nDim+1] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim+1]); /*--- Pressure ---*/ for(unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) dP_LP[iSpecies] = 0.25*(M_L+1.0) * (dPdU_i[iSpecies]*(M_L+1.0)*(2.0-M_L) + Pressure_i*(-ProjVelocity_i/(Density_i*SoundSpeed_i) - - ProjVelocity_i*da_L[iSpecies]/(SoundSpeed_i*SoundSpeed_i))*(3.0-3.0*M_L)); + - ProjVelocity_i*da_L[iSpecies]/(pow(SoundSpeed_i,2)))*(3.0-3.0*M_L)); for (unsigned short iDim = 0; iDim < nDim; iDim++) dP_LP[nSpecies+iDim] = 0.25*(M_L+1.0) * (-Velocity_i[iDim]*dPdU_i[nSpecies+nDim]*(M_L+1.0)*(2.0-M_L) - + Pressure_i*( -ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+iDim] + + Pressure_i*( -ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+iDim] + UnitNormal[iDim]/(Density_i*SoundSpeed_i))*(3.0-3.0*M_L)); dP_LP[nSpecies+nDim] = 0.25*(M_L+1.0) * (dPdU_i[nSpecies+nDim]*(M_L+1.0)*(2.0-M_L) - + Pressure_i*(-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim])*(3.0-3.0*M_L)); + + Pressure_i*(-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim])*(3.0-3.0*M_L)); dP_LP[nSpecies+nDim+1] = 0.25*(M_L+1.0) * (dPdU_i[nSpecies+nDim+1]*(M_L+1.0)*(2.0-M_L) - + Pressure_i*(-ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim+1])*(3.0-3.0*M_L)); + + Pressure_i*(-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim+1])*(3.0-3.0*M_L)); } else { /*--- Mach number ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dM_LP[iSpecies] = -ProjVelocity_i/(Density_i*SoundSpeed_i) - ProjVelocity_i*da_L[iSpecies]/(SoundSpeed_i*SoundSpeed_i); + dM_LP[iSpecies] = -ProjVelocity_i/(Density_i*SoundSpeed_i) - ProjVelocity_i*da_L[iSpecies]/(pow(SoundSpeed_i,2)); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dM_LP[nSpecies+iDim] = -ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+iDim] + UnitNormal[iDim]/(Density_i*SoundSpeed_i); - dM_LP[nSpecies+nDim] = -ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim]; - dM_LP[nSpecies+nDim+1] = -ProjVelocity_i/(SoundSpeed_i*SoundSpeed_i) * da_L[nSpecies+nDim+1]; + dM_LP[nSpecies+iDim] = -ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+iDim] + UnitNormal[iDim]/(Density_i*SoundSpeed_i); + dM_LP[nSpecies+nDim] = -ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim]; + dM_LP[nSpecies+nDim+1] = -ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim+1]; /*--- Pressure ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) @@ -270,35 +264,35 @@ void CUpwAUSM_SLAU_Base_NEMO::ComputeJacobian(su2double **val_Jacobian_i, su2dou /*--- Mach ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dM_RM[iSpecies] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(Density_j*SoundSpeed_j) - ProjVelocity_j*da_R[iSpecies]/(SoundSpeed_j*SoundSpeed_j)); + dM_RM[iSpecies] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(Density_j*SoundSpeed_j) - ProjVelocity_j*da_R[iSpecies]/(pow(SoundSpeed_j,2))); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dM_RM[nSpecies+iDim] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+iDim] + UnitNormal[iDim]/(Density_j*SoundSpeed_j)); - dM_RM[nSpecies+nDim] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+nDim]); - dM_RM[nSpecies+nDim+1] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+nDim+1]); + dM_RM[nSpecies+iDim] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+iDim] + UnitNormal[iDim]/(Density_j*SoundSpeed_j)); + dM_RM[nSpecies+nDim] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+nDim]); + dM_RM[nSpecies+nDim+1] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+nDim+1]); /*--- Pressure ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) dP_RM[iSpecies] = 0.25*(M_R-1.0) * (dPdU_j[iSpecies]*(M_R-1.0)*(2.0+M_R) + Pressure_j*(-ProjVelocity_j/(Density_j*SoundSpeed_j) - -ProjVelocity_j*da_R[iSpecies]/(SoundSpeed_j*SoundSpeed_j))*(3.0+3.0*M_R)); + -ProjVelocity_j*da_R[iSpecies]/(pow(SoundSpeed_j,2)))*(3.0+3.0*M_R)); for (unsigned short iDim = 0; iDim < nDim; iDim++) dP_RM[nSpecies+iDim] = 0.25*(M_R-1.0) * ((-Velocity_j[iDim]*dPdU_j[nSpecies+nDim])*(M_R-1.0)*(2.0+M_R) - + Pressure_j*( -ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+iDim] + + Pressure_j*( -ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+iDim] + UnitNormal[iDim]/(Density_j*SoundSpeed_j))*(3.0+3.0*M_R)); dP_RM[nSpecies+nDim] = 0.25*(M_R-1.0) * (dPdU_j[nSpecies+nDim]*(M_R-1.0)*(2.0+M_R) - + Pressure_j*(-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j)*da_R[nSpecies+nDim])*(3.0+3.0*M_R)); + + Pressure_j*(-ProjVelocity_j/(pow(SoundSpeed_j,2))*da_R[nSpecies+nDim])*(3.0+3.0*M_R)); dP_RM[nSpecies+nDim+1] = 0.25*(M_R-1.0) * (dPdU_j[nSpecies+nDim+1]*(M_R-1.0)*(2.0+M_R) - + Pressure_j*(-ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j)*da_R[nSpecies+nDim+1])*(3.0+3.0*M_R)); + + Pressure_j*(-ProjVelocity_j/(pow(SoundSpeed_j,2))*da_R[nSpecies+nDim+1])*(3.0+3.0*M_R)); } else { /*--- Mach ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dM_RM[iSpecies] = -ProjVelocity_j/(Density_j*SoundSpeed_j) - ProjVelocity_j*da_R[iSpecies]/(SoundSpeed_j*SoundSpeed_j); + dM_RM[iSpecies] = -ProjVelocity_j/(Density_j*SoundSpeed_j) - ProjVelocity_j*da_R[iSpecies]/(pow(SoundSpeed_j,2)); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dM_RM[nSpecies+iDim] = -ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+iDim] + UnitNormal[iDim]/(Density_j*SoundSpeed_j); - dM_RM[nSpecies+nDim] = -ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+nDim]; - dM_RM[nSpecies+nDim+1] = -ProjVelocity_j/(SoundSpeed_j*SoundSpeed_j) * da_R[nSpecies+nDim+1]; + dM_RM[nSpecies+iDim] = -ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+iDim] + UnitNormal[iDim]/(Density_j*SoundSpeed_j); + dM_RM[nSpecies+nDim] = -ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+nDim]; + dM_RM[nSpecies+nDim+1] = -ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+nDim+1]; /*--- Pressure ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index a572bacf550..2844ed7734c 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -75,8 +75,8 @@ def main(): invwedge_a.cfg_dir = "nonequilibrium/invwedge" invwedge_a.cfg_file = "invwedge_ausm.cfg" invwedge_a.test_iter = 10 - invwedge_a.test_vals = [-1.042842, -1.567605, -18.300680, -18.628055, -18.574084, 2.275192, 1.879772, 5.319421, 0.873699] - invwedge_a.test_vals_aarch64 = [-1.042842, -1.567605, -18.300025, -18.627409, -18.573428, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_a.test_vals = [-1.042842, -1.567605, -18.301264, -18.628631, -18.574668, 2.275192, 1.879772, 5.319421, 0.873699] + invwedge_a.test_vals_aarch64 = [-1.042842, -1.567605, -18.301264, -18.628631, -18.574668, 2.275192, 1.879772, 5.319421, 0.873699] invwedge_a.new_output = True test_list.append(invwedge_a) @@ -125,8 +125,8 @@ def main(): invwedge_ausm_m.cfg_dir = "nonequilibrium/invwedge" invwedge_ausm_m.cfg_file = "invwedge_am.cfg" invwedge_ausm_m.test_iter = 10 - invwedge_ausm_m.test_vals = [-1.049631, -1.574394, -16.739725, -17.063619, -17.012831, 2.273504, 1.803327, 5.308213, 0.861629] - invwedge_ausm_m.test_vals_aarch64 = [-1.049631, -1.574394, -16.739725, -17.063619, -17.012831, 2.273504, 1.803327, 5.308213, 0.861629] + invwedge_ausm_m.test_vals = [-1.055083, -1.579845, -16.739725, -17.063618, -17.012831, 2.265430, 1.797602, 5.302740, 0.85654] + invwedge_ausm_m.test_vals_aarch64 = [-1.055083, -1.579845, -16.739725, -17.063618, -17.012831, 2.265430, 1.797602, 5.302740, 0.85654] invwedge_ausm_m.new_output = True test_list.append(invwedge_ausm_m) @@ -145,8 +145,8 @@ def main(): visc_cone.cfg_dir = "nonequilibrium/viscous" visc_cone.cfg_file = "axi_visccone.cfg" visc_cone.test_iter = 10 - visc_cone.test_vals = [-5.222278, -5.746529, -20.569425, -20.633787, -20.547644, 1.255759, -3.208374, -0.016010, 0.093459, 32633.000000] - visc_cone.test_vals_aarch64 = [-5.222267, -5.746522, -20.569408, -20.633783, -20.546393, 1.255761, -3.208360, -0.016014, 0.093462, 32634.000000] + visc_cone.test_vals = [-5.222212, -5.746462, -20.569425, -20.633786, -20.547642, 1.255865, -3.208363, -0.016006, 0.093455, 32633.000000] + visc_cone.test_vals_aarch64 = [-5.222212, -5.746462, -20.569425, -20.633786, -20.547642, 1.255865, -3.208363, -0.016006, 0.093455, 32633.000000] visc_cone.new_output = True test_list.append(visc_cone) diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 1c3dc9c6994..d6c53baf97d 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -59,22 +59,22 @@ def main(): test_list.append(thermalbath_frozen) # Inviscid single wedge, implicit - invwedge = TestCase('invwedge') - invwedge.cfg_dir = "nonequilibrium/invwedge" - invwedge.cfg_file = "invwedge_ausm.cfg" + invwedge = TestCase('invwedge') + invwedge.cfg_dir = "nonequilibrium/invwedge" + invwedge.cfg_file = "invwedge_ausm.cfg" invwedge.test_iter = 10 - invwedge.test_vals = [-1.046323, -1.571086, -18.300667, -18.628064, -18.574092, 2.271778, 1.875687, 5.315769, 0.870008] - invwedge.test_vals_aarch64 = [-1.046323, -1.571086, -18.300012, -18.627418, -18.573436, 2.271778, 1.875687, 5.315769, 0.870008] + invwedge.test_vals = [-1.046323, -1.571086, -18.300667, -18.628064, -18.574092, 2.271778, 1.875687, 5.315769, 0.870008] + invwedge.test_vals_aarch64 = [-1.046323, -1.571086, -18.300667, -18.628064, -18.574092, 2.271778, 1.875687, 5.315769, 0.870008] invwedge.new_output = True test_list.append(invwedge) # Viscous single cone - axisymmetric - visc_cone = TestCase('visc_cone') - visc_cone.cfg_dir = "nonequilibrium/viscous" - visc_cone.cfg_file = "axi_visccone.cfg" + visc_cone = TestCase('visc_cone') + visc_cone.cfg_dir = "nonequilibrium/viscous" + visc_cone.cfg_file = "axi_visccone.cfg" visc_cone.test_iter = 10 - visc_cone.test_vals = [-5.215229, -5.739368, -20.545048, -20.618699, -20.502531, 1.262784, -3.205454, -0.015696, 0.093207, 32656.000000] - visc_cone.test_vals_aarch64 = [-5.215236, -5.739371, -20.545048, -20.618697, -20.501528, 1.262783, -3.205463, -0.015695, 0.093205, 32656.000000] + visc_cone.test_vals = [-5.215229, -5.739368, -20.545048, -20.618699, -20.502531, 1.262784, -3.205454, -0.015696, 0.093207, 32656.000000] + visc_cone.test_vals_aarch64 = [-5.215229, -5.739368, -20.545048, -20.618699, -20.502531, 1.262784, -3.205454, -0.015696, 0.093207, 32656.000000] visc_cone.new_output = True test_list.append(visc_cone) From d90e08da88b8e443b57fef92644f3d9843ce224f Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sat, 4 Feb 2023 14:43:39 -0800 Subject: [PATCH 173/179] clang-format --- .../numerics/NEMO/convection/ausm_slau.hpp | 82 +-- .../numerics/NEMO/convection/ausm_slau.cpp | 593 +++++++++--------- TestCases/serial_regression.py | 2 +- 3 files changed, 338 insertions(+), 339 deletions(-) diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp index 8741524a74a..75523a2a195 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -36,11 +36,10 @@ * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz */ class CUpwAUSM_SLAU_Base_NEMO : public CNEMONumerics { -protected: - - su2double A_F[2] = {0.0}, PressureFlux[MAXNDIM]={0.0}; + protected: + su2double A_F[2] = {0.0}, PressureFlux[MAXNDIM] = {0.0}; su2double M_L, M_R, M_F; - + su2double* Fc_L = nullptr; su2double* Fc_R = nullptr; su2double* Fc_LR = nullptr; @@ -62,20 +61,18 @@ class CUpwAUSM_SLAU_Base_NEMO : public CNEMONumerics { * \param[out] interface_mach - The interface Mach number M_(1/2). * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). */ - virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, - su2double &interface_mach, - su2double *interface_soundspeed) = 0; + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double* pressure, su2double& interface_mach, + su2double* interface_soundspeed) = 0; -private: + private: /*! * \brief Compute the flux Jacobians of the AUSM scheme to use as an approximation. * \param[out] val_Jacobian_i - Jacobian of the numerical method at node i (implicit computation). * \param[out] val_Jacobian_j - Jacobian of the numerical method at node j (implicit computation). */ - void ComputeJacobian(su2double **val_Jacobian_i, su2double **val_Jacobian_j); - -public: + void ComputeJacobian(su2double** val_Jacobian_i, su2double** val_Jacobian_j); + public: /*! * \brief Constructor of the class. * \param[in] val_nDim - Number of dimension of the problem. @@ -84,9 +81,8 @@ class CUpwAUSM_SLAU_Base_NEMO : public CNEMONumerics { * \param[in] val_nPrimVarGrad - Number of primitive gradient variables of the problem. * \param[in] config - Definition of the particular problem. */ - CUpwAUSM_SLAU_Base_NEMO(unsigned short val_nDim, unsigned short val_nVar, - unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, - const CConfig* config); + CUpwAUSM_SLAU_Base_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, + unsigned short val_nPrimVarGrad, const CConfig* config); /*! * \brief Destructor of the class. @@ -99,7 +95,6 @@ class CUpwAUSM_SLAU_Base_NEMO : public CNEMONumerics { * \return A lightweight const-view (read-only) of the residual/flux and Jacobians. */ ResidualType<> ComputeResidual(const CConfig* config) final; - }; /*! @@ -109,8 +104,7 @@ class CUpwAUSM_SLAU_Base_NEMO : public CNEMONumerics { * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz */ class CUpwAUSM_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { -private: - + private: /*! * \brief Compute the interface Mach number, soundspeeds and pressure for AUSM scheme. * \param[in] config - Definition of the particular problem. @@ -118,11 +112,10 @@ class CUpwAUSM_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { * \param[out] interface_mach - The interface Mach number M_(1/2). * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). */ - virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, - su2double &interface_mach, - su2double *interface_soundspeed) override; -public: + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double* pressure, su2double& interface_mach, + su2double* interface_soundspeed) override; + public: /*! * \brief Constructor of the class. * \param[in] val_nDim - Number of dimensions of the problem. @@ -131,20 +124,17 @@ class CUpwAUSM_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { * \param[in] val_nPrimVarGrad - Number of grad primitive variables of the problem * \param[in] config - Definition of the particular problem. */ - CUpwAUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, + CUpwAUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, const CConfig* config); - }; /*! * \class CUpwAUSMPLUSM_NEMO - * \brief Class for solving an approximate Riemann AUSM+ M, Two-Temperature Model. https://doi.org/10.1016/j.apm.2019.09.005 - * \ingroup ConvDiscr - * \author F. Morgado + * \brief Class for solving an approximate Riemann AUSM+ M, Two-Temperature Model. + * https://doi.org/10.1016/j.apm.2019.09.005 \ingroup ConvDiscr \author F. Morgado */ class CUpwAUSMPLUSM_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { private: - su2double beta; /*! @@ -154,9 +144,9 @@ class CUpwAUSMPLUSM_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { * \param[out] interface_mach - The interface Mach number M_(1/2). * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). */ - virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, - su2double &interface_mach, - su2double *interface_soundspeed) override; + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double* pressure, su2double& interface_mach, + su2double* interface_soundspeed) override; + public: /*! * \brief Constructor of the class. @@ -168,18 +158,15 @@ class CUpwAUSMPLUSM_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { */ CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, const CConfig* config); - }; /*! * \class CUpwAUSMPLUSUP2_NEMO - * \brief Class for solving an approximate Riemann AUSM+-up2, Two-Temperature Model. https://doi.org/10.1016/j.jcp.2013.02.046 - * \ingroup ConvDiscr - * \author W. Maier, A. Sachedeva, C. Garbacz + * \brief Class for solving an approximate Riemann AUSM+-up2, Two-Temperature Model. + * https://doi.org/10.1016/j.jcp.2013.02.046 \ingroup ConvDiscr \author W. Maier, A. Sachedeva, C. Garbacz */ class CUpwAUSMPLUSUP2_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { -private: - + private: su2double Kp, Ku, sigma; /*! @@ -189,12 +176,10 @@ class CUpwAUSMPLUSUP2_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { * \param[out] interface_mach - The interface Mach number M_(1/2). * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). */ - virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, - su2double &interface_mach, - su2double *interface_soundspeed) override; - -public: + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double* pressure, su2double& interface_mach, + su2double* interface_soundspeed) override; + public: /*! * \brief Constructor of the class. * \param[in] val_nDim - Number of dimensions of the problem. @@ -205,7 +190,6 @@ class CUpwAUSMPLUSUP2_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { */ CUpwAUSMPLUSUP2_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, const CConfig* config); - }; /*! @@ -215,8 +199,7 @@ class CUpwAUSMPLUSUP2_NEMO final : public CUpwAUSM_SLAU_Base_NEMO { * \author F. Palacios, W.Maier, C. Garbacz */ class CUpwAUSMPWplus_NEMO : public CUpwAUSM_SLAU_Base_NEMO { -private: - + private: su2double alpha; /*! @@ -226,12 +209,10 @@ class CUpwAUSMPWplus_NEMO : public CUpwAUSM_SLAU_Base_NEMO { * \param[out] interface_mach - The interface Mach number M_(1/2). * \param[out] interface_soundspeed - The interface soundspeed (vector for i and j faces if necessary). */ - virtual void ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, - su2double &interface_mach, - su2double *interface_soundspeed) override; - -public: + virtual void ComputeInterfaceQuantities(const CConfig* config, su2double* pressure, su2double& interface_mach, + su2double* interface_soundspeed) override; + public: /*! * \brief Constructor of the class. * \param[in] val_nDim - Number of dimensions of the problem. @@ -242,5 +223,4 @@ class CUpwAUSMPWplus_NEMO : public CUpwAUSM_SLAU_Base_NEMO { */ CUpwAUSMPWplus_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, const CConfig* config); - }; diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp index 738b3b91435..5d29543667a 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -26,81 +26,74 @@ */ #include "../../../../include/numerics/NEMO/convection/ausm_slau.hpp" + #include "../../../../../Common/include/toolboxes/geometry_toolbox.hpp" CUpwAUSM_SLAU_Base_NEMO::CUpwAUSM_SLAU_Base_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, - const CConfig* config) : - CNEMONumerics(val_nDim, val_nVar, val_nPrimVar, - val_nPrimVarGrad, config) { - + const CConfig* config) + : CNEMONumerics(val_nDim, val_nVar, val_nPrimVar, val_nPrimVarGrad, config) { if (config->GetDynamic_Grid() && (SU2_MPI::GetRank() == MASTER_NODE)) cout << "WARNING: Grid velocities are NOT yet considered in AUSM-type schemes." << endl; implicit = (config->GetKind_TimeIntScheme_Flow() == EULER_IMPLICIT); - rhos_i = new su2double [nSpecies]; - rhos_j = new su2double [nSpecies]; - - Fc_L = new su2double [nVar]; - Fc_R = new su2double [nVar]; - dM_LP = new su2double [nVar]; - dM_RM = new su2double [nVar]; - dP_LP = new su2double [nVar]; - dP_RM = new su2double [nVar]; - da_L = new su2double [nVar]; - da_R = new su2double [nVar]; - - Flux = new su2double [nVar]; - Jacobian_i = new su2double* [nVar]; - Jacobian_j = new su2double* [nVar]; + rhos_i = new su2double[nSpecies]; + rhos_j = new su2double[nSpecies]; + + Fc_L = new su2double[nVar]; + Fc_R = new su2double[nVar]; + dM_LP = new su2double[nVar]; + dM_RM = new su2double[nVar]; + dP_LP = new su2double[nVar]; + dP_RM = new su2double[nVar]; + da_L = new su2double[nVar]; + da_R = new su2double[nVar]; + + Flux = new su2double[nVar]; + Jacobian_i = new su2double*[nVar]; + Jacobian_j = new su2double*[nVar]; for (unsigned short iVar = 0; iVar < nVar; iVar++) { - Jacobian_i[iVar] = new su2double [nVar]; - Jacobian_j[iVar] = new su2double [nVar]; + Jacobian_i[iVar] = new su2double[nVar]; + Jacobian_j[iVar] = new su2double[nVar]; } - } CUpwAUSM_SLAU_Base_NEMO::~CUpwAUSM_SLAU_Base_NEMO(void) { - - delete [] rhos_i; - delete [] rhos_j; - - delete [] Fc_L; - delete [] Fc_R; - delete [] dM_LP; - delete [] dM_RM; - delete [] dP_LP; - delete [] dP_RM; - delete [] da_L; - delete [] da_R; - - delete [] Flux; + delete[] rhos_i; + delete[] rhos_j; + + delete[] Fc_L; + delete[] Fc_R; + delete[] dM_LP; + delete[] dM_RM; + delete[] dP_LP; + delete[] dP_RM; + delete[] da_L; + delete[] da_R; + + delete[] Flux; for (unsigned short iVar = 0; iVar < nVar; iVar++) { - delete [] Jacobian_i[iVar]; - delete [] Jacobian_j[iVar]; + delete[] Jacobian_i[iVar]; + delete[] Jacobian_j[iVar]; } - delete [] Jacobian_i; - delete [] Jacobian_j; - + delete[] Jacobian_i; + delete[] Jacobian_j; } -void CUpwAUSM_SLAU_Base_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, - su2double &interface_mach, - su2double *interface_soundspeed) { - - /*--- For schemes that fit in the general form of Advection Upstream Splitting Method (AUSM) schemes you can inherit from this class - and implement only the specifics, which should be the face pressure flux(es), interface Mach number and the interface soundspeed(s). - For implicit solution methods this class will use the analytic AUSM Jacobians, until more variant Jacobians have been added. +void CUpwAUSM_SLAU_Base_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double* pressure, + su2double& interface_mach, su2double* interface_soundspeed) { + /*--- For schemes that fit in the general form of Advection Upstream Splitting Method (AUSM) schemes you can inherit + from this class and implement only the specifics, which should be the face pressure flux(es), interface Mach number + and the interface soundspeed(s). For implicit solution methods this class will use the analytic AUSM Jacobians, until + more variant Jacobians have been added. ---*/ - } -void CUpwAUSM_SLAU_Base_NEMO::ComputeJacobian(su2double **val_Jacobian_i, su2double **val_Jacobian_j) { - +void CUpwAUSM_SLAU_Base_NEMO::ComputeJacobian(su2double** val_Jacobian_i, su2double** val_Jacobian_j) { const auto& Ms = fluidmodel->GetSpeciesMolarMass(); const auto& Cvtr = fluidmodel->GetSpeciesCvTraRot(); - const su2double Ru = 1000.0*UNIVERSAL_GAS_CONSTANT; + const su2double Ru = 1000.0 * UNIVERSAL_GAS_CONSTANT; rhoCvtr_i = V_i[RHOCVTR_INDEX]; rhoCvtr_j = V_j[RHOCVTR_INDEX]; @@ -113,207 +106,258 @@ void CUpwAUSM_SLAU_Base_NEMO::ComputeJacobian(su2double **val_Jacobian_i, su2dou } /*--- Determine proper flux and soundspeed ---*/ - if (M_F >= 0.0) Fc_LR = Fc_L; - else Fc_LR = Fc_R; - + if (M_F >= 0.0) + Fc_LR = Fc_L; + else + Fc_LR = Fc_R; + su2double A_LR = 0; - if (M_F >= 0.0) A_LR = A_F[0]; - else A_LR = A_F[1]; + if (M_F >= 0.0) + A_LR = A_F[0]; + else + A_LR = A_F[1]; /*--- Sound speed derivatives: Species density ---*/ // Electrons only for (unsigned short iSpecies = 0; iSpecies < nEl; iSpecies++) { - da_L[iSpecies] = 1.0/(2.0*SoundSpeed_i*Density_i) * (1+dPdU_i[nSpecies+nDim])*(dPdU_i[iSpecies] - Pressure_i/Density_i); - da_R[iSpecies] = 1.0/(2.0*SoundSpeed_j*Density_j) * (1+dPdU_j[nSpecies+nDim])*(dPdU_j[iSpecies] - Pressure_j/Density_j); + da_L[iSpecies] = 1.0 / (2.0 * SoundSpeed_i * Density_i) * (1 + dPdU_i[nSpecies + nDim]) * + (dPdU_i[iSpecies] - Pressure_i / Density_i); + da_R[iSpecies] = 1.0 / (2.0 * SoundSpeed_j * Density_j) * (1 + dPdU_j[nSpecies + nDim]) * + (dPdU_j[iSpecies] - Pressure_j / Density_j); } // Heavy species for (unsigned short iSpecies = nEl; iSpecies < nSpecies; iSpecies++) { - da_L[iSpecies] = 1.0/(2.0*SoundSpeed_i) * (1/rhoCvtr_i*(Ru/Ms[iSpecies] - Cvtr[iSpecies]*dPdU_i[nSpecies+nDim])*Pressure_i/Density_i - + 1.0/Density_i*(1.0+dPdU_i[nSpecies+nDim])*(dPdU_i[iSpecies] - Pressure_i/Density_i)); - da_R[iSpecies] = 1.0/(2.0*SoundSpeed_j) * (1/rhoCvtr_j*(Ru/Ms[iSpecies] - Cvtr[iSpecies]*dPdU_j[nSpecies+nDim])*Pressure_j/Density_j - + 1.0/Density_j*(1.0+dPdU_j[nSpecies+nDim])*(dPdU_j[iSpecies] - Pressure_j/Density_j)); + da_L[iSpecies] = + 1.0 / (2.0 * SoundSpeed_i) * + (1 / rhoCvtr_i * (Ru / Ms[iSpecies] - Cvtr[iSpecies] * dPdU_i[nSpecies + nDim]) * Pressure_i / Density_i + + 1.0 / Density_i * (1.0 + dPdU_i[nSpecies + nDim]) * (dPdU_i[iSpecies] - Pressure_i / Density_i)); + da_R[iSpecies] = + 1.0 / (2.0 * SoundSpeed_j) * + (1 / rhoCvtr_j * (Ru / Ms[iSpecies] - Cvtr[iSpecies] * dPdU_j[nSpecies + nDim]) * Pressure_j / Density_j + + 1.0 / Density_j * (1.0 + dPdU_j[nSpecies + nDim]) * (dPdU_j[iSpecies] - Pressure_j / Density_j)); } /*--- Sound speed derivatives: Momentum ---*/ for (unsigned short iDim = 0; iDim < nDim; iDim++) { - da_L[nSpecies+iDim] = -1.0/(2.0*Density_i*SoundSpeed_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim])*Velocity_i[iDim]; - da_R[nSpecies+iDim] = -1.0/(2.0*Density_j*SoundSpeed_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim])*Velocity_j[iDim]; + da_L[nSpecies + iDim] = -1.0 / (2.0 * Density_i * SoundSpeed_i) * + ((1.0 + dPdU_i[nSpecies + nDim]) * dPdU_i[nSpecies + nDim]) * Velocity_i[iDim]; + da_R[nSpecies + iDim] = -1.0 / (2.0 * Density_j * SoundSpeed_j) * + ((1.0 + dPdU_j[nSpecies + nDim]) * dPdU_j[nSpecies + nDim]) * Velocity_j[iDim]; } /*--- Sound speed derivatives: Energy ---*/ - da_L[nSpecies+nDim] = 1.0/(2.0*Density_i*SoundSpeed_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim]); - da_R[nSpecies+nDim] = 1.0/(2.0*Density_j*SoundSpeed_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim]); + da_L[nSpecies + nDim] = + 1.0 / (2.0 * Density_i * SoundSpeed_i) * ((1.0 + dPdU_i[nSpecies + nDim]) * dPdU_i[nSpecies + nDim]); + da_R[nSpecies + nDim] = + 1.0 / (2.0 * Density_j * SoundSpeed_j) * ((1.0 + dPdU_j[nSpecies + nDim]) * dPdU_j[nSpecies + nDim]); /*--- Sound speed derivatives: Vib-el energy ---*/ - da_L[nSpecies+nDim+1] = 1.0/(2.0*Density_i*SoundSpeed_i) * ((1.0+dPdU_i[nSpecies+nDim])*dPdU_i[nSpecies+nDim+1]); - da_R[nSpecies+nDim+1] = 1.0/(2.0*Density_j*SoundSpeed_j) * ((1.0+dPdU_j[nSpecies+nDim])*dPdU_j[nSpecies+nDim+1]); + da_L[nSpecies + nDim + 1] = + 1.0 / (2.0 * Density_i * SoundSpeed_i) * ((1.0 + dPdU_i[nSpecies + nDim]) * dPdU_i[nSpecies + nDim + 1]); + da_R[nSpecies + nDim + 1] = + 1.0 / (2.0 * Density_j * SoundSpeed_j) * ((1.0 + dPdU_j[nSpecies + nDim]) * dPdU_j[nSpecies + nDim + 1]); /*--- Left state Jacobian ---*/ if (M_F >= 0) { - /*--- Jacobian contribution: dFc terms ---*/ - for (auto iVar = 0u; iVar < nSpecies+nDim; iVar++) { + for (auto iVar = 0u; iVar < nSpecies + nDim; iVar++) { for (unsigned short jVar = 0; jVar < nVar; jVar++) { Jacobian_i[iVar][jVar] += M_F * Fc_L[iVar] * da_L[jVar]; } Jacobian_i[iVar][iVar] += M_F * SoundSpeed_i; } for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - Jacobian_i[nSpecies+nDim][iSpecies] += M_F * (dPdU_i[iSpecies]*SoundSpeed_i + Density_i*Enthalpy_i*da_L[iSpecies]); + Jacobian_i[nSpecies + nDim][iSpecies] += + M_F * (dPdU_i[iSpecies] * SoundSpeed_i + Density_i * Enthalpy_i * da_L[iSpecies]); } for (unsigned short iDim = 0; iDim < nDim; iDim++) { - Jacobian_i[nSpecies+nDim][nSpecies+iDim] += M_F * (-dPdU_i[nSpecies+nDim]*Velocity_i[iDim]*SoundSpeed_i + Density_i*Enthalpy_i*da_L[nSpecies+iDim]); + Jacobian_i[nSpecies + nDim][nSpecies + iDim] += + M_F * + (-dPdU_i[nSpecies + nDim] * Velocity_i[iDim] * SoundSpeed_i + Density_i * Enthalpy_i * da_L[nSpecies + iDim]); } - Jacobian_i[nSpecies+nDim][nSpecies+nDim] += M_F * ((1.0+dPdU_i[nSpecies+nDim])*SoundSpeed_i + Density_i*Enthalpy_i*da_L[nSpecies+nDim]); - Jacobian_i[nSpecies+nDim][nSpecies+nDim+1] += M_F * (dPdU_i[nSpecies+nDim+1]*SoundSpeed_i + Density_i*Enthalpy_i*da_L[nSpecies+nDim+1]); + Jacobian_i[nSpecies + nDim][nSpecies + nDim] += + M_F * ((1.0 + dPdU_i[nSpecies + nDim]) * SoundSpeed_i + Density_i * Enthalpy_i * da_L[nSpecies + nDim]); + Jacobian_i[nSpecies + nDim][nSpecies + nDim + 1] += + M_F * (dPdU_i[nSpecies + nDim + 1] * SoundSpeed_i + Density_i * Enthalpy_i * da_L[nSpecies + nDim + 1]); for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[nSpecies+nDim+1][jVar] += M_F * Fc_L[nSpecies+nDim+1] * da_L[jVar]; + Jacobian_i[nSpecies + nDim + 1][jVar] += M_F * Fc_L[nSpecies + nDim + 1] * da_L[jVar]; } - Jacobian_i[nSpecies+nDim+1][nSpecies+nDim+1] += M_F * SoundSpeed_i; + Jacobian_i[nSpecies + nDim + 1][nSpecies + nDim + 1] += M_F * SoundSpeed_i; } /*--- Calculate derivatives of the split pressure flux ---*/ if ((M_F >= 0) || ((M_F < 0) && (fabs(M_F) <= 1.0))) { - if (fabs(M_L) <= 1.0) { - /*--- Mach number ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dM_LP[iSpecies] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(Density_i*SoundSpeed_i) - ProjVelocity_i*da_L[iSpecies]/(pow(SoundSpeed_i,2))); + dM_LP[iSpecies] = + 0.5 * (M_L + 1.0) * + (-ProjVelocity_i / (Density_i * SoundSpeed_i) - ProjVelocity_i * da_L[iSpecies] / (pow(SoundSpeed_i, 2))); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dM_LP[nSpecies+iDim] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+iDim] + UnitNormal[iDim]/(Density_i*SoundSpeed_i)); - dM_LP[nSpecies+nDim] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim]); - dM_LP[nSpecies+nDim+1] = 0.5*(M_L+1.0) * (-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim+1]); + dM_LP[nSpecies + iDim] = 0.5 * (M_L + 1.0) * + (-ProjVelocity_i / (pow(SoundSpeed_i, 2)) * da_L[nSpecies + iDim] + + UnitNormal[iDim] / (Density_i * SoundSpeed_i)); + dM_LP[nSpecies + nDim] = 0.5 * (M_L + 1.0) * (-ProjVelocity_i / (pow(SoundSpeed_i, 2)) * da_L[nSpecies + nDim]); + dM_LP[nSpecies + nDim + 1] = + 0.5 * (M_L + 1.0) * (-ProjVelocity_i / (pow(SoundSpeed_i, 2)) * da_L[nSpecies + nDim + 1]); /*--- Pressure ---*/ - for(unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dP_LP[iSpecies] = 0.25*(M_L+1.0) * (dPdU_i[iSpecies]*(M_L+1.0)*(2.0-M_L) - + Pressure_i*(-ProjVelocity_i/(Density_i*SoundSpeed_i) - - ProjVelocity_i*da_L[iSpecies]/(pow(SoundSpeed_i,2)))*(3.0-3.0*M_L)); + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) + dP_LP[iSpecies] = 0.25 * (M_L + 1.0) * + (dPdU_i[iSpecies] * (M_L + 1.0) * (2.0 - M_L) + + Pressure_i * + (-ProjVelocity_i / (Density_i * SoundSpeed_i) - + ProjVelocity_i * da_L[iSpecies] / (pow(SoundSpeed_i, 2))) * + (3.0 - 3.0 * M_L)); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dP_LP[nSpecies+iDim] = 0.25*(M_L+1.0) * (-Velocity_i[iDim]*dPdU_i[nSpecies+nDim]*(M_L+1.0)*(2.0-M_L) - + Pressure_i*( -ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+iDim] - + UnitNormal[iDim]/(Density_i*SoundSpeed_i))*(3.0-3.0*M_L)); - dP_LP[nSpecies+nDim] = 0.25*(M_L+1.0) * (dPdU_i[nSpecies+nDim]*(M_L+1.0)*(2.0-M_L) - + Pressure_i*(-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim])*(3.0-3.0*M_L)); - dP_LP[nSpecies+nDim+1] = 0.25*(M_L+1.0) * (dPdU_i[nSpecies+nDim+1]*(M_L+1.0)*(2.0-M_L) - + Pressure_i*(-ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim+1])*(3.0-3.0*M_L)); + dP_LP[nSpecies + iDim] = 0.25 * (M_L + 1.0) * + (-Velocity_i[iDim] * dPdU_i[nSpecies + nDim] * (M_L + 1.0) * (2.0 - M_L) + + Pressure_i * + (-ProjVelocity_i / (pow(SoundSpeed_i, 2)) * da_L[nSpecies + iDim] + + UnitNormal[iDim] / (Density_i * SoundSpeed_i)) * + (3.0 - 3.0 * M_L)); + dP_LP[nSpecies + nDim] = + 0.25 * (M_L + 1.0) * + (dPdU_i[nSpecies + nDim] * (M_L + 1.0) * (2.0 - M_L) + + Pressure_i * (-ProjVelocity_i / (pow(SoundSpeed_i, 2)) * da_L[nSpecies + nDim]) * (3.0 - 3.0 * M_L)); + dP_LP[nSpecies + nDim + 1] = + 0.25 * (M_L + 1.0) * + (dPdU_i[nSpecies + nDim + 1] * (M_L + 1.0) * (2.0 - M_L) + + Pressure_i * (-ProjVelocity_i / (pow(SoundSpeed_i, 2)) * da_L[nSpecies + nDim + 1]) * (3.0 - 3.0 * M_L)); } else { - /*--- Mach number ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dM_LP[iSpecies] = -ProjVelocity_i/(Density_i*SoundSpeed_i) - ProjVelocity_i*da_L[iSpecies]/(pow(SoundSpeed_i,2)); + dM_LP[iSpecies] = + -ProjVelocity_i / (Density_i * SoundSpeed_i) - ProjVelocity_i * da_L[iSpecies] / (pow(SoundSpeed_i, 2)); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dM_LP[nSpecies+iDim] = -ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+iDim] + UnitNormal[iDim]/(Density_i*SoundSpeed_i); - dM_LP[nSpecies+nDim] = -ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim]; - dM_LP[nSpecies+nDim+1] = -ProjVelocity_i/(pow(SoundSpeed_i,2)) * da_L[nSpecies+nDim+1]; + dM_LP[nSpecies + iDim] = -ProjVelocity_i / (pow(SoundSpeed_i, 2)) * da_L[nSpecies + iDim] + + UnitNormal[iDim] / (Density_i * SoundSpeed_i); + dM_LP[nSpecies + nDim] = -ProjVelocity_i / (pow(SoundSpeed_i, 2)) * da_L[nSpecies + nDim]; + dM_LP[nSpecies + nDim + 1] = -ProjVelocity_i / (pow(SoundSpeed_i, 2)) * da_L[nSpecies + nDim + 1]; /*--- Pressure ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dP_LP[iSpecies] = dPdU_i[iSpecies]; + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) dP_LP[iSpecies] = dPdU_i[iSpecies]; for (unsigned short iDim = 0; iDim < nDim; iDim++) - dP_LP[nSpecies+iDim] = (-Velocity_i[iDim]*dPdU_i[nSpecies+nDim]); - dP_LP[nSpecies+nDim] = dPdU_i[nSpecies+nDim]; - dP_LP[nSpecies+nDim+1] = dPdU_i[nSpecies+nDim+1]; + dP_LP[nSpecies + iDim] = (-Velocity_i[iDim] * dPdU_i[nSpecies + nDim]); + dP_LP[nSpecies + nDim] = dPdU_i[nSpecies + nDim]; + dP_LP[nSpecies + nDim + 1] = dPdU_i[nSpecies + nDim + 1]; } /*--- dM contribution ---*/ for (unsigned short iVar = 0; iVar < nVar; iVar++) { for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_i[iVar][jVar] += dM_LP[jVar]*Fc_LR[iVar]*A_LR; + Jacobian_i[iVar][jVar] += dM_LP[jVar] * Fc_LR[iVar] * A_LR; } } /*--- Jacobian contribution: dP terms ---*/ for (unsigned short iDim = 0; iDim < nDim; iDim++) { for (unsigned short iVar = 0; iVar < nVar; iVar++) { - Jacobian_i[nSpecies+iDim][iVar] += dP_LP[iVar]*UnitNormal[iDim]; + Jacobian_i[nSpecies + iDim][iVar] += dP_LP[iVar] * UnitNormal[iDim]; } } } /*--- Right state Jacobian ---*/ if (M_F < 0) { - /*--- Jacobian contribution: dFc terms ---*/ - for (auto iVar = 0u; iVar < nSpecies+nDim; iVar++) { + for (auto iVar = 0u; iVar < nSpecies + nDim; iVar++) { for (unsigned short jVar = 0; jVar < nVar; jVar++) { Jacobian_j[iVar][jVar] += M_F * Fc_R[iVar] * da_R[jVar]; } Jacobian_j[iVar][iVar] += M_F * SoundSpeed_j; } for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - Jacobian_j[nSpecies+nDim][iSpecies] += M_F * (dPdU_j[iSpecies]*SoundSpeed_j + Density_j*Enthalpy_j*da_R[iSpecies]); + Jacobian_j[nSpecies + nDim][iSpecies] += + M_F * (dPdU_j[iSpecies] * SoundSpeed_j + Density_j * Enthalpy_j * da_R[iSpecies]); } for (unsigned short iDim = 0; iDim < nDim; iDim++) { - Jacobian_j[nSpecies+nDim][nSpecies+iDim] += M_F * (-dPdU_j[nSpecies+nDim]*Velocity_j[iDim]*SoundSpeed_j + Density_j*Enthalpy_j*da_R[nSpecies+iDim]); + Jacobian_j[nSpecies + nDim][nSpecies + iDim] += + M_F * + (-dPdU_j[nSpecies + nDim] * Velocity_j[iDim] * SoundSpeed_j + Density_j * Enthalpy_j * da_R[nSpecies + iDim]); } - Jacobian_j[nSpecies+nDim][nSpecies+nDim] += M_F * ((1.0+dPdU_j[nSpecies+nDim])*SoundSpeed_j + Density_j*Enthalpy_j*da_R[nSpecies+nDim]); - Jacobian_j[nSpecies+nDim][nSpecies+nDim+1] += M_F * (dPdU_j[nSpecies+nDim+1]*SoundSpeed_j + Density_j*Enthalpy_j*da_R[nSpecies+nDim+1]); + Jacobian_j[nSpecies + nDim][nSpecies + nDim] += + M_F * ((1.0 + dPdU_j[nSpecies + nDim]) * SoundSpeed_j + Density_j * Enthalpy_j * da_R[nSpecies + nDim]); + Jacobian_j[nSpecies + nDim][nSpecies + nDim + 1] += + M_F * (dPdU_j[nSpecies + nDim + 1] * SoundSpeed_j + Density_j * Enthalpy_j * da_R[nSpecies + nDim + 1]); for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_j[nSpecies+nDim+1][jVar] += M_F * Fc_R[nSpecies+nDim+1] * da_R[jVar]; + Jacobian_j[nSpecies + nDim + 1][jVar] += M_F * Fc_R[nSpecies + nDim + 1] * da_R[jVar]; } - Jacobian_j[nSpecies+nDim+1][nSpecies+nDim+1] += M_F * SoundSpeed_j; + Jacobian_j[nSpecies + nDim + 1][nSpecies + nDim + 1] += M_F * SoundSpeed_j; } /*--- Calculate derivatives of the split pressure flux ---*/ if ((M_F < 0) || ((M_F >= 0) && (fabs(M_F) <= 1.0))) { if (fabs(M_R) <= 1.0) { - /*--- Mach ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dM_RM[iSpecies] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(Density_j*SoundSpeed_j) - ProjVelocity_j*da_R[iSpecies]/(pow(SoundSpeed_j,2))); + dM_RM[iSpecies] = + -0.5 * (M_R - 1.0) * + (-ProjVelocity_j / (Density_j * SoundSpeed_j) - ProjVelocity_j * da_R[iSpecies] / (pow(SoundSpeed_j, 2))); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dM_RM[nSpecies+iDim] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+iDim] + UnitNormal[iDim]/(Density_j*SoundSpeed_j)); - dM_RM[nSpecies+nDim] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+nDim]); - dM_RM[nSpecies+nDim+1] = -0.5*(M_R-1.0) * (-ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+nDim+1]); + dM_RM[nSpecies + iDim] = -0.5 * (M_R - 1.0) * + (-ProjVelocity_j / (pow(SoundSpeed_j, 2)) * da_R[nSpecies + iDim] + + UnitNormal[iDim] / (Density_j * SoundSpeed_j)); + dM_RM[nSpecies + nDim] = -0.5 * (M_R - 1.0) * (-ProjVelocity_j / (pow(SoundSpeed_j, 2)) * da_R[nSpecies + nDim]); + dM_RM[nSpecies + nDim + 1] = + -0.5 * (M_R - 1.0) * (-ProjVelocity_j / (pow(SoundSpeed_j, 2)) * da_R[nSpecies + nDim + 1]); /*--- Pressure ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dP_RM[iSpecies] = 0.25*(M_R-1.0) * (dPdU_j[iSpecies]*(M_R-1.0)*(2.0+M_R) - + Pressure_j*(-ProjVelocity_j/(Density_j*SoundSpeed_j) - -ProjVelocity_j*da_R[iSpecies]/(pow(SoundSpeed_j,2)))*(3.0+3.0*M_R)); + dP_RM[iSpecies] = 0.25 * (M_R - 1.0) * + (dPdU_j[iSpecies] * (M_R - 1.0) * (2.0 + M_R) + + Pressure_j * + (-ProjVelocity_j / (Density_j * SoundSpeed_j) - + ProjVelocity_j * da_R[iSpecies] / (pow(SoundSpeed_j, 2))) * + (3.0 + 3.0 * M_R)); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dP_RM[nSpecies+iDim] = 0.25*(M_R-1.0) * ((-Velocity_j[iDim]*dPdU_j[nSpecies+nDim])*(M_R-1.0)*(2.0+M_R) - + Pressure_j*( -ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+iDim] - + UnitNormal[iDim]/(Density_j*SoundSpeed_j))*(3.0+3.0*M_R)); - dP_RM[nSpecies+nDim] = 0.25*(M_R-1.0) * (dPdU_j[nSpecies+nDim]*(M_R-1.0)*(2.0+M_R) - + Pressure_j*(-ProjVelocity_j/(pow(SoundSpeed_j,2))*da_R[nSpecies+nDim])*(3.0+3.0*M_R)); - dP_RM[nSpecies+nDim+1] = 0.25*(M_R-1.0) * (dPdU_j[nSpecies+nDim+1]*(M_R-1.0)*(2.0+M_R) - + Pressure_j*(-ProjVelocity_j/(pow(SoundSpeed_j,2))*da_R[nSpecies+nDim+1])*(3.0+3.0*M_R)); + dP_RM[nSpecies + iDim] = 0.25 * (M_R - 1.0) * + ((-Velocity_j[iDim] * dPdU_j[nSpecies + nDim]) * (M_R - 1.0) * (2.0 + M_R) + + Pressure_j * + (-ProjVelocity_j / (pow(SoundSpeed_j, 2)) * da_R[nSpecies + iDim] + + UnitNormal[iDim] / (Density_j * SoundSpeed_j)) * + (3.0 + 3.0 * M_R)); + dP_RM[nSpecies + nDim] = + 0.25 * (M_R - 1.0) * + (dPdU_j[nSpecies + nDim] * (M_R - 1.0) * (2.0 + M_R) + + Pressure_j * (-ProjVelocity_j / (pow(SoundSpeed_j, 2)) * da_R[nSpecies + nDim]) * (3.0 + 3.0 * M_R)); + dP_RM[nSpecies + nDim + 1] = + 0.25 * (M_R - 1.0) * + (dPdU_j[nSpecies + nDim + 1] * (M_R - 1.0) * (2.0 + M_R) + + Pressure_j * (-ProjVelocity_j / (pow(SoundSpeed_j, 2)) * da_R[nSpecies + nDim + 1]) * (3.0 + 3.0 * M_R)); } else { - /*--- Mach ---*/ for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dM_RM[iSpecies] = -ProjVelocity_j/(Density_j*SoundSpeed_j) - ProjVelocity_j*da_R[iSpecies]/(pow(SoundSpeed_j,2)); + dM_RM[iSpecies] = + -ProjVelocity_j / (Density_j * SoundSpeed_j) - ProjVelocity_j * da_R[iSpecies] / (pow(SoundSpeed_j, 2)); for (unsigned short iDim = 0; iDim < nDim; iDim++) - dM_RM[nSpecies+iDim] = -ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+iDim] + UnitNormal[iDim]/(Density_j*SoundSpeed_j); - dM_RM[nSpecies+nDim] = -ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+nDim]; - dM_RM[nSpecies+nDim+1] = -ProjVelocity_j/(pow(SoundSpeed_j,2)) * da_R[nSpecies+nDim+1]; + dM_RM[nSpecies + iDim] = -ProjVelocity_j / (pow(SoundSpeed_j, 2)) * da_R[nSpecies + iDim] + + UnitNormal[iDim] / (Density_j * SoundSpeed_j); + dM_RM[nSpecies + nDim] = -ProjVelocity_j / (pow(SoundSpeed_j, 2)) * da_R[nSpecies + nDim]; + dM_RM[nSpecies + nDim + 1] = -ProjVelocity_j / (pow(SoundSpeed_j, 2)) * da_R[nSpecies + nDim + 1]; /*--- Pressure ---*/ - for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) - dP_RM[iSpecies] = dPdU_j[iSpecies]; + for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) dP_RM[iSpecies] = dPdU_j[iSpecies]; for (unsigned short iDim = 0; iDim < nDim; iDim++) - dP_RM[nSpecies+iDim] = -Velocity_j[iDim]*dPdU_j[nSpecies+nDim]; - dP_RM[nSpecies+nDim] = dPdU_j[nSpecies+nDim]; - dP_RM[nSpecies+nDim+1] = dPdU_j[nSpecies+nDim+1]; + dP_RM[nSpecies + iDim] = -Velocity_j[iDim] * dPdU_j[nSpecies + nDim]; + dP_RM[nSpecies + nDim] = dPdU_j[nSpecies + nDim]; + dP_RM[nSpecies + nDim + 1] = dPdU_j[nSpecies + nDim + 1]; } /*--- Jacobian contribution: dM terms ---*/ for (unsigned short iVar = 0; iVar < nVar; iVar++) { for (unsigned short jVar = 0; jVar < nVar; jVar++) { - Jacobian_j[iVar][jVar] += dM_RM[jVar] * Fc_LR[iVar]*A_LR; + Jacobian_j[iVar][jVar] += dM_RM[jVar] * Fc_LR[iVar] * A_LR; } } /*--- Jacobian contribution: dP terms ---*/ for (unsigned short iDim = 0; iDim < nDim; iDim++) { for (unsigned short iVar = 0; iVar < nVar; iVar++) { - Jacobian_j[nSpecies+iDim][iVar] += dP_RM[iVar]*UnitNormal[iDim]; + Jacobian_j[nSpecies + iDim][iVar] += dP_RM[iVar] * UnitNormal[iDim]; } } } @@ -328,26 +372,24 @@ void CUpwAUSM_SLAU_Base_NEMO::ComputeJacobian(su2double **val_Jacobian_i, su2dou } CNumerics::ResidualType<> CUpwAUSM_SLAU_Base_NEMO::ComputeResidual(const CConfig* config) { - /*--- Compute geometric quantities ---*/ Area = GeometryToolbox::Norm(nDim, Normal); - for (unsigned short iDim = 0; iDim < nDim; iDim++) - UnitNormal[iDim] = Normal[iDim]/Area; + for (unsigned short iDim = 0; iDim < nDim; iDim++) UnitNormal[iDim] = Normal[iDim] / Area; /*--- Pull stored primitive variables ---*/ // Primitives: [rho1,...,rhoNs, T, Tve, u, v, w, P, rho, h, a, c] for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - rhos_i[iSpecies] = V_i[RHOS_INDEX+iSpecies]; - rhos_j[iSpecies] = V_j[RHOS_INDEX+iSpecies]; + rhos_i[iSpecies] = V_i[RHOS_INDEX + iSpecies]; + rhos_j[iSpecies] = V_j[RHOS_INDEX + iSpecies]; } for (unsigned short iDim = 0; iDim < nDim; iDim++) { - Velocity_i[iDim] = V_i[VEL_INDEX+iDim]; - Velocity_j[iDim] = V_j[VEL_INDEX+iDim]; + Velocity_i[iDim] = V_i[VEL_INDEX + iDim]; + Velocity_j[iDim] = V_j[VEL_INDEX + iDim]; } - Pressure_i = V_i[P_INDEX]; - Enthalpy_i = V_i[H_INDEX]; + Pressure_i = V_i[P_INDEX]; + Enthalpy_i = V_i[H_INDEX]; Density_i = V_i[RHO_INDEX]; SoundSpeed_i = V_i[A_INDEX]; @@ -356,10 +398,11 @@ CNumerics::ResidualType<> CUpwAUSM_SLAU_Base_NEMO::ComputeResidual(const CConfig Density_j = V_j[RHO_INDEX]; SoundSpeed_j = V_j[A_INDEX]; - e_ve_i = 0; e_ve_j = 0; + e_ve_i = 0; + e_ve_j = 0; for (unsigned short iSpecies = 0; iSpecies < nSpecies; iSpecies++) { - e_ve_i += (V_i[RHOS_INDEX+iSpecies]*eve_i[iSpecies])/Density_i; - e_ve_j += (V_j[RHOS_INDEX+iSpecies]*eve_j[iSpecies])/Density_j; + e_ve_i += (V_i[RHOS_INDEX + iSpecies] * eve_i[iSpecies]) / Density_i; + e_ve_j += (V_j[RHOS_INDEX + iSpecies] * eve_j[iSpecies]) / Density_j; } /*--- Projected velocities ---*/ @@ -369,8 +412,8 @@ CNumerics::ResidualType<> CUpwAUSM_SLAU_Base_NEMO::ComputeResidual(const CConfig /*--- Compute mass and pressure fluxes of specific scheme ---*/ ComputeInterfaceQuantities(config, PressureFlux, M_F, A_F); - su2double MassFlux_i = M_F*A_F[0]; - su2double MassFlux_j = M_F*A_F[1]; + su2double MassFlux_i = M_F * A_F[0]; + su2double MassFlux_j = M_F * A_F[1]; su2double DissFlux_i = fabs(MassFlux_i); su2double DissFlux_j = fabs(MassFlux_j); @@ -381,252 +424,228 @@ CNumerics::ResidualType<> CUpwAUSM_SLAU_Base_NEMO::ComputeResidual(const CConfig Fc_R[iSpecies] = rhos_j[iSpecies]; } for (unsigned short iDim = 0; iDim < nDim; iDim++) { - Fc_L[nSpecies+iDim] = Density_i*Velocity_i[iDim]; - Fc_R[nSpecies+iDim] = Density_j*Velocity_j[iDim]; + Fc_L[nSpecies + iDim] = Density_i * Velocity_i[iDim]; + Fc_R[nSpecies + iDim] = Density_j * Velocity_j[iDim]; } - Fc_L[nSpecies+nDim] = Density_i*Enthalpy_i; - Fc_R[nSpecies+nDim] = Density_j*Enthalpy_j; - Fc_L[nSpecies+nDim+1] = Density_i*e_ve_i; - Fc_R[nSpecies+nDim+1] = Density_j*e_ve_j; + Fc_L[nSpecies + nDim] = Density_i * Enthalpy_i; + Fc_R[nSpecies + nDim] = Density_j * Enthalpy_j; + Fc_L[nSpecies + nDim + 1] = Density_i * e_ve_i; + Fc_R[nSpecies + nDim + 1] = Density_j * e_ve_j; /*--- Compute numerical flux ---*/ for (unsigned short iVar = 0; iVar < nVar; iVar++) - Flux[iVar] = 0.5*((MassFlux_i+DissFlux_i)*Fc_L[iVar] + - (MassFlux_j-DissFlux_j)*Fc_R[iVar]) * Area; - - for (unsigned short iDim = 0; iDim < nDim; iDim++) - Flux[nSpecies+iDim] += PressureFlux[iDim] * Area; + Flux[iVar] = 0.5 * ((MassFlux_i + DissFlux_i) * Fc_L[iVar] + (MassFlux_j - DissFlux_j) * Fc_R[iVar]) * Area; + for (unsigned short iDim = 0; iDim < nDim; iDim++) Flux[nSpecies + iDim] += PressureFlux[iDim] * Area; /*--- If required, compute Jacobians (approximated using AUSM) ---*/ if (implicit) ComputeJacobian(Jacobian_i, Jacobian_j); - - return ResidualType<>(Flux, Jacobian_i, Jacobian_j); - -} - -CUpwAUSM_NEMO::CUpwAUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, - unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, - const CConfig* config) : - CUpwAUSM_SLAU_Base_NEMO(val_nDim, val_nVar, val_nPrimVar, - val_nPrimVarGrad, config) { + return ResidualType<>(Flux, Jacobian_i, Jacobian_j); } -void CUpwAUSM_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, - su2double &interface_mach, - su2double *interface_soundspeed) { +CUpwAUSM_NEMO::CUpwAUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, + unsigned short val_nPrimVarGrad, const CConfig* config) + : CUpwAUSM_SLAU_Base_NEMO(val_nDim, val_nVar, val_nPrimVar, val_nPrimVarGrad, config) {} +void CUpwAUSM_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double* pressure, su2double& interface_mach, + su2double* interface_soundspeed) { /*--- Calculate L/R Mach numbers ---*/ interface_soundspeed[0] = SoundSpeed_i; interface_soundspeed[1] = SoundSpeed_j; - M_L = ProjVelocity_i/interface_soundspeed[0]; - M_R = ProjVelocity_j/interface_soundspeed[1]; + M_L = ProjVelocity_i / interface_soundspeed[0]; + M_R = ProjVelocity_j / interface_soundspeed[1]; /*--- Calculate split numerical fluxes ---*/ su2double M_LP, M_RM, P_LP, P_RM; - if (fabs(M_L) <= 1.0) { - M_LP = 0.25*(M_L+1.0)*(M_L+1.0); - P_LP = 0.25*Pressure_i*(M_L+1.0)*(M_L+1.0)*(2.0-M_L); + if (fabs(M_L) <= 1.0) { + M_LP = 0.25 * (M_L + 1.0) * (M_L + 1.0); + P_LP = 0.25 * Pressure_i * (M_L + 1.0) * (M_L + 1.0) * (2.0 - M_L); } else { - M_LP = 0.5*(M_L+fabs(M_L)); - P_LP = 0.5*Pressure_i*(M_L+fabs(M_L))/M_L; + M_LP = 0.5 * (M_L + fabs(M_L)); + P_LP = 0.5 * Pressure_i * (M_L + fabs(M_L)) / M_L; } if (fabs(M_R) <= 1.0) { - M_RM = -0.25*(M_R-1.0)*(M_R-1.0); - P_RM = 0.25*Pressure_j*(M_R-1.0)*(M_R-1.0)*(2.0+M_R); - } else { - M_RM = 0.5*(M_R-fabs(M_R)); - P_RM = 0.5*Pressure_j*(M_R-fabs(M_R))/M_R; + M_RM = -0.25 * (M_R - 1.0) * (M_R - 1.0); + P_RM = 0.25 * Pressure_j * (M_R - 1.0) * (M_R - 1.0) * (2.0 + M_R); + } else { + M_RM = 0.5 * (M_R - fabs(M_R)); + P_RM = 0.5 * Pressure_j * (M_R - fabs(M_R)) / M_R; } // M_Lnferface = M(1/2) = (M_LP + M_RM) interface_mach = (M_LP + M_RM); - // Split pressure P(1/2) + // Split pressure P(1/2) // Note: only a single pressure flux in AUSM - for (auto iDim = 0ul; iDim < nDim; iDim++) - pressure[iDim] = (P_LP + P_RM) * UnitNormal[iDim]; - + for (auto iDim = 0ul; iDim < nDim; iDim++) pressure[iDim] = (P_LP + P_RM) * UnitNormal[iDim]; } CUpwAUSMPLUSUP2_NEMO::CUpwAUSMPLUSUP2_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, - const CConfig* config) : - CUpwAUSM_SLAU_Base_NEMO(val_nDim, val_nVar, val_nPrimVar, - val_nPrimVarGrad, config) { - + const CConfig* config) + : CUpwAUSM_SLAU_Base_NEMO(val_nDim, val_nVar, val_nPrimVar, val_nPrimVarGrad, config) { Minf = config->GetMach(); Kp = 0.25; sigma = 1.0; - if (Minf < EPS) SU2_MPI::Error("AUSM+-Up2 requires a reference Mach number (\"MACH_NUMBER\") greater than 0.", CURRENT_FUNCTION); - + if (Minf < EPS) + SU2_MPI::Error("AUSM+-Up2 requires a reference Mach number (\"MACH_NUMBER\") greater than 0.", CURRENT_FUNCTION); } -void CUpwAUSMPLUSUP2_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, - su2double &interface_mach, - su2double *interface_soundspeed) { - - const su2double sq_veli = GeometryToolbox::SquaredNorm(nDim, Velocity_i); +void CUpwAUSMPLUSUP2_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double* pressure, + su2double& interface_mach, su2double* interface_soundspeed) { + const su2double sq_veli = GeometryToolbox::SquaredNorm(nDim, Velocity_i); const su2double sq_velj = GeometryToolbox::SquaredNorm(nDim, Velocity_j); /*--- Compute C* ---*/ - const su2double CstarL = sqrt(2.0*(Gamma_i-1.0)/(Gamma_i+1.0)*Enthalpy_i); - const su2double CstarR = sqrt(2.0*(Gamma_j-1.0)/(Gamma_j+1.0)*Enthalpy_j); + const su2double CstarL = sqrt(2.0 * (Gamma_i - 1.0) / (Gamma_i + 1.0) * Enthalpy_i); + const su2double CstarR = sqrt(2.0 * (Gamma_j - 1.0) / (Gamma_j + 1.0) * Enthalpy_j); /*--- Compute C^ ---*/ - const su2double ChatL = CstarL*CstarL/max(CstarL, ProjVelocity_i); - const su2double ChatR = CstarR*CstarR/max(CstarR,-ProjVelocity_j); + const su2double ChatL = CstarL * CstarL / max(CstarL, ProjVelocity_i); + const su2double ChatR = CstarR * CstarR / max(CstarR, -ProjVelocity_j); /*--- Interface speed of sound ---*/ - const su2double aF = min(ChatL,ChatR); + const su2double aF = min(ChatL, ChatR); interface_soundspeed[0] = interface_soundspeed[1] = aF; - const su2double M_L = ProjVelocity_i/aF; - const su2double M_R = ProjVelocity_j/aF; + const su2double M_L = ProjVelocity_i / aF; + const su2double M_R = ProjVelocity_j / aF; - const su2double rhoF = 0.5*(Density_i+Density_j); - const su2double MFsq = 0.5*(M_L*M_L+M_R*M_R); + const su2double rhoF = 0.5 * (Density_i + Density_j); + const su2double MFsq = 0.5 * (M_L * M_L + M_R * M_R); - const su2double param1 = max(MFsq, Minf*Minf); + const su2double param1 = max(MFsq, Minf * Minf); const su2double Mrefsq = (min(1.0, param1)); - const su2double fa = 2.0*sqrt(Mrefsq)-Mrefsq; + const su2double fa = 2.0 * sqrt(Mrefsq) - Mrefsq; - const su2double alpha = 3.0/16.0*(-4.0+5.0*fa*fa); - const su2double beta = 1.0/8.0; + const su2double alpha = 3.0 / 16.0 * (-4.0 + 5.0 * fa * fa); + const su2double beta = 1.0 / 8.0; /*--- Pressure diffusion term ---*/ - const su2double Mp = -(Kp/fa)*max((1.0-sigma*MFsq),0.0)*(Pressure_j-Pressure_i)/(rhoF*aF*aF); - + const su2double Mp = -(Kp / fa) * max((1.0 - sigma * MFsq), 0.0) * (Pressure_j - Pressure_i) / (rhoF * aF * aF); + su2double M_LP, P_LP, M_RM, P_RM; if (fabs(M_L) <= 1.0) { - M_LP = 0.25*(M_L+1.0)*(M_L+1.0)+beta*(M_L*M_L-1.0)*(M_L*M_L-1.0); - P_LP = (0.25*(M_L+1.0)*(M_L+1.0)*(2.0-M_L)+alpha*M_L*(M_L*M_L-1.0)*(M_L*M_L-1.0)); - } else { - M_LP = 0.5*(M_L+fabs(M_L)); - P_LP = 0.5*(M_L+fabs(M_L))/M_L; + M_LP = 0.25 * (M_L + 1.0) * (M_L + 1.0) + beta * (M_L * M_L - 1.0) * (M_L * M_L - 1.0); + P_LP = (0.25 * (M_L + 1.0) * (M_L + 1.0) * (2.0 - M_L) + alpha * M_L * (M_L * M_L - 1.0) * (M_L * M_L - 1.0)); + } else { + M_LP = 0.5 * (M_L + fabs(M_L)); + P_LP = 0.5 * (M_L + fabs(M_L)) / M_L; } if (fabs(M_R) <= 1.0) { - M_RM = -0.25*(M_R-1.0)*(M_R-1.0)-beta*(M_R*M_R-1.0)*(M_R*M_R-1.0); - P_RM = (0.25*(M_R-1.0)*(M_R-1.0)*(2.0+M_R)-alpha*M_R*(M_R*M_R-1.0)*(M_R*M_R-1.0)); + M_RM = -0.25 * (M_R - 1.0) * (M_R - 1.0) - beta * (M_R * M_R - 1.0) * (M_R * M_R - 1.0); + P_RM = (0.25 * (M_R - 1.0) * (M_R - 1.0) * (2.0 + M_R) - alpha * M_R * (M_R * M_R - 1.0) * (M_R * M_R - 1.0)); } else { - M_RM = 0.5*(M_R-fabs(M_R)); - P_RM = 0.5*(M_R-fabs(M_R))/M_R; + M_RM = 0.5 * (M_R - fabs(M_R)); + P_RM = 0.5 * (M_R - fabs(M_R)) / M_R; } /*--- Interface Mach number ---*/ interface_mach = (M_LP + M_RM + Mp); /*--- Modified pressure flux ---*/ - const su2double pFi = sqrt(0.5*(sq_veli+sq_velj))*(P_LP+P_RM-1.0)*0.5*(Density_j+Density_i)*aF; + const su2double pFi = sqrt(0.5 * (sq_veli + sq_velj)) * (P_LP + P_RM - 1.0) * 0.5 * (Density_j + Density_i) * aF; for (auto iDim = 0ul; iDim < nDim; iDim++) { - pressure[iDim] = (0.5*(Pressure_j+Pressure_i)+0.5*(P_LP-P_RM)* - (Pressure_i-Pressure_j)+pFi)*UnitNormal[iDim]; + pressure[iDim] = + (0.5 * (Pressure_j + Pressure_i) + 0.5 * (P_LP - P_RM) * (Pressure_i - Pressure_j) + pFi) * UnitNormal[iDim]; } } -CUpwAUSMPLUSM_NEMO::CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, - unsigned short val_nPrimVar, unsigned short val_nPrimVarGrad, - const CConfig* config) : - CUpwAUSM_SLAU_Base_NEMO(val_nDim, val_nVar, val_nPrimVar, - val_nPrimVarGrad, config) { - +CUpwAUSMPLUSM_NEMO::CUpwAUSMPLUSM_NEMO(unsigned short val_nDim, unsigned short val_nVar, unsigned short val_nPrimVar, + unsigned short val_nPrimVarGrad, const CConfig* config) + : CUpwAUSM_SLAU_Base_NEMO(val_nDim, val_nVar, val_nPrimVar, val_nPrimVarGrad, config) { Minf = config->GetMach(); - beta = 1.0/8.0; - - if (Minf < EPS) SU2_MPI::Error("AUSM+M requires a reference Mach number (\"MACH_NUMBER\") greater than 0.", CURRENT_FUNCTION); + beta = 1.0 / 8.0; + if (Minf < EPS) + SU2_MPI::Error("AUSM+M requires a reference Mach number (\"MACH_NUMBER\") greater than 0.", CURRENT_FUNCTION); } -void CUpwAUSMPLUSM_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double *pressure, - su2double &interface_mach, - su2double *interface_soundspeed) { - - - const su2double sq_veli = GeometryToolbox::SquaredNorm(nDim, Velocity_i); +void CUpwAUSMPLUSM_NEMO::ComputeInterfaceQuantities(const CConfig* config, su2double* pressure, + su2double& interface_mach, su2double* interface_soundspeed) { + const su2double sq_veli = GeometryToolbox::SquaredNorm(nDim, Velocity_i); const su2double sq_velj = GeometryToolbox::SquaredNorm(nDim, Velocity_j); /*--- Calculate interface numerical gammas and speed of sound ---*/ - const su2double Enthalpy_norm = 0.5*(Enthalpy_i+Enthalpy_j); - const su2double Gamma_ij = 0.5*(Gamma_i+Gamma_j); - const su2double A_s = sqrt(2.0*Enthalpy_norm*(Gamma_ij-1.0)/(Gamma_ij+1.0)); + const su2double Enthalpy_norm = 0.5 * (Enthalpy_i + Enthalpy_j); + const su2double Gamma_ij = 0.5 * (Gamma_i + Gamma_j); + const su2double A_s = sqrt(2.0 * Enthalpy_norm * (Gamma_ij - 1.0) / (Gamma_ij + 1.0)); su2double A_F; - if (0.5*(ProjVelocity_i+ProjVelocity_j) >= 0.0) A_F = A_s*A_s/max(fabs(ProjVelocity_i), A_s); - else A_F = A_s*A_s/max(fabs(ProjVelocity_j), A_s); + if (0.5 * (ProjVelocity_i + ProjVelocity_j) >= 0.0) + A_F = A_s * A_s / max(fabs(ProjVelocity_i), A_s); + else + A_F = A_s * A_s / max(fabs(ProjVelocity_j), A_s); /*--- Compute L/R Mach numbers ---*/ interface_soundspeed[0] = interface_soundspeed[1] = A_F; - M_L = ProjVelocity_i/interface_soundspeed[0]; - M_R = ProjVelocity_j/interface_soundspeed[1]; + M_L = ProjVelocity_i / interface_soundspeed[0]; + M_R = ProjVelocity_j / interface_soundspeed[1]; /*--- Interface mach number w/ pressure diffusion term (M_p)---*/ - const su2double Density_F = 0.5*(Density_i+Density_j); - const su2double MF_sq = 0.5*(sq_veli+sq_velj)/(A_F*A_F); + const su2double Density_F = 0.5 * (Density_i + Density_j); + const su2double MF_sq = 0.5 * (sq_veli + sq_velj) / (A_F * A_F); - const su2double param1 = max(MF_sq, Minf*Minf); + const su2double param1 = max(MF_sq, Minf * Minf); const su2double Mrefsq = (min(1.0, param1)); - const su2double fa = 2.0*sqrt(Mrefsq)-Mrefsq; + const su2double fa = 2.0 * sqrt(Mrefsq) - Mrefsq; - const su2double alpha = 3.0/16.0*(-4.0+5.0*fa*fa); - const su2double f = 0.5*(1-cos(PI_NUMBER*min(1.0, max(abs(M_L), abs(M_R))))); + const su2double alpha = 3.0 / 16.0 * (-4.0 + 5.0 * fa * fa); + const su2double f = 0.5 * (1 - cos(PI_NUMBER * min(1.0, max(abs(M_L), abs(M_R))))); /*--- Pressure sensor terms ---*/ const su2double h = min(Sensor_i, Sensor_j); - const su2double g = 0.5*(1+cos(PI_NUMBER*h)); - const su2double f0 = min(1.0, max(f, Minf*Minf)); + const su2double g = 0.5 * (1 + cos(PI_NUMBER * h)); + const su2double f0 = min(1.0, max(f, Minf * Minf)); /*--- Pressure diffusion term ---*/ - const su2double M_p = -0.5*(1.0-f)*(Pressure_j-Pressure_i)/(Density_F*A_F*A_F)*(1.0-g); + const su2double M_p = -0.5 * (1.0 - f) * (Pressure_j - Pressure_i) / (Density_F * A_F * A_F) * (1.0 - g); /*--- Compute base split mach and pressure fluxes ---*/ su2double M_LP, M_RM, P_LP, P_RM; if (fabs(M_L) <= 1.0) { - M_LP = 0.25*(M_L+1.0)*(M_L+1.0)+beta*(M_L*M_L-1.0)*(M_L*M_L-1.0); - P_LP = (0.25*(M_L+1.0)*(M_L+1.0)*(2.0-M_L)+alpha*M_L*(M_L*M_L-1.0)*(M_L*M_L-1.0)); - } else { - M_LP = 0.5*(M_L+fabs(M_L)); - P_LP = 0.5*(M_L+fabs(M_L))/M_L; + M_LP = 0.25 * (M_L + 1.0) * (M_L + 1.0) + beta * (M_L * M_L - 1.0) * (M_L * M_L - 1.0); + P_LP = (0.25 * (M_L + 1.0) * (M_L + 1.0) * (2.0 - M_L) + alpha * M_L * (M_L * M_L - 1.0) * (M_L * M_L - 1.0)); + } else { + M_LP = 0.5 * (M_L + fabs(M_L)); + P_LP = 0.5 * (M_L + fabs(M_L)) / M_L; } - + if (fabs(M_R) <= 1.0) { - M_RM = -0.25*(M_R-1.0)*(M_R-1.0)-beta*(M_R*M_R-1.0)*(M_R*M_R-1.0); - P_RM = (0.25*(M_R-1.0)*(M_R-1.0)*(2.0+M_R)-alpha*M_R*(M_R*M_R-1.0)*(M_R*M_R-1.0)); + M_RM = -0.25 * (M_R - 1.0) * (M_R - 1.0) - beta * (M_R * M_R - 1.0) * (M_R * M_R - 1.0); + P_RM = (0.25 * (M_R - 1.0) * (M_R - 1.0) * (2.0 + M_R) - alpha * M_R * (M_R * M_R - 1.0) * (M_R * M_R - 1.0)); } else { - M_RM = 0.5*(M_R-fabs(M_R)); - P_RM = 0.5*(M_R-fabs(M_R))/M_R; + M_RM = 0.5 * (M_R - fabs(M_R)); + P_RM = 0.5 * (M_R - fabs(M_R)) / M_R; } interface_mach = M_LP + M_RM + M_p; /*--- Compute and add pressure sensor term to pressure flux ---*/ - const su2double pFi = f0*(P_LP+P_RM-1.0)*0.5*(Pressure_i+Pressure_j); + const su2double pFi = f0 * (P_LP + P_RM - 1.0) * 0.5 * (Pressure_i + Pressure_j); /*--- Velocity diffusion term---*/ su2double P_un[MAXNDIM] = {0.0}; - for (auto iDim =0ul; iDim < nDim; iDim++){ - - su2double Vel_L = (Velocity_i[iDim]+ProjVelocity_i*UnitNormal[iDim]); - su2double Vel_R = (Velocity_j[iDim]-ProjVelocity_j*UnitNormal[iDim]); + for (auto iDim = 0ul; iDim < nDim; iDim++) { + su2double Vel_L = (Velocity_i[iDim] + ProjVelocity_i * UnitNormal[iDim]); + su2double Vel_R = (Velocity_j[iDim] - ProjVelocity_j * UnitNormal[iDim]); - P_un[iDim] = -g*Gamma_ij*0.5*(Pressure_i+Pressure_j)/A_F* - P_LP*P_RM*(Vel_R-Vel_L); + P_un[iDim] = -g * Gamma_ij * 0.5 * (Pressure_i + Pressure_j) / A_F * P_LP * P_RM * (Vel_R - Vel_L); } /*--- Pressure flux ---*/ for (auto iDim = 0ul; iDim < nDim; iDim++) { - pressure[iDim] = (0.5*(Pressure_j+Pressure_i) + 0.5*(P_LP-P_RM) * - (Pressure_i-Pressure_j)+pFi)*UnitNormal[iDim] + - P_un[iDim]; + pressure[iDim] = + (0.5 * (Pressure_j + Pressure_i) + 0.5 * (P_LP - P_RM) * (Pressure_i - Pressure_j) + pFi) * UnitNormal[iDim] + + P_un[iDim]; } - } - diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index d6c53baf97d..93589c3a46a 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -63,7 +63,7 @@ def main(): invwedge.cfg_dir = "nonequilibrium/invwedge" invwedge.cfg_file = "invwedge_ausm.cfg" invwedge.test_iter = 10 - invwedge.test_vals = [-1.046323, -1.571086, -18.300667, -18.628064, -18.574092, 2.271778, 1.875687, 5.315769, 0.870008] + invwedge.test_vals = [-1.046323, -1.571086, -18.301251, -18.628639, -18.574676, 2.271778, 1.875687, 5.315769, 0.870008] invwedge.test_vals_aarch64 = [-1.046323, -1.571086, -18.300667, -18.628064, -18.574092, 2.271778, 1.875687, 5.315769, 0.870008] invwedge.new_output = True test_list.append(invwedge) From 62bb030ec5632084b1b04b7047ab484309ea4987 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sat, 4 Feb 2023 15:40:43 -0800 Subject: [PATCH 174/179] Copyright 2023 --- Common/include/CConfig.hpp | 2 +- Common/include/adt/CADTBaseClass.hpp | 2 +- Common/include/adt/CADTComparePointClass.hpp | 2 +- Common/include/adt/CADTElemClass.hpp | 2 +- Common/include/adt/CADTNodeClass.hpp | 2 +- Common/include/adt/CADTPointsOnlyClass.hpp | 2 +- Common/include/adt/CBBoxTargetClass.hpp | 2 +- Common/include/basic_types/ad_structure.hpp | 2 +- .../basic_types/datatype_structure.hpp | 2 +- Common/include/code_config.hpp | 2 +- Common/include/containers/C2DContainer.hpp | 2 +- .../containers/CFastFindAndEraseQueue.hpp | 2 +- Common/include/containers/CFileReaderLUT.hpp | 12 +- Common/include/containers/CLookUpTable.hpp | 10 +- Common/include/containers/CTrapezoidalMap.hpp | 36 +- Common/include/containers/CVertexMap.hpp | 2 +- .../containers/container_decorators.hpp | 2 +- Common/include/fem/fem_cgns_elements.hpp | 2 +- .../fem/fem_gauss_jacobi_quadrature.hpp | 2 +- Common/include/fem/fem_geometry_structure.hpp | 2 +- Common/include/fem/fem_standard_element.hpp | 2 +- .../fem/geometry_structure_fem_part.hpp | 2 +- Common/include/geometry/CDummyGeometry.hpp | 2 +- Common/include/geometry/CGeometry.hpp | 2 +- .../include/geometry/CMultiGridGeometry.hpp | 2 +- Common/include/geometry/CMultiGridQueue.hpp | 2 +- Common/include/geometry/CPhysicalGeometry.hpp | 2 +- .../include/geometry/dual_grid/CDualGrid.hpp | 2 +- Common/include/geometry/dual_grid/CEdge.hpp | 2 +- Common/include/geometry/dual_grid/CPoint.hpp | 2 +- .../geometry/dual_grid/CTurboVertex.hpp | 2 +- Common/include/geometry/dual_grid/CVertex.hpp | 2 +- Common/include/geometry/elements/CElement.hpp | 2 +- .../geometry/elements/CElementProperty.hpp | 2 +- .../geometry/elements/CGaussVariable.hpp | 2 +- .../geometry/meshreader/CBoxMeshReaderFVM.hpp | 2 +- .../meshreader/CCGNSMeshReaderFVM.hpp | 2 +- .../geometry/meshreader/CMeshReaderFVM.hpp | 2 +- .../meshreader/CRectangularMeshReaderFVM.hpp | 2 +- .../meshreader/CSU2ASCIIMeshReaderFVM.hpp | 2 +- .../geometry/primal_grid/CHexahedron.hpp | 2 +- Common/include/geometry/primal_grid/CLine.hpp | 2 +- .../geometry/primal_grid/CPrimalGrid.hpp | 2 +- .../primal_grid/CPrimalGridBoundFEM.hpp | 2 +- .../geometry/primal_grid/CPrimalGridFEM.hpp | 2 +- .../include/geometry/primal_grid/CPrism.hpp | 2 +- .../include/geometry/primal_grid/CPyramid.hpp | 2 +- .../geometry/primal_grid/CQuadrilateral.hpp | 2 +- .../geometry/primal_grid/CTetrahedron.hpp | 2 +- .../geometry/primal_grid/CTriangle.hpp | 2 +- .../geometry/primal_grid/CVertexMPI.hpp | 2 +- Common/include/graph_coloring_structure.hpp | 2 +- .../grid_movement/CBSplineBlending.hpp | 2 +- .../include/grid_movement/CBezierBlending.hpp | 2 +- .../grid_movement/CFreeFormBlending.hpp | 2 +- .../include/grid_movement/CFreeFormDefBox.hpp | 2 +- .../include/grid_movement/CGridMovement.hpp | 2 +- .../grid_movement/CSurfaceMovement.hpp | 2 +- .../grid_movement/CVolumetricMovement.hpp | 2 +- .../interface_interpolation/CInterpolator.hpp | 2 +- .../CInterpolatorFactory.hpp | 2 +- .../CIsoparametric.hpp | 2 +- .../interface_interpolation/CMirror.hpp | 2 +- .../CNearestNeighbor.hpp | 2 +- .../CRadialBasisFunction.hpp | 2 +- .../interface_interpolation/CSlidingMesh.hpp | 2 +- .../linear_algebra/CMatrixVectorProduct.hpp | 2 +- .../include/linear_algebra/CPastixWrapper.hpp | 2 +- .../linear_algebra/CPreconditioner.hpp | 2 +- Common/include/linear_algebra/CSysMatrix.hpp | 2 +- Common/include/linear_algebra/CSysMatrix.inl | 2 +- Common/include/linear_algebra/CSysSolve.hpp | 2 +- Common/include/linear_algebra/CSysSolve_b.hpp | 2 +- Common/include/linear_algebra/CSysVector.hpp | 2 +- .../include/linear_algebra/blas_structure.hpp | 2 +- .../linear_algebra/vector_expressions.hpp | 2 +- Common/include/option_structure.hpp | 2 +- Common/include/option_structure.inl | 2 +- .../include/parallelization/mpi_structure.cpp | 2 +- .../include/parallelization/mpi_structure.hpp | 2 +- .../include/parallelization/omp_structure.cpp | 2 +- .../include/parallelization/omp_structure.hpp | 2 +- .../parallelization/special_vectorization.hpp | 2 +- .../include/parallelization/vectorization.hpp | 2 +- Common/include/toolboxes/C1DInterpolation.hpp | 2 +- .../include/toolboxes/CLinearPartitioner.hpp | 2 +- .../toolboxes/CQuasiNewtonInvLeastSquares.hpp | 2 +- Common/include/toolboxes/CSquareMatrixCM.hpp | 2 +- Common/include/toolboxes/CSymmetricMatrix.hpp | 2 +- .../include/toolboxes/MMS/CIncTGVSolution.hpp | 2 +- .../toolboxes/MMS/CInviscidVortexSolution.hpp | 2 +- .../toolboxes/MMS/CMMSIncEulerSolution.hpp | 2 +- .../toolboxes/MMS/CMMSIncNSSolution.hpp | 2 +- .../MMS/CMMSNSTwoHalfCirclesSolution.hpp | 2 +- .../MMS/CMMSNSTwoHalfSpheresSolution.hpp | 2 +- .../toolboxes/MMS/CMMSNSUnitQuadSolution.hpp | 2 +- .../MMS/CMMSNSUnitQuadSolutionWallBC.hpp | 2 +- .../toolboxes/MMS/CNSUnitQuadSolution.hpp | 2 +- .../toolboxes/MMS/CRinglebSolution.hpp | 2 +- Common/include/toolboxes/MMS/CTGVSolution.hpp | 2 +- .../toolboxes/MMS/CUserDefinedSolution.hpp | 2 +- .../toolboxes/MMS/CVerificationSolution.hpp | 2 +- .../include/toolboxes/allocation_toolbox.hpp | 2 +- Common/include/toolboxes/geometry_toolbox.hpp | 2 +- Common/include/toolboxes/graph_toolbox.hpp | 2 +- Common/include/toolboxes/ndflattener.hpp | 2 +- Common/include/toolboxes/printing_toolbox.hpp | 2 +- Common/include/wall_model.hpp | 2 +- Common/lib/Makefile.am | 8 +- Common/src/CConfig.cpp | 4 +- Common/src/adt/CADTBaseClass.cpp | 2 +- Common/src/adt/CADTElemClass.cpp | 2 +- Common/src/adt/CADTPointsOnlyClass.cpp | 2 +- Common/src/basic_types/ad_structure.cpp | 2 +- Common/src/containers/CFileReaderLUT.cpp | 8 +- Common/src/containers/CLookUpTable.cpp | 30 +- Common/src/containers/CTrapezoidalMap.cpp | 10 +- Common/src/fem/fem_cgns_elements.cpp | 2 +- .../src/fem/fem_gauss_jacobi_quadrature.cpp | 2 +- Common/src/fem/fem_geometry_structure.cpp | 2 +- Common/src/fem/fem_integration_rules.cpp | 2 +- Common/src/fem/fem_standard_element.cpp | 2 +- Common/src/fem/fem_wall_distance.cpp | 2 +- Common/src/fem/fem_work_estimate_metis.cpp | 2 +- .../src/fem/geometry_structure_fem_part.cpp | 2 +- Common/src/geometry/CDummyGeometry.cpp | 2 +- Common/src/geometry/CGeometry.cpp | 2 +- Common/src/geometry/CMultiGridGeometry.cpp | 2 +- Common/src/geometry/CMultiGridQueue.cpp | 2 +- Common/src/geometry/CPhysicalGeometry.cpp | 2 +- Common/src/geometry/dual_grid/CDualGrid.cpp | 2 +- Common/src/geometry/dual_grid/CEdge.cpp | 2 +- Common/src/geometry/dual_grid/CPoint.cpp | 2 +- .../src/geometry/dual_grid/CTurboVertex.cpp | 2 +- Common/src/geometry/dual_grid/CVertex.cpp | 2 +- Common/src/geometry/elements/CElement.cpp | 2 +- Common/src/geometry/elements/CHEXA8.cpp | 2 +- Common/src/geometry/elements/CLINE.cpp | 2 +- Common/src/geometry/elements/CPRISM6.cpp | 2 +- Common/src/geometry/elements/CPYRAM5.cpp | 2 +- Common/src/geometry/elements/CPYRAM6.cpp | 2 +- Common/src/geometry/elements/CQUAD4.cpp | 2 +- Common/src/geometry/elements/CTETRA1.cpp | 2 +- Common/src/geometry/elements/CTETRA4.cpp | 2 +- Common/src/geometry/elements/CTRIA1.cpp | 2 +- Common/src/geometry/elements/CTRIA3.cpp | 2 +- .../geometry/meshreader/CBoxMeshReaderFVM.cpp | 2 +- .../meshreader/CCGNSMeshReaderFVM.cpp | 2 +- .../geometry/meshreader/CMeshReaderFVM.cpp | 2 +- .../meshreader/CRectangularMeshReaderFVM.cpp | 2 +- .../meshreader/CSU2ASCIIMeshReaderFVM.cpp | 2 +- .../src/geometry/primal_grid/CHexahedron.cpp | 2 +- Common/src/geometry/primal_grid/CLine.cpp | 2 +- .../src/geometry/primal_grid/CPrimalGrid.cpp | 2 +- .../primal_grid/CPrimalGridBoundFEM.cpp | 2 +- .../geometry/primal_grid/CPrimalGridFEM.cpp | 2 +- Common/src/geometry/primal_grid/CPrism.cpp | 2 +- Common/src/geometry/primal_grid/CPyramid.cpp | 2 +- .../geometry/primal_grid/CQuadrilateral.cpp | 2 +- .../src/geometry/primal_grid/CTetrahedron.cpp | 2 +- Common/src/geometry/primal_grid/CTriangle.cpp | 2 +- .../src/geometry/primal_grid/CVertexMPI.cpp | 2 +- Common/src/graph_coloring_structure.cpp | 2 +- Common/src/grid_movement/CBSplineBlending.cpp | 2 +- Common/src/grid_movement/CBezierBlending.cpp | 2 +- .../src/grid_movement/CFreeFormBlending.cpp | 2 +- Common/src/grid_movement/CFreeFormDefBox.cpp | 8 +- Common/src/grid_movement/CGridMovement.cpp | 2 +- Common/src/grid_movement/CSurfaceMovement.cpp | 2 +- .../src/grid_movement/CVolumetricMovement.cpp | 2 +- .../interface_interpolation/CInterpolator.cpp | 2 +- .../CInterpolatorFactory.cpp | 2 +- .../CIsoparametric.cpp | 2 +- .../src/interface_interpolation/CMirror.cpp | 2 +- .../CNearestNeighbor.cpp | 2 +- .../CRadialBasisFunction.cpp | 2 +- .../interface_interpolation/CSlidingMesh.cpp | 2 +- Common/src/linear_algebra/CPastixWrapper.cpp | 2 +- Common/src/linear_algebra/CSysMatrix.cpp | 2 +- Common/src/linear_algebra/CSysSolve.cpp | 2 +- Common/src/linear_algebra/CSysSolve_b.cpp | 2 +- Common/src/linear_algebra/CSysVector.cpp | 2 +- Common/src/linear_algebra/blas_structure.cpp | 2 +- Common/src/toolboxes/C1DInterpolation.cpp | 2 +- Common/src/toolboxes/CLinearPartitioner.cpp | 2 +- Common/src/toolboxes/CSquareMatrixCM.cpp | 2 +- Common/src/toolboxes/CSymmetricMatrix.cpp | 2 +- Common/src/toolboxes/MMS/CIncTGVSolution.cpp | 2 +- .../toolboxes/MMS/CInviscidVortexSolution.cpp | 2 +- .../toolboxes/MMS/CMMSIncEulerSolution.cpp | 2 +- .../src/toolboxes/MMS/CMMSIncNSSolution.cpp | 2 +- .../MMS/CMMSNSTwoHalfCirclesSolution.cpp | 2 +- .../MMS/CMMSNSTwoHalfSpheresSolution.cpp | 2 +- .../toolboxes/MMS/CMMSNSUnitQuadSolution.cpp | 2 +- .../MMS/CMMSNSUnitQuadSolutionWallBC.cpp | 2 +- .../src/toolboxes/MMS/CNSUnitQuadSolution.cpp | 2 +- Common/src/toolboxes/MMS/CRinglebSolution.cpp | 2 +- Common/src/toolboxes/MMS/CTGVSolution.cpp | 2 +- .../toolboxes/MMS/CUserDefinedSolution.cpp | 2 +- .../toolboxes/MMS/CVerificationSolution.cpp | 2 +- .../CMMSIncEulerSolution.py | 12 +- .../CreateMMSSourceTerms/CMMSIncNSSolution.py | 12 +- Common/src/toolboxes/printing_toolbox.cpp | 2 +- Common/src/wall_model.cpp | 2 +- SU2_CFD/include/CMarkerProfileReaderFVM.hpp | 2 +- SU2_CFD/include/SU2_CFD.hpp | 2 +- SU2_CFD/include/definition_structure.hpp | 2 +- .../drivers/CDiscAdjMultizoneDriver.hpp | 2 +- .../drivers/CDiscAdjSinglezoneDriver.hpp | 2 +- SU2_CFD/include/drivers/CDriver.hpp | 2 +- SU2_CFD/include/drivers/CDummyDriver.hpp | 2 +- SU2_CFD/include/drivers/CMultizoneDriver.hpp | 2 +- SU2_CFD/include/drivers/CSinglezoneDriver.hpp | 2 +- SU2_CFD/include/fluid/CConductivityModel.hpp | 2 +- .../include/fluid/CConstantConductivity.hpp | 2 +- .../fluid/CConstantConductivityRANS.hpp | 2 +- SU2_CFD/include/fluid/CConstantDensity.hpp | 2 +- .../include/fluid/CConstantDiffusivity.hpp | 2 +- .../fluid/CConstantLewisDiffusivity.hpp | 2 +- SU2_CFD/include/fluid/CConstantPrandtl.hpp | 2 +- .../include/fluid/CConstantPrandtlRANS.hpp | 2 +- SU2_CFD/include/fluid/CConstantSchmidt.hpp | 2 +- SU2_CFD/include/fluid/CConstantViscosity.hpp | 2 +- SU2_CFD/include/fluid/CCoolProp.hpp | 16 +- .../include/fluid/CCoolPropConductivity.hpp | 2 +- SU2_CFD/include/fluid/CCoolPropViscosity.hpp | 2 +- SU2_CFD/include/fluid/CDiffusivityModel.hpp | 2 +- SU2_CFD/include/fluid/CFluidModel.hpp | 2 +- SU2_CFD/include/fluid/CFluidScalar.hpp | 4 +- SU2_CFD/include/fluid/CIdealGas.hpp | 2 +- SU2_CFD/include/fluid/CIncIdealGas.hpp | 2 +- .../include/fluid/CIncIdealGasPolynomial.hpp | 2 +- SU2_CFD/include/fluid/CMutationTCLib.hpp | 2 +- SU2_CFD/include/fluid/CNEMOGas.hpp | 2 +- SU2_CFD/include/fluid/CPengRobinson.hpp | 2 +- .../include/fluid/CPolynomialConductivity.hpp | 2 +- .../fluid/CPolynomialConductivityRANS.hpp | 2 +- .../include/fluid/CPolynomialViscosity.hpp | 2 +- SU2_CFD/include/fluid/CSU2TCLib.hpp | 2 +- SU2_CFD/include/fluid/CSutherland.hpp | 2 +- SU2_CFD/include/fluid/CVanDerWaalsGas.hpp | 2 +- SU2_CFD/include/fluid/CViscosityModel.hpp | 2 +- .../gradients/computeGradientsGreenGauss.hpp | 2 +- .../computeGradientsLeastSquares.hpp | 2 +- .../integration/CFEM_DG_Integration.hpp | 2 +- SU2_CFD/include/integration/CIntegration.hpp | 2 +- .../integration/CIntegrationFactory.hpp | 2 +- .../integration/CMultiGridIntegration.hpp | 2 +- .../integration/CNewtonIntegration.hpp | 2 +- .../integration/CSingleGridIntegration.hpp | 2 +- .../integration/CStructuralIntegration.hpp | 2 +- SU2_CFD/include/interfaces/CInterface.hpp | 2 +- .../cfd/CConservativeVarsInterface.hpp | 2 +- .../interfaces/cfd/CMixingPlaneInterface.hpp | 2 +- .../interfaces/cfd/CSlidingInterface.hpp | 2 +- .../cht/CConjugateHeatInterface.hpp | 2 +- .../fsi/CDiscAdjFlowTractionInterface.hpp | 2 +- .../fsi/CDisplacementsInterface.hpp | 2 +- .../interfaces/fsi/CFlowTractionInterface.hpp | 2 +- .../include/iteration/CAdjFluidIteration.hpp | 2 +- .../iteration/CDiscAdjFEAIteration.hpp | 2 +- .../iteration/CDiscAdjFluidIteration.hpp | 2 +- .../iteration/CDiscAdjHeatIteration.hpp | 2 +- SU2_CFD/include/iteration/CFEAIteration.hpp | 2 +- .../include/iteration/CFEMFluidIteration.hpp | 2 +- SU2_CFD/include/iteration/CFluidIteration.hpp | 2 +- SU2_CFD/include/iteration/CHeatIteration.hpp | 2 +- SU2_CFD/include/iteration/CIteration.hpp | 2 +- .../include/iteration/CIterationFactory.hpp | 2 +- SU2_CFD/include/iteration/CTurboIteration.hpp | 2 +- SU2_CFD/include/limiters/CLimiterDetails.hpp | 2 +- SU2_CFD/include/limiters/computeLimiters.hpp | 2 +- .../include/limiters/computeLimiters_impl.hpp | 2 +- SU2_CFD/include/numerics/CGradSmoothing.hpp | 2 +- SU2_CFD/include/numerics/CNumerics.hpp | 2 +- .../include/numerics/NEMO/CNEMONumerics.hpp | 2 +- .../include/numerics/NEMO/NEMO_diffusion.hpp | 2 +- .../include/numerics/NEMO/NEMO_sources.hpp | 2 +- .../include/numerics/NEMO/convection/lax.hpp | 2 +- .../include/numerics/NEMO/convection/msw.hpp | 2 +- .../include/numerics/NEMO/convection/roe.hpp | 2 +- .../continuous_adjoint/adj_convection.hpp | 2 +- .../continuous_adjoint/adj_diffusion.hpp | 2 +- .../continuous_adjoint/adj_sources.hpp | 2 +- .../numerics/elasticity/CFEAElasticity.hpp | 2 +- .../elasticity/CFEALinearElasticity.hpp | 2 +- .../elasticity/CFEANonlinearElasticity.hpp | 2 +- .../numerics/elasticity/nonlinear_models.hpp | 2 +- .../numerics/flow/convection/ausm_slau.hpp | 2 +- .../numerics/flow/convection/centered.hpp | 2 +- .../include/numerics/flow/convection/cusp.hpp | 2 +- .../include/numerics/flow/convection/fds.hpp | 2 +- .../include/numerics/flow/convection/fvs.hpp | 2 +- .../include/numerics/flow/convection/hllc.hpp | 2 +- .../include/numerics/flow/convection/roe.hpp | 2 +- .../include/numerics/flow/flow_diffusion.hpp | 2 +- .../include/numerics/flow/flow_sources.hpp | 2 +- SU2_CFD/include/numerics/heat.hpp | 2 +- SU2_CFD/include/numerics/radiation.hpp | 2 +- .../numerics/scalar/scalar_convection.hpp | 2 +- .../numerics/scalar/scalar_diffusion.hpp | 2 +- .../numerics/scalar/scalar_sources.hpp | 2 +- .../numerics/species/species_convection.hpp | 2 +- .../numerics/species/species_diffusion.hpp | 2 +- .../numerics/species/species_sources.hpp | 2 +- SU2_CFD/include/numerics/template.hpp | 2 +- .../turbulent/transition/trans_convection.hpp | 2 +- .../transition/trans_correlations.hpp | 2 +- .../turbulent/transition/trans_diffusion.hpp | 2 +- .../turbulent/transition/trans_sources.hpp | 4 +- .../numerics/turbulent/turb_convection.hpp | 2 +- .../numerics/turbulent/turb_diffusion.hpp | 2 +- .../numerics/turbulent/turb_sources.hpp | 10 +- .../include/numerics_simd/CNumericsSIMD.cpp | 2 +- .../include/numerics_simd/CNumericsSIMD.hpp | 2 +- .../flow/convection/centered.hpp | 2 +- .../numerics_simd/flow/convection/common.hpp | 2 +- .../numerics_simd/flow/convection/roe.hpp | 2 +- .../numerics_simd/flow/diffusion/common.hpp | 2 +- .../flow/diffusion/viscous_fluxes.hpp | 2 +- .../include/numerics_simd/flow/variables.hpp | 2 +- SU2_CFD/include/numerics_simd/util.hpp | 2 +- .../include/output/CAdjElasticityOutput.hpp | 2 +- SU2_CFD/include/output/CAdjFlowCompOutput.hpp | 2 +- SU2_CFD/include/output/CAdjFlowIncOutput.hpp | 2 +- SU2_CFD/include/output/CAdjFlowOutput.hpp | 2 +- SU2_CFD/include/output/CAdjHeatOutput.hpp | 2 +- SU2_CFD/include/output/CBaselineOutput.hpp | 2 +- SU2_CFD/include/output/CElasticityOutput.hpp | 2 +- SU2_CFD/include/output/CFVMOutput.hpp | 2 +- SU2_CFD/include/output/CFlowCompFEMOutput.hpp | 2 +- SU2_CFD/include/output/CFlowCompOutput.hpp | 2 +- SU2_CFD/include/output/CFlowIncOutput.hpp | 2 +- SU2_CFD/include/output/CFlowOutput.hpp | 2 +- SU2_CFD/include/output/CHeatOutput.hpp | 2 +- SU2_CFD/include/output/CMeshOutput.hpp | 2 +- SU2_CFD/include/output/CMultizoneOutput.hpp | 2 +- SU2_CFD/include/output/CNEMOCompOutput.hpp | 2 +- SU2_CFD/include/output/COutput.hpp | 2 +- SU2_CFD/include/output/COutputFactory.hpp | 2 +- SU2_CFD/include/output/COutputLegacy.hpp | 2 +- .../output/filewriter/CCGNSFileWriter.hpp | 2 +- .../output/filewriter/CCSVFileWriter.hpp | 2 +- .../output/filewriter/CFEMDataSorter.hpp | 2 +- .../output/filewriter/CFVMDataSorter.hpp | 2 +- .../include/output/filewriter/CFileWriter.hpp | 2 +- .../output/filewriter/CParallelDataSorter.hpp | 2 +- .../filewriter/CParaviewBinaryFileWriter.hpp | 2 +- .../output/filewriter/CParaviewFileWriter.hpp | 2 +- .../filewriter/CParaviewVTMFileWriter.hpp | 2 +- .../filewriter/CParaviewXMLFileWriter.hpp | 2 +- .../output/filewriter/CSTLFileWriter.hpp | 2 +- .../filewriter/CSU2BinaryFileWriter.hpp | 2 +- .../output/filewriter/CSU2FileWriter.hpp | 2 +- .../output/filewriter/CSU2MeshFileWriter.hpp | 2 +- .../filewriter/CSurfaceFEMDataSorter.hpp | 2 +- .../filewriter/CSurfaceFVMDataSorter.hpp | 2 +- .../filewriter/CTecplotBinaryFileWriter.hpp | 2 +- .../output/filewriter/CTecplotFileWriter.hpp | 2 +- .../include/output/tools/CWindowingTools.hpp | 4 +- SU2_CFD/include/sgs_model.hpp | 2 +- SU2_CFD/include/sgs_model.inl | 2 +- SU2_CFD/include/solvers/CAdjEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CAdjNSSolver.hpp | 2 +- SU2_CFD/include/solvers/CAdjTurbSolver.hpp | 2 +- SU2_CFD/include/solvers/CBaselineSolver.hpp | 2 +- .../include/solvers/CBaselineSolver_FEM.hpp | 2 +- SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp | 2 +- .../include/solvers/CDiscAdjMeshSolver.hpp | 2 +- SU2_CFD/include/solvers/CDiscAdjSolver.hpp | 2 +- SU2_CFD/include/solvers/CEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CFEASolver.hpp | 2 +- SU2_CFD/include/solvers/CFEASolverBase.hpp | 2 +- .../include/solvers/CFEM_DG_EulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp | 2 +- .../include/solvers/CFVMFlowSolverBase.hpp | 2 +- .../include/solvers/CFVMFlowSolverBase.inl | 2 +- .../solvers/CGradientSmoothingSolver.hpp | 2 +- SU2_CFD/include/solvers/CHeatSolver.hpp | 2 +- SU2_CFD/include/solvers/CIncEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CIncNSSolver.hpp | 2 +- SU2_CFD/include/solvers/CMeshSolver.hpp | 2 +- SU2_CFD/include/solvers/CNEMOEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CNEMONSSolver.hpp | 2 +- SU2_CFD/include/solvers/CNSSolver.hpp | 2 +- SU2_CFD/include/solvers/CRadP1Solver.hpp | 2 +- SU2_CFD/include/solvers/CRadSolver.hpp | 2 +- SU2_CFD/include/solvers/CScalarSolver.hpp | 2 +- SU2_CFD/include/solvers/CScalarSolver.inl | 2 +- SU2_CFD/include/solvers/CSolver.hpp | 2 +- SU2_CFD/include/solvers/CSolverFactory.hpp | 6 +- SU2_CFD/include/solvers/CSpeciesSolver.hpp | 2 +- SU2_CFD/include/solvers/CTemplateSolver.hpp | 2 +- SU2_CFD/include/solvers/CTransLMSolver.hpp | 2 +- SU2_CFD/include/solvers/CTurbSASolver.hpp | 2 +- SU2_CFD/include/solvers/CTurbSSTSolver.hpp | 2 +- SU2_CFD/include/solvers/CTurbSolver.hpp | 2 +- SU2_CFD/include/task_definition.hpp | 2 +- SU2_CFD/include/task_definition.inl | 2 +- .../include/variables/CAdjEulerVariable.hpp | 2 +- SU2_CFD/include/variables/CAdjNSVariable.hpp | 2 +- .../include/variables/CAdjTurbVariable.hpp | 2 +- .../include/variables/CBaselineVariable.hpp | 2 +- .../variables/CDiscAdjFEABoundVariable.hpp | 2 +- .../variables/CDiscAdjMeshBoundVariable.hpp | 2 +- .../include/variables/CDiscAdjVariable.hpp | 2 +- SU2_CFD/include/variables/CEulerVariable.hpp | 2 +- .../include/variables/CFEABoundVariable.hpp | 2 +- SU2_CFD/include/variables/CFEAVariable.hpp | 2 +- SU2_CFD/include/variables/CFlowVariable.hpp | 2 +- SU2_CFD/include/variables/CHeatVariable.hpp | 2 +- .../include/variables/CIncEulerVariable.hpp | 2 +- SU2_CFD/include/variables/CIncNSVariable.hpp | 2 +- .../include/variables/CMeshBoundVariable.hpp | 2 +- SU2_CFD/include/variables/CMeshElement.hpp | 2 +- SU2_CFD/include/variables/CMeshVariable.hpp | 2 +- .../include/variables/CNEMOEulerVariable.hpp | 2 +- SU2_CFD/include/variables/CNEMONSVariable.hpp | 2 +- SU2_CFD/include/variables/CNSVariable.hpp | 2 +- .../include/variables/CPrimitiveIndices.hpp | 2 +- SU2_CFD/include/variables/CRadP1Variable.hpp | 2 +- SU2_CFD/include/variables/CRadVariable.hpp | 2 +- SU2_CFD/include/variables/CScalarVariable.hpp | 2 +- .../variables/CSobolevSmoothingVariable.hpp | 2 +- .../include/variables/CSpeciesVariable.hpp | 2 +- .../include/variables/CTransLMVariable.hpp | 4 +- SU2_CFD/include/variables/CTurbSAVariable.hpp | 2 +- .../include/variables/CTurbSSTVariable.hpp | 2 +- SU2_CFD/include/variables/CTurbVariable.hpp | 2 +- SU2_CFD/include/variables/CVariable.hpp | 6 +- SU2_CFD/obj/Makefile.am | 2 +- SU2_CFD/src/CMarkerProfileReaderFVM.cpp | 2 +- SU2_CFD/src/SU2_CFD.cpp | 2 +- SU2_CFD/src/definition_structure.cpp | 2 +- .../src/drivers/CDiscAdjMultizoneDriver.cpp | 2 +- .../src/drivers/CDiscAdjSinglezoneDriver.cpp | 2 +- SU2_CFD/src/drivers/CDriver.cpp | 2 +- SU2_CFD/src/drivers/CDummyDriver.cpp | 2 +- SU2_CFD/src/drivers/CMultizoneDriver.cpp | 2 +- SU2_CFD/src/drivers/CSinglezoneDriver.cpp | 2 +- SU2_CFD/src/fluid/CCoolProp.cpp | 2 +- SU2_CFD/src/fluid/CFluidModel.cpp | 2 +- SU2_CFD/src/fluid/CFluidScalar.cpp | 2 +- SU2_CFD/src/fluid/CIdealGas.cpp | 2 +- SU2_CFD/src/fluid/CMutationTCLib.cpp | 2 +- SU2_CFD/src/fluid/CNEMOGas.cpp | 2 +- SU2_CFD/src/fluid/CPengRobinson.cpp | 2 +- SU2_CFD/src/fluid/CSU2TCLib.cpp | 34 +- SU2_CFD/src/fluid/CVanDerWaalsGas.cpp | 2 +- .../src/integration/CFEM_DG_Integration.cpp | 2 +- SU2_CFD/src/integration/CIntegration.cpp | 2 +- .../src/integration/CIntegrationFactory.cpp | 2 +- .../src/integration/CMultiGridIntegration.cpp | 2 +- .../src/integration/CNewtonIntegration.cpp | 2 +- .../integration/CSingleGridIntegration.cpp | 2 +- .../integration/CStructuralIntegration.cpp | 2 +- SU2_CFD/src/interfaces/CInterface.cpp | 2 +- .../cfd/CConservativeVarsInterface.cpp | 2 +- .../interfaces/cfd/CMixingPlaneInterface.cpp | 2 +- .../src/interfaces/cfd/CSlidingInterface.cpp | 2 +- .../cht/CConjugateHeatInterface.cpp | 2 +- .../fsi/CDiscAdjFlowTractionInterface.cpp | 2 +- .../fsi/CDisplacementsInterface.cpp | 2 +- .../interfaces/fsi/CFlowTractionInterface.cpp | 2 +- SU2_CFD/src/iteration/CAdjFluidIteration.cpp | 2 +- .../src/iteration/CDiscAdjFEAIteration.cpp | 2 +- .../src/iteration/CDiscAdjFluidIteration.cpp | 2 +- .../src/iteration/CDiscAdjHeatIteration.cpp | 2 +- SU2_CFD/src/iteration/CFEAIteration.cpp | 2 +- SU2_CFD/src/iteration/CFEMFluidIteration.cpp | 2 +- SU2_CFD/src/iteration/CFluidIteration.cpp | 2 +- SU2_CFD/src/iteration/CHeatIteration.cpp | 2 +- SU2_CFD/src/iteration/CIteration.cpp | 2 +- SU2_CFD/src/iteration/CIterationFactory.cpp | 2 +- SU2_CFD/src/iteration/CTurboIteration.cpp | 2 +- SU2_CFD/src/limiters/CLimiterDetails.cpp | 2 +- SU2_CFD/src/numerics/CGradSmoothing.cpp | 2 +- SU2_CFD/src/numerics/CNumerics.cpp | 2 +- SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp | 2 +- SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp | 2 +- SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/lax.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/msw.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/roe.cpp | 2 +- .../continuous_adjoint/adj_convection.cpp | 2 +- .../continuous_adjoint/adj_diffusion.cpp | 2 +- .../continuous_adjoint/adj_sources.cpp | 2 +- .../numerics/elasticity/CFEAElasticity.cpp | 2 +- .../elasticity/CFEALinearElasticity.cpp | 2 +- .../elasticity/CFEANonlinearElasticity.cpp | 2 +- .../numerics/elasticity/nonlinear_models.cpp | 2 +- .../numerics/flow/convection/ausm_slau.cpp | 2 +- .../src/numerics/flow/convection/centered.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/cusp.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/fds.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/fvs.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/hllc.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/roe.cpp | 2 +- SU2_CFD/src/numerics/flow/flow_diffusion.cpp | 2 +- SU2_CFD/src/numerics/flow/flow_sources.cpp | 2 +- SU2_CFD/src/numerics/radiation.cpp | 2 +- .../src/numerics/scalar/scalar_sources.cpp | 2 +- .../src/numerics/species/species_sources.cpp | 2 +- SU2_CFD/src/numerics/template.cpp | 2 +- SU2_CFD/src/output/CAdjElasticityOutput.cpp | 2 +- SU2_CFD/src/output/CAdjFlowCompOutput.cpp | 2 +- SU2_CFD/src/output/CAdjFlowIncOutput.cpp | 2 +- SU2_CFD/src/output/CAdjFlowOutput.cpp | 2 +- SU2_CFD/src/output/CAdjHeatOutput.cpp | 2 +- SU2_CFD/src/output/CBaselineOutput.cpp | 2 +- SU2_CFD/src/output/CElasticityOutput.cpp | 2 +- SU2_CFD/src/output/CFVMOutput.cpp | 2 +- SU2_CFD/src/output/CFlowCompFEMOutput.cpp | 2 +- SU2_CFD/src/output/CFlowCompOutput.cpp | 2 +- SU2_CFD/src/output/CFlowIncOutput.cpp | 2 +- SU2_CFD/src/output/CFlowOutput.cpp | 30 +- SU2_CFD/src/output/CHeatOutput.cpp | 2 +- SU2_CFD/src/output/CMeshOutput.cpp | 2 +- SU2_CFD/src/output/CMultizoneOutput.cpp | 2 +- SU2_CFD/src/output/CNEMOCompOutput.cpp | 2 +- SU2_CFD/src/output/COutput.cpp | 2 +- SU2_CFD/src/output/COutputFactory.cpp | 2 +- .../src/output/filewriter/CCGNSFileWriter.cpp | 2 +- .../src/output/filewriter/CCSVFileWriter.cpp | 2 +- .../src/output/filewriter/CFEMDataSorter.cpp | 2 +- .../src/output/filewriter/CFVMDataSorter.cpp | 2 +- .../output/filewriter/CParallelDataSorter.cpp | 2 +- .../output/filewriter/CParallelFileWriter.cpp | 2 +- .../filewriter/CParaviewBinaryFileWriter.cpp | 2 +- .../output/filewriter/CParaviewFileWriter.cpp | 2 +- .../filewriter/CParaviewVTMFileWriter.cpp | 2 +- .../filewriter/CParaviewXMLFileWriter.cpp | 2 +- .../src/output/filewriter/CSTLFileWriter.cpp | 2 +- .../filewriter/CSU2BinaryFileWriter.cpp | 2 +- .../src/output/filewriter/CSU2FileWriter.cpp | 2 +- .../output/filewriter/CSU2MeshFileWriter.cpp | 2 +- .../filewriter/CSurfaceFEMDataSorter.cpp | 2 +- .../filewriter/CSurfaceFVMDataSorter.cpp | 2 +- .../filewriter/CTecplotBinaryFileWriter.cpp | 2 +- .../output/filewriter/CTecplotFileWriter.cpp | 2 +- SU2_CFD/src/output/output_physics.cpp | 2 +- .../src/output/output_structure_legacy.cpp | 4 +- SU2_CFD/src/output/tools/CWindowingTools.cpp | 6 +- SU2_CFD/src/python_wrapper_structure.cpp | 2 +- SU2_CFD/src/solvers/CAdjEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CAdjNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CAdjTurbSolver.cpp | 2 +- SU2_CFD/src/solvers/CBaselineSolver.cpp | 2 +- SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp | 2 +- SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp | 2 +- SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp | 2 +- SU2_CFD/src/solvers/CDiscAdjSolver.cpp | 2 +- SU2_CFD/src/solvers/CEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CFEASolver.cpp | 2 +- SU2_CFD/src/solvers/CFEASolverBase.cpp | 2 +- SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp | 2 +- .../src/solvers/CGradientSmoothingSolver.cpp | 2 +- SU2_CFD/src/solvers/CHeatSolver.cpp | 2 +- SU2_CFD/src/solvers/CIncEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CIncNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CMeshSolver.cpp | 2 +- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CNEMONSSolver.cpp | 4 +- SU2_CFD/src/solvers/CNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CRadP1Solver.cpp | 2 +- SU2_CFD/src/solvers/CRadSolver.cpp | 2 +- SU2_CFD/src/solvers/CSolver.cpp | 2 +- SU2_CFD/src/solvers/CSolverFactory.cpp | 14 +- SU2_CFD/src/solvers/CSpeciesSolver.cpp | 2 +- SU2_CFD/src/solvers/CTemplateSolver.cpp | 2 +- SU2_CFD/src/solvers/CTransLMSolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSASolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSolver.cpp | 2 +- SU2_CFD/src/variables/CAdjEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CAdjNSVariable.cpp | 2 +- SU2_CFD/src/variables/CAdjTurbVariable.cpp | 2 +- SU2_CFD/src/variables/CBaselineVariable.cpp | 2 +- .../variables/CDiscAdjFEABoundVariable.cpp | 2 +- .../variables/CDiscAdjMeshBoundVariable.cpp | 2 +- SU2_CFD/src/variables/CDiscAdjVariable.cpp | 2 +- SU2_CFD/src/variables/CEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CFEABoundVariable.cpp | 2 +- SU2_CFD/src/variables/CFEAVariable.cpp | 2 +- SU2_CFD/src/variables/CFlowVariable.cpp | 2 +- SU2_CFD/src/variables/CHeatVariable.cpp | 2 +- SU2_CFD/src/variables/CIncEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CIncNSVariable.cpp | 2 +- SU2_CFD/src/variables/CMeshBoundVariable.cpp | 2 +- SU2_CFD/src/variables/CMeshElement.cpp | 2 +- SU2_CFD/src/variables/CMeshVariable.cpp | 2 +- SU2_CFD/src/variables/CNEMOEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CNEMONSVariable.cpp | 2 +- SU2_CFD/src/variables/CNSVariable.cpp | 2 +- SU2_CFD/src/variables/CRadP1Variable.cpp | 2 +- SU2_CFD/src/variables/CRadVariable.cpp | 2 +- SU2_CFD/src/variables/CScalarVariable.cpp | 2 +- .../variables/CSobolevSmoothingVariable.cpp | 2 +- SU2_CFD/src/variables/CSpeciesVariable.cpp | 2 +- SU2_CFD/src/variables/CTransLMVariable.cpp | 6 +- SU2_CFD/src/variables/CTurbSAVariable.cpp | 2 +- SU2_CFD/src/variables/CTurbSSTVariable.cpp | 2 +- SU2_CFD/src/variables/CTurbVariable.cpp | 2 +- SU2_CFD/src/variables/CVariable.cpp | 2 +- SU2_DEF/include/SU2_DEF.hpp | 2 +- SU2_DEF/obj/Makefile.am | 12 +- SU2_DEF/src/SU2_DEF.cpp | 2 +- SU2_DOT/include/SU2_DOT.hpp | 2 +- SU2_DOT/obj/Makefile.am | 14 +- SU2_DOT/src/SU2_DOT.cpp | 2 +- SU2_GEO/include/SU2_GEO.hpp | 2 +- SU2_GEO/obj/Makefile.am | 8 +- SU2_GEO/src/SU2_GEO.cpp | 2 +- SU2_PY/FSI_tools/FSIInterface.py | 2 +- SU2_PY/FSI_tools/FSI_config.py | 2 +- SU2_PY/Makefile.am | 2 +- SU2_PY/OptimalPropeller.py | 14 +- SU2_PY/SU2/eval/design.py | 272 +++++++-------- SU2_PY/SU2/eval/functions.py | 328 +++++++++--------- SU2_PY/SU2/eval/gradients.py | 206 +++++------ SU2_PY/SU2/io/config.py | 320 ++++++++--------- SU2_PY/SU2/io/config_options.py | 30 +- SU2_PY/SU2/io/data.py | 172 ++++----- SU2_PY/SU2/io/filelock.py | 56 +-- SU2_PY/SU2/io/redirect.py | 110 +++--- SU2_PY/SU2/io/state.py | 100 +++--- SU2_PY/SU2/io/tools.py | 284 +++++++-------- SU2_PY/SU2/opt/project.py | 198 +++++------ SU2_PY/SU2/opt/scipy_tools.py | 114 +++--- SU2_PY/SU2/run/adjoint.py | 44 +-- SU2_PY/SU2/run/deform.py | 44 +-- SU2_PY/SU2/run/direct.py | 36 +- SU2_PY/SU2/run/geometry.py | 40 +-- SU2_PY/SU2/run/interface.py | 98 +++--- SU2_PY/SU2/run/merge.py | 44 +-- SU2_PY/SU2/run/projection.py | 40 +-- SU2_PY/SU2/util/filter_adjoint.py | 258 +++++++------- SU2_PY/SU2/util/plot.py | 36 +- SU2_PY/SU2/util/polarSweepLib.py | 188 +++++----- SU2_PY/SU2/util/which.py | 18 +- SU2_PY/SU2_CFD.py | 14 +- SU2_PY/SU2_Nastran/pysu2_nastran.py | 2 +- SU2_PY/change_version_number.py | 16 +- SU2_PY/compute_multipoint.py | 8 +- SU2_PY/compute_polar.py | 8 +- SU2_PY/compute_stability.py | 8 +- SU2_PY/compute_uncertainty.py | 10 +- SU2_PY/config_gui.py | 30 +- SU2_PY/continuous_adjoint.py | 66 ++-- SU2_PY/convert_to_csv.py | 10 +- SU2_PY/direct_differentiation.py | 26 +- SU2_PY/discrete_adjoint.py | 28 +- SU2_PY/finite_differences.py | 28 +- SU2_PY/fsi_computation.py | 2 +- SU2_PY/merge_solution.py | 24 +- SU2_PY/mesh_deformation.py | 30 +- SU2_PY/package_tests.py | 146 ++++---- SU2_PY/parallel_computation.py | 36 +- SU2_PY/parallel_computation_fsi.py | 40 +-- SU2_PY/parse_config.py | 18 +- SU2_PY/profiling.py | 12 +- SU2_PY/pySU2/Makefile.am | 22 +- SU2_PY/pySU2/pySU2.i | 10 +- SU2_PY/pySU2/pySU2ad.i | 8 +- SU2_PY/set_ffd_design_var.py | 20 +- SU2_PY/shape_optimization.py | 26 +- SU2_PY/topology_optimization.py | 16 +- SU2_PY/updateHistoryMap.py | 18 +- SU2_SOL/include/SU2_SOL.hpp | 2 +- SU2_SOL/obj/Makefile.am | 2 +- SU2_SOL/src/SU2_SOL.cpp | 2 +- TestCases/TestCase.py | 74 ++-- TestCases/hybrid_regression.py | 2 +- TestCases/hybrid_regression_AD.py | 40 +-- TestCases/parallel_regression.py | 8 +- TestCases/parallel_regression_AD.py | 2 +- .../flow_load_sens/run_adjoint.py | 28 +- .../mesh_disp_sens/run_adjoint.py | 28 +- .../launch_flatPlate_rigidMotion.py | 2 +- .../launch_unsteady_CHT_FlatPlate.py | 2 +- TestCases/serial_regression.py | 2 +- TestCases/serial_regression_AD.py | 2 +- TestCases/tutorials.py | 12 +- TestCases/vandv.py | 4 +- .../Common/containers/CLookupTable_tests.cpp | 18 +- UnitTests/Common/geometry/CGeometry_test.cpp | 2 +- .../geometry/dual_grid/CDualGrid_tests.cpp | 8 +- .../primal_grid/CPrimalGrid_tests.cpp | 8 +- UnitTests/Common/simple_ad_test.cpp | 2 +- UnitTests/Common/simple_directdiff_test.cpp | 2 +- .../toolboxes/C1DInterpolation_tests.cpp | 2 +- .../CQuasiNewtonInvLeastSquares_tests.cpp | 2 +- .../Common/toolboxes/ndflattener_tests.cpp | 4 +- UnitTests/Common/vectorization.cpp | 2 +- UnitTests/SU2_CFD/gradients.cpp | 2 +- .../SU2_CFD/numerics/CNumerics_tests.cpp | 6 +- UnitTests/SU2_CFD/windowing.cpp | 4 +- UnitTests/UnitQuadTestCase.hpp | 2 +- UnitTests/test_driver.cpp | 2 +- externals/Makefile.am | 8 +- externals/tecio/Makefile.am | 2 +- legacy/Makefile.am | 2 +- legacy/configure.ac | 14 +- legacy/preconfigure.py | 16 +- meson.py | 12 +- meson_scripts/init.py | 22 +- su2omp.syntax.json | 2 +- 708 files changed, 2800 insertions(+), 2800 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index 071d36ba1bb..dbea92d58da 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/adt/CADTBaseClass.hpp b/Common/include/adt/CADTBaseClass.hpp index b9ad331cdbc..6bb0e67a26f 100644 --- a/Common/include/adt/CADTBaseClass.hpp +++ b/Common/include/adt/CADTBaseClass.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/adt/CADTComparePointClass.hpp b/Common/include/adt/CADTComparePointClass.hpp index e405a7a3aa6..8887f757783 100644 --- a/Common/include/adt/CADTComparePointClass.hpp +++ b/Common/include/adt/CADTComparePointClass.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/adt/CADTElemClass.hpp b/Common/include/adt/CADTElemClass.hpp index 5acd203af22..9ce7f8fb49e 100644 --- a/Common/include/adt/CADTElemClass.hpp +++ b/Common/include/adt/CADTElemClass.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/adt/CADTNodeClass.hpp b/Common/include/adt/CADTNodeClass.hpp index ac311b9e2c0..7590a7039fd 100644 --- a/Common/include/adt/CADTNodeClass.hpp +++ b/Common/include/adt/CADTNodeClass.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/adt/CADTPointsOnlyClass.hpp b/Common/include/adt/CADTPointsOnlyClass.hpp index 8157a9c92d9..ef98c5739e9 100644 --- a/Common/include/adt/CADTPointsOnlyClass.hpp +++ b/Common/include/adt/CADTPointsOnlyClass.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/adt/CBBoxTargetClass.hpp b/Common/include/adt/CBBoxTargetClass.hpp index 3e294ad765d..3c5a4c2ec6e 100644 --- a/Common/include/adt/CBBoxTargetClass.hpp +++ b/Common/include/adt/CBBoxTargetClass.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/basic_types/ad_structure.hpp b/Common/include/basic_types/ad_structure.hpp index b03660f9d5f..e0324432527 100644 --- a/Common/include/basic_types/ad_structure.hpp +++ b/Common/include/basic_types/ad_structure.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/basic_types/datatype_structure.hpp b/Common/include/basic_types/datatype_structure.hpp index 5abca7ead4a..b948cc39830 100644 --- a/Common/include/basic_types/datatype_structure.hpp +++ b/Common/include/basic_types/datatype_structure.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/code_config.hpp b/Common/include/code_config.hpp index 1a58061896c..e94a1cb4ef9 100644 --- a/Common/include/code_config.hpp +++ b/Common/include/code_config.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/containers/C2DContainer.hpp b/Common/include/containers/C2DContainer.hpp index 5230a5a7b65..74bce9423e3 100644 --- a/Common/include/containers/C2DContainer.hpp +++ b/Common/include/containers/C2DContainer.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/containers/CFastFindAndEraseQueue.hpp b/Common/include/containers/CFastFindAndEraseQueue.hpp index b612bf745be..6336c8a755d 100644 --- a/Common/include/containers/CFastFindAndEraseQueue.hpp +++ b/Common/include/containers/CFastFindAndEraseQueue.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/containers/CFileReaderLUT.hpp b/Common/include/containers/CFileReaderLUT.hpp index fd3c93c7dfd..0e72f757f7a 100644 --- a/Common/include/containers/CFileReaderLUT.hpp +++ b/Common/include/containers/CFileReaderLUT.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -49,12 +49,12 @@ class CFileReaderLUT { unsigned long n_hull_points; unsigned long n_variables; - /*! \brief Holds the variable names stored in the table file. + /*! \brief Holds the variable names stored in the table file. * Order is in sync with tableFlamelet. */ std::vector names_var; - /*! \brief Holds all data stored in the table. + /*! \brief Holds all data stored in the table. * First index addresses the variable while second index addresses the point. */ su2activematrix table_data; @@ -63,7 +63,7 @@ class CFileReaderLUT { std::vector hull; - /*! \brief Searches for the position of flag in file_stream and + /*! \brief Searches for the position of flag in file_stream and * sets the stream position of file_stream to that position. */ void SkipToFlag(std::ifstream& file_stream, const std::string& current_line, const std::string& flag) const; @@ -71,7 +71,7 @@ class CFileReaderLUT { /*! \brief Extracts the next non-empty characters from file_stream and stores them into line. */ bool GetNextNonEmptyLine(std::ifstream& file_stream, std::string& line) const; - + /*! \brief Extracts characters from file_stream, removes trailing control characters, * and stores them into line. */ @@ -79,7 +79,7 @@ class CFileReaderLUT { public: CFileReaderLUT(){}; - + inline const std::string& GetVersionLUT() const { return version_lut; } inline const std::string& GetVersionReader() const { return version_reader; } inline unsigned long GetNPoints() const { return n_points; } diff --git a/Common/include/containers/CLookUpTable.hpp b/Common/include/containers/CLookUpTable.hpp index 8e3a720d75d..4161b66fd83 100644 --- a/Common/include/containers/CLookUpTable.hpp +++ b/Common/include/containers/CLookUpTable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -52,7 +52,7 @@ class CLookUpTable { unsigned long n_variables; unsigned long n_hull_points; - /*! + /*! * \brief the lower and upper limits of the enthalpy and progress variable. */ su2double limits_table_enth[2]; @@ -75,19 +75,19 @@ class CLookUpTable { std::vector > edges; std::vector > edge_to_triangle; - /*! \brief + /*! \brief * The hull contains the boundary of the lookup table. */ std::vector hull; CTrapezoidalMap trap_map_prog_enth; - /*! \brief + /*! \brief * vector of all the weight factors for the interpolation. */ std::vector interp_mat_inv_prog_enth; - /*! \brief + /*! \brief * returns the index to the variable in the lookup table. */ inline unsigned int GetIndexOfVar(const std::string& nameVar) const { diff --git a/Common/include/containers/CTrapezoidalMap.hpp b/Common/include/containers/CTrapezoidalMap.hpp index e67b43fbebf..798c69e2d69 100644 --- a/Common/include/containers/CTrapezoidalMap.hpp +++ b/Common/include/containers/CTrapezoidalMap.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -36,7 +36,7 @@ /*! * \class CTrapezoidalMap * \ingroup LookUpInterp - * \brief Construction of trapezoidal map for tabulated lookup + * \brief Construction of trapezoidal map for tabulated lookup * \author: D. Mayer, T. Economon * \version 7.5.0 "Blackbird" */ @@ -66,40 +66,40 @@ const std::vector >& edge_to_triangle); /*! - * \brief return the index to the triangle that contains the coordinates (val_x,val_y) - * \param[in] val_x - x-coordinate or first independent variable + * \brief return the index to the triangle that contains the coordinates (val_x,val_y) + * \param[in] val_x - x-coordinate or first independent variable * \param[in] val_y - y-coordinate or second independent variable - * \param[out] val_index - index to the triangle + * \param[out] val_index - index to the triangle */ unsigned long GetTriangle(su2double val_x, su2double val_y); /*! - * \brief get the indices of the vertical coordinate band (xmin,xmax) in the 2D search space - * that contains the coordinate val_x - * \param[in] val_x - x-coordinate or first independent variable - * \param[out] val_band - a pair(i_low,i_up) , the lower index and upper index between which the value val_x - * can be found + * \brief get the indices of the vertical coordinate band (xmin,xmax) in the 2D search space + * that contains the coordinate val_x + * \param[in] val_x - x-coordinate or first independent variable + * \param[out] val_band - a pair(i_low,i_up) , the lower index and upper index between which the value val_x + * can be found */ std::pair GetBand(su2double val_x); /*! * \brief for a given coordinate (val_x,value), known to be in the band (xmin,xmax) with band index (i_low,i_up), - * find the edges in the band (these edges come from the triangulation) that enclose the coordinate - * \param[in] val_band - pair i_low,i_up - * \param[in] val_x - x-coordinate or first independent variable - * \param[in] val_y - y-coordinate or first independent variable - * \param[out] pair (edge_low,edge_up) - lower edge and upper edge of a triangle that encloses the coordinate + * find the edges in the band (these edges come from the triangulation) that enclose the coordinate + * \param[in] val_band - pair i_low,i_up + * \param[in] val_x - x-coordinate or first independent variable + * \param[in] val_y - y-coordinate or first independent variable + * \param[out] pair (edge_low,edge_up) - lower edge and upper edge of a triangle that encloses the coordinate */ std::pair GetEdges(std::pair val_band, su2double val_x, su2double val_y) const; /*! - * \brief determine if the x-coordinate falls within the bounds xmin,xmax of the table - * \param[in] val_x - x-coordinate or first independent variable - * \param[out] bool - true if val_x is within (xmin,xmax) + * \brief determine if the x-coordinate falls within the bounds xmin,xmax of the table + * \param[in] val_x - x-coordinate or first independent variable + * \param[out] bool - true if val_x is within (xmin,xmax) */ inline bool IsInsideHullX(su2double val_x) { return (val_x >= unique_bands_x.front()) && (val_x <= unique_bands_x.back()); diff --git a/Common/include/containers/CVertexMap.hpp b/Common/include/containers/CVertexMap.hpp index d3d0134525a..a86e88925f1 100644 --- a/Common/include/containers/CVertexMap.hpp +++ b/Common/include/containers/CVertexMap.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/containers/container_decorators.hpp b/Common/include/containers/container_decorators.hpp index b3c1c2a08d4..a50601005b3 100644 --- a/Common/include/containers/container_decorators.hpp +++ b/Common/include/containers/container_decorators.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/fem/fem_cgns_elements.hpp b/Common/include/fem/fem_cgns_elements.hpp index de8ed3d8757..61c3b20f6a3 100644 --- a/Common/include/fem/fem_cgns_elements.hpp +++ b/Common/include/fem/fem_cgns_elements.hpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/fem/fem_gauss_jacobi_quadrature.hpp b/Common/include/fem/fem_gauss_jacobi_quadrature.hpp index 8f5cfa06810..41070baa380 100644 --- a/Common/include/fem/fem_gauss_jacobi_quadrature.hpp +++ b/Common/include/fem/fem_gauss_jacobi_quadrature.hpp @@ -13,7 +13,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/fem/fem_geometry_structure.hpp b/Common/include/fem/fem_geometry_structure.hpp index d90a4a05c12..046b734f51f 100644 --- a/Common/include/fem/fem_geometry_structure.hpp +++ b/Common/include/fem/fem_geometry_structure.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/fem/fem_standard_element.hpp b/Common/include/fem/fem_standard_element.hpp index 727edc20e1e..8f549622963 100644 --- a/Common/include/fem/fem_standard_element.hpp +++ b/Common/include/fem/fem_standard_element.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/fem/geometry_structure_fem_part.hpp b/Common/include/fem/geometry_structure_fem_part.hpp index d39ca499a41..ec0d03c610c 100644 --- a/Common/include/fem/geometry_structure_fem_part.hpp +++ b/Common/include/fem/geometry_structure_fem_part.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/CDummyGeometry.hpp b/Common/include/geometry/CDummyGeometry.hpp index 7ceb1788df0..46837bc551c 100644 --- a/Common/include/geometry/CDummyGeometry.hpp +++ b/Common/include/geometry/CDummyGeometry.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/CGeometry.hpp b/Common/include/geometry/CGeometry.hpp index c5ffdb5cf7b..c1b3f83d216 100644 --- a/Common/include/geometry/CGeometry.hpp +++ b/Common/include/geometry/CGeometry.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/CMultiGridGeometry.hpp b/Common/include/geometry/CMultiGridGeometry.hpp index 375974fe1d5..3f16e523587 100644 --- a/Common/include/geometry/CMultiGridGeometry.hpp +++ b/Common/include/geometry/CMultiGridGeometry.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/CMultiGridQueue.hpp b/Common/include/geometry/CMultiGridQueue.hpp index e74667d865f..4fdc95beb98 100644 --- a/Common/include/geometry/CMultiGridQueue.hpp +++ b/Common/include/geometry/CMultiGridQueue.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/CPhysicalGeometry.hpp b/Common/include/geometry/CPhysicalGeometry.hpp index a82abaeab91..ea0b3b373da 100644 --- a/Common/include/geometry/CPhysicalGeometry.hpp +++ b/Common/include/geometry/CPhysicalGeometry.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/dual_grid/CDualGrid.hpp b/Common/include/geometry/dual_grid/CDualGrid.hpp index 07b08a2aa5f..ed105a5cfe7 100644 --- a/Common/include/geometry/dual_grid/CDualGrid.hpp +++ b/Common/include/geometry/dual_grid/CDualGrid.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/dual_grid/CEdge.hpp b/Common/include/geometry/dual_grid/CEdge.hpp index 657021fb848..ec8629c7742 100644 --- a/Common/include/geometry/dual_grid/CEdge.hpp +++ b/Common/include/geometry/dual_grid/CEdge.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/dual_grid/CPoint.hpp b/Common/include/geometry/dual_grid/CPoint.hpp index b5750ddb4d2..296e3b9d078 100644 --- a/Common/include/geometry/dual_grid/CPoint.hpp +++ b/Common/include/geometry/dual_grid/CPoint.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/dual_grid/CTurboVertex.hpp b/Common/include/geometry/dual_grid/CTurboVertex.hpp index 7f10e08f4b8..7e241a8b5c8 100644 --- a/Common/include/geometry/dual_grid/CTurboVertex.hpp +++ b/Common/include/geometry/dual_grid/CTurboVertex.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/dual_grid/CVertex.hpp b/Common/include/geometry/dual_grid/CVertex.hpp index e280a4303bc..abcf75ebb21 100644 --- a/Common/include/geometry/dual_grid/CVertex.hpp +++ b/Common/include/geometry/dual_grid/CVertex.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/elements/CElement.hpp b/Common/include/geometry/elements/CElement.hpp index 87825a9f6ff..5da1b74fb0c 100644 --- a/Common/include/geometry/elements/CElement.hpp +++ b/Common/include/geometry/elements/CElement.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/elements/CElementProperty.hpp b/Common/include/geometry/elements/CElementProperty.hpp index 2fb9408de4d..d3739b346f2 100644 --- a/Common/include/geometry/elements/CElementProperty.hpp +++ b/Common/include/geometry/elements/CElementProperty.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/elements/CGaussVariable.hpp b/Common/include/geometry/elements/CGaussVariable.hpp index 8036543e266..b1e92c9d680 100644 --- a/Common/include/geometry/elements/CGaussVariable.hpp +++ b/Common/include/geometry/elements/CGaussVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp index 5b345bd348c..dcfba237872 100644 --- a/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp index 358f9e36d43..f48eb25ebd5 100644 --- a/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/meshreader/CMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CMeshReaderFVM.hpp index c812c73bae9..ca746d00d46 100644 --- a/Common/include/geometry/meshreader/CMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CMeshReaderFVM.hpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp index ea225bc46fc..e66e6dc0d53 100644 --- a/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp index 5302a1ec06c..9d77713c925 100644 --- a/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CHexahedron.hpp b/Common/include/geometry/primal_grid/CHexahedron.hpp index 7683791ab76..3e668426241 100644 --- a/Common/include/geometry/primal_grid/CHexahedron.hpp +++ b/Common/include/geometry/primal_grid/CHexahedron.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CLine.hpp b/Common/include/geometry/primal_grid/CLine.hpp index 4c0b7a0fd97..66a77323330 100644 --- a/Common/include/geometry/primal_grid/CLine.hpp +++ b/Common/include/geometry/primal_grid/CLine.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CPrimalGrid.hpp b/Common/include/geometry/primal_grid/CPrimalGrid.hpp index 9f169b3e120..e3f85a2226e 100644 --- a/Common/include/geometry/primal_grid/CPrimalGrid.hpp +++ b/Common/include/geometry/primal_grid/CPrimalGrid.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp b/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp index e0a4f7809f1..66997af846e 100644 --- a/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp +++ b/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp b/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp index 539c5ac29b1..e133181949f 100644 --- a/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp +++ b/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CPrism.hpp b/Common/include/geometry/primal_grid/CPrism.hpp index 45f36344e5f..0ac128ffd86 100644 --- a/Common/include/geometry/primal_grid/CPrism.hpp +++ b/Common/include/geometry/primal_grid/CPrism.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CPyramid.hpp b/Common/include/geometry/primal_grid/CPyramid.hpp index 1b3c326a177..f62526f3601 100644 --- a/Common/include/geometry/primal_grid/CPyramid.hpp +++ b/Common/include/geometry/primal_grid/CPyramid.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CQuadrilateral.hpp b/Common/include/geometry/primal_grid/CQuadrilateral.hpp index 512dd0e8702..32dd805259e 100644 --- a/Common/include/geometry/primal_grid/CQuadrilateral.hpp +++ b/Common/include/geometry/primal_grid/CQuadrilateral.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CTetrahedron.hpp b/Common/include/geometry/primal_grid/CTetrahedron.hpp index eb09b738514..ed3d240d203 100644 --- a/Common/include/geometry/primal_grid/CTetrahedron.hpp +++ b/Common/include/geometry/primal_grid/CTetrahedron.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CTriangle.hpp b/Common/include/geometry/primal_grid/CTriangle.hpp index b1a67a7c6e7..c8de958433c 100644 --- a/Common/include/geometry/primal_grid/CTriangle.hpp +++ b/Common/include/geometry/primal_grid/CTriangle.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/geometry/primal_grid/CVertexMPI.hpp b/Common/include/geometry/primal_grid/CVertexMPI.hpp index 4b9691a324e..1551c58d92d 100644 --- a/Common/include/geometry/primal_grid/CVertexMPI.hpp +++ b/Common/include/geometry/primal_grid/CVertexMPI.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/graph_coloring_structure.hpp b/Common/include/graph_coloring_structure.hpp index 69fb47cc5e8..81f6e1e36d8 100644 --- a/Common/include/graph_coloring_structure.hpp +++ b/Common/include/graph_coloring_structure.hpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/grid_movement/CBSplineBlending.hpp b/Common/include/grid_movement/CBSplineBlending.hpp index 3d09ce98468..7f087f124db 100644 --- a/Common/include/grid_movement/CBSplineBlending.hpp +++ b/Common/include/grid_movement/CBSplineBlending.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/grid_movement/CBezierBlending.hpp b/Common/include/grid_movement/CBezierBlending.hpp index 042292eb908..f88c87abd1a 100644 --- a/Common/include/grid_movement/CBezierBlending.hpp +++ b/Common/include/grid_movement/CBezierBlending.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/grid_movement/CFreeFormBlending.hpp b/Common/include/grid_movement/CFreeFormBlending.hpp index 0c6edf54686..fc159f51207 100644 --- a/Common/include/grid_movement/CFreeFormBlending.hpp +++ b/Common/include/grid_movement/CFreeFormBlending.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/grid_movement/CFreeFormDefBox.hpp b/Common/include/grid_movement/CFreeFormDefBox.hpp index 745f8a4bb6c..48412055cc4 100644 --- a/Common/include/grid_movement/CFreeFormDefBox.hpp +++ b/Common/include/grid_movement/CFreeFormDefBox.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/grid_movement/CGridMovement.hpp b/Common/include/grid_movement/CGridMovement.hpp index 6ab5792c413..ec6bef7cfb7 100644 --- a/Common/include/grid_movement/CGridMovement.hpp +++ b/Common/include/grid_movement/CGridMovement.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/grid_movement/CSurfaceMovement.hpp b/Common/include/grid_movement/CSurfaceMovement.hpp index c6b6198b4a9..5223272efde 100644 --- a/Common/include/grid_movement/CSurfaceMovement.hpp +++ b/Common/include/grid_movement/CSurfaceMovement.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/grid_movement/CVolumetricMovement.hpp b/Common/include/grid_movement/CVolumetricMovement.hpp index 0be1b93d65e..7853f32a05f 100644 --- a/Common/include/grid_movement/CVolumetricMovement.hpp +++ b/Common/include/grid_movement/CVolumetricMovement.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/interface_interpolation/CInterpolator.hpp b/Common/include/interface_interpolation/CInterpolator.hpp index a398cd7679c..dce360c190e 100644 --- a/Common/include/interface_interpolation/CInterpolator.hpp +++ b/Common/include/interface_interpolation/CInterpolator.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/interface_interpolation/CInterpolatorFactory.hpp b/Common/include/interface_interpolation/CInterpolatorFactory.hpp index c1531e95dea..3e9bdf24f18 100644 --- a/Common/include/interface_interpolation/CInterpolatorFactory.hpp +++ b/Common/include/interface_interpolation/CInterpolatorFactory.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/interface_interpolation/CIsoparametric.hpp b/Common/include/interface_interpolation/CIsoparametric.hpp index 8f357061985..aba3883f9da 100644 --- a/Common/include/interface_interpolation/CIsoparametric.hpp +++ b/Common/include/interface_interpolation/CIsoparametric.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/interface_interpolation/CMirror.hpp b/Common/include/interface_interpolation/CMirror.hpp index 8a6d9ad3541..7f409464b5f 100644 --- a/Common/include/interface_interpolation/CMirror.hpp +++ b/Common/include/interface_interpolation/CMirror.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/interface_interpolation/CNearestNeighbor.hpp b/Common/include/interface_interpolation/CNearestNeighbor.hpp index 732a511fe84..b212e11d5f9 100644 --- a/Common/include/interface_interpolation/CNearestNeighbor.hpp +++ b/Common/include/interface_interpolation/CNearestNeighbor.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/interface_interpolation/CRadialBasisFunction.hpp b/Common/include/interface_interpolation/CRadialBasisFunction.hpp index 4a53ace572e..813fe75d0d1 100644 --- a/Common/include/interface_interpolation/CRadialBasisFunction.hpp +++ b/Common/include/interface_interpolation/CRadialBasisFunction.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/interface_interpolation/CSlidingMesh.hpp b/Common/include/interface_interpolation/CSlidingMesh.hpp index 770733c3665..51d8ff01e2c 100644 --- a/Common/include/interface_interpolation/CSlidingMesh.hpp +++ b/Common/include/interface_interpolation/CSlidingMesh.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/CMatrixVectorProduct.hpp b/Common/include/linear_algebra/CMatrixVectorProduct.hpp index 577f74aa3db..07da7d8472f 100644 --- a/Common/include/linear_algebra/CMatrixVectorProduct.hpp +++ b/Common/include/linear_algebra/CMatrixVectorProduct.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/CPastixWrapper.hpp b/Common/include/linear_algebra/CPastixWrapper.hpp index fb40c40d7df..87414c5f5ea 100644 --- a/Common/include/linear_algebra/CPastixWrapper.hpp +++ b/Common/include/linear_algebra/CPastixWrapper.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/CPreconditioner.hpp b/Common/include/linear_algebra/CPreconditioner.hpp index 2ca619c11dd..bf4e871e711 100644 --- a/Common/include/linear_algebra/CPreconditioner.hpp +++ b/Common/include/linear_algebra/CPreconditioner.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/CSysMatrix.hpp b/Common/include/linear_algebra/CSysMatrix.hpp index c05ff216f19..c6b59400e4b 100644 --- a/Common/include/linear_algebra/CSysMatrix.hpp +++ b/Common/include/linear_algebra/CSysMatrix.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/CSysMatrix.inl b/Common/include/linear_algebra/CSysMatrix.inl index 435a6ba2675..5e87fd8717e 100644 --- a/Common/include/linear_algebra/CSysMatrix.inl +++ b/Common/include/linear_algebra/CSysMatrix.inl @@ -12,7 +12,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/CSysSolve.hpp b/Common/include/linear_algebra/CSysSolve.hpp index 104796599d0..6bd48eb18cb 100644 --- a/Common/include/linear_algebra/CSysSolve.hpp +++ b/Common/include/linear_algebra/CSysSolve.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/CSysSolve_b.hpp b/Common/include/linear_algebra/CSysSolve_b.hpp index f7c16e34ddc..76d40cbf877 100644 --- a/Common/include/linear_algebra/CSysSolve_b.hpp +++ b/Common/include/linear_algebra/CSysSolve_b.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/CSysVector.hpp b/Common/include/linear_algebra/CSysVector.hpp index 07af5d1d973..64ab3daa761 100644 --- a/Common/include/linear_algebra/CSysVector.hpp +++ b/Common/include/linear_algebra/CSysVector.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/blas_structure.hpp b/Common/include/linear_algebra/blas_structure.hpp index 5e41da73450..d077c0db7f2 100644 --- a/Common/include/linear_algebra/blas_structure.hpp +++ b/Common/include/linear_algebra/blas_structure.hpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/linear_algebra/vector_expressions.hpp b/Common/include/linear_algebra/vector_expressions.hpp index 3a56ee45b2b..1ce35549451 100644 --- a/Common/include/linear_algebra/vector_expressions.hpp +++ b/Common/include/linear_algebra/vector_expressions.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 005a78f0c37..1ea807a0e1b 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/option_structure.inl b/Common/include/option_structure.inl index ddb31c34754..a24fd76161d 100644 --- a/Common/include/option_structure.inl +++ b/Common/include/option_structure.inl @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/parallelization/mpi_structure.cpp b/Common/include/parallelization/mpi_structure.cpp index e358847c266..1b6029766f9 100644 --- a/Common/include/parallelization/mpi_structure.cpp +++ b/Common/include/parallelization/mpi_structure.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/parallelization/mpi_structure.hpp b/Common/include/parallelization/mpi_structure.hpp index 7fcd546930f..8e3ffbf9b6d 100644 --- a/Common/include/parallelization/mpi_structure.hpp +++ b/Common/include/parallelization/mpi_structure.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/parallelization/omp_structure.cpp b/Common/include/parallelization/omp_structure.cpp index af8dd0337bb..d237c621173 100644 --- a/Common/include/parallelization/omp_structure.cpp +++ b/Common/include/parallelization/omp_structure.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/parallelization/omp_structure.hpp b/Common/include/parallelization/omp_structure.hpp index d6a161ab684..177287fc41d 100644 --- a/Common/include/parallelization/omp_structure.hpp +++ b/Common/include/parallelization/omp_structure.hpp @@ -20,7 +20,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/parallelization/special_vectorization.hpp b/Common/include/parallelization/special_vectorization.hpp index cbdc7388eb5..8d18344fc55 100644 --- a/Common/include/parallelization/special_vectorization.hpp +++ b/Common/include/parallelization/special_vectorization.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/parallelization/vectorization.hpp b/Common/include/parallelization/vectorization.hpp index 2d38834a9de..216010d3f83 100644 --- a/Common/include/parallelization/vectorization.hpp +++ b/Common/include/parallelization/vectorization.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/C1DInterpolation.hpp b/Common/include/toolboxes/C1DInterpolation.hpp index 5168b76073b..99f6fe7d30c 100644 --- a/Common/include/toolboxes/C1DInterpolation.hpp +++ b/Common/include/toolboxes/C1DInterpolation.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/CLinearPartitioner.hpp b/Common/include/toolboxes/CLinearPartitioner.hpp index 165c639ee02..550139cc27b 100644 --- a/Common/include/toolboxes/CLinearPartitioner.hpp +++ b/Common/include/toolboxes/CLinearPartitioner.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp b/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp index f03a1713799..a67ec016013 100644 --- a/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp +++ b/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp @@ -14,7 +14,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/CSquareMatrixCM.hpp b/Common/include/toolboxes/CSquareMatrixCM.hpp index 85abfff5520..ea647502ab8 100644 --- a/Common/include/toolboxes/CSquareMatrixCM.hpp +++ b/Common/include/toolboxes/CSquareMatrixCM.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/CSymmetricMatrix.hpp b/Common/include/toolboxes/CSymmetricMatrix.hpp index b15fdd95f0c..33e4ad1732d 100644 --- a/Common/include/toolboxes/CSymmetricMatrix.hpp +++ b/Common/include/toolboxes/CSymmetricMatrix.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CIncTGVSolution.hpp b/Common/include/toolboxes/MMS/CIncTGVSolution.hpp index 9271464afac..f1b2029b757 100644 --- a/Common/include/toolboxes/MMS/CIncTGVSolution.hpp +++ b/Common/include/toolboxes/MMS/CIncTGVSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp b/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp index 504fad4f6a6..8aa28dd9edd 100644 --- a/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp +++ b/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp b/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp index 87434bac5f4..d3a726a2490 100644 --- a/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp b/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp index 06d4ffccf10..1d8335409b1 100644 --- a/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp b/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp index eed8ebcc1ab..c6f3bddd179 100644 --- a/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp b/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp index 52e1434fc43..aebb97f0a60 100644 --- a/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp index 57cfb7e5c64..c81ce3489e4 100644 --- a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp index 64d9db28c4e..8c84161f79a 100644 --- a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp b/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp index 10a3d312995..196d0aad260 100644 --- a/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp +++ b/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CRinglebSolution.hpp b/Common/include/toolboxes/MMS/CRinglebSolution.hpp index 9847b350586..26cc174c4bb 100644 --- a/Common/include/toolboxes/MMS/CRinglebSolution.hpp +++ b/Common/include/toolboxes/MMS/CRinglebSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CTGVSolution.hpp b/Common/include/toolboxes/MMS/CTGVSolution.hpp index 67da2e88f5a..49ee38d68bd 100644 --- a/Common/include/toolboxes/MMS/CTGVSolution.hpp +++ b/Common/include/toolboxes/MMS/CTGVSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp b/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp index ed4e4bfcda4..396f01b2d45 100644 --- a/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp +++ b/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/MMS/CVerificationSolution.hpp b/Common/include/toolboxes/MMS/CVerificationSolution.hpp index 10143fbc8cd..97bb79f766c 100644 --- a/Common/include/toolboxes/MMS/CVerificationSolution.hpp +++ b/Common/include/toolboxes/MMS/CVerificationSolution.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/allocation_toolbox.hpp b/Common/include/toolboxes/allocation_toolbox.hpp index 2c630f7d550..465ff97e239 100644 --- a/Common/include/toolboxes/allocation_toolbox.hpp +++ b/Common/include/toolboxes/allocation_toolbox.hpp @@ -12,7 +12,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/geometry_toolbox.hpp b/Common/include/toolboxes/geometry_toolbox.hpp index 52a0018483d..aa592e61026 100644 --- a/Common/include/toolboxes/geometry_toolbox.hpp +++ b/Common/include/toolboxes/geometry_toolbox.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/graph_toolbox.hpp b/Common/include/toolboxes/graph_toolbox.hpp index 16cc515a1c0..51b46867559 100644 --- a/Common/include/toolboxes/graph_toolbox.hpp +++ b/Common/include/toolboxes/graph_toolbox.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/ndflattener.hpp b/Common/include/toolboxes/ndflattener.hpp index c123c32218c..ec77a7a28a6 100644 --- a/Common/include/toolboxes/ndflattener.hpp +++ b/Common/include/toolboxes/ndflattener.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/toolboxes/printing_toolbox.hpp b/Common/include/toolboxes/printing_toolbox.hpp index 5edad78315d..f75d76cdd17 100644 --- a/Common/include/toolboxes/printing_toolbox.hpp +++ b/Common/include/toolboxes/printing_toolbox.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/include/wall_model.hpp b/Common/include/wall_model.hpp index 57cd67df5c2..ec0a5db2904 100644 --- a/Common/include/wall_model.hpp +++ b/Common/include/wall_model.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/lib/Makefile.am b/Common/lib/Makefile.am index aef8fdd4c00..8e6879ef30d 100644 --- a/Common/lib/Makefile.am +++ b/Common/lib/Makefile.am @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index 23613a7a776..e0a28dafecc 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -3256,7 +3256,7 @@ void CConfig::SetHeader(SU2_COMPONENT val_software) const{ cout << "| The SU2 Project is maintained by the SU2 Foundation |" << endl; cout << "| (http://su2foundation.org) |" << endl; cout <<"-------------------------------------------------------------------------" << endl; - cout << "| Copyright 2012-2022, SU2 Contributors |" << endl; + cout << "| Copyright 2012-2023, SU2 Contributors |" << endl; cout << "| |" << endl; cout << "| SU2 is free software; you can redistribute it and/or |" << endl; cout << "| modify it under the terms of the GNU Lesser General Public |" << endl; diff --git a/Common/src/adt/CADTBaseClass.cpp b/Common/src/adt/CADTBaseClass.cpp index d4bdbcad0d1..058c5d41958 100644 --- a/Common/src/adt/CADTBaseClass.cpp +++ b/Common/src/adt/CADTBaseClass.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/adt/CADTElemClass.cpp b/Common/src/adt/CADTElemClass.cpp index b100b192c0a..ca79587351b 100644 --- a/Common/src/adt/CADTElemClass.cpp +++ b/Common/src/adt/CADTElemClass.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/adt/CADTPointsOnlyClass.cpp b/Common/src/adt/CADTPointsOnlyClass.cpp index 31ae4d20a23..7314719899b 100644 --- a/Common/src/adt/CADTPointsOnlyClass.cpp +++ b/Common/src/adt/CADTPointsOnlyClass.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/basic_types/ad_structure.cpp b/Common/src/basic_types/ad_structure.cpp index e5512da6598..795dc9d4ad0 100644 --- a/Common/src/basic_types/ad_structure.cpp +++ b/Common/src/basic_types/ad_structure.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/containers/CFileReaderLUT.cpp b/Common/src/containers/CFileReaderLUT.cpp index c88e6b7a36c..3ae4c3cb40c 100644 --- a/Common/src/containers/CFileReaderLUT.cpp +++ b/Common/src/containers/CFileReaderLUT.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -94,12 +94,12 @@ void CFileReaderLUT::ReadRawLUT(const string& file_name) { /*--- variable names ---*/ if (line.compare("[Variable names]") == 0) { - + for (unsigned long i = 0; i < n_variables; i++){ /*--- grab a single line ---*/ GetNextNonEmptyLine(file_stream, line); - names_var.push_back(line.substr(line.find(":")+1)); + names_var.push_back(line.substr(line.find(":")+1)); } } @@ -259,7 +259,7 @@ bool CFileReaderLUT::GetNextNonEmptyLine(ifstream& file_stream, string& line) co /*--- get next line and save return value ---*/ bool return_value = GetStrippedLine(file_stream, line); - + /*--- skip empty lines ---*/ while (line.empty() && !(file_stream).eof()){ return_value = GetStrippedLine(file_stream, line); diff --git a/Common/src/containers/CLookUpTable.cpp b/Common/src/containers/CLookUpTable.cpp index 2c782f208d2..915781b2325 100644 --- a/Common/src/containers/CLookUpTable.cpp +++ b/Common/src/containers/CLookUpTable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -47,7 +47,7 @@ CLookUpTable::CLookUpTable(const string& var_file_name_lut, const string& name_p IdentifyUniqueEdges(); - if (rank == MASTER_NODE) + if (rank == MASTER_NODE) cout << " done." << endl; PrintTableInfo(); @@ -59,23 +59,23 @@ CLookUpTable::CLookUpTable(const string& var_file_name_lut, const string& name_p trap_map_prog_enth = CTrapezoidalMap(GetDataP(name_prog), GetDataP(name_enth), table_data.cols(), edges, edge_to_triangle); - if (rank == MASTER_NODE) + if (rank == MASTER_NODE) cout << " done." << endl; - if (rank == MASTER_NODE) + if (rank == MASTER_NODE) cout << "Precomputing interpolation coefficients..." << endl; - + ComputeInterpCoeffs(name_prog, name_enth); - if (rank == MASTER_NODE) + if (rank == MASTER_NODE) cout << "LUT fluid model ready for use" << endl; } void CLookUpTable::LoadTableRaw(const string& var_file_name_lut) { CFileReaderLUT file_reader; - if (rank == MASTER_NODE) + if (rank == MASTER_NODE) cout << "Loading lookup table, filename = " << var_file_name_lut << " ..." << endl; file_reader.ReadRawLUT(var_file_name_lut); @@ -91,7 +91,7 @@ void CLookUpTable::LoadTableRaw(const string& var_file_name_lut) { triangles = file_reader.GetTriangles(); hull = file_reader.GetHull(); - if (rank == MASTER_NODE) + if (rank == MASTER_NODE) cout << " done." << endl; } @@ -145,7 +145,7 @@ void CLookUpTable::IdentifyUniqueEdges() { for each of the points in the table */ vector > neighborElemsOfPoint; - + neighborElemsOfPoint.resize(n_points); for (unsigned long iElem = 0; iElem < n_triangles; iElem++) { /* loop over 3 points per triangle */ @@ -282,7 +282,7 @@ void CLookUpTable::GetInterpMatInv(const su2double* vec_x, const su2double* vec_ global_M.Invert(); global_M.Transpose(); - + for (unsigned int i=0; i triangle{0}; - for (int p = 0; p < 3; p++) - triangle[p] = triangles[id_triangle][p]; + for (int p = 0; p < 3; p++) + triangle[p] = triangles[id_triangle][p]; *val_var = Interpolate(GetDataP(val_name_var), triangle, interp_coeffs); exit_code = 0; @@ -394,8 +394,8 @@ unsigned long CLookUpTable::LookUp_ProgEnth(const vector& val_names_var, if (exit_code == 0){ /* first, copy the single triangle from the large triangle list*/ - for (int p = 0; p < 3; p++) - triangle[p] = triangles[id_triangle][p]; + for (int p = 0; p < 3; p++) + triangle[p] = triangles[id_triangle][p]; *val_vars[i_var] = Interpolate(GetDataP(val_names_var[i_var]), triangle, interp_coeffs); } else @@ -470,7 +470,7 @@ bool CLookUpTable::IsInTriangle(su2double val_prog, su2double val_enth, unsigned su2double tri_prog_1 = GetDataP(name_prog)[triangles[val_id_triangle][1]]; su2double tri_enth_1 = GetDataP(name_enth)[triangles[val_id_triangle][1]]; - + su2double tri_prog_2 = GetDataP(name_prog)[triangles[val_id_triangle][2]]; su2double tri_enth_2 = GetDataP(name_enth)[triangles[val_id_triangle][2]]; diff --git a/Common/src/containers/CTrapezoidalMap.cpp b/Common/src/containers/CTrapezoidalMap.cpp index 4e7155d3592..8f8ec375d31 100644 --- a/Common/src/containers/CTrapezoidalMap.cpp +++ b/Common/src/containers/CTrapezoidalMap.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -32,8 +32,8 @@ using namespace std; -/* Trapezoidal map implementation. Reference: - * M. de Berg, O. Cheong M. van Kreveld, M. Overmars, +/* Trapezoidal map implementation. Reference: + * M. de Berg, O. Cheong M. van Kreveld, M. Overmars, * Computational Geometry, Algorithms and Applications pp. 121-146 (2008) * NOTE: the current implementation is actually the simpler 'slab' approach. */ @@ -145,10 +145,10 @@ unsigned long CTrapezoidalMap::GetTriangle(su2double val_x, su2double val_y) { /* identify the triangle using the two edges */ std::array triangles_edge_low; - + for (int i=0;i<2;i++) triangles_edge_low[i] = edge_to_triangle[edges.first][i]; - + std::array triangles_edge_up; for (int i=0;i<2;i++) triangles_edge_up[i] = edge_to_triangle[edges.second][i]; diff --git a/Common/src/fem/fem_cgns_elements.cpp b/Common/src/fem/fem_cgns_elements.cpp index e614c350a48..a026fb61404 100644 --- a/Common/src/fem/fem_cgns_elements.cpp +++ b/Common/src/fem/fem_cgns_elements.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/fem/fem_gauss_jacobi_quadrature.cpp b/Common/src/fem/fem_gauss_jacobi_quadrature.cpp index ca674b8055b..654ce0c1c7b 100644 --- a/Common/src/fem/fem_gauss_jacobi_quadrature.cpp +++ b/Common/src/fem/fem_gauss_jacobi_quadrature.cpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/fem/fem_geometry_structure.cpp b/Common/src/fem/fem_geometry_structure.cpp index a0e88ffd171..908055225a2 100644 --- a/Common/src/fem/fem_geometry_structure.cpp +++ b/Common/src/fem/fem_geometry_structure.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/fem/fem_integration_rules.cpp b/Common/src/fem/fem_integration_rules.cpp index 0bf79fc9dd8..a9030712e46 100644 --- a/Common/src/fem/fem_integration_rules.cpp +++ b/Common/src/fem/fem_integration_rules.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/fem/fem_standard_element.cpp b/Common/src/fem/fem_standard_element.cpp index aa281ee2683..d0ea4ef2f07 100644 --- a/Common/src/fem/fem_standard_element.cpp +++ b/Common/src/fem/fem_standard_element.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/fem/fem_wall_distance.cpp b/Common/src/fem/fem_wall_distance.cpp index 2341359dfd7..8686d97bf0d 100644 --- a/Common/src/fem/fem_wall_distance.cpp +++ b/Common/src/fem/fem_wall_distance.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/fem/fem_work_estimate_metis.cpp b/Common/src/fem/fem_work_estimate_metis.cpp index eaab51d39fe..eddaddaac30 100644 --- a/Common/src/fem/fem_work_estimate_metis.cpp +++ b/Common/src/fem/fem_work_estimate_metis.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/fem/geometry_structure_fem_part.cpp b/Common/src/fem/geometry_structure_fem_part.cpp index 1bb8f0a0b6a..922c854c569 100644 --- a/Common/src/fem/geometry_structure_fem_part.cpp +++ b/Common/src/fem/geometry_structure_fem_part.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/CDummyGeometry.cpp b/Common/src/geometry/CDummyGeometry.cpp index 3626ef51196..1ad1a93d9e5 100644 --- a/Common/src/geometry/CDummyGeometry.cpp +++ b/Common/src/geometry/CDummyGeometry.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 87ed7214f60..264d6bdb3a8 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/CMultiGridGeometry.cpp b/Common/src/geometry/CMultiGridGeometry.cpp index 06cb35d0c9f..e0f5d41227e 100644 --- a/Common/src/geometry/CMultiGridGeometry.cpp +++ b/Common/src/geometry/CMultiGridGeometry.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/CMultiGridQueue.cpp b/Common/src/geometry/CMultiGridQueue.cpp index 50d731939ad..40168b9a66e 100644 --- a/Common/src/geometry/CMultiGridQueue.cpp +++ b/Common/src/geometry/CMultiGridQueue.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/CPhysicalGeometry.cpp b/Common/src/geometry/CPhysicalGeometry.cpp index 25f4bed5c46..b36b2fd3b0b 100644 --- a/Common/src/geometry/CPhysicalGeometry.cpp +++ b/Common/src/geometry/CPhysicalGeometry.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/dual_grid/CDualGrid.cpp b/Common/src/geometry/dual_grid/CDualGrid.cpp index 0a71a8e716e..a46cba2606e 100644 --- a/Common/src/geometry/dual_grid/CDualGrid.cpp +++ b/Common/src/geometry/dual_grid/CDualGrid.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/dual_grid/CEdge.cpp b/Common/src/geometry/dual_grid/CEdge.cpp index f4fbf8189f6..276ba8238a0 100644 --- a/Common/src/geometry/dual_grid/CEdge.cpp +++ b/Common/src/geometry/dual_grid/CEdge.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/dual_grid/CPoint.cpp b/Common/src/geometry/dual_grid/CPoint.cpp index 3d392128b31..3cfdff0a77a 100644 --- a/Common/src/geometry/dual_grid/CPoint.cpp +++ b/Common/src/geometry/dual_grid/CPoint.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/dual_grid/CTurboVertex.cpp b/Common/src/geometry/dual_grid/CTurboVertex.cpp index c0f8e6a0309..911f8edb176 100644 --- a/Common/src/geometry/dual_grid/CTurboVertex.cpp +++ b/Common/src/geometry/dual_grid/CTurboVertex.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/dual_grid/CVertex.cpp b/Common/src/geometry/dual_grid/CVertex.cpp index cc6b43f1081..d895cf9bd63 100644 --- a/Common/src/geometry/dual_grid/CVertex.cpp +++ b/Common/src/geometry/dual_grid/CVertex.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CElement.cpp b/Common/src/geometry/elements/CElement.cpp index 850ac3e6429..34889175066 100644 --- a/Common/src/geometry/elements/CElement.cpp +++ b/Common/src/geometry/elements/CElement.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CHEXA8.cpp b/Common/src/geometry/elements/CHEXA8.cpp index 3071ce61033..139fe703c34 100644 --- a/Common/src/geometry/elements/CHEXA8.cpp +++ b/Common/src/geometry/elements/CHEXA8.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CLINE.cpp b/Common/src/geometry/elements/CLINE.cpp index 9fc9dd77ddd..edc6e4873c1 100644 --- a/Common/src/geometry/elements/CLINE.cpp +++ b/Common/src/geometry/elements/CLINE.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CPRISM6.cpp b/Common/src/geometry/elements/CPRISM6.cpp index 4586177a4d3..6dbfaa7016c 100644 --- a/Common/src/geometry/elements/CPRISM6.cpp +++ b/Common/src/geometry/elements/CPRISM6.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CPYRAM5.cpp b/Common/src/geometry/elements/CPYRAM5.cpp index c0f89e95bd4..1e9cb45c3ff 100644 --- a/Common/src/geometry/elements/CPYRAM5.cpp +++ b/Common/src/geometry/elements/CPYRAM5.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CPYRAM6.cpp b/Common/src/geometry/elements/CPYRAM6.cpp index 84257fd97d4..e7a90a23304 100644 --- a/Common/src/geometry/elements/CPYRAM6.cpp +++ b/Common/src/geometry/elements/CPYRAM6.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CQUAD4.cpp b/Common/src/geometry/elements/CQUAD4.cpp index f2014f6894e..d12b7a476d9 100644 --- a/Common/src/geometry/elements/CQUAD4.cpp +++ b/Common/src/geometry/elements/CQUAD4.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CTETRA1.cpp b/Common/src/geometry/elements/CTETRA1.cpp index 7fc967ba383..0b46031ce35 100644 --- a/Common/src/geometry/elements/CTETRA1.cpp +++ b/Common/src/geometry/elements/CTETRA1.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CTETRA4.cpp b/Common/src/geometry/elements/CTETRA4.cpp index 30675b590d7..4c128d8d1b3 100644 --- a/Common/src/geometry/elements/CTETRA4.cpp +++ b/Common/src/geometry/elements/CTETRA4.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CTRIA1.cpp b/Common/src/geometry/elements/CTRIA1.cpp index dc2a8835a47..cd2d3aeb609 100644 --- a/Common/src/geometry/elements/CTRIA1.cpp +++ b/Common/src/geometry/elements/CTRIA1.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/elements/CTRIA3.cpp b/Common/src/geometry/elements/CTRIA3.cpp index cdc2750b1d0..d3dee33d786 100644 --- a/Common/src/geometry/elements/CTRIA3.cpp +++ b/Common/src/geometry/elements/CTRIA3.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp index 9e0e6b571cc..6e7bc2a22cd 100644 --- a/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp index 3d07be19cc9..cef3ab798a2 100644 --- a/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/meshreader/CMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CMeshReaderFVM.cpp index b3f51710768..ec7a564ed11 100644 --- a/Common/src/geometry/meshreader/CMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CMeshReaderFVM.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp index 7c337782d5a..470070b8d93 100644 --- a/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp index 4dc3f4d343e..c1a3acba3f7 100644 --- a/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CHexahedron.cpp b/Common/src/geometry/primal_grid/CHexahedron.cpp index 1dcaa3647dd..38067f97796 100644 --- a/Common/src/geometry/primal_grid/CHexahedron.cpp +++ b/Common/src/geometry/primal_grid/CHexahedron.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CLine.cpp b/Common/src/geometry/primal_grid/CLine.cpp index 318866865da..45cc828f15a 100644 --- a/Common/src/geometry/primal_grid/CLine.cpp +++ b/Common/src/geometry/primal_grid/CLine.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CPrimalGrid.cpp b/Common/src/geometry/primal_grid/CPrimalGrid.cpp index 2d301454d57..33651820459 100644 --- a/Common/src/geometry/primal_grid/CPrimalGrid.cpp +++ b/Common/src/geometry/primal_grid/CPrimalGrid.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp b/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp index 5b22e7d4b3d..d5405858b31 100644 --- a/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp +++ b/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp b/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp index 09ab5003815..0578bad44e5 100644 --- a/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp +++ b/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CPrism.cpp b/Common/src/geometry/primal_grid/CPrism.cpp index 9baa19871be..3712eb24ba0 100644 --- a/Common/src/geometry/primal_grid/CPrism.cpp +++ b/Common/src/geometry/primal_grid/CPrism.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CPyramid.cpp b/Common/src/geometry/primal_grid/CPyramid.cpp index b91d82d90c3..8d37673c8f1 100644 --- a/Common/src/geometry/primal_grid/CPyramid.cpp +++ b/Common/src/geometry/primal_grid/CPyramid.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CQuadrilateral.cpp b/Common/src/geometry/primal_grid/CQuadrilateral.cpp index cc6bda8c146..d3dc0b89d01 100644 --- a/Common/src/geometry/primal_grid/CQuadrilateral.cpp +++ b/Common/src/geometry/primal_grid/CQuadrilateral.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CTetrahedron.cpp b/Common/src/geometry/primal_grid/CTetrahedron.cpp index 42ac28b95a4..13c9961ca2f 100644 --- a/Common/src/geometry/primal_grid/CTetrahedron.cpp +++ b/Common/src/geometry/primal_grid/CTetrahedron.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CTriangle.cpp b/Common/src/geometry/primal_grid/CTriangle.cpp index 76a6b66e888..dbca2eb6a08 100644 --- a/Common/src/geometry/primal_grid/CTriangle.cpp +++ b/Common/src/geometry/primal_grid/CTriangle.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/geometry/primal_grid/CVertexMPI.cpp b/Common/src/geometry/primal_grid/CVertexMPI.cpp index 845ded95ce5..b5d910fc174 100644 --- a/Common/src/geometry/primal_grid/CVertexMPI.cpp +++ b/Common/src/geometry/primal_grid/CVertexMPI.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/graph_coloring_structure.cpp b/Common/src/graph_coloring_structure.cpp index 80c9d74e143..e50d23cfedc 100644 --- a/Common/src/graph_coloring_structure.cpp +++ b/Common/src/graph_coloring_structure.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/grid_movement/CBSplineBlending.cpp b/Common/src/grid_movement/CBSplineBlending.cpp index 32d5b01aa1b..ef5b7962ddc 100644 --- a/Common/src/grid_movement/CBSplineBlending.cpp +++ b/Common/src/grid_movement/CBSplineBlending.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/grid_movement/CBezierBlending.cpp b/Common/src/grid_movement/CBezierBlending.cpp index 5b30eca8641..57295dc73e0 100644 --- a/Common/src/grid_movement/CBezierBlending.cpp +++ b/Common/src/grid_movement/CBezierBlending.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/grid_movement/CFreeFormBlending.cpp b/Common/src/grid_movement/CFreeFormBlending.cpp index c0b2a7f2ebe..09d982a4e02 100644 --- a/Common/src/grid_movement/CFreeFormBlending.cpp +++ b/Common/src/grid_movement/CFreeFormBlending.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/grid_movement/CFreeFormDefBox.cpp b/Common/src/grid_movement/CFreeFormDefBox.cpp index d9e959ef105..4431ea428bf 100644 --- a/Common/src/grid_movement/CFreeFormDefBox.cpp +++ b/Common/src/grid_movement/CFreeFormDefBox.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -1000,11 +1000,11 @@ bool CFreeFormDefBox::GetPointFFD(CGeometry *geometry, CConfig *config, unsigned {4,5,1,0,4}, // bottom side {4,7,6,5,4}}; // back side - /*--- The current approach is to subdivide each of the 6 faces of the hexahedral FFD box into 4 triangles + /*--- The current approach is to subdivide each of the 6 faces of the hexahedral FFD box into 4 triangles by defining a supporting middle point. This allows nonplanar FFD boxes. Note that the definition of the FFD box is as follows: the FFD box is a 6-sided die and we are looking at the side "1". - The opposite side is side "6". - If we are looking at side "1", we define the nodes counterclockwise. + The opposite side is side "6". + If we are looking at side "1", we define the nodes counterclockwise. If we are looking at side "6", we define the face clockwise ---*/ unsigned short nDim = geometry->GetnDim(); diff --git a/Common/src/grid_movement/CGridMovement.cpp b/Common/src/grid_movement/CGridMovement.cpp index 82b7f193e5c..b4f66f3a805 100644 --- a/Common/src/grid_movement/CGridMovement.cpp +++ b/Common/src/grid_movement/CGridMovement.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/grid_movement/CSurfaceMovement.cpp b/Common/src/grid_movement/CSurfaceMovement.cpp index 4087a3d2ce0..a4a4639fec0 100644 --- a/Common/src/grid_movement/CSurfaceMovement.cpp +++ b/Common/src/grid_movement/CSurfaceMovement.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/grid_movement/CVolumetricMovement.cpp b/Common/src/grid_movement/CVolumetricMovement.cpp index 189e474ca4f..3bbbcf01c8a 100644 --- a/Common/src/grid_movement/CVolumetricMovement.cpp +++ b/Common/src/grid_movement/CVolumetricMovement.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/interface_interpolation/CInterpolator.cpp b/Common/src/interface_interpolation/CInterpolator.cpp index 7be9c8eaf49..b6dc0fc0411 100644 --- a/Common/src/interface_interpolation/CInterpolator.cpp +++ b/Common/src/interface_interpolation/CInterpolator.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/interface_interpolation/CInterpolatorFactory.cpp b/Common/src/interface_interpolation/CInterpolatorFactory.cpp index 1998d663aa4..7d98f0f6918 100644 --- a/Common/src/interface_interpolation/CInterpolatorFactory.cpp +++ b/Common/src/interface_interpolation/CInterpolatorFactory.cpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/interface_interpolation/CIsoparametric.cpp b/Common/src/interface_interpolation/CIsoparametric.cpp index f81499e0f55..3a5ba14f231 100644 --- a/Common/src/interface_interpolation/CIsoparametric.cpp +++ b/Common/src/interface_interpolation/CIsoparametric.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/interface_interpolation/CMirror.cpp b/Common/src/interface_interpolation/CMirror.cpp index 1a80bc0938b..56b3f617eff 100644 --- a/Common/src/interface_interpolation/CMirror.cpp +++ b/Common/src/interface_interpolation/CMirror.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/interface_interpolation/CNearestNeighbor.cpp b/Common/src/interface_interpolation/CNearestNeighbor.cpp index 3eb67377a82..f4c11123fc8 100644 --- a/Common/src/interface_interpolation/CNearestNeighbor.cpp +++ b/Common/src/interface_interpolation/CNearestNeighbor.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/interface_interpolation/CRadialBasisFunction.cpp b/Common/src/interface_interpolation/CRadialBasisFunction.cpp index 94b9cb5ebd2..963c0180389 100644 --- a/Common/src/interface_interpolation/CRadialBasisFunction.cpp +++ b/Common/src/interface_interpolation/CRadialBasisFunction.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/interface_interpolation/CSlidingMesh.cpp b/Common/src/interface_interpolation/CSlidingMesh.cpp index 6e1f3515624..d3eebc91b9d 100644 --- a/Common/src/interface_interpolation/CSlidingMesh.cpp +++ b/Common/src/interface_interpolation/CSlidingMesh.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/linear_algebra/CPastixWrapper.cpp b/Common/src/linear_algebra/CPastixWrapper.cpp index e6adda91df6..6fca9e423a3 100644 --- a/Common/src/linear_algebra/CPastixWrapper.cpp +++ b/Common/src/linear_algebra/CPastixWrapper.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/linear_algebra/CSysMatrix.cpp b/Common/src/linear_algebra/CSysMatrix.cpp index c6616cdd368..7f72f617e38 100644 --- a/Common/src/linear_algebra/CSysMatrix.cpp +++ b/Common/src/linear_algebra/CSysMatrix.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/linear_algebra/CSysSolve.cpp b/Common/src/linear_algebra/CSysSolve.cpp index f40b3dfa6d1..c1ad3bc4a36 100644 --- a/Common/src/linear_algebra/CSysSolve.cpp +++ b/Common/src/linear_algebra/CSysSolve.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/linear_algebra/CSysSolve_b.cpp b/Common/src/linear_algebra/CSysSolve_b.cpp index 060b884dd47..770ec17c7fe 100644 --- a/Common/src/linear_algebra/CSysSolve_b.cpp +++ b/Common/src/linear_algebra/CSysSolve_b.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/linear_algebra/CSysVector.cpp b/Common/src/linear_algebra/CSysVector.cpp index c7f831d970d..44a67299fcd 100644 --- a/Common/src/linear_algebra/CSysVector.cpp +++ b/Common/src/linear_algebra/CSysVector.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/linear_algebra/blas_structure.cpp b/Common/src/linear_algebra/blas_structure.cpp index e18182388d4..357bb378d17 100644 --- a/Common/src/linear_algebra/blas_structure.cpp +++ b/Common/src/linear_algebra/blas_structure.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/C1DInterpolation.cpp b/Common/src/toolboxes/C1DInterpolation.cpp index e363a13fe7e..bc2ff95726e 100644 --- a/Common/src/toolboxes/C1DInterpolation.cpp +++ b/Common/src/toolboxes/C1DInterpolation.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/CLinearPartitioner.cpp b/Common/src/toolboxes/CLinearPartitioner.cpp index b09a45548d1..a9b3e858c5e 100644 --- a/Common/src/toolboxes/CLinearPartitioner.cpp +++ b/Common/src/toolboxes/CLinearPartitioner.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/CSquareMatrixCM.cpp b/Common/src/toolboxes/CSquareMatrixCM.cpp index bf33c75b5f1..818cd7028f8 100644 --- a/Common/src/toolboxes/CSquareMatrixCM.cpp +++ b/Common/src/toolboxes/CSquareMatrixCM.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/CSymmetricMatrix.cpp b/Common/src/toolboxes/CSymmetricMatrix.cpp index 70453dd6b57..2f20efe643d 100644 --- a/Common/src/toolboxes/CSymmetricMatrix.cpp +++ b/Common/src/toolboxes/CSymmetricMatrix.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CIncTGVSolution.cpp b/Common/src/toolboxes/MMS/CIncTGVSolution.cpp index 10b219fb1eb..adfd78671cd 100644 --- a/Common/src/toolboxes/MMS/CIncTGVSolution.cpp +++ b/Common/src/toolboxes/MMS/CIncTGVSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CInviscidVortexSolution.cpp b/Common/src/toolboxes/MMS/CInviscidVortexSolution.cpp index 53655c0c0b0..568cc2eff01 100644 --- a/Common/src/toolboxes/MMS/CInviscidVortexSolution.cpp +++ b/Common/src/toolboxes/MMS/CInviscidVortexSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CMMSIncEulerSolution.cpp b/Common/src/toolboxes/MMS/CMMSIncEulerSolution.cpp index 9635364caf6..e76cc96e051 100644 --- a/Common/src/toolboxes/MMS/CMMSIncEulerSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSIncEulerSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CMMSIncNSSolution.cpp b/Common/src/toolboxes/MMS/CMMSIncNSSolution.cpp index 29723df00d4..a3248b43dc2 100644 --- a/Common/src/toolboxes/MMS/CMMSIncNSSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSIncNSSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.cpp b/Common/src/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.cpp index 3a1e2b87353..bae4db435f0 100644 --- a/Common/src/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.cpp b/Common/src/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.cpp index 6f4394fba6d..213010bcd7c 100644 --- a/Common/src/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolution.cpp b/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolution.cpp index 29402ee5c26..a6ffe71adce 100644 --- a/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.cpp b/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.cpp index 175cbf34ac7..4da8922bb17 100644 --- a/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.cpp +++ b/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CNSUnitQuadSolution.cpp b/Common/src/toolboxes/MMS/CNSUnitQuadSolution.cpp index 420df21258d..6aac7ac9706 100644 --- a/Common/src/toolboxes/MMS/CNSUnitQuadSolution.cpp +++ b/Common/src/toolboxes/MMS/CNSUnitQuadSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CRinglebSolution.cpp b/Common/src/toolboxes/MMS/CRinglebSolution.cpp index b559326ed41..d22142a4fc3 100644 --- a/Common/src/toolboxes/MMS/CRinglebSolution.cpp +++ b/Common/src/toolboxes/MMS/CRinglebSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CTGVSolution.cpp b/Common/src/toolboxes/MMS/CTGVSolution.cpp index 758b75899ee..63cc22354aa 100644 --- a/Common/src/toolboxes/MMS/CTGVSolution.cpp +++ b/Common/src/toolboxes/MMS/CTGVSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CUserDefinedSolution.cpp b/Common/src/toolboxes/MMS/CUserDefinedSolution.cpp index 8984a7edc75..32332606e46 100644 --- a/Common/src/toolboxes/MMS/CUserDefinedSolution.cpp +++ b/Common/src/toolboxes/MMS/CUserDefinedSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CVerificationSolution.cpp b/Common/src/toolboxes/MMS/CVerificationSolution.cpp index b13c30d6fb8..788ad6b40ff 100644 --- a/Common/src/toolboxes/MMS/CVerificationSolution.cpp +++ b/Common/src/toolboxes/MMS/CVerificationSolution.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncEulerSolution.py b/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncEulerSolution.py index e7e202bead6..27049cdab6f 100755 --- a/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncEulerSolution.py +++ b/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncEulerSolution.py @@ -1,7 +1,7 @@ #!/usr/bin/env python ## \file CMMSIncEulerSolution.py -# \brief Python script that generates the source terms for a +# \brief Python script that generates the source terms for a # manufactured solution for the incompressible Euler eqns. # \author T. Economon # \version 7.5.0 "Blackbird" @@ -11,7 +11,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -43,10 +43,10 @@ Viscosity = Symbol('Viscosity', real=True) epsilon = Symbol('epsilon', real=True) -# Set the manufactured solution. The solution -# is from Salari K, and Knupp P, "Code verification -# by the method of manufactured solutions," -# SAND 2000-1444, Sandia National Laboratories, +# Set the manufactured solution. The solution +# is from Salari K, and Knupp P, "Code verification +# by the method of manufactured solutions," +# SAND 2000-1444, Sandia National Laboratories, # Albuquerque, NM, 2000. u = u_0*(sin(x*x + y*y) + epsilon) diff --git a/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncNSSolution.py b/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncNSSolution.py index 4f6be23498e..27602455a92 100755 --- a/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncNSSolution.py +++ b/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncNSSolution.py @@ -1,7 +1,7 @@ #!/usr/bin/env python ## \file CMMSIncNSSolution.py -# \brief Python script that generates the source terms for a +# \brief Python script that generates the source terms for a # manufactured solution for the incompressible Navier-Stokes eqns. # \author T. Economon # \version 7.5.0 "Blackbird" @@ -11,7 +11,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -43,10 +43,10 @@ Viscosity = Symbol('Viscosity', real=True) epsilon = Symbol('epsilon', real=True) -# Set the manufactured solution. The solution -# is from Salari K, and Knupp P, "Code verification -# by the method of manufactured solutions," -# SAND 2000-1444, Sandia National Laboratories, +# Set the manufactured solution. The solution +# is from Salari K, and Knupp P, "Code verification +# by the method of manufactured solutions," +# SAND 2000-1444, Sandia National Laboratories, # Albuquerque, NM, 2000. u = u_0*(sin(x*x + y*y) + epsilon) diff --git a/Common/src/toolboxes/printing_toolbox.cpp b/Common/src/toolboxes/printing_toolbox.cpp index a942684f459..838fef18e8c 100644 --- a/Common/src/toolboxes/printing_toolbox.cpp +++ b/Common/src/toolboxes/printing_toolbox.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/Common/src/wall_model.cpp b/Common/src/wall_model.cpp index afeba736bfa..615a15328fa 100644 --- a/Common/src/wall_model.cpp +++ b/Common/src/wall_model.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/CMarkerProfileReaderFVM.hpp b/SU2_CFD/include/CMarkerProfileReaderFVM.hpp index 742e75ce37e..61a97a05232 100644 --- a/SU2_CFD/include/CMarkerProfileReaderFVM.hpp +++ b/SU2_CFD/include/CMarkerProfileReaderFVM.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/SU2_CFD.hpp b/SU2_CFD/include/SU2_CFD.hpp index 1b56e2aa124..dcf19837c4f 100644 --- a/SU2_CFD/include/SU2_CFD.hpp +++ b/SU2_CFD/include/SU2_CFD.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/definition_structure.hpp b/SU2_CFD/include/definition_structure.hpp index 61317ee7a81..9a551e60f1e 100644 --- a/SU2_CFD/include/definition_structure.hpp +++ b/SU2_CFD/include/definition_structure.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp b/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp index e501c48eb1d..70c67426cd1 100644 --- a/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp +++ b/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp b/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp index 557162809d1..d1f75ea28b2 100644 --- a/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp +++ b/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/drivers/CDriver.hpp b/SU2_CFD/include/drivers/CDriver.hpp index efeef08e708..45dfdbc40cb 100644 --- a/SU2_CFD/include/drivers/CDriver.hpp +++ b/SU2_CFD/include/drivers/CDriver.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/drivers/CDummyDriver.hpp b/SU2_CFD/include/drivers/CDummyDriver.hpp index 9c6616c6e79..cb207e78be2 100644 --- a/SU2_CFD/include/drivers/CDummyDriver.hpp +++ b/SU2_CFD/include/drivers/CDummyDriver.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/drivers/CMultizoneDriver.hpp b/SU2_CFD/include/drivers/CMultizoneDriver.hpp index 866666f4cb7..c1e12e6a84f 100644 --- a/SU2_CFD/include/drivers/CMultizoneDriver.hpp +++ b/SU2_CFD/include/drivers/CMultizoneDriver.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/drivers/CSinglezoneDriver.hpp b/SU2_CFD/include/drivers/CSinglezoneDriver.hpp index 3fd469b5ee3..5855da499dd 100644 --- a/SU2_CFD/include/drivers/CSinglezoneDriver.hpp +++ b/SU2_CFD/include/drivers/CSinglezoneDriver.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConductivityModel.hpp b/SU2_CFD/include/fluid/CConductivityModel.hpp index eb8b36f9546..3eada3eeb95 100644 --- a/SU2_CFD/include/fluid/CConductivityModel.hpp +++ b/SU2_CFD/include/fluid/CConductivityModel.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConstantConductivity.hpp b/SU2_CFD/include/fluid/CConstantConductivity.hpp index caf4b3115a5..e6045f50cad 100644 --- a/SU2_CFD/include/fluid/CConstantConductivity.hpp +++ b/SU2_CFD/include/fluid/CConstantConductivity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp b/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp index 70b0bea1ae4..1252eb049e8 100644 --- a/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp +++ b/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConstantDensity.hpp b/SU2_CFD/include/fluid/CConstantDensity.hpp index 16655ee587e..ca96c4f78bc 100644 --- a/SU2_CFD/include/fluid/CConstantDensity.hpp +++ b/SU2_CFD/include/fluid/CConstantDensity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConstantDiffusivity.hpp b/SU2_CFD/include/fluid/CConstantDiffusivity.hpp index 3f68eb59647..be5f2f04ce3 100644 --- a/SU2_CFD/include/fluid/CConstantDiffusivity.hpp +++ b/SU2_CFD/include/fluid/CConstantDiffusivity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp b/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp index 646918643eb..fc2baf06cc7 100644 --- a/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp +++ b/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConstantPrandtl.hpp b/SU2_CFD/include/fluid/CConstantPrandtl.hpp index b268bf61e59..64778fea940 100644 --- a/SU2_CFD/include/fluid/CConstantPrandtl.hpp +++ b/SU2_CFD/include/fluid/CConstantPrandtl.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp b/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp index 9ea7aac705d..1c44fcd324b 100644 --- a/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp +++ b/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConstantSchmidt.hpp b/SU2_CFD/include/fluid/CConstantSchmidt.hpp index 01991492f9f..7fced61e062 100644 --- a/SU2_CFD/include/fluid/CConstantSchmidt.hpp +++ b/SU2_CFD/include/fluid/CConstantSchmidt.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CConstantViscosity.hpp b/SU2_CFD/include/fluid/CConstantViscosity.hpp index 5a95be95cca..ef9a29ce705 100644 --- a/SU2_CFD/include/fluid/CConstantViscosity.hpp +++ b/SU2_CFD/include/fluid/CConstantViscosity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CCoolProp.hpp b/SU2_CFD/include/fluid/CCoolProp.hpp index 9d42b8dd8b6..89f64cb406e 100644 --- a/SU2_CFD/include/fluid/CCoolProp.hpp +++ b/SU2_CFD/include/fluid/CCoolProp.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -71,49 +71,49 @@ class CCoolProp final : public CFluidModel { * \param[in] e - second thermodynamic variable. */ void SetTDState_rhoe(su2double rho, su2double e) override; - + /*! * \brief Set the Dimensionless State using Pressure and Temperature * \param[in] P - first thermodynamic variable. * \param[in] T - second thermodynamic variable. */ void SetTDState_PT(su2double P, su2double T) override; - + /*! * \brief Set the Dimensionless State using Pressure and Density * \param[in] P - first thermodynamic variable. * \param[in] rho - second thermodynamic variable. */ void SetTDState_Prho(su2double P, su2double rho) override; - + /*! * \brief Set the Dimensionless Internal Energy using Pressure and Density * \param[in] P - first thermodynamic variable. * \param[in] rho - second thermodynamic variable. */ void SetEnergy_Prho(su2double P, su2double rho) override; - + /*! * \brief Set the Dimensionless State using Enthalpy and Entropy * \param[in] th1 - first thermodynamic variable (h). * \param[in] th2 - second thermodynamic variable (s). */ void SetTDState_hs(su2double h, su2double s) override; - + /*! * \brief Set the Dimensionless State using Density and Temperature * \param[in] th1 - first thermodynamic variable (rho). * \param[in] th2 - second thermodynamic variable (T). */ void SetTDState_rhoT(su2double rho, su2double T) override; - + /*! * \brief Set the Dimensionless State using Pressure and Entropy * \param[in] th1 - first thermodynamic variable (P). * \param[in] th2 - second thermodynamic variable (s). */ void SetTDState_Ps(su2double P, su2double s) override; - + /*! * \brief compute some derivatives of enthalpy and entropy needed for subsonic inflow BC * \param[in] th1 - first thermodynamic variable (P). diff --git a/SU2_CFD/include/fluid/CCoolPropConductivity.hpp b/SU2_CFD/include/fluid/CCoolPropConductivity.hpp index 594ede4a99e..420d3b7b95e 100644 --- a/SU2_CFD/include/fluid/CCoolPropConductivity.hpp +++ b/SU2_CFD/include/fluid/CCoolPropConductivity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CCoolPropViscosity.hpp b/SU2_CFD/include/fluid/CCoolPropViscosity.hpp index bf3287d83d8..9892ce8948b 100644 --- a/SU2_CFD/include/fluid/CCoolPropViscosity.hpp +++ b/SU2_CFD/include/fluid/CCoolPropViscosity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CDiffusivityModel.hpp b/SU2_CFD/include/fluid/CDiffusivityModel.hpp index d9433d3bd6c..7da6de81419 100644 --- a/SU2_CFD/include/fluid/CDiffusivityModel.hpp +++ b/SU2_CFD/include/fluid/CDiffusivityModel.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CFluidModel.hpp b/SU2_CFD/include/fluid/CFluidModel.hpp index e9444605b45..d447446da10 100644 --- a/SU2_CFD/include/fluid/CFluidModel.hpp +++ b/SU2_CFD/include/fluid/CFluidModel.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CFluidScalar.hpp b/SU2_CFD/include/fluid/CFluidScalar.hpp index 32e0cf5781b..b7c6c02d3d2 100644 --- a/SU2_CFD/include/fluid/CFluidScalar.hpp +++ b/SU2_CFD/include/fluid/CFluidScalar.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -111,7 +111,7 @@ class CFluidScalar final : public CFluidModel { * \brief Set thermal conductivity model. */ void SetThermalConductivityModel(const CConfig* config) override; - + /*! * \brief Set mass diffusivity model. */ diff --git a/SU2_CFD/include/fluid/CIdealGas.hpp b/SU2_CFD/include/fluid/CIdealGas.hpp index 9c0d2c5409e..42a496deed0 100644 --- a/SU2_CFD/include/fluid/CIdealGas.hpp +++ b/SU2_CFD/include/fluid/CIdealGas.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CIncIdealGas.hpp b/SU2_CFD/include/fluid/CIncIdealGas.hpp index 7dcde9300c4..0732941d8e5 100644 --- a/SU2_CFD/include/fluid/CIncIdealGas.hpp +++ b/SU2_CFD/include/fluid/CIncIdealGas.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp b/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp index f473fcd2796..9fdfe709170 100644 --- a/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp +++ b/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CMutationTCLib.hpp b/SU2_CFD/include/fluid/CMutationTCLib.hpp index 96ca9bd6908..3c0773181fc 100644 --- a/SU2_CFD/include/fluid/CMutationTCLib.hpp +++ b/SU2_CFD/include/fluid/CMutationTCLib.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CNEMOGas.hpp b/SU2_CFD/include/fluid/CNEMOGas.hpp index eba5fbcc5fa..43bb7ec9fbd 100644 --- a/SU2_CFD/include/fluid/CNEMOGas.hpp +++ b/SU2_CFD/include/fluid/CNEMOGas.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CPengRobinson.hpp b/SU2_CFD/include/fluid/CPengRobinson.hpp index a7f64aef14d..ebfeeaedc9c 100644 --- a/SU2_CFD/include/fluid/CPengRobinson.hpp +++ b/SU2_CFD/include/fluid/CPengRobinson.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CPolynomialConductivity.hpp b/SU2_CFD/include/fluid/CPolynomialConductivity.hpp index 132732b6f1c..77a05bc29f5 100644 --- a/SU2_CFD/include/fluid/CPolynomialConductivity.hpp +++ b/SU2_CFD/include/fluid/CPolynomialConductivity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp b/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp index 3b09be6384b..187a56be9e1 100644 --- a/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp +++ b/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CPolynomialViscosity.hpp b/SU2_CFD/include/fluid/CPolynomialViscosity.hpp index 86a46d645dd..329cc74dfa1 100644 --- a/SU2_CFD/include/fluid/CPolynomialViscosity.hpp +++ b/SU2_CFD/include/fluid/CPolynomialViscosity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CSU2TCLib.hpp b/SU2_CFD/include/fluid/CSU2TCLib.hpp index e3d5b5d3b23..76babbe98e7 100644 --- a/SU2_CFD/include/fluid/CSU2TCLib.hpp +++ b/SU2_CFD/include/fluid/CSU2TCLib.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CSutherland.hpp b/SU2_CFD/include/fluid/CSutherland.hpp index c5896a54fcd..4b3836d54d0 100644 --- a/SU2_CFD/include/fluid/CSutherland.hpp +++ b/SU2_CFD/include/fluid/CSutherland.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp b/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp index c171e36be64..cf9483ba16a 100644 --- a/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp +++ b/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/fluid/CViscosityModel.hpp b/SU2_CFD/include/fluid/CViscosityModel.hpp index 1e21fe4e0be..3e4f2e54d62 100644 --- a/SU2_CFD/include/fluid/CViscosityModel.hpp +++ b/SU2_CFD/include/fluid/CViscosityModel.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp b/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp index 07f79b395b6..de80becca2c 100644 --- a/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp +++ b/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp b/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp index c04e8b6009e..386af2a9c42 100644 --- a/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp +++ b/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/integration/CFEM_DG_Integration.hpp b/SU2_CFD/include/integration/CFEM_DG_Integration.hpp index f76edda2079..ad027779fdf 100644 --- a/SU2_CFD/include/integration/CFEM_DG_Integration.hpp +++ b/SU2_CFD/include/integration/CFEM_DG_Integration.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/integration/CIntegration.hpp b/SU2_CFD/include/integration/CIntegration.hpp index 84b43bb04f1..78079f2f5ef 100644 --- a/SU2_CFD/include/integration/CIntegration.hpp +++ b/SU2_CFD/include/integration/CIntegration.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/integration/CIntegrationFactory.hpp b/SU2_CFD/include/integration/CIntegrationFactory.hpp index 89d11e3aba8..5cebfaa1ff7 100644 --- a/SU2_CFD/include/integration/CIntegrationFactory.hpp +++ b/SU2_CFD/include/integration/CIntegrationFactory.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/integration/CMultiGridIntegration.hpp b/SU2_CFD/include/integration/CMultiGridIntegration.hpp index f4bcb84c5ef..caaf9792e67 100644 --- a/SU2_CFD/include/integration/CMultiGridIntegration.hpp +++ b/SU2_CFD/include/integration/CMultiGridIntegration.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/integration/CNewtonIntegration.hpp b/SU2_CFD/include/integration/CNewtonIntegration.hpp index a04693f439e..43300b2274d 100644 --- a/SU2_CFD/include/integration/CNewtonIntegration.hpp +++ b/SU2_CFD/include/integration/CNewtonIntegration.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/integration/CSingleGridIntegration.hpp b/SU2_CFD/include/integration/CSingleGridIntegration.hpp index ca97fcdaede..c026137224d 100644 --- a/SU2_CFD/include/integration/CSingleGridIntegration.hpp +++ b/SU2_CFD/include/integration/CSingleGridIntegration.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/integration/CStructuralIntegration.hpp b/SU2_CFD/include/integration/CStructuralIntegration.hpp index 26f397628f6..a9895c6edf0 100644 --- a/SU2_CFD/include/integration/CStructuralIntegration.hpp +++ b/SU2_CFD/include/integration/CStructuralIntegration.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/interfaces/CInterface.hpp b/SU2_CFD/include/interfaces/CInterface.hpp index 622d325248d..fe79381d72a 100644 --- a/SU2_CFD/include/interfaces/CInterface.hpp +++ b/SU2_CFD/include/interfaces/CInterface.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp b/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp index 1b3d724775e..e88f7984d9d 100644 --- a/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp +++ b/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp b/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp index 78e1f602e0a..e4702c2860d 100644 --- a/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp +++ b/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp b/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp index 633ff04f806..3dbc7237cb3 100644 --- a/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp +++ b/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp b/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp index d29e37d2455..0461c73e813 100644 --- a/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp +++ b/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp b/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp index 9866c4e30ac..1f3f25a5fd2 100644 --- a/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp +++ b/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp b/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp index bffe292b263..554929fc063 100644 --- a/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp +++ b/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp b/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp index c3fa8a00e78..da71a06a3c7 100644 --- a/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp +++ b/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CAdjFluidIteration.hpp b/SU2_CFD/include/iteration/CAdjFluidIteration.hpp index 25a4ef1c28f..d760cbd6476 100644 --- a/SU2_CFD/include/iteration/CAdjFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CAdjFluidIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp b/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp index d0b82d9e4b3..e809c6c0efd 100644 --- a/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp +++ b/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp b/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp index 2de46eb263f..5c09c3dd55b 100644 --- a/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp b/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp index 90f7d481ad4..caad45fc687 100644 --- a/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp +++ b/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CFEAIteration.hpp b/SU2_CFD/include/iteration/CFEAIteration.hpp index b0e5cced78c..1fa58d0e58f 100644 --- a/SU2_CFD/include/iteration/CFEAIteration.hpp +++ b/SU2_CFD/include/iteration/CFEAIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CFEMFluidIteration.hpp b/SU2_CFD/include/iteration/CFEMFluidIteration.hpp index 87c0ede107e..de26ff46edb 100644 --- a/SU2_CFD/include/iteration/CFEMFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CFEMFluidIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CFluidIteration.hpp b/SU2_CFD/include/iteration/CFluidIteration.hpp index 62c1467a7d8..e1d2a7d6a53 100644 --- a/SU2_CFD/include/iteration/CFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CFluidIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CHeatIteration.hpp b/SU2_CFD/include/iteration/CHeatIteration.hpp index 11a7be72314..8046c688aa7 100644 --- a/SU2_CFD/include/iteration/CHeatIteration.hpp +++ b/SU2_CFD/include/iteration/CHeatIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CIteration.hpp b/SU2_CFD/include/iteration/CIteration.hpp index c432551dc2a..37d78f82122 100644 --- a/SU2_CFD/include/iteration/CIteration.hpp +++ b/SU2_CFD/include/iteration/CIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CIterationFactory.hpp b/SU2_CFD/include/iteration/CIterationFactory.hpp index cd6fd01f3f8..e401e77bedf 100644 --- a/SU2_CFD/include/iteration/CIterationFactory.hpp +++ b/SU2_CFD/include/iteration/CIterationFactory.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/iteration/CTurboIteration.hpp b/SU2_CFD/include/iteration/CTurboIteration.hpp index 8d6af4f2e6d..402227b6a31 100644 --- a/SU2_CFD/include/iteration/CTurboIteration.hpp +++ b/SU2_CFD/include/iteration/CTurboIteration.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/limiters/CLimiterDetails.hpp b/SU2_CFD/include/limiters/CLimiterDetails.hpp index 189c091e731..aa40f745af1 100644 --- a/SU2_CFD/include/limiters/CLimiterDetails.hpp +++ b/SU2_CFD/include/limiters/CLimiterDetails.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/limiters/computeLimiters.hpp b/SU2_CFD/include/limiters/computeLimiters.hpp index 8c7a105882d..14f7126af86 100644 --- a/SU2_CFD/include/limiters/computeLimiters.hpp +++ b/SU2_CFD/include/limiters/computeLimiters.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/limiters/computeLimiters_impl.hpp b/SU2_CFD/include/limiters/computeLimiters_impl.hpp index bb6fa93f315..db108e4444b 100644 --- a/SU2_CFD/include/limiters/computeLimiters_impl.hpp +++ b/SU2_CFD/include/limiters/computeLimiters_impl.hpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/CGradSmoothing.hpp b/SU2_CFD/include/numerics/CGradSmoothing.hpp index e6d1e7dfabb..ccda132d5e9 100644 --- a/SU2_CFD/include/numerics/CGradSmoothing.hpp +++ b/SU2_CFD/include/numerics/CGradSmoothing.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index 354ff746ec4..ecf8fb03659 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp index 2289ab9caca..4c983bf6552 100644 --- a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp +++ b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp b/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp index e3d9f79f5f3..9552b07baec 100644 --- a/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp +++ b/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp b/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp index e07017acba2..c23cdca6ba3 100644 --- a/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp +++ b/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/NEMO/convection/lax.hpp b/SU2_CFD/include/numerics/NEMO/convection/lax.hpp index c5e8f46e0a4..5fcea8d79a8 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/lax.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/lax.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/NEMO/convection/msw.hpp b/SU2_CFD/include/numerics/NEMO/convection/msw.hpp index 80b1bac4544..9a849f7e234 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/msw.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/msw.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/NEMO/convection/roe.hpp b/SU2_CFD/include/numerics/NEMO/convection/roe.hpp index 4db3e26b859..610063d634b 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/roe.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/roe.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp index a335f190f4d..647316f8226 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp index 341081eaff7..9e6d4577eca 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp index 4ca6744bccc..0ec99fa8448 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp b/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp index 463ef33aceb..c53f01f6dea 100644 --- a/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp +++ b/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp b/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp index c8097e1eee9..5f555080ff2 100644 --- a/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp +++ b/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp b/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp index 44a7420c78b..71c5cc3caf5 100644 --- a/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp +++ b/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp b/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp index fed3e392496..948559a6d28 100644 --- a/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp +++ b/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp b/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp index 3de66b6ed70..60d61625ac8 100644 --- a/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp +++ b/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/flow/convection/centered.hpp b/SU2_CFD/include/numerics/flow/convection/centered.hpp index 7c6e3acddeb..3ab453cad3e 100644 --- a/SU2_CFD/include/numerics/flow/convection/centered.hpp +++ b/SU2_CFD/include/numerics/flow/convection/centered.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/flow/convection/cusp.hpp b/SU2_CFD/include/numerics/flow/convection/cusp.hpp index fa2233c2d55..28e731ea139 100644 --- a/SU2_CFD/include/numerics/flow/convection/cusp.hpp +++ b/SU2_CFD/include/numerics/flow/convection/cusp.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/flow/convection/fds.hpp b/SU2_CFD/include/numerics/flow/convection/fds.hpp index 937beee45b9..d0290200a62 100644 --- a/SU2_CFD/include/numerics/flow/convection/fds.hpp +++ b/SU2_CFD/include/numerics/flow/convection/fds.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/flow/convection/fvs.hpp b/SU2_CFD/include/numerics/flow/convection/fvs.hpp index 0dab5b38a83..6d93ed68a4f 100644 --- a/SU2_CFD/include/numerics/flow/convection/fvs.hpp +++ b/SU2_CFD/include/numerics/flow/convection/fvs.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/flow/convection/hllc.hpp b/SU2_CFD/include/numerics/flow/convection/hllc.hpp index ea7797f9ffe..4be9e0ad55c 100644 --- a/SU2_CFD/include/numerics/flow/convection/hllc.hpp +++ b/SU2_CFD/include/numerics/flow/convection/hllc.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/flow/convection/roe.hpp b/SU2_CFD/include/numerics/flow/convection/roe.hpp index ca17ee8ab00..e6fbe2915ed 100644 --- a/SU2_CFD/include/numerics/flow/convection/roe.hpp +++ b/SU2_CFD/include/numerics/flow/convection/roe.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp index 21fcbf05033..69df30df879 100644 --- a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp +++ b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/flow/flow_sources.hpp b/SU2_CFD/include/numerics/flow/flow_sources.hpp index e0f7234556e..5c139eb748a 100644 --- a/SU2_CFD/include/numerics/flow/flow_sources.hpp +++ b/SU2_CFD/include/numerics/flow/flow_sources.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/heat.hpp b/SU2_CFD/include/numerics/heat.hpp index a07a0fe6b97..0eefd42355c 100644 --- a/SU2_CFD/include/numerics/heat.hpp +++ b/SU2_CFD/include/numerics/heat.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/radiation.hpp b/SU2_CFD/include/numerics/radiation.hpp index 98a50e9fa42..9ba310cd4bb 100644 --- a/SU2_CFD/include/numerics/radiation.hpp +++ b/SU2_CFD/include/numerics/radiation.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp index 7d50d2fe9e0..fb7de94bf2f 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp b/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp index 82793741241..2232be75a91 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/scalar/scalar_sources.hpp b/SU2_CFD/include/numerics/scalar/scalar_sources.hpp index a8b78dbc65a..796b14986ba 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_sources.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_sources.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/species/species_convection.hpp b/SU2_CFD/include/numerics/species/species_convection.hpp index 46890678b2e..8a6b91c7ecb 100644 --- a/SU2_CFD/include/numerics/species/species_convection.hpp +++ b/SU2_CFD/include/numerics/species/species_convection.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/species/species_diffusion.hpp b/SU2_CFD/include/numerics/species/species_diffusion.hpp index d8ba7b5023f..cb2d6e8fc99 100644 --- a/SU2_CFD/include/numerics/species/species_diffusion.hpp +++ b/SU2_CFD/include/numerics/species/species_diffusion.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/species/species_sources.hpp b/SU2_CFD/include/numerics/species/species_sources.hpp index 81dba0f8c7c..de31867717b 100644 --- a/SU2_CFD/include/numerics/species/species_sources.hpp +++ b/SU2_CFD/include/numerics/species/species_sources.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/template.hpp b/SU2_CFD/include/numerics/template.hpp index e81a536acd8..af57b6db381 100644 --- a/SU2_CFD/include/numerics/template.hpp +++ b/SU2_CFD/include/numerics/template.hpp @@ -12,7 +12,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp index 88de5a666e2..46fd3b610ae 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp index bb80218ac6d..9bd6798a714 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp index 0ad86cf349d..05a4df4db45 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp index de013fb1a67..c87c0f51e61 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -83,7 +83,7 @@ class CSourcePieceWise_TransLM final : public CNumerics { hRoughness = config->GethRoughness(); TransCorrelations.SetOptions(options); - + } /*! diff --git a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp index 90a1c9ba216..e2d3b779d57 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp b/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp index f871588c47c..64e25cd8e1b 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index e11880bb41e..e38a3d06683 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -54,7 +54,7 @@ struct CSAVariables { /*--- List of helpers ---*/ su2double Omega, dist_i_2, inv_k2_d2, inv_Shat, g_6, norm2_Grad; - + su2double intermittency, interDestrFactor; }; @@ -639,13 +639,13 @@ class CSourcePieceWise_TurbSST final : public CNumerics { const su2double cdw_axi = rhov * w - (Laminar_Viscosity_i + sigma_w_i * Eddy_Viscosity_i) * ScalarVar_Grad_i[1][1]; /*--- Add terms to the residuals ---*/ - + Residual[0] -= yinv * Volume * cdk_axi; Residual[1] -= yinv * Volume * cdw_axi; Jacobian_i[0][0] -= yinv * Volume * rhov; - Jacobian_i[0][1] -= 0.0; - Jacobian_i[1][0] -= 0.0; + Jacobian_i[0][1] -= 0.0; + Jacobian_i[1][0] -= 0.0; Jacobian_i[1][1] -= yinv * Volume * rhov; } diff --git a/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp b/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp index 3b40b5f4d92..e784338ca8d 100644 --- a/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp +++ b/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp b/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp index 82cdadbd8b8..6cafc17343a 100644 --- a/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp +++ b/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp b/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp index d5358d771ba..47017b96ab9 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics_simd/flow/convection/common.hpp b/SU2_CFD/include/numerics_simd/flow/convection/common.hpp index e88f58c98b4..f9291a7be02 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/common.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/common.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp b/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp index 99cff97f445..b7572edb688 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp b/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp index ecef279e5ed..5cabe43f388 100644 --- a/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp +++ b/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp b/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp index 16f4fc08459..3402b59c668 100644 --- a/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp +++ b/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics_simd/flow/variables.hpp b/SU2_CFD/include/numerics_simd/flow/variables.hpp index 51cddb2a8a7..d93563a89f2 100644 --- a/SU2_CFD/include/numerics_simd/flow/variables.hpp +++ b/SU2_CFD/include/numerics_simd/flow/variables.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/numerics_simd/util.hpp b/SU2_CFD/include/numerics_simd/util.hpp index 8e67cce67f1..d722773b371 100644 --- a/SU2_CFD/include/numerics_simd/util.hpp +++ b/SU2_CFD/include/numerics_simd/util.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CAdjElasticityOutput.hpp b/SU2_CFD/include/output/CAdjElasticityOutput.hpp index fa49e4a8a81..ce9449bf009 100644 --- a/SU2_CFD/include/output/CAdjElasticityOutput.hpp +++ b/SU2_CFD/include/output/CAdjElasticityOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CAdjFlowCompOutput.hpp b/SU2_CFD/include/output/CAdjFlowCompOutput.hpp index e1662e286f3..3814ab1195e 100644 --- a/SU2_CFD/include/output/CAdjFlowCompOutput.hpp +++ b/SU2_CFD/include/output/CAdjFlowCompOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CAdjFlowIncOutput.hpp b/SU2_CFD/include/output/CAdjFlowIncOutput.hpp index f187bd4516f..e418a44633f 100644 --- a/SU2_CFD/include/output/CAdjFlowIncOutput.hpp +++ b/SU2_CFD/include/output/CAdjFlowIncOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CAdjFlowOutput.hpp b/SU2_CFD/include/output/CAdjFlowOutput.hpp index afe064e9da5..a92b5b06a22 100644 --- a/SU2_CFD/include/output/CAdjFlowOutput.hpp +++ b/SU2_CFD/include/output/CAdjFlowOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CAdjHeatOutput.hpp b/SU2_CFD/include/output/CAdjHeatOutput.hpp index 7c8071468e8..5cb4dbb912d 100644 --- a/SU2_CFD/include/output/CAdjHeatOutput.hpp +++ b/SU2_CFD/include/output/CAdjHeatOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CBaselineOutput.hpp b/SU2_CFD/include/output/CBaselineOutput.hpp index fd066ec5e67..94b6d3a3c1e 100644 --- a/SU2_CFD/include/output/CBaselineOutput.hpp +++ b/SU2_CFD/include/output/CBaselineOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CElasticityOutput.hpp b/SU2_CFD/include/output/CElasticityOutput.hpp index e4238757719..e4fd8947b4a 100644 --- a/SU2_CFD/include/output/CElasticityOutput.hpp +++ b/SU2_CFD/include/output/CElasticityOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CFVMOutput.hpp b/SU2_CFD/include/output/CFVMOutput.hpp index 07034524ba6..7b115ed75c4 100644 --- a/SU2_CFD/include/output/CFVMOutput.hpp +++ b/SU2_CFD/include/output/CFVMOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CFlowCompFEMOutput.hpp b/SU2_CFD/include/output/CFlowCompFEMOutput.hpp index 9514ea4c491..1e4e3cf7a9e 100644 --- a/SU2_CFD/include/output/CFlowCompFEMOutput.hpp +++ b/SU2_CFD/include/output/CFlowCompFEMOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CFlowCompOutput.hpp b/SU2_CFD/include/output/CFlowCompOutput.hpp index c6c0b01b35a..ce0f216eef0 100644 --- a/SU2_CFD/include/output/CFlowCompOutput.hpp +++ b/SU2_CFD/include/output/CFlowCompOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CFlowIncOutput.hpp b/SU2_CFD/include/output/CFlowIncOutput.hpp index a72f3c2b7a9..a680d18b5f9 100644 --- a/SU2_CFD/include/output/CFlowIncOutput.hpp +++ b/SU2_CFD/include/output/CFlowIncOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CFlowOutput.hpp b/SU2_CFD/include/output/CFlowOutput.hpp index 44a7f55fbb2..ee91bcc5386 100644 --- a/SU2_CFD/include/output/CFlowOutput.hpp +++ b/SU2_CFD/include/output/CFlowOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CHeatOutput.hpp b/SU2_CFD/include/output/CHeatOutput.hpp index be5cdf74822..7791359c620 100644 --- a/SU2_CFD/include/output/CHeatOutput.hpp +++ b/SU2_CFD/include/output/CHeatOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CMeshOutput.hpp b/SU2_CFD/include/output/CMeshOutput.hpp index f31c853099b..0d7e0918528 100644 --- a/SU2_CFD/include/output/CMeshOutput.hpp +++ b/SU2_CFD/include/output/CMeshOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CMultizoneOutput.hpp b/SU2_CFD/include/output/CMultizoneOutput.hpp index d6ea055408e..7719606df37 100644 --- a/SU2_CFD/include/output/CMultizoneOutput.hpp +++ b/SU2_CFD/include/output/CMultizoneOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/CNEMOCompOutput.hpp b/SU2_CFD/include/output/CNEMOCompOutput.hpp index 4e8eab774e0..c778b2121e7 100644 --- a/SU2_CFD/include/output/CNEMOCompOutput.hpp +++ b/SU2_CFD/include/output/CNEMOCompOutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/COutput.hpp b/SU2_CFD/include/output/COutput.hpp index 0396ac6c80f..1fbcf05e83e 100644 --- a/SU2_CFD/include/output/COutput.hpp +++ b/SU2_CFD/include/output/COutput.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/COutputFactory.hpp b/SU2_CFD/include/output/COutputFactory.hpp index 0caf981c7fa..2e6c259ca8e 100644 --- a/SU2_CFD/include/output/COutputFactory.hpp +++ b/SU2_CFD/include/output/COutputFactory.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/COutputLegacy.hpp b/SU2_CFD/include/output/COutputLegacy.hpp index 3a0d95d9675..6f417aef0e4 100644 --- a/SU2_CFD/include/output/COutputLegacy.hpp +++ b/SU2_CFD/include/output/COutputLegacy.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp b/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp index ef6d2024bdc..15cabb8ff0e 100644 --- a/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp b/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp index 60082486fe0..583861bcdc1 100644 --- a/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp index 269ce833613..ae72b62d3dc 100644 --- a/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp index 47ff42246f5..23bf202a4e2 100644 --- a/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CFileWriter.hpp b/SU2_CFD/include/output/filewriter/CFileWriter.hpp index 846f1211551..b8c910200f4 100644 --- a/SU2_CFD/include/output/filewriter/CFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp b/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp index 3726332caab..fcee01d9fb9 100644 --- a/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp index cd9e1e9c22e..16eefd44de3 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp index 4b1a25fd952..dcea84eeab0 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp index 5890f172d8f..77e77638dc5 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp index 7920bc25eac..11d5c1a4f21 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp b/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp index e44f5e6fa00..37b915ce18a 100644 --- a/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp b/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp index a38e0b8b519..1b7ae0b4e60 100644 --- a/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp b/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp index d80766ed2df..a7af7416223 100644 --- a/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp b/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp index e6b75be19d0..fcf0a75eb9c 100644 --- a/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp index 3678117b4bd..32351328862 100644 --- a/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp index 793bb615b31..dfe3301e4cf 100644 --- a/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp b/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp index 424233b03d5..61f5f256e4c 100644 --- a/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp b/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp index b1041dcffa0..774756b312c 100644 --- a/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/output/tools/CWindowingTools.hpp b/SU2_CFD/include/output/tools/CWindowingTools.hpp index 7c3163fdc79..c97a66b3330 100644 --- a/SU2_CFD/include/output/tools/CWindowingTools.hpp +++ b/SU2_CFD/include/output/tools/CWindowingTools.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -81,7 +81,7 @@ class CWindowedAverage:CWindowingTools{ inline explicit CWindowedAverage(WINDOW_FUNCTION windowId) : windowingFunctionId(windowId) { if (windowId==WINDOW_FUNCTION::SQUARE) { values.push_back(0.); - } + } } /*! diff --git a/SU2_CFD/include/sgs_model.hpp b/SU2_CFD/include/sgs_model.hpp index 5249e794215..9e880b545e5 100644 --- a/SU2_CFD/include/sgs_model.hpp +++ b/SU2_CFD/include/sgs_model.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/sgs_model.inl b/SU2_CFD/include/sgs_model.inl index 3d5eec16a2a..73eb4afdd6f 100644 --- a/SU2_CFD/include/sgs_model.inl +++ b/SU2_CFD/include/sgs_model.inl @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CAdjEulerSolver.hpp b/SU2_CFD/include/solvers/CAdjEulerSolver.hpp index 06c534d868b..4943c7bf10f 100644 --- a/SU2_CFD/include/solvers/CAdjEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CAdjEulerSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CAdjNSSolver.hpp b/SU2_CFD/include/solvers/CAdjNSSolver.hpp index 469cc8e6061..cd87e545876 100644 --- a/SU2_CFD/include/solvers/CAdjNSSolver.hpp +++ b/SU2_CFD/include/solvers/CAdjNSSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CAdjTurbSolver.hpp b/SU2_CFD/include/solvers/CAdjTurbSolver.hpp index 1d0868510d3..0ec1eef7bc6 100644 --- a/SU2_CFD/include/solvers/CAdjTurbSolver.hpp +++ b/SU2_CFD/include/solvers/CAdjTurbSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CBaselineSolver.hpp b/SU2_CFD/include/solvers/CBaselineSolver.hpp index 3cd7c9f1f88..4ec03b625f1 100644 --- a/SU2_CFD/include/solvers/CBaselineSolver.hpp +++ b/SU2_CFD/include/solvers/CBaselineSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp b/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp index 88bcc2911cc..a86cb01cd83 100644 --- a/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp +++ b/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp b/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp index 71d3286cdf9..9983581cf55 100644 --- a/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp +++ b/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp b/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp index 41471dfb40e..548c850b9b2 100644 --- a/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp +++ b/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CDiscAdjSolver.hpp b/SU2_CFD/include/solvers/CDiscAdjSolver.hpp index 8e87c9dcd56..0ad2dfb2ad7 100644 --- a/SU2_CFD/include/solvers/CDiscAdjSolver.hpp +++ b/SU2_CFD/include/solvers/CDiscAdjSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CEulerSolver.hpp b/SU2_CFD/include/solvers/CEulerSolver.hpp index 739d0be041b..71bffe48a90 100644 --- a/SU2_CFD/include/solvers/CEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CEulerSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CFEASolver.hpp b/SU2_CFD/include/solvers/CFEASolver.hpp index 88849b8c926..faddf50838c 100644 --- a/SU2_CFD/include/solvers/CFEASolver.hpp +++ b/SU2_CFD/include/solvers/CFEASolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CFEASolverBase.hpp b/SU2_CFD/include/solvers/CFEASolverBase.hpp index e686b51fa2d..38279efc71f 100644 --- a/SU2_CFD/include/solvers/CFEASolverBase.hpp +++ b/SU2_CFD/include/solvers/CFEASolverBase.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp b/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp index 03b12c32c4c..6e135c73147 100644 --- a/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp +++ b/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp b/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp index 70519714a35..f1e162432ef 100644 --- a/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp +++ b/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp b/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp index 4b9df8712a6..8cf92218c9e 100644 --- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp +++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl index e594598bfd9..01e2fa85f43 100644 --- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl +++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp b/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp index 29361eb6563..cccf68951d7 100644 --- a/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp +++ b/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index 7f0df9a9ca8..b8d527261cc 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CIncEulerSolver.hpp b/SU2_CFD/include/solvers/CIncEulerSolver.hpp index b9c1c6d5f00..a74ffbbb304 100644 --- a/SU2_CFD/include/solvers/CIncEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CIncEulerSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CIncNSSolver.hpp b/SU2_CFD/include/solvers/CIncNSSolver.hpp index 8d8dcf19d31..ec7b6931ae9 100644 --- a/SU2_CFD/include/solvers/CIncNSSolver.hpp +++ b/SU2_CFD/include/solvers/CIncNSSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CMeshSolver.hpp b/SU2_CFD/include/solvers/CMeshSolver.hpp index 145bf54769b..f4a2f41385c 100644 --- a/SU2_CFD/include/solvers/CMeshSolver.hpp +++ b/SU2_CFD/include/solvers/CMeshSolver.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp index 57cece925b3..df68dda2cb2 100644 --- a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CNEMONSSolver.hpp b/SU2_CFD/include/solvers/CNEMONSSolver.hpp index b3ba042f9dc..50c8098c24e 100644 --- a/SU2_CFD/include/solvers/CNEMONSSolver.hpp +++ b/SU2_CFD/include/solvers/CNEMONSSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CNSSolver.hpp b/SU2_CFD/include/solvers/CNSSolver.hpp index 2a495de4f76..8f368dfeb0c 100644 --- a/SU2_CFD/include/solvers/CNSSolver.hpp +++ b/SU2_CFD/include/solvers/CNSSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CRadP1Solver.hpp b/SU2_CFD/include/solvers/CRadP1Solver.hpp index 338bd2e0893..7df239b8aad 100644 --- a/SU2_CFD/include/solvers/CRadP1Solver.hpp +++ b/SU2_CFD/include/solvers/CRadP1Solver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CRadSolver.hpp b/SU2_CFD/include/solvers/CRadSolver.hpp index b4cb928326d..14ddd4cf3a3 100644 --- a/SU2_CFD/include/solvers/CRadSolver.hpp +++ b/SU2_CFD/include/solvers/CRadSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CScalarSolver.hpp b/SU2_CFD/include/solvers/CScalarSolver.hpp index a94ef7e02eb..d2b2cf26197 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.hpp +++ b/SU2_CFD/include/solvers/CScalarSolver.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CScalarSolver.inl b/SU2_CFD/include/solvers/CScalarSolver.inl index a6f795a2bbe..b4f4486cfcc 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.inl +++ b/SU2_CFD/include/solvers/CScalarSolver.inl @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CSolver.hpp b/SU2_CFD/include/solvers/CSolver.hpp index 26ce5eeabf2..0829a41370f 100644 --- a/SU2_CFD/include/solvers/CSolver.hpp +++ b/SU2_CFD/include/solvers/CSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CSolverFactory.hpp b/SU2_CFD/include/solvers/CSolverFactory.hpp index 3a9dfb1e91d..3c59100b8e8 100644 --- a/SU2_CFD/include/solvers/CSolverFactory.hpp +++ b/SU2_CFD/include/solvers/CSolverFactory.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -102,7 +102,7 @@ class CSolverFactory { * \return - A pointer to the allocated turbulent solver */ static CSolver* CreateTurbSolver(TURB_MODEL kindTurbModel, CSolver **solver, CGeometry *geometry, CConfig *config, int iMGLevel, int adjoint); - + /*! * \brief Create a transition solver * \param[in] kindTransModel - Kind of transition solver @@ -114,7 +114,7 @@ class CSolverFactory { * \return - A pointer to the allocated transition solver */ static CSolver* CreateTransSolver(TURB_TRANS_MODEL kindTransModel , CSolver **solver, CGeometry *geometry, CConfig *config, int iMGLevel, int adjoint); - + /*! * \brief Create a species solver * \param[in] solver - The solver container diff --git a/SU2_CFD/include/solvers/CSpeciesSolver.hpp b/SU2_CFD/include/solvers/CSpeciesSolver.hpp index 6f209b0fda6..9f0db05628a 100644 --- a/SU2_CFD/include/solvers/CSpeciesSolver.hpp +++ b/SU2_CFD/include/solvers/CSpeciesSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CTemplateSolver.hpp b/SU2_CFD/include/solvers/CTemplateSolver.hpp index 03b7bcd5d81..da46da62425 100644 --- a/SU2_CFD/include/solvers/CTemplateSolver.hpp +++ b/SU2_CFD/include/solvers/CTemplateSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CTransLMSolver.hpp b/SU2_CFD/include/solvers/CTransLMSolver.hpp index acdf90fb9a4..d09c587ecc3 100644 --- a/SU2_CFD/include/solvers/CTransLMSolver.hpp +++ b/SU2_CFD/include/solvers/CTransLMSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CTurbSASolver.hpp b/SU2_CFD/include/solvers/CTurbSASolver.hpp index 90db2a70041..0f60ee431b3 100644 --- a/SU2_CFD/include/solvers/CTurbSASolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSASolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp index 93962d328f1..09623cab231 100644 --- a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/solvers/CTurbSolver.hpp b/SU2_CFD/include/solvers/CTurbSolver.hpp index 78d48b2d8cf..8ac15a3f594 100644 --- a/SU2_CFD/include/solvers/CTurbSolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSolver.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/task_definition.hpp b/SU2_CFD/include/task_definition.hpp index 1b11d020297..4e008c5a7c2 100644 --- a/SU2_CFD/include/task_definition.hpp +++ b/SU2_CFD/include/task_definition.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/task_definition.inl b/SU2_CFD/include/task_definition.inl index e75462050df..e44785a4ba8 100644 --- a/SU2_CFD/include/task_definition.inl +++ b/SU2_CFD/include/task_definition.inl @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CAdjEulerVariable.hpp b/SU2_CFD/include/variables/CAdjEulerVariable.hpp index a7451999638..a3d4c2a6eb3 100644 --- a/SU2_CFD/include/variables/CAdjEulerVariable.hpp +++ b/SU2_CFD/include/variables/CAdjEulerVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CAdjNSVariable.hpp b/SU2_CFD/include/variables/CAdjNSVariable.hpp index 1b05e19f46d..b1618e7771c 100644 --- a/SU2_CFD/include/variables/CAdjNSVariable.hpp +++ b/SU2_CFD/include/variables/CAdjNSVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CAdjTurbVariable.hpp b/SU2_CFD/include/variables/CAdjTurbVariable.hpp index ba8bee98d87..79adce81e38 100644 --- a/SU2_CFD/include/variables/CAdjTurbVariable.hpp +++ b/SU2_CFD/include/variables/CAdjTurbVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CBaselineVariable.hpp b/SU2_CFD/include/variables/CBaselineVariable.hpp index d916a17dc3a..22ec936f1c9 100644 --- a/SU2_CFD/include/variables/CBaselineVariable.hpp +++ b/SU2_CFD/include/variables/CBaselineVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp b/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp index 08052962ed2..526fc38029c 100644 --- a/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp +++ b/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp b/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp index 48b3e6d022a..d8ccae68127 100644 --- a/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp +++ b/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CDiscAdjVariable.hpp b/SU2_CFD/include/variables/CDiscAdjVariable.hpp index 308fe86dc99..8d06fb51400 100644 --- a/SU2_CFD/include/variables/CDiscAdjVariable.hpp +++ b/SU2_CFD/include/variables/CDiscAdjVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CEulerVariable.hpp b/SU2_CFD/include/variables/CEulerVariable.hpp index 2cf9a8b6076..57a6be12863 100644 --- a/SU2_CFD/include/variables/CEulerVariable.hpp +++ b/SU2_CFD/include/variables/CEulerVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CFEABoundVariable.hpp b/SU2_CFD/include/variables/CFEABoundVariable.hpp index f7034f6db8d..ee960f67115 100644 --- a/SU2_CFD/include/variables/CFEABoundVariable.hpp +++ b/SU2_CFD/include/variables/CFEABoundVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CFEAVariable.hpp b/SU2_CFD/include/variables/CFEAVariable.hpp index 277d3c98edb..2943089c9e0 100644 --- a/SU2_CFD/include/variables/CFEAVariable.hpp +++ b/SU2_CFD/include/variables/CFEAVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CFlowVariable.hpp b/SU2_CFD/include/variables/CFlowVariable.hpp index 27c7b54d1c4..52735e60d2e 100644 --- a/SU2_CFD/include/variables/CFlowVariable.hpp +++ b/SU2_CFD/include/variables/CFlowVariable.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CHeatVariable.hpp b/SU2_CFD/include/variables/CHeatVariable.hpp index b093cc8f284..70f06255778 100644 --- a/SU2_CFD/include/variables/CHeatVariable.hpp +++ b/SU2_CFD/include/variables/CHeatVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CIncEulerVariable.hpp b/SU2_CFD/include/variables/CIncEulerVariable.hpp index a5626e5181c..24f1034e5a7 100644 --- a/SU2_CFD/include/variables/CIncEulerVariable.hpp +++ b/SU2_CFD/include/variables/CIncEulerVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CIncNSVariable.hpp b/SU2_CFD/include/variables/CIncNSVariable.hpp index 2a459dee443..7a9f1532522 100644 --- a/SU2_CFD/include/variables/CIncNSVariable.hpp +++ b/SU2_CFD/include/variables/CIncNSVariable.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CMeshBoundVariable.hpp b/SU2_CFD/include/variables/CMeshBoundVariable.hpp index 68b6752bcaf..5f6724f3937 100644 --- a/SU2_CFD/include/variables/CMeshBoundVariable.hpp +++ b/SU2_CFD/include/variables/CMeshBoundVariable.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CMeshElement.hpp b/SU2_CFD/include/variables/CMeshElement.hpp index b910b02694e..ca5d7fde708 100644 --- a/SU2_CFD/include/variables/CMeshElement.hpp +++ b/SU2_CFD/include/variables/CMeshElement.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CMeshVariable.hpp b/SU2_CFD/include/variables/CMeshVariable.hpp index 8cf4b7f1b91..41d6721c10f 100644 --- a/SU2_CFD/include/variables/CMeshVariable.hpp +++ b/SU2_CFD/include/variables/CMeshVariable.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CNEMOEulerVariable.hpp b/SU2_CFD/include/variables/CNEMOEulerVariable.hpp index 74def5d40ef..422ce2b510b 100644 --- a/SU2_CFD/include/variables/CNEMOEulerVariable.hpp +++ b/SU2_CFD/include/variables/CNEMOEulerVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CNEMONSVariable.hpp b/SU2_CFD/include/variables/CNEMONSVariable.hpp index 926a9a80458..fbc074ebec0 100644 --- a/SU2_CFD/include/variables/CNEMONSVariable.hpp +++ b/SU2_CFD/include/variables/CNEMONSVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CNSVariable.hpp b/SU2_CFD/include/variables/CNSVariable.hpp index 12ea5d3e730..f23895750c7 100644 --- a/SU2_CFD/include/variables/CNSVariable.hpp +++ b/SU2_CFD/include/variables/CNSVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CPrimitiveIndices.hpp b/SU2_CFD/include/variables/CPrimitiveIndices.hpp index 64296db44b8..71e454ba12e 100644 --- a/SU2_CFD/include/variables/CPrimitiveIndices.hpp +++ b/SU2_CFD/include/variables/CPrimitiveIndices.hpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CRadP1Variable.hpp b/SU2_CFD/include/variables/CRadP1Variable.hpp index ed808ae78f8..69cbb3e65aa 100644 --- a/SU2_CFD/include/variables/CRadP1Variable.hpp +++ b/SU2_CFD/include/variables/CRadP1Variable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CRadVariable.hpp b/SU2_CFD/include/variables/CRadVariable.hpp index a4bb9979255..3902effa804 100644 --- a/SU2_CFD/include/variables/CRadVariable.hpp +++ b/SU2_CFD/include/variables/CRadVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CScalarVariable.hpp b/SU2_CFD/include/variables/CScalarVariable.hpp index 1f63168419b..b1f2938a22a 100644 --- a/SU2_CFD/include/variables/CScalarVariable.hpp +++ b/SU2_CFD/include/variables/CScalarVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp b/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp index 0ac3c9fa93f..c2a6aaef53e 100644 --- a/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp +++ b/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CSpeciesVariable.hpp b/SU2_CFD/include/variables/CSpeciesVariable.hpp index 654b38fd23e..76f9ce5276e 100644 --- a/SU2_CFD/include/variables/CSpeciesVariable.hpp +++ b/SU2_CFD/include/variables/CSpeciesVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CTransLMVariable.hpp b/SU2_CFD/include/variables/CTransLMVariable.hpp index c3893023d55..28f3b0bc6e6 100644 --- a/SU2_CFD/include/variables/CTransLMVariable.hpp +++ b/SU2_CFD/include/variables/CTransLMVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -64,7 +64,7 @@ class CTransLMVariable final : public CTurbVariable { * \brief Set Separation intermittency. */ void SetIntermittencySep(unsigned long iPoint, su2double val_Intermittency_sep) override; - + /*! * \brief Set Effective intermittency. */ diff --git a/SU2_CFD/include/variables/CTurbSAVariable.hpp b/SU2_CFD/include/variables/CTurbSAVariable.hpp index 4d0429efcb4..da375e32906 100644 --- a/SU2_CFD/include/variables/CTurbSAVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSAVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CTurbSSTVariable.hpp b/SU2_CFD/include/variables/CTurbSSTVariable.hpp index e8a5d4559aa..10686f086b4 100644 --- a/SU2_CFD/include/variables/CTurbSSTVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSSTVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CTurbVariable.hpp b/SU2_CFD/include/variables/CTurbVariable.hpp index 62f7e582896..c2c748ddb4a 100644 --- a/SU2_CFD/include/variables/CTurbVariable.hpp +++ b/SU2_CFD/include/variables/CTurbVariable.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/include/variables/CVariable.hpp b/SU2_CFD/include/variables/CVariable.hpp index 73ac61075d6..8ead1616396 100644 --- a/SU2_CFD/include/variables/CVariable.hpp +++ b/SU2_CFD/include/variables/CVariable.hpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -1682,9 +1682,9 @@ class CVariable { * \return the value of the intermittency. */ inline virtual su2double GetIntermittency(unsigned long iPoint) const { return 0.0; } - + /*! - * \brief Set the intermittency. + * \brief Set the intermittency. * \param[in] val_dist - Value of the intermittency. */ inline virtual void SetIntermittency(unsigned long iPoint, su2double val_Intermittency) {} diff --git a/SU2_CFD/obj/Makefile.am b/SU2_CFD/obj/Makefile.am index 8208ed5d0e0..95c3f6dd4bd 100644 --- a/SU2_CFD/obj/Makefile.am +++ b/SU2_CFD/obj/Makefile.am @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/CMarkerProfileReaderFVM.cpp b/SU2_CFD/src/CMarkerProfileReaderFVM.cpp index 96a3d7a8e5b..1424129d009 100644 --- a/SU2_CFD/src/CMarkerProfileReaderFVM.cpp +++ b/SU2_CFD/src/CMarkerProfileReaderFVM.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/SU2_CFD.cpp b/SU2_CFD/src/SU2_CFD.cpp index a6a6a92f69c..a0227c2922b 100644 --- a/SU2_CFD/src/SU2_CFD.cpp +++ b/SU2_CFD/src/SU2_CFD.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/definition_structure.cpp b/SU2_CFD/src/definition_structure.cpp index fd12fcc9a1d..6603bf09807 100644 --- a/SU2_CFD/src/definition_structure.cpp +++ b/SU2_CFD/src/definition_structure.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp b/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp index c30d44b9fdc..f1175ebb6f5 100644 --- a/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp b/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp index 7d346ef74c6..ca4c2319978 100644 --- a/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp +++ b/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index 08e2782146f..058472e820f 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/drivers/CDummyDriver.cpp b/SU2_CFD/src/drivers/CDummyDriver.cpp index 22815f7ab4e..cdd803f8de7 100644 --- a/SU2_CFD/src/drivers/CDummyDriver.cpp +++ b/SU2_CFD/src/drivers/CDummyDriver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/drivers/CMultizoneDriver.cpp b/SU2_CFD/src/drivers/CMultizoneDriver.cpp index 7f982ac7fc8..51f268aae8e 100644 --- a/SU2_CFD/src/drivers/CMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CMultizoneDriver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/drivers/CSinglezoneDriver.cpp b/SU2_CFD/src/drivers/CSinglezoneDriver.cpp index dc196dca0c6..affc29335d7 100644 --- a/SU2_CFD/src/drivers/CSinglezoneDriver.cpp +++ b/SU2_CFD/src/drivers/CSinglezoneDriver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/fluid/CCoolProp.cpp b/SU2_CFD/src/fluid/CCoolProp.cpp index e632580edf4..0fabb54d470 100644 --- a/SU2_CFD/src/fluid/CCoolProp.cpp +++ b/SU2_CFD/src/fluid/CCoolProp.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/fluid/CFluidModel.cpp b/SU2_CFD/src/fluid/CFluidModel.cpp index 03cead75136..27b739b49fa 100644 --- a/SU2_CFD/src/fluid/CFluidModel.cpp +++ b/SU2_CFD/src/fluid/CFluidModel.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/fluid/CFluidScalar.cpp b/SU2_CFD/src/fluid/CFluidScalar.cpp index 5415c6adad0..bbc49f8a93f 100644 --- a/SU2_CFD/src/fluid/CFluidScalar.cpp +++ b/SU2_CFD/src/fluid/CFluidScalar.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/fluid/CIdealGas.cpp b/SU2_CFD/src/fluid/CIdealGas.cpp index fd17c96e053..6703465ce22 100644 --- a/SU2_CFD/src/fluid/CIdealGas.cpp +++ b/SU2_CFD/src/fluid/CIdealGas.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/fluid/CMutationTCLib.cpp b/SU2_CFD/src/fluid/CMutationTCLib.cpp index 1621ff0583d..6a974c41226 100644 --- a/SU2_CFD/src/fluid/CMutationTCLib.cpp +++ b/SU2_CFD/src/fluid/CMutationTCLib.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/fluid/CNEMOGas.cpp b/SU2_CFD/src/fluid/CNEMOGas.cpp index 348d9b162ca..bb73a14f6cf 100644 --- a/SU2_CFD/src/fluid/CNEMOGas.cpp +++ b/SU2_CFD/src/fluid/CNEMOGas.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/fluid/CPengRobinson.cpp b/SU2_CFD/src/fluid/CPengRobinson.cpp index ddfe4f99e1c..9beff8e3229 100644 --- a/SU2_CFD/src/fluid/CPengRobinson.cpp +++ b/SU2_CFD/src/fluid/CPengRobinson.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/fluid/CSU2TCLib.cpp b/SU2_CFD/src/fluid/CSU2TCLib.cpp index 9ce3699302c..68ef4987da1 100644 --- a/SU2_CFD/src/fluid/CSU2TCLib.cpp +++ b/SU2_CFD/src/fluid/CSU2TCLib.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -595,7 +595,7 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou Omega00(4,2,0) = -1.0885815E-03; Omega00(4,2,1) = 1.1883688E-02; Omega00(4,2,2) = -2.1844909E-01; Omega00(4,2,3) = 7.5512560E+01; Omega00(4,3,0) = -7.8147689E-03; Omega00(4,3,1) = 1.6792705E-01; Omega00(4,3,2) = -1.4308628E+00; Omega00(4,3,3) = 1.6628859E+03; Omega00(4,4,0) = -6.4040535E-03; Omega00(4,4,1) = 1.4629949E-01; Omega00(4,4,2) = -1.3892121E+00; Omega00(4,4,3) = 2.0903441E+03; - + // Omega(1,1) ---------------------- //N2 Omega11(0,0,0) = -7.6303990E-03; Omega11(0,0,1) = 1.6878089E-01; Omega11(0,0,2) = -1.4004234E+00; Omega11(0,0,3) = 2.1427708E+03; @@ -658,7 +658,7 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou if (mf != 1.0) { SU2_MPI::Error("CONFIG ERROR: Intial gas mass fractions do not sum to 1!", CURRENT_FUNCTION); } - + /*--- Define parameters of the gas model ---*/ gamma = 1.4; nReactions = 22; @@ -672,7 +672,7 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou Tcf_b.resize(nReactions,0.0); Tcb_a.resize(nReactions,0.0); Tcb_b.resize(nReactions,0.0); - + /*--- Assign gas properties ---*/ // Rotational modes of energy storage RotationModes[0] = 0.0; // e- @@ -682,7 +682,7 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou RotationModes[4] = 0.0; // N RotationModes[5] = 0.0; // O RotationModes[6] = 2.0; // NO+ - + // Molar mass [kg/kmol] MolarMass[0] = 5.4858E-04; // e- MolarMass[1] = 2.0*14.0067; // N2 @@ -711,7 +711,7 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou Enthalpy_Formation[6] = 3.28E7; // NO+ // Reference temperature (JANAF values, [K]) - Ref_Temperature[0] = 0.0; + Ref_Temperature[0] = 0.0; Ref_Temperature[1] = 0.0; Ref_Temperature[2] = 0.0; Ref_Temperature[3] = 0.0; @@ -743,8 +743,8 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou /*--- Allocate and initialize electron data arrays ---*/ CharElTemp.resize(nSpecies,maxEl) = su2double(0.0); - ElDegeneracy.resize(nSpecies,maxEl) = su2double(0.0); - + ElDegeneracy.resize(nSpecies,maxEl) = su2double(0.0); + //N2: 15 states CharElTemp(1,0) = 0.000000000000000E+00; CharElTemp(1,1) = 7.223156514095200E+04; @@ -870,7 +870,7 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou Reactions(2,0,0)=1; Reactions(2,0,1)=3; Reactions(2,0,2)=nSpecies; Reactions(2,1,0)=4; Reactions(2,1,1)=4; Reactions(2,1,2) =3; Reactions(3,0,0)=1; Reactions(3,0,1)=4; Reactions(3,0,2)=nSpecies; Reactions(3,1,0)=4; Reactions(3,1,1)=4; Reactions(3,1,2) =4; Reactions(4,0,0)=1; Reactions(4,0,1)=5; Reactions(4,0,2)=nSpecies; Reactions(4,1,0)=4; Reactions(4,1,1)=4; Reactions(4,1,2) =5; - Reactions(5,0,0)=1; Reactions(5,0,1)=6; Reactions(5,0,2)=nSpecies; Reactions(5,1,0)=4; Reactions(5,1,1)=4; Reactions(5,1,2) =6; + Reactions(5,0,0)=1; Reactions(5,0,1)=6; Reactions(5,0,2)=nSpecies; Reactions(5,1,0)=4; Reactions(5,1,1)=4; Reactions(5,1,2) =6; // O2 dissociation Reactions(6,0,0)=2; Reactions(6,0,1)=1; Reactions(6,0,2)=nSpecies; Reactions(6,1,0)=5; Reactions(6,1,1)=5; Reactions(6,1,2) =1; Reactions(7,0,0)=2; Reactions(7,0,1)=2; Reactions(7,0,2)=nSpecies; Reactions(7,1,0)=5; Reactions(7,1,1)=5; Reactions(7,1,2) =2; @@ -883,7 +883,7 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou Reactions(13,0,0)=3; Reactions(13,0,1)=2; Reactions(13,0,2)=nSpecies; Reactions(13,1,0)=4; Reactions(13,1,1)=5; Reactions(13,1,2) =2; Reactions(14,0,0)=3; Reactions(14,0,1)=3; Reactions(14,0,2)=nSpecies; Reactions(14,1,0)=4; Reactions(14,1,1)=5; Reactions(14,1,2) =3; Reactions(15,0,0)=3; Reactions(15,0,1)=4; Reactions(15,0,2)=nSpecies; Reactions(15,1,0)=4; Reactions(15,1,1)=5; Reactions(15,1,2) =4; - Reactions(16,0,0)=3; Reactions(16,0,1)=5; Reactions(16,0,2)=nSpecies; Reactions(16,1,0)=4; Reactions(16,1,1)=5; Reactions(16,1,2) =5; + Reactions(16,0,0)=3; Reactions(16,0,1)=5; Reactions(16,0,2)=nSpecies; Reactions(16,1,0)=4; Reactions(16,1,1)=5; Reactions(16,1,2) =5; Reactions(17,0,0)=3; Reactions(17,0,1)=6; Reactions(17,0,2)=nSpecies; Reactions(17,1,0)=4; Reactions(17,1,1)=5; Reactions(17,1,2) =6; // N2 + O -> NO + N Reactions(18,0,0)=1; Reactions(18,0,1)=5; Reactions(18,0,2)=nSpecies; Reactions(18,1,0)=3; Reactions(18,1,1)=4; Reactions(18,1,2)= nSpecies; @@ -974,7 +974,7 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou // Dissociation: a = 0.5, b = 0.5 (OR a = 0.7, b =0.3) // Exchange: a = 1, b = 0 // Associative ion... a = 1, b = 0 ??? - // E Impact dissociation a = 0, b = 1 + // E Impact dissociation a = 0, b = 1 // E Impact ionization: a = 0, b = 1 // // Backward Reactions @@ -1006,7 +1006,7 @@ CSU2TCLib::CSU2TCLib(const CConfig* config, unsigned short val_nDim, bool viscou Tcf_a[18] = 1.0; Tcf_b[18] = 0.0; Tcb_a[18] = 1; Tcb_b[18] = 0; Tcf_a[19] = 1.0; Tcf_b[19] = 0.0; Tcb_a[19] = 1; Tcb_b[19] = 0; Tcf_a[20] = 1.0; Tcf_b[20] = 0.0; Tcb_a[20] = 0.5; Tcb_b[20] = 0.5; - Tcf_a[21] = 0.0; Tcf_b[21] = 1.0; Tcb_a[21] = 0; Tcb_b[21] = 1; + Tcf_a[21] = 0.0; Tcf_b[21] = 1.0; Tcb_a[21] = 0; Tcb_b[21] = 1; //TODO: Implement Collision Integral Data for AIR-7 (JN) /*--- Collision integral data ---*/ @@ -2138,20 +2138,20 @@ vector& CSU2TCLib::ComputeTemperatures(vector& val_rhos, s for (iSpecies = 0; iSpecies < nSpecies; iSpecies++){ rhoEve_t += rhos[iSpecies] * val_eves[iSpecies]; rhoCvve += rhos[iSpecies] * val_cvves[iSpecies]; - } + } /*--- Find the roots ---*/ su2double f = rhoEve - rhoEve_t; su2double df = -rhoCvve; - Tve2 = Tve - (f/df)*scale; + Tve2 = Tve - (f/df)*scale; /*--- Check for convergence ---*/ if ((fabs(Tve2-Tve) < NRtol) && (Tve > Tvemin) && (Tve < Tvemax)) { NRconvg = true; Tve = Tve2; - break; + break; } else { - Tve = Tve2; + Tve = Tve2; } } @@ -2323,7 +2323,7 @@ void CSU2TCLib::GetChemistryEquilConstants(unsigned short iReaction){ RxnConstantTable(3,0) = -0.57924; RxnConstantTable(3,1) = -7.3079; RxnConstantTable(3,2) = -1.9999; RxnConstantTable(3,3) = -3.2294; RxnConstantTable(3,4) = 0.016382; RxnConstantTable(4,0) = -0.53538; RxnConstantTable(4,1) = -7.3252; RxnConstantTable(4,2) = -1.937; RxnConstantTable(4,3) = -3.2572; RxnConstantTable(4,4) = 0.01823; RxnConstantTable(5,0) = -0.52801; RxnConstantTable(5,1) = -7.3281; RxnConstantTable(5,2) = -1.9264; RxnConstantTable(5,3) = -3.2618; RxnConstantTable(5,4) = 0.01854; - + } else if (iReaction == 21) { //N2 + e -> N + N + e diff --git a/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp b/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp index 92a400209f0..0dc6a136239 100644 --- a/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp +++ b/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/integration/CFEM_DG_Integration.cpp b/SU2_CFD/src/integration/CFEM_DG_Integration.cpp index 3deb590a7bf..a88b07ac28d 100644 --- a/SU2_CFD/src/integration/CFEM_DG_Integration.cpp +++ b/SU2_CFD/src/integration/CFEM_DG_Integration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/integration/CIntegration.cpp b/SU2_CFD/src/integration/CIntegration.cpp index 5e23dcc64bb..172c81e93ba 100644 --- a/SU2_CFD/src/integration/CIntegration.cpp +++ b/SU2_CFD/src/integration/CIntegration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/integration/CIntegrationFactory.cpp b/SU2_CFD/src/integration/CIntegrationFactory.cpp index 4a130fdba4a..3dc2acf481b 100644 --- a/SU2_CFD/src/integration/CIntegrationFactory.cpp +++ b/SU2_CFD/src/integration/CIntegrationFactory.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/integration/CMultiGridIntegration.cpp b/SU2_CFD/src/integration/CMultiGridIntegration.cpp index 24b2a22058e..8fc30f230ad 100644 --- a/SU2_CFD/src/integration/CMultiGridIntegration.cpp +++ b/SU2_CFD/src/integration/CMultiGridIntegration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/integration/CNewtonIntegration.cpp b/SU2_CFD/src/integration/CNewtonIntegration.cpp index 6792659b24c..6bfcaa40288 100644 --- a/SU2_CFD/src/integration/CNewtonIntegration.cpp +++ b/SU2_CFD/src/integration/CNewtonIntegration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/integration/CSingleGridIntegration.cpp b/SU2_CFD/src/integration/CSingleGridIntegration.cpp index 7c167b74927..19b02d83af8 100644 --- a/SU2_CFD/src/integration/CSingleGridIntegration.cpp +++ b/SU2_CFD/src/integration/CSingleGridIntegration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/integration/CStructuralIntegration.cpp b/SU2_CFD/src/integration/CStructuralIntegration.cpp index 84125fda415..1a3f8853359 100644 --- a/SU2_CFD/src/integration/CStructuralIntegration.cpp +++ b/SU2_CFD/src/integration/CStructuralIntegration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/interfaces/CInterface.cpp b/SU2_CFD/src/interfaces/CInterface.cpp index 6695ba3678f..7031b3d57de 100644 --- a/SU2_CFD/src/interfaces/CInterface.cpp +++ b/SU2_CFD/src/interfaces/CInterface.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp b/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp index 8301b631fad..8558d2b317f 100644 --- a/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp +++ b/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp b/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp index 4e4e9f1d77d..c86b3022b49 100644 --- a/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp +++ b/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp b/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp index 0529e7ab682..ee5fc955c2b 100644 --- a/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp +++ b/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp b/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp index e6606ce33f0..4e11392be6e 100644 --- a/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp +++ b/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp b/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp index 72a34390171..c7bcf2e1374 100644 --- a/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp +++ b/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp b/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp index e2ecb2f735f..dfba1c4d09c 100644 --- a/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp +++ b/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp b/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp index e0cc061d47a..867f3f61efa 100644 --- a/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp +++ b/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CAdjFluidIteration.cpp b/SU2_CFD/src/iteration/CAdjFluidIteration.cpp index 022e8fba2a2..1e7f73fd647 100644 --- a/SU2_CFD/src/iteration/CAdjFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CAdjFluidIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp index d7e8e037935..be74db5f5c9 100644 --- a/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp +++ b/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp index 6d4bc92c3ed..90e1660c902 100644 --- a/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp index d06dc22c08b..226675ef13f 100644 --- a/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp +++ b/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CFEAIteration.cpp b/SU2_CFD/src/iteration/CFEAIteration.cpp index 9f1c954cd5f..a96e1b11172 100644 --- a/SU2_CFD/src/iteration/CFEAIteration.cpp +++ b/SU2_CFD/src/iteration/CFEAIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CFEMFluidIteration.cpp b/SU2_CFD/src/iteration/CFEMFluidIteration.cpp index 499f1740bd2..6b8d2790869 100644 --- a/SU2_CFD/src/iteration/CFEMFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFEMFluidIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CFluidIteration.cpp b/SU2_CFD/src/iteration/CFluidIteration.cpp index a39031ae6ee..89dca46d49b 100644 --- a/SU2_CFD/src/iteration/CFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFluidIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CHeatIteration.cpp b/SU2_CFD/src/iteration/CHeatIteration.cpp index 8b78885a152..8fcebcc53ad 100644 --- a/SU2_CFD/src/iteration/CHeatIteration.cpp +++ b/SU2_CFD/src/iteration/CHeatIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CIteration.cpp b/SU2_CFD/src/iteration/CIteration.cpp index ae3442e95bb..859fddb34d0 100644 --- a/SU2_CFD/src/iteration/CIteration.cpp +++ b/SU2_CFD/src/iteration/CIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CIterationFactory.cpp b/SU2_CFD/src/iteration/CIterationFactory.cpp index fac25d838a6..c6a336024fc 100644 --- a/SU2_CFD/src/iteration/CIterationFactory.cpp +++ b/SU2_CFD/src/iteration/CIterationFactory.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/iteration/CTurboIteration.cpp b/SU2_CFD/src/iteration/CTurboIteration.cpp index fad8866e048..6fe31081604 100644 --- a/SU2_CFD/src/iteration/CTurboIteration.cpp +++ b/SU2_CFD/src/iteration/CTurboIteration.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/limiters/CLimiterDetails.cpp b/SU2_CFD/src/limiters/CLimiterDetails.cpp index 23353805b7f..096b51f8809 100644 --- a/SU2_CFD/src/limiters/CLimiterDetails.cpp +++ b/SU2_CFD/src/limiters/CLimiterDetails.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/CGradSmoothing.cpp b/SU2_CFD/src/numerics/CGradSmoothing.cpp index af0e62b4068..84c3857bc76 100644 --- a/SU2_CFD/src/numerics/CGradSmoothing.cpp +++ b/SU2_CFD/src/numerics/CGradSmoothing.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/CNumerics.cpp b/SU2_CFD/src/numerics/CNumerics.cpp index ff0423058fa..b429101a189 100644 --- a/SU2_CFD/src/numerics/CNumerics.cpp +++ b/SU2_CFD/src/numerics/CNumerics.cpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp b/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp index 753ba843c08..1f4870b7269 100644 --- a/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp +++ b/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp b/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp index f764949536c..e4cab310352 100644 --- a/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp +++ b/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp b/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp index 736ed507ed8..e73844dd084 100644 --- a/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp +++ b/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/NEMO/convection/lax.cpp b/SU2_CFD/src/numerics/NEMO/convection/lax.cpp index bc70e7c9202..cdb41cf4ff5 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/lax.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/lax.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/NEMO/convection/msw.cpp b/SU2_CFD/src/numerics/NEMO/convection/msw.cpp index 6e997552af3..2374f1dec38 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/msw.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/msw.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/NEMO/convection/roe.cpp b/SU2_CFD/src/numerics/NEMO/convection/roe.cpp index b03947faf42..84d82232f0f 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/roe.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/roe.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp b/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp index 27a5b22379b..1af3c4033b0 100644 --- a/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp +++ b/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp b/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp index 8b187ccc3f9..2fdf7a42cdc 100644 --- a/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp +++ b/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp b/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp index 3bf58bb9fa6..f50bcfb8a39 100644 --- a/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp +++ b/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp b/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp index f8e85a87438..6149042eca2 100644 --- a/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp +++ b/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp b/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp index b42b1c42ed4..8518ea05662 100644 --- a/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp +++ b/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp b/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp index ff950f321a1..93321d9ee55 100644 --- a/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp +++ b/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp b/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp index 0947c1ebe4d..c8d4dadebe1 100644 --- a/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp +++ b/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp b/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp index cebb6209ab1..e5a2e52569e 100644 --- a/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp +++ b/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/flow/convection/centered.cpp b/SU2_CFD/src/numerics/flow/convection/centered.cpp index 1ff083d950b..282e59ece80 100644 --- a/SU2_CFD/src/numerics/flow/convection/centered.cpp +++ b/SU2_CFD/src/numerics/flow/convection/centered.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/flow/convection/cusp.cpp b/SU2_CFD/src/numerics/flow/convection/cusp.cpp index b10206425c2..b55b7f52e52 100644 --- a/SU2_CFD/src/numerics/flow/convection/cusp.cpp +++ b/SU2_CFD/src/numerics/flow/convection/cusp.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/flow/convection/fds.cpp b/SU2_CFD/src/numerics/flow/convection/fds.cpp index 33a53a37e45..10a32dc9a00 100644 --- a/SU2_CFD/src/numerics/flow/convection/fds.cpp +++ b/SU2_CFD/src/numerics/flow/convection/fds.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/flow/convection/fvs.cpp b/SU2_CFD/src/numerics/flow/convection/fvs.cpp index 18f29534a74..bd3ad628ed0 100644 --- a/SU2_CFD/src/numerics/flow/convection/fvs.cpp +++ b/SU2_CFD/src/numerics/flow/convection/fvs.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/flow/convection/hllc.cpp b/SU2_CFD/src/numerics/flow/convection/hllc.cpp index 149a6491c3d..ddbbac87835 100644 --- a/SU2_CFD/src/numerics/flow/convection/hllc.cpp +++ b/SU2_CFD/src/numerics/flow/convection/hllc.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/flow/convection/roe.cpp b/SU2_CFD/src/numerics/flow/convection/roe.cpp index 26422506229..006cb6a0b2c 100644 --- a/SU2_CFD/src/numerics/flow/convection/roe.cpp +++ b/SU2_CFD/src/numerics/flow/convection/roe.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp index ce11fea684e..47c08a5dba1 100644 --- a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp +++ b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index 8c5b737215d..cd268c27ba1 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/radiation.cpp b/SU2_CFD/src/numerics/radiation.cpp index b3295fac20f..2ea033116c7 100644 --- a/SU2_CFD/src/numerics/radiation.cpp +++ b/SU2_CFD/src/numerics/radiation.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/scalar/scalar_sources.cpp b/SU2_CFD/src/numerics/scalar/scalar_sources.cpp index d51c2ca7711..843dfdb3a27 100644 --- a/SU2_CFD/src/numerics/scalar/scalar_sources.cpp +++ b/SU2_CFD/src/numerics/scalar/scalar_sources.cpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/species/species_sources.cpp b/SU2_CFD/src/numerics/species/species_sources.cpp index 3d89a2619db..44e968fdd67 100644 --- a/SU2_CFD/src/numerics/species/species_sources.cpp +++ b/SU2_CFD/src/numerics/species/species_sources.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/numerics/template.cpp b/SU2_CFD/src/numerics/template.cpp index b1c6c4462f9..8e940135d5b 100644 --- a/SU2_CFD/src/numerics/template.cpp +++ b/SU2_CFD/src/numerics/template.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CAdjElasticityOutput.cpp b/SU2_CFD/src/output/CAdjElasticityOutput.cpp index baf0b59e24b..c01e8bb57c2 100644 --- a/SU2_CFD/src/output/CAdjElasticityOutput.cpp +++ b/SU2_CFD/src/output/CAdjElasticityOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CAdjFlowCompOutput.cpp b/SU2_CFD/src/output/CAdjFlowCompOutput.cpp index 4c5cfa58173..bb6a11e64f6 100644 --- a/SU2_CFD/src/output/CAdjFlowCompOutput.cpp +++ b/SU2_CFD/src/output/CAdjFlowCompOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CAdjFlowIncOutput.cpp b/SU2_CFD/src/output/CAdjFlowIncOutput.cpp index f653d4332fa..5e44df33363 100644 --- a/SU2_CFD/src/output/CAdjFlowIncOutput.cpp +++ b/SU2_CFD/src/output/CAdjFlowIncOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CAdjFlowOutput.cpp b/SU2_CFD/src/output/CAdjFlowOutput.cpp index f47197e6fc1..955a06eec0c 100644 --- a/SU2_CFD/src/output/CAdjFlowOutput.cpp +++ b/SU2_CFD/src/output/CAdjFlowOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CAdjHeatOutput.cpp b/SU2_CFD/src/output/CAdjHeatOutput.cpp index 2610c5a9f13..0dfc41ff62d 100644 --- a/SU2_CFD/src/output/CAdjHeatOutput.cpp +++ b/SU2_CFD/src/output/CAdjHeatOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CBaselineOutput.cpp b/SU2_CFD/src/output/CBaselineOutput.cpp index 37cbb2cd1b1..7213797afb4 100644 --- a/SU2_CFD/src/output/CBaselineOutput.cpp +++ b/SU2_CFD/src/output/CBaselineOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CElasticityOutput.cpp b/SU2_CFD/src/output/CElasticityOutput.cpp index fd077ff6544..c36e488744c 100644 --- a/SU2_CFD/src/output/CElasticityOutput.cpp +++ b/SU2_CFD/src/output/CElasticityOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CFVMOutput.cpp b/SU2_CFD/src/output/CFVMOutput.cpp index 92bdf73e399..20de4d7abe6 100644 --- a/SU2_CFD/src/output/CFVMOutput.cpp +++ b/SU2_CFD/src/output/CFVMOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CFlowCompFEMOutput.cpp b/SU2_CFD/src/output/CFlowCompFEMOutput.cpp index 9a405b3acd5..be5c917ce11 100644 --- a/SU2_CFD/src/output/CFlowCompFEMOutput.cpp +++ b/SU2_CFD/src/output/CFlowCompFEMOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CFlowCompOutput.cpp b/SU2_CFD/src/output/CFlowCompOutput.cpp index 896f0d4f03e..2806a546ed0 100644 --- a/SU2_CFD/src/output/CFlowCompOutput.cpp +++ b/SU2_CFD/src/output/CFlowCompOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CFlowIncOutput.cpp b/SU2_CFD/src/output/CFlowIncOutput.cpp index c98685c5058..41d07cfc11e 100644 --- a/SU2_CFD/src/output/CFlowIncOutput.cpp +++ b/SU2_CFD/src/output/CFlowIncOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index cb88b9f9f26..366bbb533b4 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -868,8 +868,8 @@ void CFlowOutput::AddHistoryOutputFields_ScalarRMS_RES(const CConfig* config) { case TURB_FAMILY::NONE: break; } - switch (config->GetKind_Trans_Model()) { - + switch (config->GetKind_Trans_Model()) { + case TURB_TRANS_MODEL::LM: /// DESCRIPTION: Root-mean square residual of the intermittency (LM model). AddHistoryOutput("RMS_INTERMITTENCY", "rms[LM_1]", ScreenOutputFormat::FIXED, "RMS_RES", "Root-mean square residual of intermittency (LM model).", HistoryFieldType::RESIDUAL); @@ -878,7 +878,7 @@ void CFlowOutput::AddHistoryOutputFields_ScalarRMS_RES(const CConfig* config) { break; case TURB_TRANS_MODEL::NONE: break; - } + } if (config->GetKind_Species_Model() != SPECIES_MODEL::NONE) { for (unsigned short iVar = 0; iVar < config->GetnSpecies(); iVar++) { @@ -905,8 +905,8 @@ void CFlowOutput::AddHistoryOutputFields_ScalarMAX_RES(const CConfig* config) { break; } - switch (config->GetKind_Trans_Model()) { - + switch (config->GetKind_Trans_Model()) { + case TURB_TRANS_MODEL::LM: /// DESCRIPTION: Maximum residual of the intermittency (LM model). AddHistoryOutput("MAX_INTERMITTENCY", "max[LM_1]", ScreenOutputFormat::FIXED, "MAX_RES", "Maximum residual of the intermittency (LM model).", HistoryFieldType::RESIDUAL); @@ -944,7 +944,7 @@ void CFlowOutput::AddHistoryOutputFields_ScalarBGS_RES(const CConfig* config) { case TURB_FAMILY::NONE: break; } - switch (config->GetKind_Trans_Model()) { + switch (config->GetKind_Trans_Model()) { case TURB_TRANS_MODEL::LM: /// DESCRIPTION: Maximum residual of the intermittency (LM model). AddHistoryOutput("BGS_INTERMITTENCY", "bgs[LM_1]", ScreenOutputFormat::FIXED, "BGS_RES", "BGS residual of the intermittency (LM model).", HistoryFieldType::RESIDUAL); @@ -971,7 +971,7 @@ void CFlowOutput::AddHistoryOutputFields_ScalarLinsol(const CConfig* config) { if (config->GetKind_Trans_Model() != TURB_TRANS_MODEL::NONE) { AddHistoryOutput("LINSOL_ITER_TRANS", "LinSolIterTrans", ScreenOutputFormat::INTEGER, "LINSOL", "Number of iterations of the linear solver for transition solver."); AddHistoryOutput("LINSOL_RESIDUAL_TRANS", "LinSolResTrans", ScreenOutputFormat::FIXED, "LINSOL", "Residual of the linear solver for transition solver."); - } + } if (config->GetKind_Species_Model() != SPECIES_MODEL::NONE) { AddHistoryOutput("LINSOL_ITER_SPECIES", "LinSolIterSpecies", ScreenOutputFormat::INTEGER, "LINSOL", "Number of iterations of the linear solver for species solver."); @@ -1009,7 +1009,7 @@ void CFlowOutput::LoadHistoryData_Scalar(const CConfig* config, const CSolver* c SetHistoryOutputValue("LINSOL_RESIDUAL_TURB", log10(solver[TURB_SOL]->GetResLinSolver())); } - switch (config->GetKind_Trans_Model()) { + switch (config->GetKind_Trans_Model()) { case TURB_TRANS_MODEL::LM: SetHistoryOutputValue("RMS_INTERMITTENCY", log10(solver[TRANS_SOL]->GetRes_RMS(0))); SetHistoryOutputValue("RMS_RE_THETA_T",log10(solver[TRANS_SOL]->GetRes_RMS(1))); @@ -1055,7 +1055,7 @@ void CFlowOutput::SetVolumeOutputFields_ScalarSolution(const CConfig* config){ break; } - switch (config->GetKind_Trans_Model()) { + switch (config->GetKind_Trans_Model()) { case TURB_TRANS_MODEL::LM: AddVolumeOutput("INTERMITTENCY", "LM_gamma", "SOLUTION", "LM intermittency"); AddVolumeOutput("RE_THETA_T", "LM_Re_t", "SOLUTION", "LM RE_THETA_T"); @@ -1089,7 +1089,7 @@ void CFlowOutput::SetVolumeOutputFields_ScalarResidual(const CConfig* config) { break; } - switch (config->GetKind_Trans_Model()) { + switch (config->GetKind_Trans_Model()) { case TURB_TRANS_MODEL::LM: AddVolumeOutput("RES_INTERMITTENCY", "Residual_LM_intermittency", "RESIDUAL", "Residual of LM intermittency"); AddVolumeOutput("RES_RE_THETA_T", "Residual_LM_RE_THETA_T", "RESIDUAL", "Residual of LM RE_THETA_T"); @@ -1209,7 +1209,7 @@ void CFlowOutput::LoadVolumeData_Scalar(const CConfig* config, const CSolver* co SetVolumeOutputValue("INTERMITTENCY", iPoint, Node_Turb->GetIntermittencyEff(iPoint)); } - switch (config->GetKind_Trans_Model()) { + switch (config->GetKind_Trans_Model()) { case TURB_TRANS_MODEL::LM: SetVolumeOutputValue("INTERMITTENCY", iPoint, Node_Trans->GetSolution(iPoint, 0)); SetVolumeOutputValue("RE_THETA_T", iPoint, Node_Trans->GetSolution(iPoint, 1)); @@ -2217,7 +2217,7 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo file << "| The SU2 Project is maintained by the SU2 Foundation |\n"; file << "| (http://su2foundation.org) |\n"; file << "-------------------------------------------------------------------------\n"; - file << "| Copyright 2012-2022, SU2 Contributors |\n"; + file << "| Copyright 2012-2023, SU2 Contributors |\n"; file << "| |\n"; file << "| SU2 is free software; you can redistribute it and/or |\n"; file << "| modify it under the terms of the GNU Lesser General Public |\n"; @@ -2270,8 +2270,8 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo if (transition) { file << "Transition model: "; switch (Kind_Trans_Model) { - case TURB_TRANS_MODEL::NONE: break; - case TURB_TRANS_MODEL::LM: + case TURB_TRANS_MODEL::NONE: break; + case TURB_TRANS_MODEL::LM: file << "Langtry and Menter's transition"; if (config->GetLMParsedOptions().LM2015) { file << " w/ cross-flow corrections (2015)\n"; diff --git a/SU2_CFD/src/output/CHeatOutput.cpp b/SU2_CFD/src/output/CHeatOutput.cpp index dcbd2758f91..395a185923f 100644 --- a/SU2_CFD/src/output/CHeatOutput.cpp +++ b/SU2_CFD/src/output/CHeatOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CMeshOutput.cpp b/SU2_CFD/src/output/CMeshOutput.cpp index 5fb59214ec6..304c7216424 100644 --- a/SU2_CFD/src/output/CMeshOutput.cpp +++ b/SU2_CFD/src/output/CMeshOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CMultizoneOutput.cpp b/SU2_CFD/src/output/CMultizoneOutput.cpp index 3c62a950545..ed1c58fe070 100644 --- a/SU2_CFD/src/output/CMultizoneOutput.cpp +++ b/SU2_CFD/src/output/CMultizoneOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp index 613b0302315..3c7ad35fdcb 100644 --- a/SU2_CFD/src/output/CNEMOCompOutput.cpp +++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/COutput.cpp b/SU2_CFD/src/output/COutput.cpp index b4abcf18724..58e00ba12be 100644 --- a/SU2_CFD/src/output/COutput.cpp +++ b/SU2_CFD/src/output/COutput.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/COutputFactory.cpp b/SU2_CFD/src/output/COutputFactory.cpp index 9f81699fdb9..a4bb4636524 100644 --- a/SU2_CFD/src/output/COutputFactory.cpp +++ b/SU2_CFD/src/output/COutputFactory.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp b/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp index 75a8ec4a4a9..be6e67753e4 100644 --- a/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp b/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp index 0f4a9a9a849..59e96dd0999 100644 --- a/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp index dfda9e755c6..b44f3092119 100644 --- a/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp index 01a74caa29e..986bd2c9449 100644 --- a/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp b/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp index f86e76fa8fc..78eb54fb155 100644 --- a/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp index d9b2931835a..9914f95a471 100644 --- a/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp index 8fb0ccf0d6a..9856f028bdf 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp index 8df6dc31543..9c667c2f8c3 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp index fd4b629f2af..2ec8e64bd65 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp index 8add80e74f3..88a89a4e81f 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp b/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp index 036a9165fdc..f69e7272f0a 100644 --- a/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp b/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp index 8c4ee4a375f..5ccccb7669a 100644 --- a/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp b/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp index 2d833816f13..3fb8e432c3f 100644 --- a/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp b/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp index 43ca7cc0660..c2c35328c74 100644 --- a/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp index 280c854c24e..a5e9246c879 100644 --- a/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp index 9850c795e9a..795c1907b26 100644 --- a/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp b/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp index daabbac1db6..53e82a8af6b 100644 --- a/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp b/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp index b3b096edc5b..813fbd90825 100644 --- a/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/output_physics.cpp b/SU2_CFD/src/output/output_physics.cpp index 8c49ca91e18..d6c47fca957 100644 --- a/SU2_CFD/src/output/output_physics.cpp +++ b/SU2_CFD/src/output/output_physics.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/output/output_structure_legacy.cpp b/SU2_CFD/src/output/output_structure_legacy.cpp index 19587f140cf..062f5fbcbba 100644 --- a/SU2_CFD/src/output/output_structure_legacy.cpp +++ b/SU2_CFD/src/output/output_structure_legacy.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -2786,7 +2786,7 @@ void COutputLegacy::SpecialOutput_ForcesBreakdown(CSolver *****solver, CGeometry Breakdown_file << "| The SU2 Project is maintained by the SU2 Foundation |" << "\n"; Breakdown_file << "| (http://su2foundation.org) |" << "\n"; Breakdown_file <<"-------------------------------------------------------------------------" << "\n"; - Breakdown_file << "| Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) |" << "\n"; + Breakdown_file << "| Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) |" << "\n"; Breakdown_file << "| |" << "\n"; Breakdown_file << "| SU2 is free software; you can redistribute it and/or |" << "\n"; Breakdown_file << "| modify it under the terms of the GNU Lesser General Public |" << "\n"; diff --git a/SU2_CFD/src/output/tools/CWindowingTools.cpp b/SU2_CFD/src/output/tools/CWindowingTools.cpp index 92ca7d8429e..3785c416df5 100644 --- a/SU2_CFD/src/output/tools/CWindowingTools.cpp +++ b/SU2_CFD/src/output/tools/CWindowingTools.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -72,7 +72,7 @@ void CWindowedAverage::addValue(su2double valIn, unsigned long curTimeIter,unsig if (curTimeIter != lastTimeIter) { // Handle new timestep if (curTimeIter > startIter) { // Only update sum over previous timesteps, if there are any cachedSum = UpdateCachedSum(windowWidth-1); // Save weighted sum up to last time step for later use - } + } lastTimeIter = curTimeIter; // New time iteration step, update iteration number. // Add new sample if (windowingFunctionId != WINDOW_FUNCTION::SQUARE) { @@ -87,7 +87,7 @@ void CWindowedAverage::addValue(su2double valIn, unsigned long curTimeIter,unsig val = totalSum / static_cast(windowWidth); } -su2double CWindowedAverage::UpdateCachedSum(unsigned long windowWidth) const { +su2double CWindowedAverage::UpdateCachedSum(unsigned long windowWidth) const { // Handle square window if (windowingFunctionId == WINDOW_FUNCTION::SQUARE) return val * static_cast(windowWidth); // Handle non-trivial windows diff --git a/SU2_CFD/src/python_wrapper_structure.cpp b/SU2_CFD/src/python_wrapper_structure.cpp index f02bfb6f092..ce93224bcde 100644 --- a/SU2_CFD/src/python_wrapper_structure.cpp +++ b/SU2_CFD/src/python_wrapper_structure.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp index 3207ccc351c..b48dc58019a 100644 --- a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CAdjNSSolver.cpp b/SU2_CFD/src/solvers/CAdjNSSolver.cpp index 651df0675c9..cc86848a0a1 100644 --- a/SU2_CFD/src/solvers/CAdjNSSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjNSSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CAdjTurbSolver.cpp b/SU2_CFD/src/solvers/CAdjTurbSolver.cpp index bc01707e4c2..690088af82c 100644 --- a/SU2_CFD/src/solvers/CAdjTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjTurbSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CBaselineSolver.cpp b/SU2_CFD/src/solvers/CBaselineSolver.cpp index 9fb4e2dd25f..b803f54aa33 100644 --- a/SU2_CFD/src/solvers/CBaselineSolver.cpp +++ b/SU2_CFD/src/solvers/CBaselineSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp b/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp index e4b8074bd62..3af40489ff7 100644 --- a/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp +++ b/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp b/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp index 585532eb12a..62938ec4cd7 100644 --- a/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp +++ b/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp b/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp index 3ecf8198c21..5cc8c5f50f4 100644 --- a/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp +++ b/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CDiscAdjSolver.cpp b/SU2_CFD/src/solvers/CDiscAdjSolver.cpp index 2698e4aefec..6e18321f203 100644 --- a/SU2_CFD/src/solvers/CDiscAdjSolver.cpp +++ b/SU2_CFD/src/solvers/CDiscAdjSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 38668efbd57..7b90afc25ec 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CFEASolver.cpp b/SU2_CFD/src/solvers/CFEASolver.cpp index 83006a3037f..54fb8e08b2d 100644 --- a/SU2_CFD/src/solvers/CFEASolver.cpp +++ b/SU2_CFD/src/solvers/CFEASolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CFEASolverBase.cpp b/SU2_CFD/src/solvers/CFEASolverBase.cpp index 8bbbf87037c..db79085f8db 100644 --- a/SU2_CFD/src/solvers/CFEASolverBase.cpp +++ b/SU2_CFD/src/solvers/CFEASolverBase.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp index 04f103addea..e2e5f5286c4 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp index 2e8352dd647..5de4066a07f 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp b/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp index 8dbdaeda383..f297881a9f7 100644 --- a/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp +++ b/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index b044a1915e5..605fa3a85eb 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CIncEulerSolver.cpp b/SU2_CFD/src/solvers/CIncEulerSolver.cpp index 8ba501758d6..7e06737e359 100644 --- a/SU2_CFD/src/solvers/CIncEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CIncEulerSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CIncNSSolver.cpp b/SU2_CFD/src/solvers/CIncNSSolver.cpp index f14322a3343..d2e1d7170e7 100644 --- a/SU2_CFD/src/solvers/CIncNSSolver.cpp +++ b/SU2_CFD/src/solvers/CIncNSSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CMeshSolver.cpp b/SU2_CFD/src/solvers/CMeshSolver.cpp index e921dc534ec..59ae0bee097 100644 --- a/SU2_CFD/src/solvers/CMeshSolver.cpp +++ b/SU2_CFD/src/solvers/CMeshSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index 9371fc93352..c0a791351f2 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CNEMONSSolver.cpp b/SU2_CFD/src/solvers/CNEMONSSolver.cpp index 617a0d31e90..91c7e221709 100644 --- a/SU2_CFD/src/solvers/CNEMONSSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMONSSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -114,7 +114,7 @@ unsigned long CNEMONSSolver::SetPrimitive_Variables(CSolver **solver_container,C unsigned long nonPhysicalPoints = 0; const TURB_MODEL turb_model = config->GetKind_Turb_Model(); - //const bool tkeNeeded = (turb_model == TURB_MODEL::SST); + //const bool tkeNeeded = (turb_model == TURB_MODEL::SST); SU2_OMP_FOR_STAT(omp_chunk_size) for (unsigned long iPoint = 0; iPoint < nPoint; iPoint ++) { diff --git a/SU2_CFD/src/solvers/CNSSolver.cpp b/SU2_CFD/src/solvers/CNSSolver.cpp index f1144f95e91..b41479139d7 100644 --- a/SU2_CFD/src/solvers/CNSSolver.cpp +++ b/SU2_CFD/src/solvers/CNSSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CRadP1Solver.cpp b/SU2_CFD/src/solvers/CRadP1Solver.cpp index cfb5a20b07c..f87c71b3d1d 100644 --- a/SU2_CFD/src/solvers/CRadP1Solver.cpp +++ b/SU2_CFD/src/solvers/CRadP1Solver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CRadSolver.cpp b/SU2_CFD/src/solvers/CRadSolver.cpp index 5fc59d1963a..1cede6fe7fb 100644 --- a/SU2_CFD/src/solvers/CRadSolver.cpp +++ b/SU2_CFD/src/solvers/CRadSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CSolver.cpp b/SU2_CFD/src/solvers/CSolver.cpp index 2d7c1f326fa..25a7afc482b 100644 --- a/SU2_CFD/src/solvers/CSolver.cpp +++ b/SU2_CFD/src/solvers/CSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CSolverFactory.cpp b/SU2_CFD/src/solvers/CSolverFactory.cpp index bf2a09ddfe5..8f2bd971253 100644 --- a/SU2_CFD/src/solvers/CSolverFactory.cpp +++ b/SU2_CFD/src/solvers/CSolverFactory.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -372,21 +372,21 @@ CSolver* CSolverFactory::CreateTurbSolver(TURB_MODEL kindTurbModel, CSolver **so CSolver* CSolverFactory::CreateTransSolver(TURB_TRANS_MODEL kindTransModel, CSolver **solver, CGeometry *geometry, CConfig *config, int iMGLevel, int adjoint){ - CSolver *transSolver = nullptr; + CSolver *transSolver = nullptr; if (config->GetKind_Trans_Model() != TURB_TRANS_MODEL::NONE) { - switch (kindTransModel) { + switch (kindTransModel) { case TURB_TRANS_MODEL::LM : transSolver = new CTransLMSolver(geometry, config, iMGLevel); solver[FLOW_SOL]->Preprocessing(geometry, solver, config, iMGLevel, NO_RK_ITER, RUNTIME_FLOW_SYS, false); transSolver->Postprocessing(geometry, solver, config, iMGLevel); solver[FLOW_SOL]->Preprocessing(geometry, solver, config, iMGLevel, NO_RK_ITER, RUNTIME_FLOW_SYS, false); - break; - case TURB_TRANS_MODEL::NONE: + break; + case TURB_TRANS_MODEL::NONE: break; } - } - + } + return transSolver; } diff --git a/SU2_CFD/src/solvers/CSpeciesSolver.cpp b/SU2_CFD/src/solvers/CSpeciesSolver.cpp index 2b2dddba029..c9241aa21de 100644 --- a/SU2_CFD/src/solvers/CSpeciesSolver.cpp +++ b/SU2_CFD/src/solvers/CSpeciesSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CTemplateSolver.cpp b/SU2_CFD/src/solvers/CTemplateSolver.cpp index 7fb240f9f26..ed43756962f 100644 --- a/SU2_CFD/src/solvers/CTemplateSolver.cpp +++ b/SU2_CFD/src/solvers/CTemplateSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CTransLMSolver.cpp b/SU2_CFD/src/solvers/CTransLMSolver.cpp index 01a254e98b7..c6a4fa48ac0 100644 --- a/SU2_CFD/src/solvers/CTransLMSolver.cpp +++ b/SU2_CFD/src/solvers/CTransLMSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CTurbSASolver.cpp b/SU2_CFD/src/solvers/CTurbSASolver.cpp index 30d7308cd2e..54f81838d20 100644 --- a/SU2_CFD/src/solvers/CTurbSASolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSASolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index c2f1983cd73..1ef2d9222f8 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/solvers/CTurbSolver.cpp b/SU2_CFD/src/solvers/CTurbSolver.cpp index 06b000bc46d..de8ce030df1 100644 --- a/SU2_CFD/src/solvers/CTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSolver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CAdjEulerVariable.cpp b/SU2_CFD/src/variables/CAdjEulerVariable.cpp index 628bfac6985..7664ce0b047 100644 --- a/SU2_CFD/src/variables/CAdjEulerVariable.cpp +++ b/SU2_CFD/src/variables/CAdjEulerVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CAdjNSVariable.cpp b/SU2_CFD/src/variables/CAdjNSVariable.cpp index 8654a2a3aac..23bcee45269 100644 --- a/SU2_CFD/src/variables/CAdjNSVariable.cpp +++ b/SU2_CFD/src/variables/CAdjNSVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CAdjTurbVariable.cpp b/SU2_CFD/src/variables/CAdjTurbVariable.cpp index ecb99adcf88..73da0ab2374 100644 --- a/SU2_CFD/src/variables/CAdjTurbVariable.cpp +++ b/SU2_CFD/src/variables/CAdjTurbVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CBaselineVariable.cpp b/SU2_CFD/src/variables/CBaselineVariable.cpp index bb962db9b8e..7c0d86e6886 100644 --- a/SU2_CFD/src/variables/CBaselineVariable.cpp +++ b/SU2_CFD/src/variables/CBaselineVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp b/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp index b3f17c7fb11..40fe64ebdd2 100644 --- a/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp +++ b/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp b/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp index 6eb634a9c4f..21f786b72b7 100644 --- a/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp +++ b/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CDiscAdjVariable.cpp b/SU2_CFD/src/variables/CDiscAdjVariable.cpp index 497ade11dd3..815f1e91153 100644 --- a/SU2_CFD/src/variables/CDiscAdjVariable.cpp +++ b/SU2_CFD/src/variables/CDiscAdjVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CEulerVariable.cpp b/SU2_CFD/src/variables/CEulerVariable.cpp index f7b4e17e1b4..cbd0d4d9d48 100644 --- a/SU2_CFD/src/variables/CEulerVariable.cpp +++ b/SU2_CFD/src/variables/CEulerVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CFEABoundVariable.cpp b/SU2_CFD/src/variables/CFEABoundVariable.cpp index 94940b8c952..ce8b711d700 100644 --- a/SU2_CFD/src/variables/CFEABoundVariable.cpp +++ b/SU2_CFD/src/variables/CFEABoundVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CFEAVariable.cpp b/SU2_CFD/src/variables/CFEAVariable.cpp index 633d94efb1d..3ed473d7b32 100644 --- a/SU2_CFD/src/variables/CFEAVariable.cpp +++ b/SU2_CFD/src/variables/CFEAVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CFlowVariable.cpp b/SU2_CFD/src/variables/CFlowVariable.cpp index 261e94cabba..b01ef26db52 100644 --- a/SU2_CFD/src/variables/CFlowVariable.cpp +++ b/SU2_CFD/src/variables/CFlowVariable.cpp @@ -8,7 +8,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CHeatVariable.cpp b/SU2_CFD/src/variables/CHeatVariable.cpp index c5f2c58f128..b0524a2c192 100644 --- a/SU2_CFD/src/variables/CHeatVariable.cpp +++ b/SU2_CFD/src/variables/CHeatVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CIncEulerVariable.cpp b/SU2_CFD/src/variables/CIncEulerVariable.cpp index df48f82da5c..382c250810f 100644 --- a/SU2_CFD/src/variables/CIncEulerVariable.cpp +++ b/SU2_CFD/src/variables/CIncEulerVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CIncNSVariable.cpp b/SU2_CFD/src/variables/CIncNSVariable.cpp index a3458a9eb46..bd7f16198ef 100644 --- a/SU2_CFD/src/variables/CIncNSVariable.cpp +++ b/SU2_CFD/src/variables/CIncNSVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CMeshBoundVariable.cpp b/SU2_CFD/src/variables/CMeshBoundVariable.cpp index 568d7d12713..4f19cbbb8e5 100644 --- a/SU2_CFD/src/variables/CMeshBoundVariable.cpp +++ b/SU2_CFD/src/variables/CMeshBoundVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CMeshElement.cpp b/SU2_CFD/src/variables/CMeshElement.cpp index aeabfcea921..81ab82e97b9 100644 --- a/SU2_CFD/src/variables/CMeshElement.cpp +++ b/SU2_CFD/src/variables/CMeshElement.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CMeshVariable.cpp b/SU2_CFD/src/variables/CMeshVariable.cpp index 17e69a9376b..7b39af70874 100644 --- a/SU2_CFD/src/variables/CMeshVariable.cpp +++ b/SU2_CFD/src/variables/CMeshVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp index e9026821d92..76a0cab7faf 100644 --- a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp +++ b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CNEMONSVariable.cpp b/SU2_CFD/src/variables/CNEMONSVariable.cpp index 00ebcb62029..a9a779fa43e 100644 --- a/SU2_CFD/src/variables/CNEMONSVariable.cpp +++ b/SU2_CFD/src/variables/CNEMONSVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CNSVariable.cpp b/SU2_CFD/src/variables/CNSVariable.cpp index cbc52de9673..6e342b996d6 100644 --- a/SU2_CFD/src/variables/CNSVariable.cpp +++ b/SU2_CFD/src/variables/CNSVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CRadP1Variable.cpp b/SU2_CFD/src/variables/CRadP1Variable.cpp index c380cc67507..561625c1531 100644 --- a/SU2_CFD/src/variables/CRadP1Variable.cpp +++ b/SU2_CFD/src/variables/CRadP1Variable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CRadVariable.cpp b/SU2_CFD/src/variables/CRadVariable.cpp index a681ee0c8fe..78f62641b33 100644 --- a/SU2_CFD/src/variables/CRadVariable.cpp +++ b/SU2_CFD/src/variables/CRadVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CScalarVariable.cpp b/SU2_CFD/src/variables/CScalarVariable.cpp index 8ce392aab6b..46f11d086f6 100644 --- a/SU2_CFD/src/variables/CScalarVariable.cpp +++ b/SU2_CFD/src/variables/CScalarVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp b/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp index d9c18c7d20d..d492e6afeed 100644 --- a/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp +++ b/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CSpeciesVariable.cpp b/SU2_CFD/src/variables/CSpeciesVariable.cpp index 7a8a0787410..cbfdfe821be 100644 --- a/SU2_CFD/src/variables/CSpeciesVariable.cpp +++ b/SU2_CFD/src/variables/CSpeciesVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_CFD/src/variables/CTransLMVariable.cpp b/SU2_CFD/src/variables/CTransLMVariable.cpp index df345c23aef..2ec5a111cf0 100644 --- a/SU2_CFD/src/variables/CTransLMVariable.cpp +++ b/SU2_CFD/src/variables/CTransLMVariable.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,7 +28,7 @@ #include "../../include/variables/CTransLMVariable.hpp" -CTransLMVariable::CTransLMVariable(su2double Intermittency, su2double ReThetaT, su2double gammaSep, su2double gammaEff, unsigned long npoint, unsigned long ndim, unsigned long nvar, CConfig *config) +CTransLMVariable::CTransLMVariable(su2double Intermittency, su2double ReThetaT, su2double gammaSep, su2double gammaEff, unsigned long npoint, unsigned long ndim, unsigned long nvar, CConfig *config) : CTurbVariable(npoint, ndim, nvar, config) { for(unsigned long iPoint=0; iPoint %s' % self.folder def __str__(self): output = self.__repr__() output += '\n%s' % self.state return output - + #: class Design() # ---------------------------------------------------------------------- # Optimization Interface Functions # ---------------------------------------------------------------------- - + def obj_f(dvs,config,state=None): """ val = SU2.eval.obj_f(dvs,config,state=None) - - Evaluates SU2 Objectives + + Evaluates SU2 Objectives Wraps SU2.eval.func() - - Takes a design vector for input as a list (shape n) + + Takes a design vector for input as a list (shape n) or numpy array (shape n or nx1 or 1xn), a config and optionally a state. - + Outputs a float. """ - - # unpack config and state + + # unpack config and state config.unpack_dvs(dvs) state = su2io.State(state) - + def_objs = config['OPT_OBJECTIVE'] objectives = def_objs.keys() @@ -239,7 +239,7 @@ def obj_f(dvs,config,state=None): sign = su2io.get_objectiveSign(this_obj) # Evaluate Objective Function scaling and sign - # If default evaluate as normal, + # If default evaluate as normal, if def_objs[this_obj]['OBJTYPE']=='DEFAULT': func += su2func(this_obj,config,state) * sign * scale * global_factor # otherwise evaluate the penalty function (OBJTYPE = '>','<', or '=') @@ -252,11 +252,11 @@ def obj_f(dvs,config,state=None): # This is only used when OPT_COMBINE_OBJECTIVE = YES if 'COMBO' in state.FUNCTIONS: state['FUNCTIONS']['COMBO'] = func - + return vals_out #: def obj_f() - + def obj_p(config,state,this_obj,def_objs): # Penalty function: square of the difference between value and limit # This function is used when a constraint-type term is added to OPT_OBJECTIVE @@ -268,7 +268,7 @@ def obj_p(config,state,this_obj,def_objs): (def_objs[this_obj]['OBJTYPE']=='>' and funcval < constraint) or \ (def_objs[this_obj]['OBJTYPE']=='<' and funcval > constraint )): penalty = (constraint - funcval)**2.0 - # If 'DEFAULT' objtype this returns the function value. + # If 'DEFAULT' objtype this returns the function value. else: penalty = funcval return penalty @@ -293,7 +293,7 @@ def obj_dp(config,state,this_obj,def_objs): # If 'DEFAULT' objtype, this will return 1.0 elif (def_objs[this_obj]['OBJTYPE']=='DEFAULT'): dpenalty = 1.0 - + return dpenalty @@ -301,117 +301,117 @@ def obj_dp(config,state,this_obj,def_objs): def obj_df(dvs,config,state=None): """ vals = SU2.eval.obj_df(dvs,config,state=None) - + Evaluates SU2 Objective Gradients Wraps SU2.eval.grad() - - Takes a design vector for input as a list (shape n) + + Takes a design vector for input as a list (shape n) or numpy array (shape n or nx1 or 1xn), a config and optionally a state. - + Outputs a list of gradients. - """ - + """ + # unpack config and state config.unpack_dvs(dvs) state = su2io.State(state) grad_method = config.get('GRADIENT_METHOD','CONTINUOUS_ADJOINT') - + def_objs = config['OPT_OBJECTIVE'] objectives = def_objs.keys() - + # Number of objective functionals - n_obj = len( objectives ) + n_obj = len( objectives ) # Whether to calculate gradients one-by-one or all-at-once - combine_obj = (config['OPT_COMBINE_OBJECTIVE']=="YES") - + combine_obj = (config['OPT_COMBINE_OBJECTIVE']=="YES") + dv_scales = config['DEFINITION_DV']['SCALE'] dv_size = config['DEFINITION_DV']['SIZE'] - + # evaluate each objective vals_out = [] if (combine_obj and n_obj>1): - # Evaluate objectives all-at-once; for adjoint methods this results in a + # Evaluate objectives all-at-once; for adjoint methods this results in a # single, combined objective. scale = [1.0]*n_obj - obj_list=['DRAG']*n_obj + obj_list=['DRAG']*n_obj for i_obj,this_obj in enumerate(objectives): obj_list[i_obj]=this_obj scale[i_obj] = def_objs[this_obj]['SCALE'] if def_objs[this_obj]['OBJTYPE']== 'DEFAULT': # Standard case sign = su2io.get_objectiveSign(this_obj) - scale[i_obj] *= sign + scale[i_obj] *= sign else: # For a penalty function, the term is scaled by the partial derivative - # d p(j) / dx = (dj / dx) * ( dp / dj) + # d p(j) / dx = (dj / dx) * ( dp / dj) scale[i_obj]*=obj_dp(config, state, this_obj, def_objs) config['OBJECTIVE_WEIGHT']=','.join(map(str,scale)) grad= su2grad(obj_list,grad_method,config,state) # scaling : obj scale and sign are accounted for in combo gradient, dv scale now applied - global_factor = float(config['OPT_GRADIENT_FACTOR']) + global_factor = float(config['OPT_GRADIENT_FACTOR']) k = 0 for i_dv,dv_scl in enumerate(dv_scales): for i_grd in range(dv_size[i_dv]): - grad[k] = grad[k]*global_factor / dv_scl + grad[k] = grad[k]*global_factor / dv_scl k = k + 1 vals_out.append(grad) else: # Evaluate objectives one-by-one marker_monitored = config['MARKER_MONITORING'] - for i_obj,this_obj in enumerate(objectives): + for i_obj,this_obj in enumerate(objectives): # For multiple objectives are evaluated one-by-one rather than combined # MARKER_MONITORING should be updated to only include the marker for i_obj - # For single objectives, multiple markers can be used + # For single objectives, multiple markers can be used if (n_obj>1): config['MARKER_MONITORING'] = marker_monitored[i_obj] scale = def_objs[this_obj]['SCALE'] global_factor = float(config['OPT_GRADIENT_FACTOR']) sign = su2io.get_objectiveSign(this_obj) if def_objs[this_obj]['OBJTYPE']!= 'DEFAULT': # For a penalty function, the term is scaled by the partial derivative - # and the sign is always positive - # d p(j) / dx = (dj / dx) * ( dp / dj) + # and the sign is always positive + # d p(j) / dx = (dj / dx) * ( dp / dj) scale*=obj_dp(config, state, this_obj, def_objs) sign = 1.0 - + # Evaluate Objective Gradient grad = su2grad(this_obj,grad_method,config,state) - + # scaling and sign k = 0 for i_dv,dv_scl in enumerate(dv_scales): for i_grd in range(dv_size[i_dv]): grad[k] = grad[k] * sign * scale * global_factor / dv_scl k = k + 1 - + vals_out.append(grad) - + #: for each objective - + return vals_out #: def obj_df() def con_ceq(dvs,config,state=None): """ vals = SU2.eval.con_ceq(dvs,config,state=None) - + Evaluates SU2 Equality Constraints Wraps SU2.eval.func() - - Takes a design vector for input as a list (shape n) + + Takes a design vector for input as a list (shape n) or numpy array (shape n or nx1 or 1xn), a config and optionally a state. - + Returns: a list of constraint values, ordered by the OPT_CONSTRAINT config parameter. """ - + # unpack state and config config.unpack_dvs(dvs) state = su2io.State(state) - + def_cons = config['OPT_CONSTRAINT']['EQUALITY'] constraints = def_cons.keys() @@ -421,43 +421,43 @@ def con_ceq(dvs,config,state=None): global_factor = float(config['OPT_GRADIENT_FACTOR']) push = def_cons[this_con]['SCALE'] value = def_cons[this_con]['VALUE'] - + # Evaluate Constraint Function func = su2func(this_con,config,state) - + # scaling and centering func = (func - value) * global_factor * push - + vals_out.append(func) - + #: for each constraint - + return vals_out #: def obj_ceq() def con_dceq(dvs,config,state=None): """ vals = SU2.eval.con_dceq(dvs,config,state=None) - + Evaluates SU2 Equality Constraint Gradients Wraps SU2.eval.grad() - - Takes a design vector for input as a list (shape n) + + Takes a design vector for input as a list (shape n) or numpy array (shape n or nx1 or 1xn), a config and optionally a state. - + Returns a list of lists of constraint gradients, ordered by the OPT_CONSTRAINT config parameter. """ - + # unpack state and config config.unpack_dvs(dvs) state = su2io.State(state) grad_method = config.get('GRADIENT_METHOD','CONTINUOUS_ADJOINT') - + def_cons = config['OPT_CONSTRAINT']['EQUALITY'] constraints = def_cons.keys() - + dv_scales = config['DEFINITION_DV']['SCALE'] dv_size = config['DEFINITION_DV']['SIZE'] @@ -466,10 +466,10 @@ def con_dceq(dvs,config,state=None): for i_obj,this_con in enumerate(constraints): global_factor = float(config['OPT_GRADIENT_FACTOR']) value = def_cons[this_con]['VALUE'] - + # Evaluate Constraint Gradient grad = su2grad(this_con,grad_method,config,state) - + # scaling k = 0 for i_dv,dv_scl in enumerate(dv_scales): @@ -478,35 +478,35 @@ def con_dceq(dvs,config,state=None): k = k + 1 vals_out.append(grad) - + #: for each constraint - + return vals_out #: def obj_dceq() def con_cieq(dvs,config,state=None): """ vals = SU2.eval.con_cieq(dvs,config,state=None) - + Evaluates SU2 Inequality Constraints Wraps SU2.eval.func() Convention is con(x)<=0 - - Takes a design vector for input as a list (shape n) + + Takes a design vector for input as a list (shape n) or numpy array (shape n or nx1 or 1xn), a config and optionally a state. - - Returns a list of constraint gradients, ordered + + Returns a list of constraint gradients, ordered by the OPT_CONSTRAINT config parameter. - """ - - # unpack state and config + """ + + # unpack state and config config.unpack_dvs(dvs) state = su2io.State(state) - + def_cons = config['OPT_CONSTRAINT']['INEQUALITY'] constraints = def_cons.keys() - + # evaluate each constraint vals_out = [] for i_obj,this_con in enumerate(constraints): @@ -515,44 +515,44 @@ def con_cieq(dvs,config,state=None): value = def_cons[this_con]['VALUE'] sign = def_cons[this_con]['SIGN'] sign = su2io.get_constraintSign(sign) - + # Evaluate Constraint Function func = su2func(this_con,config,state) - + # scaling and centering func = (func - value) * sign * global_factor * push - + vals_out.append(func) - + #: for each constraint - + return vals_out #: def obj_cieq() def con_dcieq(dvs,config,state=None): """ vals = SU2.eval.con_dceq(dvs,config,state=None) - + Evaluates SU2 Inequality Constraint Gradients Wraps SU2.eval.grad() Convention is con(x)<=0 - - Takes a design vector for input as a list (shape n) + + Takes a design vector for input as a list (shape n) or numpy array (shape n or nx1 or 1xn), a config and optionally a state. - + Returns a list of lists of constraint gradients, ordered by the OPT_CONSTRAINT config parameter. - """ - + """ + # unpack state and config config.unpack_dvs(dvs) state = su2io.State(state) grad_method = config.get('GRADIENT_METHOD','CONTINUOUS_ADJOINT') - + def_cons = config['OPT_CONSTRAINT']['INEQUALITY'] constraints = def_cons.keys() - + dv_scales = config['DEFINITION_DV']['SCALE'] dv_size = config['DEFINITION_DV']['SIZE'] @@ -562,11 +562,11 @@ def con_dcieq(dvs,config,state=None): global_factor = float(config['OPT_GRADIENT_FACTOR']) value = def_cons[this_con]['VALUE'] sign = def_cons[this_con]['SIGN'] - sign = su2io.get_constraintSign(sign) - + sign = su2io.get_constraintSign(sign) + # Evaluate Constraint Gradient grad = su2grad(this_con,grad_method,config,state) - + # scaling and sign k = 0 for i_dv,dv_scl in enumerate(dv_scales): @@ -575,19 +575,19 @@ def con_dcieq(dvs,config,state=None): k = k + 1 vals_out.append(grad) - + #: for each constraint - + return vals_out - + #: def obj_dcieq() def touch(config,state): """ SU2.eval.touch(config,state) - resets state timestamp + resets state timestamp """ state.set_timestamp() - + def skip(config,state): """ SU2.eval.skip(config,state) does nothing diff --git a/SU2_PY/SU2/eval/functions.py b/SU2_PY/SU2/eval/functions.py index fb767a87f66..56e64ce3740 100644 --- a/SU2_PY/SU2/eval/functions.py +++ b/SU2_PY/SU2/eval/functions.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -42,43 +42,43 @@ def function( func_name, config, state=None ): """ val = SU2.eval.func(func_name,config,state=None) - + Evaluates the aerodynamics and geometry functions. - + Wraps: SU2.eval.aerodynamics() SU2.eval.geometry() - + Assumptions: Config is already setup for deformation. Mesh need not be deformed. Updates config and state by reference. Redundancy if state.FUNCTIONS is not empty. - + Executes in: ./DIRECT or ./GEOMETRY - + Inputs: func_name - SU2 objective function name or 'ALL' config - an SU2 config state - optional, an SU2 state - + Outputs: - If func_name is 'ALL', returns a Bunch() of + If func_name is 'ALL', returns a Bunch() of functions with keys of objective function names and values of objective function floats. Otherwise returns a float. """ - + # initialize state = su2io.State(state) - + # check for multiple objectives multi_objective = (type(func_name)==list) - # func_name_string is only used to check whether the function has already been evaluated. + # func_name_string is only used to check whether the function has already been evaluated. func_name_string = func_name - if multi_objective: func_name_string = func_name[0] + if multi_objective: func_name_string = func_name[0] # redundancy check if not func_name_string in state['FUNCTIONS']: @@ -94,7 +94,7 @@ def function( func_name, config, state=None ): # Stability elif func_name in su2io.optnames_stab: stability( config, state ) - + # Multipoint elif func_name in su2io.optnames_multi: multipoint( config, state ) @@ -102,10 +102,10 @@ def function( func_name, config, state=None ): # Geometry elif func_name in su2io.optnames_geo: geometry( func_name, config, state ) - + else: raise Exception('unknown function name, %s. Please check config_template.cfg for updated list of function names' % func_name) - + #: if not redundant # prepare output @@ -124,7 +124,7 @@ def function( func_name, config, state=None ): if name in state['FUNCTIONS']: func_out = state['FUNCTIONS'][name] - + return copy.deepcopy(func_out) #: def function() @@ -136,33 +136,33 @@ def function( func_name, config, state=None ): def aerodynamics( config, state=None ): """ vals = SU2.eval.aerodynamics(config,state=None) - + Evaluates aerodynamics with the following: SU2.run.deform() SU2.run.direct() - + Assumptions: Config is already setup for deformation. Mesh may or may not be deformed. Updates config and state by reference. Redundancy if state.FUNCTIONS is not empty. - + Executes in: ./DIRECT - + Inputs: config - an SU2 config state - optional, an SU2 state - + Outputs: Bunch() of functions with keys of objective function names and values of objective function floats. """ - + # ---------------------------------------------------- - # Initialize + # Initialize # ---------------------------------------------------- - + # initialize state = su2io.State(state) @@ -173,31 +173,31 @@ def aerodynamics( config, state=None ): if not 'MESH' in state.FILES: state.FILES.MESH = config['MESH_FILENAME'] special_cases = su2io.get_specialCases(config) - + # console output if config.get('CONSOLE','VERBOSE') in ['QUIET','CONCISE']: log_direct = 'log_Direct.out' else: log_direct = None - - # ---------------------------------------------------- + + # ---------------------------------------------------- # Update Mesh # ---------------------------------------------------- - + # does decomposition and deformation info = update_mesh(config,state) - - # ---------------------------------------------------- + + # ---------------------------------------------------- # Adaptation (not implemented) # ---------------------------------------------------- - + #if not state.['ADAPTED_FUNC']: # config = su2run.adaptation(config) # state['ADAPTED_FUNC'] = True - - # ---------------------------------------------------- + + # ---------------------------------------------------- # Direct Solution - # ---------------------------------------------------- + # ---------------------------------------------------- opt_names = [] for key in su2io.historyOutFields: if su2io.historyOutFields[key]['TYPE'] == 'COEFFICIENT': @@ -211,13 +211,13 @@ def aerodynamics( config, state=None ): for key in opt_names: if key in state.FUNCTIONS: aero[key] = state.FUNCTIONS[key] - return copy.deepcopy(aero) + return copy.deepcopy(aero) #: if redundant - + # files to pull files = state.FILES pull = []; link = [] - + # files: mesh name = files['MESH'] name = su2io.expand_part(name,config) @@ -249,10 +249,10 @@ def aerodynamics( config, state=None ): else: if config.get('TIME_DOMAIN', 'NO') != 'YES': #rules out steady state optimization special cases. config['RESTART_SOL'] = 'NO' #for shape optimization with restart files. - + # files: target equivarea distribution - if ( 'EQUIV_AREA' in special_cases and - 'TARGET_EA' in files ) : + if ( 'EQUIV_AREA' in special_cases and + 'TARGET_EA' in files ) : pull.append( files['TARGET_EA'] ) # files: target pressure distribution @@ -268,16 +268,16 @@ def aerodynamics( config, state=None ): # output redirection with redirect_folder( 'DIRECT', pull, link ) as push: - with redirect_output(log_direct): - + with redirect_output(log_direct): + # # RUN DIRECT SOLUTION # # info = su2run.direct(config) konfig = copy.deepcopy(config) - ''' - If the time convergence criterion was activated, we have less time iterations. + ''' + If the time convergence criterion was activated, we have less time iterations. Store the changed values of TIME_ITER, ITER_AVERAGE_OBJ and UNST_ADJOINT_ITER in info.WND_CAUCHY_DATA''' if konfig.get('WINDOW_CAUCHY_CRIT', 'NO') == 'YES' and konfig.TIME_MARCHING != 'NO': # Tranfer Convergence Data, if necessary @@ -287,13 +287,13 @@ def aerodynamics( config, state=None ): su2io.restart2solution(konfig,info) state.update(info) - + # direct files to push name = info.FILES['DIRECT'] name = su2io.expand_zones(name,konfig) name = su2io.expand_time(name,konfig) push.extend(name) - + # pressure files to push if 'TARGET_CP' in info.FILES: push.append(info.FILES['TARGET_CP']) @@ -301,17 +301,17 @@ def aerodynamics( config, state=None ): # heat flux files to push if 'TARGET_HEATFLUX' in info.FILES: push.append(info.FILES['TARGET_HEATFLUX']) - + if 'FLOW_META' in info.FILES: push.append(info.FILES['FLOW_META']) - + #: with output redirection su2io.update_persurface(konfig,state) - # return output + # return output funcs = su2util.ordered_bunch() for key in state['FUNCTIONS']: funcs[key] = state['FUNCTIONS'][key] - + return funcs #: def aerodynamics() @@ -322,55 +322,55 @@ def aerodynamics( config, state=None ): # ---------------------------------------------------------------------- def stability( config, state=None, step=1e-2 ): - - + + folder = 'STABILITY' # os.path.join('STABILITY',func_name) #STABILITY/D_MOMENT_Y_D_ALPHA/ - + # ---------------------------------------------------- - # Initialize + # Initialize # ---------------------------------------------------- - + # initialize state = su2io.State(state) if not 'MESH' in state.FILES: state.FILES.MESH = config['MESH_FILENAME'] special_cases = su2io.get_specialCases(config) - + # console output if config.get('CONSOLE','VERBOSE') in ['QUIET','CONCISE']: log_direct = 'log_Direct.out' else: log_direct = None - - # ---------------------------------------------------- + + # ---------------------------------------------------- # Update Mesh # ---------------------------------------------------- - - + + # does decomposition and deformation - info = update_mesh(config,state) - - # ---------------------------------------------------- + info = update_mesh(config,state) + + # ---------------------------------------------------- # CENTRAL POINT - # ---------------------------------------------------- - + # ---------------------------------------------------- + # will run in DIRECT/ - func_0 = aerodynamics(config,state) - - - # ---------------------------------------------------- + func_0 = aerodynamics(config,state) + + + # ---------------------------------------------------- # Run Forward Point - # ---------------------------------------------------- - + # ---------------------------------------------------- + # files to pull files = state.FILES pull = []; link = [] - + # files: mesh name = files['MESH'] name = su2io.expand_part(name,config) link.extend(name) - + # files: direct solution if 'DIRECT' in files: name = files['DIRECT'] @@ -379,10 +379,10 @@ def stability( config, state=None, step=1e-2 ): ##config['RESTART_SOL'] = 'YES' # don't override config file else: config['RESTART_SOL'] = 'NO' - + # files: target equivarea distribution - if ( 'EQUIV_AREA' in special_cases and - 'TARGET_EA' in files ) : + if ( 'EQUIV_AREA' in special_cases and + 'TARGET_EA' in files ) : pull.append( files['TARGET_EA'] ) # files: target pressure distribution @@ -397,31 +397,31 @@ def stability( config, state=None, step=1e-2 ): # pull needed files, start folder with redirect_folder( folder, pull, link ) as push: - with redirect_output(log_direct): - + with redirect_output(log_direct): + konfig = copy.deepcopy(config) ztate = copy.deepcopy(state) - + # TODO: GENERALIZE konfig.AOA = konfig.AOA + step ztate.FUNCTIONS.clear() - + func_1 = aerodynamics(konfig,ztate) - + ## direct files to store #name = ztate.FILES['DIRECT'] #if not 'STABILITY' in state.FILES: #state.FILES.STABILITY = su2io.ordered_bunch() #state.FILES.STABILITY['DIRECT'] = name - + ## equivarea files to store #if 'WEIGHT_NF' in ztate.FILES: #state.FILES.STABILITY['WEIGHT_NF'] = ztate.FILES['WEIGHT_NF'] - - # ---------------------------------------------------- + + # ---------------------------------------------------- # DIFFERENCING # ---------------------------------------------------- - + for derv_name in su2io.optnames_stab: matches = [ k for k in su2io.optnames_aero if k in derv_name ] @@ -429,16 +429,16 @@ def stability( config, state=None, step=1e-2 ): func_name = matches[0] obj_func = ( func_1[func_name] - func_0[func_name] ) / step - + state.FUNCTIONS[derv_name] = obj_func - - # return output + + # return output funcs = su2util.ordered_bunch() for key in su2io.optnames_stab: if key in state['FUNCTIONS']: - funcs[key] = state['FUNCTIONS'][key] - + funcs[key] = state['FUNCTIONS'][key] + return funcs @@ -479,13 +479,13 @@ def multipoint( config, state=None, step=1e-2 ): # ---------------------------------------------------- # Initialize # ---------------------------------------------------- - + # initialize state = su2io.State(state) if not 'MESH' in state.FILES: state.FILES.MESH = config['MESH_FILENAME'] special_cases = su2io.get_specialCases(config) - + # console output if config.get('CONSOLE','VERBOSE') in ['QUIET','CONCISE']: log_direct = 'log_Direct.out' @@ -503,11 +503,11 @@ def multipoint( config, state=None, step=1e-2 ): # does decomposition and deformation info = update_mesh(config,state) - + # ---------------------------------------------------- # FIRST POINT # ---------------------------------------------------- - + # will run in DIRECT/ config.AOA = aoa_list[0] @@ -524,7 +524,7 @@ def multipoint( config, state=None, step=1e-2 ): config.SOLUTION_FILENAME = solution_flow_list[0] # If solution file for the first point is available, use it - if 'MULTIPOINT_DIRECT' in state.FILES and state.FILES.MULTIPOINT_DIRECT[0]: + if 'MULTIPOINT_DIRECT' in state.FILES and state.FILES.MULTIPOINT_DIRECT[0]: state.FILES['DIRECT'] = state.FILES.MULTIPOINT_DIRECT[0] # If flow.meta file for the first point is available, rename it before using it @@ -533,7 +533,7 @@ def multipoint( config, state=None, step=1e-2 ): state.FILES['FLOW_META'] = 'flow.meta' func[0] = aerodynamics(config,state) - + # change name of flow.meta back to multipoint name if os.path.exists('flow.meta'): os.rename('flow.meta', flow_meta_list[0]) @@ -545,12 +545,12 @@ def multipoint( config, state=None, step=1e-2 ): # files to pull files = state.FILES pull = []; link = [] - + # files: mesh name = files['MESH'] name = su2io.expand_part(name,config) link.extend(name) - + # files: direct solution if 'DIRECT' in files: name = files['DIRECT'] @@ -558,11 +558,11 @@ def multipoint( config, state=None, step=1e-2 ): link.extend( name ) else: config['RESTART_SOL'] = 'NO' - - # files: meta data for the flow + + # files: meta data for the flow if 'FLOW_META' in files: pull.append(files['FLOW_META']) - + # files: target equivarea distribution if ( 'EQUIV_AREA' in special_cases and 'TARGET_EA' in files ) : @@ -572,7 +572,7 @@ def multipoint( config, state=None, step=1e-2 ): if ( 'INV_DESIGN_CP' in special_cases and 'TARGET_CP' in files ) : pull.append( files['TARGET_CP'] ) - + # files: target heat flux distribution if ( 'INV_DESIGN_HEATFLUX' in special_cases and 'TARGET_HEATFLUX' in files ) : @@ -584,7 +584,7 @@ def multipoint( config, state=None, step=1e-2 ): konfig = copy.deepcopy(config) ztate = copy.deepcopy(state) - # Reset restart to original value + # Reset restart to original value konfig['RESTART_SOL'] = restart_sol dst = os.getcwd() @@ -610,7 +610,7 @@ def multipoint( config, state=None, step=1e-2 ): del ztate.FILES.FLOW_META # use direct solution file from relevant point - if 'MULTIPOINT_DIRECT' in state.FILES and state.FILES.MULTIPOINT_DIRECT[i+1]: + if 'MULTIPOINT_DIRECT' in state.FILES and state.FILES.MULTIPOINT_DIRECT[i+1]: ztate.FILES['DIRECT'] = state.FILES.MULTIPOINT_DIRECT[i+1] # use flow.meta file from relevant point @@ -651,7 +651,7 @@ def multipoint( config, state=None, step=1e-2 ): # Perform deformation on multipoint mesh if 'MULTIPOINT_MESH_FILENAME' in state.FILES: info = update_mesh(konfig,ztate) - + # Update config values konfig.AOA = aoa_list[i+1] konfig.SIDESLIP_ANGLE = sideslip_list[i+1] @@ -682,7 +682,7 @@ def multipoint( config, state=None, step=1e-2 ): ztate.FILES['FLOW_META'] = flow_meta_list[i+1] dst_flow_meta = os.path.abspath(dst).rstrip('/')+'/'+ztate.FILES['FLOW_META'] push.append(ztate.FILES['FLOW_META']) - + # direct files to push dst_direct = os.path.abspath(dst).rstrip('/')+'/'+ztate.FILES['DIRECT'] name = ztate.FILES['DIRECT'] @@ -704,28 +704,28 @@ def multipoint( config, state=None, step=1e-2 ): # make unix link os.symlink(src_direct, dst_direct) - + # If the mesh doesn't already exist, link it if 'MULTIPOINT_MESH_FILENAME' in state.FILES: src_mesh = os.path.abspath(src).rstrip('/')+'/'+ztate.FILES['MESH'] - if not os.path.exists(src_mesh): + if not os.path.exists(src_mesh): os.symlink(src_mesh, dst_mesh) # link flow.meta if 'MULTIPOINT_FLOW_META' in state.FILES: src_flow_meta = os.path.abspath(src).rstrip('/')+'/'+ztate.FILES['FLOW_META'] - if not os.path.exists(src_flow_meta): + if not os.path.exists(src_flow_meta): os.symlink(src_flow_meta, dst_flow_meta) # Update MULTIPOINT_DIRECT in state.FILES state.FILES.MULTIPOINT_DIRECT = solution_flow_list if 'FLOW_META' in state.FILES: state.FILES.MULTIPOINT_FLOW_META = flow_meta_list - + # ---------------------------------------------------- # WEIGHT FUNCTIONS # ---------------------------------------------------- - + for derv_name in su2io.optnames_multi: matches = [ k for k in opt_names if k in derv_name ] if not len(matches) == 1: continue @@ -733,7 +733,7 @@ def multipoint( config, state=None, step=1e-2 ): obj_func = 0.0 for i in range(len(weight_list)): obj_func = obj_func + float(weight_list[i])*func[i][func_name] - + state.FUNCTIONS[derv_name] = obj_func # return output @@ -741,7 +741,7 @@ def multipoint( config, state=None, step=1e-2 ): for key in su2io.optnames_multi: if key in state['FUNCTIONS']: funcs[key] = state['FUNCTIONS'][key] - + return funcs @@ -751,99 +751,99 @@ def multipoint( config, state=None, step=1e-2 ): def geometry( func_name, config, state=None ): """ val = SU2.eval.geometry(config,state=None) - + Evaluates geometry with the following: SU2.run.deform() SU2.run.geometry() - + Assumptions: Config is already setup for deformation. Mesh may or may not be deformed. Updates config and state by reference. Redundancy if state.FUNCTIONS does not have func_name. - + Executes in: ./GEOMETRY - + Inputs: config - an SU2 config state - optional, an SU2 state - + Outputs: Bunch() of functions with keys of objective function names and values of objective function floats. """ - + # ---------------------------------------------------- - # Initialize + # Initialize # ---------------------------------------------------- - + # initialize state = su2io.State(state) if not 'MESH' in state.FILES: state.FILES.MESH = config['MESH_FILENAME'] special_cases = su2io.get_specialCases(config) - + # console output if config.get('CONSOLE','VERBOSE') in ['QUIET','CONCISE']: log_geom = 'log_Geometry.out' else: log_geom = None - + # ---------------------------------------------------- # Update Mesh (check with Trent) # ---------------------------------------------------- - + # does decomposition and deformation #info = update_mesh(config,state) - # ---------------------------------------------------- + # ---------------------------------------------------- # Geometry Solution - # ---------------------------------------------------- - + # ---------------------------------------------------- + # redundancy check geometry_done = func_name in state.FUNCTIONS #geometry_done = all([key in state.FUNCTIONS for key in su2io.optnames_geo]) - if not geometry_done: - + if not geometry_done: + # files to pull files = state.FILES pull = []; link = [] - + # files: mesh name = files['MESH'] name = su2io.expand_part(name,config) link.extend(name) - + # update function name ## TODO - + # output redirection with redirect_folder( 'GEOMETRY', pull, link ) as push: - with redirect_output(log_geom): - + with redirect_output(log_geom): + # setup config config.GEO_PARAM = func_name config.GEO_MODE = 'FUNCTION' - + # # RUN GEOMETRY SOLUTION # # info = su2run.geometry(config) state.update(info) - + # no files to push - + #: with output redirection - - #: if not redundant - - # return output + + #: if not redundant + + # return output funcs = su2util.ordered_bunch() for key in su2io.optnames_geo: if key in state['FUNCTIONS']: funcs[key] = state['FUNCTIONS'][key] return funcs - + #: def geometry() @@ -851,39 +851,39 @@ def geometry( func_name, config, state=None ): def update_mesh(config,state=None): """ SU2.eval.update_mesh(config,state=None) - + updates mesh with the following: SU2.run.deform() - + Assumptions: Config is already setup for deformation. Mesh may or may not be deformed. Updates config and state by reference. - + Executes in: ./DECOMP and ./DEFORM - + Inputs: config - an SU2 config state - optional, an SU2 state - + Outputs: nothing - + Modifies: config and state by reference """ - + # ---------------------------------------------------- - # Initialize + # Initialize # ---------------------------------------------------- - + # initialize state = su2io.State(state) if not 'MESH' in state.FILES: state.FILES.MESH = config['MESH_FILENAME'] special_cases = su2io.get_specialCases(config) - + # console output if config.get('CONSOLE','VERBOSE') in ['QUIET','CONCISE']: log_decomp = 'log_Decomp.out' @@ -891,17 +891,17 @@ def update_mesh(config,state=None): else: log_decomp = None log_deform = None - - + + # ---------------------------------------------------- # Deformation # ---------------------------------------------------- - + # redundancy check deform_set = config['DV_KIND'] == config['DEFINITION_DV']['KIND'] deform_todo = not config['DV_VALUE_NEW'] == config['DV_VALUE_OLD'] if deform_set and deform_todo: - + # files to pull pull = [] link = config['MESH_FILENAME'] @@ -912,22 +912,22 @@ def update_mesh(config,state=None): # output redirection with redirect_folder('DEFORM',pull,link) as push: with redirect_output(log_deform): - + # # RUN DEFORMATION # # info = su2run.deform(config) state.update(info) - + # data to push meshname = info.FILES.MESH names = su2io.expand_part( meshname , config ) push.extend( names ) - + #: with redirect output - + elif deform_set and not deform_todo: state.VARIABLES.DV_VALUE_NEW = config.DV_VALUE_NEW #: if not redundant - return + return diff --git a/SU2_PY/SU2/eval/gradients.py b/SU2_PY/SU2/eval/gradients.py index 2298a475999..62e4983618a 100644 --- a/SU2_PY/SU2/eval/gradients.py +++ b/SU2_PY/SU2/eval/gradients.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -41,7 +41,7 @@ # Main Gradient Interface # ---------------------------------------------------------------------- -def gradient( func_name, method, config, state=None ): +def gradient( func_name, method, config, state=None ): """ val = SU2.eval.grad(func_name,method,config,state=None) Evaluates the aerodynamic gradients. @@ -89,7 +89,7 @@ def gradient( func_name, method, config, state=None ): # Adjoint Gradients if any([method == 'CONTINUOUS_ADJOINT', method == 'DISCRETE_ADJOINT']): - + # Aerodynamics if func_output in su2io.historyOutFields: if su2io.historyOutFields[func_output]['TYPE'] == 'COEFFICIENT': @@ -98,11 +98,11 @@ def gradient( func_name, method, config, state=None ): elif func_name in su2io.historyOutFields: if su2io.historyOutFields[func_name]['TYPE'] == 'COEFFICIENT': grads = adjoint( func_name, config, state ) - + # Stability elif func_output in su2io.optnames_stab: grads = stability( func_name, config, state ) - + # Multipoint elif func_output in su2io.optnames_multi: grads = multipoint( func_name, config, state ) @@ -123,7 +123,7 @@ def gradient( func_name, method, config, state=None ): else: raise Exception('unrecognized gradient method') - + # store state['GRADIENTS'].update(grads) @@ -144,7 +144,7 @@ def gradient( func_name, method, config, state=None ): def adjoint( func_name, config, state=None ): """ vals = SU2.eval.adjoint(func_name,config,state=None) - Evaluates the aerodynamics gradients using the + Evaluates the aerodynamics gradients using the adjoint methodology with: SU2.eval.func() SU2.run.deform() @@ -172,14 +172,14 @@ def adjoint( func_name, config, state=None ): """ # ---------------------------------------------------- - # Initialize + # Initialize # ---------------------------------------------------- # initialize state = su2io.State(state) special_cases = su2io.get_specialCases(config) - - # When a list of objectives is used, they are combined + + # When a list of objectives is used, they are combined # and the output name is 'COMBO' multi_objective = (type(func_name)==list) func_output = func_name @@ -191,11 +191,11 @@ def adjoint( func_name, config, state=None ): if config.get('CONSOLE','VERBOSE') in ['QUIET','CONCISE']: log_adjoint = 'log_Adjoint.out' else: - log_adjoint = None + log_adjoint = None # ---------------------------------------------------- # Redundancy Check - # ---------------------------------------------------- + # ---------------------------------------------------- # master redundancy check if func_output in state['GRADIENTS']: @@ -203,13 +203,13 @@ def adjoint( func_name, config, state=None ): return copy.deepcopy(grads) # ---------------------------------------------------- - # Direct Solution - # ---------------------------------------------------- + # Direct Solution + # ---------------------------------------------------- # run (includes redundancy checks) - function( func_name, config, state ) + function( func_name, config, state ) - # ---------------------------------------------------- + # ---------------------------------------------------- # Adaptation (not implemented) # ---------------------------------------------------- @@ -217,9 +217,9 @@ def adjoint( func_name, config, state=None ): # config = su2run.adaptation(config) # state['ADAPTED_FUNC'] = True - # ---------------------------------------------------- + # ---------------------------------------------------- # Adjoint Solution - # ---------------------------------------------------- + # ---------------------------------------------------- konfig = copy.deepcopy(config) @@ -254,16 +254,16 @@ def adjoint( func_name, config, state=None ): name = files['RESTART_FILE_2'] name = su2io.expand_part(name, config) link.extend(name) - + if 'FLOW_META' in files: pull.append(files['FLOW_META']) - + # files: adjoint solution if ADJ_NAME in files: name = files[ADJ_NAME] name = su2io.expand_zones(name,konfig) name = su2io.expand_time(name,konfig) - link.extend(name) + link.extend(name) else: config['RESTART_SOL'] = 'NO' #Can this be deleted? if config.get('TIME_DOMAIN', 'NO') != 'YES': # rules out steady state optimization special cases. @@ -281,17 +281,17 @@ def adjoint( func_name, config, state=None ): # files: target heat flux coefficient if 'INV_DESIGN_HEATFLUX' in special_cases: pull.append(files['TARGET_HEATFLUX']) - + if not 'OUTPUT_FILES' in config: config['OUTPUT_FILES'] = ['RESTART'] if not 'SURFACE_CSV' in config['OUTPUT_FILES']: config['OUTPUT_FILES'].append('SURFACE_CSV') - + # output redirection with redirect_folder( ADJ_NAME, pull, link ) as push: - with redirect_output(log_adjoint): + with redirect_output(log_adjoint): # Format objective list in config if multi_objective: @@ -331,7 +331,7 @@ def adjoint( func_name, config, state=None ): #: with output redirection - # return output + # return output grads = su2util.ordered_bunch() grads[func_output] = state['GRADIENTS'][func_output] return grads @@ -349,7 +349,7 @@ def stability( func_name, config, state=None, step=1e-2 ): folder = 'STABILITY' # os.path.join('STABILITY',func_name) #STABILITY/D_MOMENT_Y_D_ALPHA/ # ---------------------------------------------------- - # Initialize + # Initialize # ---------------------------------------------------- # initialize @@ -362,7 +362,7 @@ def stability( func_name, config, state=None, step=1e-2 ): matches = [ k for k in su2io.optnames_aero if k in func_name ] if not len(matches) == 1: raise Exception('could not find stability function name') - base_name = matches[0] + base_name = matches[0] ADJ_NAME = 'ADJOINT_'+base_name @@ -372,24 +372,24 @@ def stability( func_name, config, state=None, step=1e-2 ): else: log_direct = None - # ---------------------------------------------------- + # ---------------------------------------------------- # Update Mesh # ---------------------------------------------------- # does decomposition and deformation - info = update_mesh(config,state) + info = update_mesh(config,state) - # ---------------------------------------------------- + # ---------------------------------------------------- # CENTRAL POINT - # ---------------------------------------------------- + # ---------------------------------------------------- # will run in ADJOINT/ grads_0 = gradient(base_name,'CONTINUOUS_ADJOINT',config,state) - # ---------------------------------------------------- + # ---------------------------------------------------- # Run Forward Point - # ---------------------------------------------------- + # ---------------------------------------------------- # files to pull files = state.FILES @@ -401,15 +401,15 @@ def stability( func_name, config, state=None, step=1e-2 ): link.extend(name) # files: direct solution - ## DO NOT PULL DIRECT SOLUTION, use the one in STABILITY/ + ## DO NOT PULL DIRECT SOLUTION, use the one in STABILITY/ # files: adjoint solution if ADJ_NAME in files: name = files[ADJ_NAME] name = su2io.expand_time(name,config) - link.extend(name) + link.extend(name) else: - config['RESTART_SOL'] = 'NO' + config['RESTART_SOL'] = 'NO' # files: target equivarea adjoint weights ## DO NOT PULL EQUIVAREA WEIGHTS, use the one in STABILITY/ @@ -417,7 +417,7 @@ def stability( func_name, config, state=None, step=1e-2 ): # pull needed files, start folder with redirect_folder( folder, pull, link ) as push: - with redirect_output(log_direct): + with redirect_output(log_direct): konfig = copy.deepcopy(config) ztate = copy.deepcopy(state) @@ -433,11 +433,11 @@ def stability( func_name, config, state=None, step=1e-2 ): grads_1 = gradient(base_name,'CONTINUOUS_ADJOINT',konfig,ztate) - # ---------------------------------------------------- + # ---------------------------------------------------- # DIFFERENCING # ---------------------------------------------------- - grads = [ ( g_1 - g_0 ) / step + grads = [ ( g_1 - g_0 ) / step for g_1,g_0 in zip(grads_1,grads_0) ] state.GRADIENTS[func_name] = grads @@ -452,10 +452,10 @@ def stability( func_name, config, state=None, step=1e-2 ): # ---------------------------------------------------------------------- def multipoint( func_name, config, state=None, step=1e-2 ): - + mach_list = config['MULTIPOINT_MACH_NUMBER'].replace("(", "").replace(")", "").split(',') reynolds_list = config['MULTIPOINT_REYNOLDS_NUMBER'].replace("(", "").replace(")", "").split(',') - freestream_temp_list = config['MULTIPOINT_FREESTREAM_TEMPERATURE'].replace("(", "").replace(")", "").split(',') + freestream_temp_list = config['MULTIPOINT_FREESTREAM_TEMPERATURE'].replace("(", "").replace(")", "").split(',') freestream_press_list = config['MULTIPOINT_FREESTREAM_PRESSURE'].replace("(", "").replace(")", "").split(',') aoa_list = config['MULTIPOINT_AOA'].replace("(", "").replace(")", "").split(',') sideslip_list = config['MULTIPOINT_SIDESLIP_ANGLE'].replace("(", "").replace(")", "").split(',') @@ -478,45 +478,45 @@ def multipoint( func_name, config, state=None, step=1e-2 ): for key in su2io.historyOutFields: if su2io.historyOutFields[key]['TYPE'] == 'COEFFICIENT': opt_names.append(key) - + # ---------------------------------------------------- # Initialize # ---------------------------------------------------- - + # initialize state = su2io.State(state) if not 'MESH' in state.FILES: state.FILES.MESH = config['MESH_FILENAME'] special_cases = su2io.get_specialCases(config) - + # find base func name matches = [ k for k in opt_names if k in func_name ] if not len(matches) == 1: raise Exception('could not find multipoint function name') base_name = matches[0] - + ADJ_NAME = 'ADJOINT_' + base_name MULTIPOINT_ADJ_NAME = 'MULTIPOINT_' + ADJ_NAME - + # console output if config.get('CONSOLE','VERBOSE') in ['QUIET','CONCISE']: log_direct = 'log_Direct.out' else: log_direct = None - + # # ---------------------------------------------------- # # Update Mesh # # ---------------------------------------------------- -# +# # # does decomposition and deformation # info = update_mesh(config,state) - + # ---------------------------------------------------- # FIRST POINT # ---------------------------------------------------- - + # will run in ADJOINT/ - + config.AOA = aoa_list[0] config.SIDESLIP_ANGLE = sideslip_list[0] config.MACH_NUMBER = mach_list[0] @@ -547,19 +547,19 @@ def multipoint( func_name, config, state=None, step=1e-2 ): # ---------------------------------------------------- # Run Multipoint # ---------------------------------------------------- - + # files to pull files = state.FILES pull = []; link = [] - + # files: mesh name = files['MESH'] name = su2io.expand_part(name,config) link.extend(name) - + # files: direct solution ## DO NOT PULL DIRECT SOLUTION, use the one in MULTIPOINT/ - + # files: adjoint solution if ADJ_NAME in files: name = files[ADJ_NAME] @@ -588,7 +588,7 @@ def multipoint( func_name, config, state=None, step=1e-2 ): subprocess.Popen(string_list) for i in range(len(weight_list)-1): - + konfig = copy.deepcopy(config) ztate = copy.deepcopy(state) # Reset RESTART_SOL to original value @@ -596,7 +596,7 @@ def multipoint( func_name, config, state=None, step=1e-2 ): # Set correct config option names konfig.SOLUTION_FILENAME = solution_flow_list[i+1] konfig.SOLUTION_ADJ_FILENAME = solution_adj_list[i+1] - + # Delete file run in previous case if ADJ_NAME in ztate.FILES: del ztate.FILES[ADJ_NAME] @@ -647,21 +647,21 @@ def multipoint( func_name, config, state=None, step=1e-2 ): # pull needed files, start folder with redirect_folder( folder[i+1], pull, link ) as push: with redirect_output(log_direct): - - # Set the multipoint options + + # Set the multipoint options konfig.AOA = aoa_list[i+1] konfig.SIDESLIP_ANGLE = sideslip_list[i+1] konfig.MACH_NUMBER = mach_list[i+1] konfig.REYNOLDS_NUMBER = reynolds_list[i+1] konfig.FREESTREAM_TEMPERATURE = freestream_temp_list[i+1] konfig.FREESTREAM_PRESSURE = freestream_press_list[i+1] - konfig.TARGET_CL = target_cl_list[i+1] + konfig.TARGET_CL = target_cl_list[i+1] # rename meta data to flow.meta if 'FLOW_META' in ztate.FILES: os.rename(ztate.FILES.MULTIPOINT_FLOW_META[i+1], 'flow.meta') ztate.FILES['FLOW_META'] = 'flow.meta' - + # let's start somethin somthin ztate.GRADIENTS.clear() @@ -684,19 +684,19 @@ def multipoint( func_name, config, state=None, step=1e-2 ): # Link adjoint solution to MULTIPOINT_# folder src = os.getcwd() src = os.path.abspath(src).rstrip('/')+'/'+ztate.FILES[ADJ_NAME] - + # make unix link string = "ln -s " + src + " " + dst string_list = string.split() subprocess.Popen(string_list) - + # Update MULTPOINT_ADJOINT files in state.FILES state.FILES[MULTIPOINT_ADJ_NAME] = solution_adj_list # ---------------------------------------------------- # WEIGHT FUNCTIONS # ---------------------------------------------------- - + grad = [] for variable in range(len(grads[0])): grad.append(0) @@ -705,11 +705,11 @@ def multipoint( func_name, config, state=None, step=1e-2 ): grad[variable] = 0.0 for point in range(len(weight_list)): grad[variable] = grad[variable] + float(weight_list[point])*grads[point][variable] - + state.GRADIENTS[func_name] = grad grads_out = su2util.ordered_bunch() grads_out[func_name] = grad - + return grads_out @@ -720,7 +720,7 @@ def multipoint( func_name, config, state=None, step=1e-2 ): def findiff( config, state=None ): """ vals = SU2.eval.findiff(config,state=None) - Evaluates the aerodynamics gradients using + Evaluates the aerodynamics gradients using finite differencing with: SU2.eval.func() SU2.run.deform() @@ -743,10 +743,10 @@ def findiff( config, state=None ): Outputs: A Bunch() with keys of objective function names and values of list of floats of gradient values - """ + """ # ---------------------------------------------------- - # Initialize + # Initialize # ---------------------------------------------------- # initialize @@ -764,20 +764,20 @@ def findiff( config, state=None ): if 'FIN_DIFF_STEP' in config: step = float(config.FIN_DIFF_STEP) else: - step = 0.001 + step = 0.001 opt_names = [] for i in range(config['NZONES']): - for key in sorted(su2io.historyOutFields): + for key in sorted(su2io.historyOutFields): if su2io.historyOutFields[key]['TYPE'] == 'COEFFICIENT': if (config['NZONES'] == 1): opt_names.append(key) - else: + else: opt_names.append(key + '[' + str(i) + ']') # ---------------------------------------------------- # Redundancy Check - # ---------------------------------------------------- + # ---------------------------------------------------- # master redundancy check findiff_todo = all([key in state.GRADIENTS for key in opt_names]) @@ -786,25 +786,25 @@ def findiff( config, state=None ): return copy.deepcopy(grads) # ---------------------------------------------------- - # Zero Step - # ---------------------------------------------------- + # Zero Step + # ---------------------------------------------------- # run - func_base = function( 'ALL', config, state ) + func_base = function( 'ALL', config, state ) # ---------------------------------------------------- # Plot Setup - # ---------------------------------------------------- + # ---------------------------------------------------- grad_filename = config['GRAD_OBJFUNC_FILENAME'] grad_filename = os.path.splitext( grad_filename )[0] output_format = config['TABULAR_FORMAT'] - plot_extension = su2io.get_extension(output_format) + plot_extension = su2io.get_extension(output_format) grad_filename = grad_filename + '_findiff' + plot_extension # ---------------------------------------------------- # Finite Difference Steps - # ---------------------------------------------------- + # ---------------------------------------------------- # local config konfig = copy.deepcopy(config) @@ -812,9 +812,9 @@ def findiff( config, state=None ): # check deformation setup n_dv = sum(Definition_DV['SIZE']) deform_set = konfig['DV_KIND'] == Definition_DV['KIND'] - if not deform_set: + if not deform_set: dvs_base = [0.0] * n_dv - konfig.unpack_dvs(dvs_base,dvs_base) + konfig.unpack_dvs(dvs_base,dvs_base) else: dvs_base = konfig['DV_VALUE_NEW'] @@ -832,7 +832,7 @@ def findiff( config, state=None ): # files to pull files = state['FILES'] pull = []; link = [] - pull.extend(config.get('CONFIG_LIST',[])) + pull.extend(config.get('CONFIG_LIST',[])) # files: mesh name = files['MESH'] name = su2io.expand_part(name,konfig) @@ -863,16 +863,16 @@ def findiff( config, state=None ): if 'INV_DESIGN_HEATFLUX' in special_cases and 'TARGET_HEATFLUX' in files: pull.append(files['TARGET_HEATFLUX']) - + # output redirection with redirect_folder('FINDIFF',pull,link) as push: with redirect_output(log_findiff): - # iterate each dv + # iterate each dv for i_dv in range(n_dv): this_step = step[i_dv] - temp_config_name = 'config_FINDIFF_%i.cfg' % i_dv + temp_config_name = 'config_FINDIFF_%i.cfg' % i_dv this_dvs = copy.deepcopy(dvs_base) this_konfig = copy.deepcopy(konfig) @@ -891,26 +891,26 @@ def findiff( config, state=None ): meshfiles = this_state.FILES.MESH meshfiles = su2io.expand_part(meshfiles,this_konfig) for name in meshfiles: os.remove(name) - + for key in grads.keys(): if key == 'VARIABLE' or key == 'FINDIFF_STEP': pass elif not key in func_step: - del grads[key] + del grads[key] # calc finite difference and store for key in grads.keys(): - if key == 'VARIABLE': + if key == 'VARIABLE': grads[key].append(i_dv) - elif key == 'FINDIFF_STEP': + elif key == 'FINDIFF_STEP': grads[key].append(this_step) else: this_grad = ( func_step[key] - func_base[key] ) / this_step grads[key].append(this_grad) - - + + #: for each grad name - + su2util.write_plot(grad_filename,output_format,grads) os.remove(temp_config_name) @@ -960,7 +960,7 @@ def geometry( func_name, config, state=None ): """ # ---------------------------------------------------- - # Initialize + # Initialize # ---------------------------------------------------- # initialize @@ -975,7 +975,7 @@ def geometry( func_name, config, state=None ): else: log_geom = None - # ---------------------------------------------------- + # ---------------------------------------------------- # Update Mesh (check with Trent) # ---------------------------------------------------- @@ -985,12 +985,12 @@ def geometry( func_name, config, state=None ): # ---------------------------------------------------- # Geometry Solution - # ---------------------------------------------------- + # ---------------------------------------------------- # redundancy check geometry_done = func_name in state.GRADIENTS #geometry_done = all([key in state.FUNCTIONS for key in su2io.optnames_geo]) - if not geometry_done: + if not geometry_done: # files to pull files = state.FILES @@ -1006,7 +1006,7 @@ def geometry( func_name, config, state=None ): # output redirection with redirect_folder( 'GEOMETRY', pull, link ) as push: - with redirect_output(log_geom): + with redirect_output(log_geom): # setup config config.GEO_PARAM = func_name @@ -1020,15 +1020,15 @@ def geometry( func_name, config, state=None ): #: with output redirection - #: if not redundant + #: if not redundant - # return output + # return output grads = su2util.ordered_bunch() for key in su2io.optnames_geo: if key in state['GRADIENTS']: grads[key] = state['GRADIENTS'][key] - return grads + return grads #: def geometry() diff --git a/SU2_PY/SU2/io/config.py b/SU2_PY/SU2/io/config.py index 21fe28d79da..94ae60971eb 100755 --- a/SU2_PY/SU2/io/config.py +++ b/SU2_PY/SU2/io/config.py @@ -1,22 +1,22 @@ #!/usr/bin/env python ## \file config.py -# \brief python package for config +# \brief python package for config # \author T. Lukaczyk, F. Palacios # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -47,33 +47,33 @@ class Config(ordered_bunch): """ config = SU2.io.Config(filename="") - - Starts a config class, an extension of + + Starts a config class, an extension of ordered_bunch() - + use 1: initialize by reading config file config = SU2.io.Config('filename') use 2: initialize from dictionary or bunch config = SU2.io.Config(param_dict) use 3: initialize empty config = SU2.io.Config() - + Parameters can be accessed by item or attribute ie: config['MESH_FILENAME'] or config.MESH_FILENAME - + Methods: read() - read from a config file write() - write to a config file (requires existing file) dump() - dump a raw config file - unpack_dvs() - unpack a design vector + unpack_dvs() - unpack a design vector diff() - returns the difference from another config dist() - computes the distance from another config - """ + """ _filename = 'config.cfg' - + def __init__(self,*args,**kwarg): - + # look for filename in inputs if args and isinstance(args[0],str): filename = args[0] @@ -83,10 +83,10 @@ def __init__(self,*args,**kwarg): del kwarg['filename'] else: filename = '' - + # initialize ordered bunch super(Config,self).__init__(*args,**kwarg) - + # read config if it exists if filename: try: @@ -136,29 +136,29 @@ def __init__(self,*args,**kwarg): self["HISTORY_OUTPUT"]= histFields - + def read(self,filename): """ reads from a config file """ konfig = read_config(filename) self.update(konfig) - + def write(self,filename=''): """ updates an existing config file """ if not filename: filename = self._filename assert os.path.exists(filename) , 'must write over an existing config file' write_config(filename,self) - + def dump(self,filename=''): """ dumps all items in the config bunch, without comments """ if not filename: filename = self._filename dump_config(filename,self) - + def __getattr__(self,k): try: return super(Config,self).__getattr__(k) except AttributeError: raise AttributeError('Config parameter not found') - + def __getitem__(self,k): try: return super(Config,self).__getitem__(k) @@ -168,23 +168,23 @@ def __getitem__(self,k): def unpack_dvs(self,dv_new,dv_old=None): """ updates config with design variable vectors will scale according to each DEFINITION_DV scale parameter - + Modifies: DV_KIND DV_MARKER DV_PARAM DV_VALUE_OLD DV_VALUE_NEW - + Inputs: dv_new - list or array of new dv values dv_old - optional, list or array of old dv values, defaults to zeros - + """ - + dv_new = copy.deepcopy(dv_new) dv_old = copy.deepcopy(dv_old) - + # handle unpacking cases def_dv = self['DEFINITION_DV'] @@ -192,7 +192,7 @@ def unpack_dvs(self,dv_new,dv_old=None): if not dv_old: dv_old = [0.0]*n_dv assert len(dv_new) == len(dv_old) , 'unexpected design vector length' - + # handle param param_dv = self['DV_PARAM'] @@ -205,14 +205,14 @@ def unpack_dvs(self,dv_new,dv_old=None): dv_new[k] = dv_new[k]*dv_scl; dv_old[k] = dv_old[k]*dv_scl; k = k + 1 - + # Change the parameters of the design variables self['DV_KIND'] = def_dv['KIND'] param_dv['PARAM'] = def_dv['PARAM'] param_dv['FFDTAG'] = def_dv['FFDTAG'] param_dv['SIZE'] = def_dv['SIZE'] - + self.update({ 'DV_VALUE_OLD' : dv_old , 'DV_VALUE_NEW' : dv_new }) @@ -220,93 +220,93 @@ def __eq__(self,konfig): return super(Config,self).__eq__(konfig) def __ne__(self,konfig): return super(Config,self).__ne__(konfig) - - + + def local_files(self): """ removes path prefix from all *_FILENAME params """ for key, value in self.items(): if key.split('_')[-1] == 'FILENAME': - self[key] = os.path.basename(value) - + self[key] = os.path.basename(value) + def diff(self,konfig): """ compares self to another config - - Inputs: + + Inputs: konfig - a second config - + Outputs: - config_diff - a config containing only the differing - keys, each with values of a list of the different + config_diff - a config containing only the differing + keys, each with values of a list of the different config values. - for example: + for example: config_diff.MATH_PROBLEM = ['DIRECT','CONTINUOUS_ADJOINT'] - + """ - + keys = set([]) keys.update( self.keys() ) keys.update( konfig.keys() ) - + konfig_diff = Config() - + for key in keys: value1 = self.get(key,None) value2 = konfig.get(key,None) if not value1 == value2: konfig_diff[key] = [value1,value2] - + return konfig_diff - + def dist(self,konfig,keys_check='ALL'): """ calculates a distance to another config - - Inputs: + + Inputs: konfig - a second config keys_check - optional, a list of keys to check - + Outputs: distance - a float - + Currently only works for DV_VALUE_NEW and DV_VALUE_OLD Returns a large value otherwise - - """ + + """ konfig_diff = self.diff(konfig) - + if keys_check == 'ALL': keys_check = konfig_diff.keys() - + distance = 0.0 - + for key in keys_check: if key in konfig_diff: - + val1 = konfig_diff[key][0] val2 = konfig_diff[key][1] - + if key in ['DV_VALUE_NEW', 'DV_VALUE_OLD']: val1 = np.array( val1 ) val2 = np.array( val2 ) this_diff = np.sqrt( np.sum( (val1-val2)**2 ) ) - + else: print('Warning, unexpected config difference') this_diff = inf - + distance += this_diff - + #: if key different #: for each keys_check - + return distance - + def __repr__(self): #return ' %s' % self._filename return self.__str__() - + def __str__(self): output = 'Config: %s' % self._filename for k,v in self.items(): @@ -326,19 +326,19 @@ def __str__(self): def read_config(filename): """ reads a config file """ - + # initialize output dictionary data_dict = OrderedDict() - + input_file = open(filename) - + # process each line while 1: # read the line line = input_file.readline() if not line: break - + # remove line returns line = line.strip('\r\n').strip() @@ -347,13 +347,13 @@ def read_config(filename): # make sure it has useful data if (line[0] == '%'): continue - + # --- Check if there is a line continuation character at the # end of the current line or somewhere in between (the rest is ignored then). # If yes, read until there is a line without one or an empty line. # If there is a statement after a cont. char # throw an error. ---*/ - + while(line[0].endswith('\\') or len(line.split('\\')) > 1): tmp_line = input_file.readline() tmp_line = tmp_line.strip() @@ -367,19 +367,19 @@ def read_config(filename): line = line.split("=",1) this_param = line[0].strip() this_value = line[1].strip() - + assert this_param not in data_dict, ('Config file has multiple specifications of %s' % this_param ) for case in switch(this_param): - + # comma delimited lists of strings with or without paren's if case("MARKER_EULER") or\ case("MARKER_FAR") or\ case("MARKER_PLOTTING") or\ case("MARKER_MONITORING") or\ case("MARKER_SYM") or\ - case("DV_KIND") : + case("DV_KIND") : # remove white space - this_value = ''.join(this_value.split()) + this_value = ''.join(this_value.split()) # remove parens this_value = this_value.strip('()') # split by comma @@ -423,7 +423,7 @@ def read_config(filename): dv_FFDTag = dv_FFDTag + [this_dvFFDTag] dv_Parameters = dv_Parameters + [this_dvParam] dv_Size = dv_Size + [this_dvSize] - + # store in a dictionary dv_Definitions = { 'FFDTAG' : dv_FFDTag , 'PARAM' : dv_Parameters , @@ -431,16 +431,16 @@ def read_config(filename): data_dict[this_param] = dv_Definitions break - + # comma delimited lists of floats if case("DV_VALUE_OLD") or\ case("DV_VALUE_NEW") or\ - case("DV_VALUE") : + case("DV_VALUE") : # remove white space - this_value = ''.join(this_value.split()) + this_value = ''.join(this_value.split()) # split by comma, map to float, store in dictionary data_dict[this_param] = list(map(float,this_value.split(","))) - break + break # float parameters if case("MACH_NUMBER") or\ @@ -450,8 +450,8 @@ def read_config(filename): case("HB_PERIOD") or\ case("WRT_SOL_FREQ") : data_dict[this_param] = float(this_value) - break - + break + # int parameters if case("NUMBER_PART") or\ case("AVAILABLE_PROC") or\ @@ -464,8 +464,8 @@ def read_config(filename): case("TIME_ITER") or\ case("ADAPT_CYCLES") : data_dict[this_param] = int(this_value) - break - + break + if case("OUTPUT_FILES"): data_dict[this_param] = this_value.strip("()").split(",") data_dict[this_param] = [i.strip(" ") for i in data_dict[this_param]] @@ -478,11 +478,11 @@ def read_config(filename): data_dict[this_param] = this_value.strip("()").split(",") data_dict[this_param] = [i.strip(" ") for i in data_dict[this_param]] break - + # unitary design variable definition if case("DEFINITION_DV"): # remove white space - this_value = ''.join(this_value.split()) + this_value = ''.join(this_value.split()) # split into unitary definitions info_Unitary = this_value.split(";") # process each Design Variable @@ -500,7 +500,7 @@ def read_config(filename): # split information for dv Kinds info_Kind = info_General[0].split(",") # pull processed dv values - this_dvKind = get_dvKind( int( info_Kind[0] ) ) + this_dvKind = get_dvKind( int( info_Kind[0] ) ) this_dvScale = float( info_Kind[1] ) this_dvMarkers = info_General[1].split(",") this_dvSize = 1 @@ -515,7 +515,7 @@ def read_config(filename): this_dvParameters[0] = '0' else: this_dvFFDTag = [] - + this_dvParameters = [ float(x) for x in this_dvParameters ] if this_dvKind in ['FFD_CONTROL_POINT_2D']: @@ -543,24 +543,24 @@ def read_config(filename): # save to output dictionary data_dict[this_param] = dv_Definitions - break - + break + # unitary objective definition if case('OPT_OBJECTIVE'): # remove white space this_value = ''.join(this_value.split()) - #split by ; + #split by ; this_def=OrderedDict() this_value = this_value.split(";") - - for this_obj in this_value: + + for this_obj in this_value: # split by scale this_obj = this_obj.split("*") this_name = this_obj[0] this_scale = 1.0 if len(this_obj) > 1: this_scale = float( this_obj[1] ) - # check for penalty-based constraint function + # check for penalty-based constraint function for this_sgn in ['<','>','=']: if this_sgn in this_name: break this_obj = this_name.strip('()').split(this_sgn) @@ -569,12 +569,12 @@ def read_config(filename): this_val = this_obj[1] else: this_type = 'DEFAULT' - this_val = 0.0 + this_val = 0.0 this_name = this_obj[0] # Print an error and exit if the same key appears twice if (this_name in this_def): raise SystemExit('Multiple occurrences of the same objective in the OPT_OBJECTIVE definition are not currently supported. To evaluate one objective over multiple surfaces, list the objective once.') - # Set up dict for objective, including scale, whether it is a penalty, and constraint value + # Set up dict for objective, including scale, whether it is a penalty, and constraint value this_def.update({ this_name : {'SCALE':this_scale, 'OBJTYPE':this_type, 'VALUE':this_val} }) # OPT_OBJECTIVE has to appear after MARKER_MONITORING in the .cfg, maybe catch that here if (len(data_dict['MARKER_MONITORING'])>1): @@ -585,15 +585,15 @@ def read_config(filename): # save to output dictionary data_dict[this_param] = this_def break - + # unitary constraint definition if case('OPT_CONSTRAINT'): # remove white space - this_value = ''.join(this_value.split()) + this_value = ''.join(this_value.split()) # check for none case if this_value == 'NONE': data_dict[this_param] = {'EQUALITY':OrderedDict(), 'INEQUALITY':OrderedDict()} - break + break # split definitions this_value = this_value.split(';') this_def = OrderedDict() @@ -630,24 +630,24 @@ def read_config(filename): this_sort['EQUALITY'][key] = value else: this_sort['INEQUALITY'][key] = value - #: for each definition + #: for each definition # save to output dictionary data_dict[this_param] = this_sort break - + # otherwise # string parameters if case(): data_dict[this_param] = this_value - break - + break + #: if case DEFINITION_DV - + #: for case - + #: for line - if 'OPT_CONSTRAINT' in data_dict: + if 'OPT_CONSTRAINT' in data_dict: if 'BUFFET' in data_dict['OPT_CONSTRAINT']['EQUALITY'] or 'BUFFET' in data_dict['OPT_CONSTRAINT']['INEQUALITY']: data_dict['BUFFET_MONITORING'] = "YES" @@ -715,7 +715,7 @@ def read_config(filename): Mach_List += str(Mach_Value) Mach_List += ")" data_dict['MULTIPOINT_MACH_NUMBER'] = Mach_List - + if 'MULTIPOINT_AOA' not in data_dict: Alpha_Value = data_dict['AOA'] Alpha_List = "(" @@ -733,7 +733,7 @@ def read_config(filename): Beta_List += str(Beta_Value) Beta_List += ")" data_dict['MULTIPOINT_SIDESLIP_ANGLE'] = Beta_List - + if 'MULTIPOINT_REYNOLDS_NUMBER' not in data_dict: Reynolds_Value = data_dict['REYNOLDS_NUMBER'] Reynolds_List = "(" @@ -789,7 +789,7 @@ def read_config(filename): if i != 0: Mesh_List += ", " Mesh_List += str(Mesh_Filename) Mesh_List += ")" - data_dict['MULTIPOINT_MESH_FILENAME'] = Mesh_List + data_dict['MULTIPOINT_MESH_FILENAME'] = Mesh_List if 'HISTORY_OUTPUT' not in data_dict: data_dict['HISTORY_OUTPUT'] = ['ITER', 'RMS_RES'] @@ -815,9 +815,9 @@ def read_config(filename): data_dict['VALUE_OBJFUNC_FILENAME'] = 'of_eval.dat' if 'GRAD_OBJFUNC_FILENAME' not in data_dict: data_dict['GRAD_OBJFUNC_FILENAME'] = 'of_grad.dat' - + return data_dict - + #: def read_config() @@ -828,81 +828,81 @@ def read_config(filename): def write_config(filename,param_dict): """ updates an existing config file """ - + temp_filename = filename+"_tmp" shutil.copy(filename,temp_filename) output_file = open(filename,"w") # break pointers param_dict = copy.deepcopy(param_dict) - + for raw_line in open(temp_filename): # remove line returns line = raw_line.strip('\r\n') - + # make sure it has useful data if not "=" in line: output_file.write(raw_line) continue - + # split across equals sign line = line.split("=") this_param = line[0].strip() old_value = line[1].strip() - + # skip if parameter unwanted if this_param not in param_dict: output_file.write(raw_line) continue - + # start writing parameter - new_value = param_dict[this_param] + new_value = param_dict[this_param] output_file.write(this_param + "= ") - + # handle parameter types - for case in switch(this_param): - + for case in switch(this_param): + # comma delimited list of floats if case("DV_VALUE_NEW") : pass if case("DV_VALUE_OLD") : pass - if case("DV_VALUE") : + if case("DV_VALUE") : n_lists = len(new_value) for i_value in range(n_lists): output_file.write("%s" % new_value[i_value]) if i_value+1 < n_lists: - output_file.write(", ") + output_file.write(", ") break - + # comma delimited list of strings no paren's if case("DV_KIND") : pass if case("TASKS") : pass - if case("GRADIENTS") : + if case("GRADIENTS") : if not isinstance(new_value,list): new_value = [ new_value ] n_lists = len(new_value) for i_value in range(n_lists): output_file.write(new_value[i_value]) if i_value+1 < n_lists: - output_file.write(", ") - break - + output_file.write(", ") + break + # comma delimited list of strings inside paren's if case("MARKER_EULER") : pass if case("MARKER_FAR") : pass if case("MARKER_PLOTTING") : pass if case("MARKER_MONITORING") : pass - if case("MARKER_SYM") : pass - if case("DV_MARKER") : + if case("MARKER_SYM") : pass + if case("DV_MARKER") : if not isinstance(new_value,list): - new_value = [ new_value ] + new_value = [ new_value ] output_file.write("( ") n_lists = len(new_value) for i_value in range(n_lists): output_file.write(new_value[i_value]) if i_value+1 < n_lists: output_file.write(", ") - output_file.write(" )") - break + output_file.write(" )") + break if case("OUTPUT_FILES"): n_lists = len(new_value) output_file.write("(") @@ -922,7 +922,7 @@ def write_config(filename,param_dict): output_file.write(", ") output_file.write(")") break - + if case("HISTORY_OUTPUT"): n_lists = len(new_value) for i_value in range(n_lists): @@ -936,14 +936,14 @@ def write_config(filename,param_dict): assert isinstance(new_value['PARAM'],list) , 'incorrect specification of DV_PARAM' if not isinstance(new_value['PARAM'][0],list): new_value = [ new_value ] - + for i_value in range(len(new_value['PARAM'])): output_file.write("( ") this_param_list = new_value['PARAM'][i_value] this_ffd_list = new_value['FFDTAG'][i_value] n_lists = len(this_param_list) - + if this_ffd_list != []: output_file.write("%s, " % this_ffd_list) for j_value in range(1,n_lists): @@ -960,7 +960,7 @@ def write_config(filename,param_dict): if i_value+1 < len(new_value['PARAM']): output_file.write("; ") break - + # int parameters if case("NUMBER_PART") : pass if case("ADAPT_CYCLES") : pass @@ -970,10 +970,10 @@ def write_config(filename,param_dict): if case("ITER") or\ case("TIME_ITER") or\ case("INNER_ITER") or\ - case("OUTER_ITER"): + case("OUTER_ITER"): output_file.write("%i" % new_value) break - + if case("DEFINITION_DV") : n_dv = len(new_value['KIND']) if not n_dv: @@ -984,9 +984,9 @@ def write_config(filename,param_dict): output_file.write("%i , " % get_dvID(this_kind) ) output_file.write("%s " % new_value['SCALE'][i_dv]) output_file.write("| ") - # markers + # markers n_mark = len(new_value['MARKER'][i_dv]) - for i_mark in range(n_mark): + for i_mark in range(n_mark): output_file.write("%s " % new_value['MARKER'][i_dv][i_mark]) if i_mark+1 < n_mark: output_file.write(", ") @@ -1007,14 +1007,14 @@ def write_config(filename,param_dict): output_file.write("%s " % new_value['PARAM'][i_dv][i_param]) if i_param+1 < n_param: output_file.write(", ") - - #: for each param + + #: for each param output_file.write(" )") if i_dv+1 < n_dv: output_file.write("; ") #: for each dv break - + if case("OPT_OBJECTIVE"): n_obj = 0 for name,value in new_value.items(): @@ -1022,65 +1022,65 @@ def write_config(filename,param_dict): if value['OBJTYPE']=='DEFAULT': output_file.write( "%s * %s " % (name,value['SCALE']) ) else: - output_file.write( "( %s %s %s ) * %s" + output_file.write( "( %s %s %s ) * %s" % (name, value['OBJTYPE'], value['VALUE'], value['SCALE']) ) n_obj += 1 break - + if case("OPT_CONSTRAINT"): i_con = 0 for con_type in ['EQUALITY','INEQUALITY']: this_con = new_value[con_type] for name,value in this_con.items(): if i_con>0: output_file.write("; ") - output_file.write( "( %s %s %s ) * %s" - % (name, value['SIGN'], value['VALUE'], value['SCALE']) ) + output_file.write( "( %s %s %s ) * %s" + % (name, value['SIGN'], value['VALUE'], value['SCALE']) ) i_con += 1 #: for each constraint #: for each constraint type if not i_con: output_file.write("NONE") break - - # default, assume string, integer or unformatted float + + # default, assume string, integer or unformatted float if case(): output_file.write('%s' % new_value) - break - + break + #: for case - + # remove from param dictionary del param_dict[this_param] - + # next line - output_file.write("\n") - + output_file.write("\n") + #: for each line - + # check that all params were used for this_param in param_dict.keys(): if not this_param in ['JOB_NUMBER']: print('Warning: Parameter %s not found in config file and was not written' % (this_param)) - + output_file.close() os.remove(temp_filename) - + #: def write_config() def dump_config(filename,config): - ''' dumps a raw config file with all options in config + ''' dumps a raw config file with all options in config and no comments ''' - + # HACK - twl if 'DV_VALUE_NEW' in config: config.DV_VALUE = config.DV_VALUE_NEW - + config_file = open(filename,'w') # write dummy file for key in config.keys(): config_file.write( '%s= 0 \n' % key ) config_file.close() # dump data - write_config(filename,config) + write_config(filename,config) diff --git a/SU2_PY/SU2/io/config_options.py b/SU2_PY/SU2/io/config_options.py index 16d5ee9ee1a..049abcbf4c4 100644 --- a/SU2_PY/SU2/io/config_options.py +++ b/SU2_PY/SU2/io/config_options.py @@ -4,17 +4,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -33,7 +33,7 @@ class OptionError(Exception): pass class Option(object): - + def __init__(self): self.val = "" @@ -60,7 +60,7 @@ def __set__(self,newval): class DEFINITION_DV(ordered_bunch): """ SU2.io.config.DEFINITION_DV() - + List of design variables (Design variables are separated by semicolons) 2D Design variables -FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) @@ -83,9 +83,9 @@ class DEFINITION_DV(ordered_bunch): Global design variables -TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - + """ - + def __init__(self,*args,**kwarg): ordered_bunch.__init__(self) self.KIND = [] @@ -94,14 +94,14 @@ def __init__(self,*args,**kwarg): self.FFDTAG = [] self.PARAM = [] self.update(ordered_bunch(*args,**kwarg)) - + def append(self,new_dv): self.KIND. append(new_dv['KIND']) self.SCALE. append(new_dv['SCALE']) self.MARKER.append(new_dv['MARKER']) self.FFDTAG.append(new_dv['FFDTAG']) self.PARAM. append(new_dv['PARAM']) - + def extend(self,new_dvs): assert isinstance(new_dvs,DEFINITION_DV) , 'input must be of type DEFINITION_DV' self.KIND. extend(new_dvs['KIND']) @@ -114,7 +114,7 @@ def extend(self,new_dvs): class DV_KIND(ordered_bunch): """ SU2.io.config.DV_KIND() - + List of design variables (Design variables are separated by semicolons) 2D Design variables -FFD_CONTROL_POINT_2D ( 19, Scale | Mark. List | FFD_BoxTag, i_Ind, j_Ind, x_Mov, y_Mov ) @@ -137,19 +137,19 @@ class DV_KIND(ordered_bunch): Global design variables -TRANSLATION ( 1, Scale | Mark. List | x_Disp, y_Disp, z_Disp ) -ROTATION ( 2, Scale | Mark. List | x_Axis, y_Axis, z_Axis, x_Turn, y_Turn, z_Turn ) - + """ - + def __init__(self,*args,**kwarg): ordered_bunch.__init__(self) self.FFDTAG = [] self.PARAM = [] self.update(ordered_bunch(*args,**kwarg)) - + def append(self,new_dv): self.FFDTAG.append(new_dv['FFDTAG']) self.PARAM. append(new_dv['PARAM']) - + def extend(self,new_dvs): assert isinstance(new_dvs,DV_KIND) , 'input must be of type DV_KIND' self.FFDTAG.extend(new_dvs['FFDTAG']) diff --git a/SU2_PY/SU2/io/data.py b/SU2_PY/SU2/io/data.py index 1454b983414..c975caf2bff 100644 --- a/SU2_PY/SU2/io/data.py +++ b/SU2_PY/SU2/io/data.py @@ -1,22 +1,22 @@ #!/usr/bin/env python ## \file data.py -# \brief python package for data utility functions +# \brief python package for data utility functions # \author T. Lukaczyk, F. Palacios # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -50,32 +50,32 @@ def load_data( file_name, var_names=None , """ data = load_data( file_name, var_names=None , file_format = 'infer' , core_name = 'python_data' ) - + loads dictionary of data from python pickle or matlab struct - + Inputs: file_name - data file name var_names - variable names to read file_format - 'infer', 'pickle', or 'matlab' core_name - data is stored under a dictionary with this name - + default looks for variable 'python_data' in file_name file_format = pickle, will return any python object - file_format = matlab, will return strings or float lists and + file_format = matlab, will return strings or float lists and requires scipy.io.loadmat - file_format = infer (default), will infer format from extention + file_format = infer (default), will infer format from extention ('.mat','.pkl') """ - + try: import scipy.io scipy_loaded = True except ImportError: - scipy_loaded = False - + scipy_loaded = False + if not os.path.exists(file_name): raise Exception('File does not exist: %s' % file_name) - + # process file format if file_format == 'infer': if os.path.splitext(file_name)[1] == '.mat': @@ -83,10 +83,10 @@ def load_data( file_name, var_names=None , elif os.path.splitext(file_name)[1] == '.pkl': file_format = 'pickle' assert file_format in ['matlab','pickle'] , 'unsupported file format' - + # get filelock - with filelock(file_name): - + with filelock(file_name): + # LOAD MATLAB if file_format == 'matlab' and scipy_loaded: input_data = scipy.io.loadmat( file_name = file_name , @@ -96,32 +96,32 @@ def load_data( file_name, var_names=None , # pull core variable assert (core_name in input_data) , 'core data not found' input_data = input_data[core_name] - + # convert recarray to dictionary input_data = rec2dict(input_data) - + # LOAD PICKLE elif file_format == 'pickle': input_data = load_pickle(file_name) # pull core variable assert (core_name in input_data) , 'core data not found' input_data = input_data[core_name] - + #: if file_format - + #: with filelock - + # load specified varname into dictionary if var_names != None: # check for one item name array if isinstance(var_names,str): - var_names = [var_names,] + var_names = [var_names,] for key in input_data.keys(): if not key in var_names: del input_data[key] #: for key #: if var_names - + return input_data #: def load() @@ -138,32 +138,32 @@ def save_data( file_name, data_dict, append=False , """ save_data( file_name, data_dict, append=False , file_format = 'infer' , core_name='python_data' ): - + Inputs: file_name - data file name data_dict - a dictionary or bunch to write append - True/False to append existing data file_format - 'infer', 'pickle', or 'matlab' core_name - data is stored under a dictionary with this name - + file_format = pickle, will save any pickleable python object - file_format = matlab, will save strings or float lists and + file_format = matlab, will save strings or float lists and requires scipy.io.loadmat - file_format = infer (default), will infer format from extention + file_format = infer (default), will infer format from extention ('.mat','.pkl') - - matlab format saves data file from matlab 5 and later + + matlab format saves data file from matlab 5 and later will save nested dictionaries into nested matlab structures cannot save classes and modules uses scipy.io.loadmat - """ + """ try: import scipy.io scipy_loaded = True except ImportError: scipy_loaded = False - + # process file format if file_format == 'infer': if os.path.splitext(file_name)[1] == '.mat': @@ -174,8 +174,8 @@ def save_data( file_name, data_dict, append=False , # get filelock with filelock(file_name): - - # if appending needed + + # if appending needed # TODO: don't overwrite other core_names if append == True and os.path.exists(file_name): # check file exists @@ -192,10 +192,10 @@ def save_data( file_name, data_dict, append=False , data_dict[key] = value #: for each dict item #: if append - + # save to core name data_dict = {core_name : data_dict} - + # SAVE MATLAB if file_format == 'matlab': # bunch it @@ -208,15 +208,15 @@ def save_data( file_name, data_dict, append=False , elif file_format == 'pickle': # save it save_pickle(file_name,data_dict) - + #: if file_format - + #: with filelock - + return -#: def save() - +#: def save() + # ------------------------------------------------------------------- @@ -263,13 +263,13 @@ def save_pickle(file_name, data_dict): #class safe_unpickle(pickle.Unpickler): #''' adds some safety to unpickling - #checks that only supported classes are loaded - #original source from http://nadiana.com/python-pickle-insecure#comment-144 + #checks that only supported classes are loaded + #original source from http://nadiana.com/python-pickle-insecure#comment-144 #''' - + ## modules : classes considered safe #PICKLE_SAFE = { - #'copy_reg' : ['_reconstructor'] , + #'copy_reg' : ['_reconstructor'] , #'__builtin__' : ['object'] , #'numpy' : ['dtype','ndarray'] , #'numpy.core.multiarray' : ['scalar','_reconstruct'] , @@ -280,16 +280,16 @@ def save_pickle(file_name, data_dict): #'SU2.opt.project' : ['Project'] , #'SU2.util.ordered_bunch' : ['OrderedBunch'] , #'SU2.util.bunch' : ['Bunch'] , - #'tasks_general' : ['General_Task'] , - #'tasks_project' : ['Project','Job'] , + #'tasks_general' : ['General_Task'] , + #'tasks_project' : ['Project','Job'] , #'tasks_su2' : ['Decomp','Deform','Direct','Cont_Adjoint', - #'Multiple_Cont_Adjoint','Finite_Diff','Adapt'] , + #'Multiple_Cont_Adjoint','Finite_Diff','Adapt'] , #} - + ## make sets #for key in PICKLE_SAFE.keys(): #PICKLE_SAFE[key] = set(PICKLE_SAFE[key]) - + ## check for save module/class #def find_class(self, module, name): #if not module in self.PICKLE_SAFE: @@ -304,51 +304,51 @@ def save_pickle(file_name, data_dict): #) #klass = getattr(mod, name) #return klass - + ## extend the load() and loads() methods #@classmethod #def loadf(self, pickle_file): # loads a file like pickle.load() #return self(pickle_file).load() #@classmethod #def loads(self, pickle_string): #loads a string like pickle.loads() - #return self(StringIO.StringIO(pickle_string)).load() + #return self(StringIO.StringIO(pickle_string)).load() + - # ------------------------------------------------------------------- # Convert Record Array to Dictionary # ------------------------------------------------------------------- - + def rec2dict(array_in): - """ converts numpy record array to dictionary of lists + """ converts numpy record array to dictionary of lists needed for loading matlab data assumes array comes from scipy.io.loadmat, with squeeze_me = False and struct_as_record = True """ - + import numpy - + assert isinstance(array_in,numpy.ndarray) , 'input must be a numpy record array' - + # make sure it's not an object array if array_in.dtype == numpy.dtype('object'): array_in = array_in.tolist() - + # get record keys/names keys = array_in.dtype.names - + # start output dictionary dataout = dict.fromkeys(keys,[]) - + for key in keys: - + # squeeze_me option puts all items in a two-dim array value = array_in[key].tolist()[0][0] - + # convert string if isinstance(value[0],unicode): value = str(value[0]) - + # convert array elif isinstance(value,numpy.ndarray): # check for another struct level @@ -357,10 +357,10 @@ def rec2dict(array_in): # telescoping else: value = rec2dict(value) - - # store value - dataout[key] = value - + + # store value + dataout[key] = value + return dataout #: def rec2dict() @@ -370,16 +370,16 @@ def rec2dict(array_in): # Flatten a List # ------------------------------------------------------------------- -def flatten_list(input_list): +def flatten_list(input_list): ''' flatten an irregular list of lists of any depth - ''' + ''' output_list = [] for value in input_list: if isinstance(value,list): output_list.extend( flatten_list(value) ) # telescope else: output_list.append(value) - return output_list + return output_list #: def flatten_list() @@ -391,38 +391,38 @@ def flatten_list(input_list): def append_nestdict(base_dict,add_dict): """ append_nestdict(base_dict,add_dict) - appends base_dict with add_dict, allowing for + appends base_dict with add_dict, allowing for updating nested dictionaries will update base_dict in place """ - + # break pointer add_dict = copy.deepcopy(add_dict) - + # append add_dict keys for key in add_dict.keys(): - + # ensure base_dict key exists and is a list if not base_dict.has_key(key): if isinstance( add_dict[key] , dict ): base_dict[key] = {} else: base_dict[key] = [] - elif not ( isinstance( base_dict[key] , list ) + elif not ( isinstance( base_dict[key] , list ) or isinstance( base_dict[key] , dict ) ): assert not isinstance( add_dict[key] , dict ) , 'base[key] is not a dictionary while add[key] is' base_dict[key] = [base_dict[key]] - + # append list or telescope if isinstance( base_dict[key] , dict ): append_nestdict(base_dict[key],add_dict[key]) # telescope else: base_dict[key].append(add_dict[key]) - + #: for add_dict[key] - + # base_dict will be updated through its pointer - return + return #: def append_nestdict() @@ -434,23 +434,23 @@ def append_nestdict(base_dict,add_dict): # ------------------------------------------------------------------- # Matlab Bunch Class -# ------------------------------------------------------------------- +# ------------------------------------------------------------------- class mat_bunch: """ replicates dictionary functionality with class dot structure for output of dictionaries to matlab """ - + def __init__(self, d): for k, v in d.items(): if isinstance(v, dict): if len(v): v = mat_bunch(v) else: v = [] self.__dict__[k] = v - + def __dict__(self): return self.__dict__ - + # items def keys(self): return self.__dict__.keys() @@ -458,12 +458,12 @@ def values(self): return self.__dict__.values() def items(self): return self.__dict__.items() - + # dictionary get/set/etc def __getitem__(self,k): return self.__dict__[k] def __setitem__(self,k,v): - self.__dict__[k] = v + self.__dict__[k] = v def __delitem__(self,k): del self.__dict__[k] def __str__(self): diff --git a/SU2_PY/SU2/io/filelock.py b/SU2_PY/SU2/io/filelock.py index 9b281b08304..4c2b3f1b6bd 100644 --- a/SU2_PY/SU2/io/filelock.py +++ b/SU2_PY/SU2/io/filelock.py @@ -1,22 +1,22 @@ #!/usr/bin/env python ## \file filelock.py -# \brief python package for filelocking +# \brief python package for filelocking # \author T. Lukaczyk, F. Palacios # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -30,26 +30,26 @@ # ------------------------------------------------------------------- # File Lock Class -# ------------------------------------------------------------------- +# ------------------------------------------------------------------- class filelock(object): - """ A file locking mechanism that has context-manager support so - you can use it in a with statement. - + """ A file locking mechanism that has context-manager support so + you can use it in a with statement. + Example: with filelock("test.txt", timeout=2, delay=0.5): print("Lock acquired.") # Do something with the locked file - + Inputs: file_name - filename to lock timeout - default 10sec, maximum timeout to wait for lock delay - default 0.05sec, delay between each attempt to lock number incremented with a random perturbation - + original source: Evan Fosmark, BSD license http://www.evanfosmark.com/2009/01/cross-platform-file-locking-support-in-python/ """ - + def __init__(self, file_name, timeout=10, delay=.05): """ Prepare the file locker. Specify the file to lock and optionally the maximum timeout and the delay between each attempt to lock. @@ -59,12 +59,12 @@ def __init__(self, file_name, timeout=10, delay=.05): self.file_name = file_name self.timeout = timeout self.delay = delay - - + + def acquire(self): """ Acquire the lock, if possible. If the lock is in use, it check again every `wait` seconds. It does this until it either gets the lock or - exceeds `timeout` number of seconds, in which case it throws + exceeds `timeout` number of seconds, in which case it throws an exception. """ start_time = time.time() @@ -74,48 +74,48 @@ def acquire(self): break; except OSError as e: if e.errno != errno.EEXIST: - raise + raise if (time.time() - start_time) >= self.timeout: raise FileLockException("FileLock timeout occured for %s" % self.lockfile) delay = self.delay*( 1. + 0.2*random() ) time.sleep(delay) self.is_locked = True - - + + def release(self): - """ Get rid of the lock by deleting the lockfile. - When working in a `with` statement, this gets automatically + """ Get rid of the lock by deleting the lockfile. + When working in a `with` statement, this gets automatically called at the end. """ if self.is_locked: os.close(self.fd) os.unlink(self.lockfile) self.is_locked = False - - + + def __enter__(self): - """ Activated when used in the with statement. + """ Activated when used in the with statement. Should automatically acquire a lock to be used in the with block. """ if not self.is_locked: self.acquire() return self - - + + def __exit__(self, type, value, traceback): """ Activated at the end of the with statement. It automatically releases the lock if it isn't locked. """ if self.is_locked: self.release() - - + + def __del__(self): """ Make sure that the FileLock instance doesn't leave a lockfile lying around. """ self.release() - + class FileLockException(Exception): pass diff --git a/SU2_PY/SU2/io/redirect.py b/SU2_PY/SU2/io/redirect.py index 548f93aa991..3dc964968e5 100644 --- a/SU2_PY/SU2/io/redirect.py +++ b/SU2_PY/SU2/io/redirect.py @@ -1,22 +1,22 @@ #!/usr/bin/env python ## \file redirect.py -# \brief python package for file redirection +# \brief python package for file redirection # \author T. Lukaczyk, F. Palacios # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -33,40 +33,40 @@ from .tools import add_suffix, make_link, expand_part # ------------------------------------------------------------------- -# Output Redirection +# Output Redirection # ------------------------------------------------------------------- # original source: http://stackoverflow.com/questions/6796492/python-temporarily-redirect-stdout-stderr class output(object): ''' with SU2.io.redirect_output(stdout,stderr) - + Temporarily redirects sys.stdout and sys.stderr when used in a 'with' contextmanager - + Example: with SU2.io.redirect_output('stdout.txt','stderr.txt'): sys.stdout.write("standard out") sys.stderr.write("stanrard error") # code #: with output redirection - + Inputs: stdout - None, a filename, or a file stream stderr - None, a filename, or a file stream None will not redirect outptu - + ''' def __init__(self, stdout=None, stderr=None): - + _newout = False _newerr = False - + if isinstance(stdout,str): stdout = open(stdout,'a') - _newout = True + _newout = True if isinstance(stderr,str): stderr = open(stderr,'a') - _newerr = True - + _newerr = True + self._stdout = stdout or sys.stdout self._stderr = stderr or sys.stderr self._newout = _newout @@ -81,74 +81,74 @@ def __exit__(self, exc_type, exc_value, traceback): self._stdout.flush(); self._stderr.flush() sys.stdout = self.old_stdout sys.stderr = self.old_stderr - + if self._newout: self._stdout.close() if self._newerr: - self._stderr.close() + self._stderr.close() #: class output() # ------------------------------------------------------------------- -# Folder Redirection +# Folder Redirection # ------------------------------------------------------------------- class folder(object): ''' with SU2.io.redirect_folder(folder,pull,link,force) as push - - Temporarily redirects to a working folder, pulling + + Temporarily redirects to a working folder, pulling and pushing needed files - + Example: - - folder = 'temp' - pull = ['file1.txt','file2.txt'] - link = ['file3.big'] - force = True - + + folder = 'temp' + pull = ['file1.txt','file2.txt'] + link = ['file3.big'] + force = True + # original path import os print(os.getcwd()) - + # enter folder with SU2.io.redirect_folder(folder,pull,link,force) as push: print(os.getcwd()) # code push.append('file4.txt') #: with folder redirection - + # returned to original path print(os.getcwd()) - + Inputs: folder - working folder, relative or absolute pull - list of files to pull (copy to working folder) link - list of files to link (symbolic link in working folder) force - True/False overwrite existing files in working folder - + Targets: push - list of files to push (copy to originating path) - + Notes: push must be appended or extended, not overwritten links in Windows not supported, will simply copy ''' - + def __init__(self, folder, pull=None, link=None, force=True ): ''' folder redirection initialization see help( folder ) for more info ''' - + if pull is None: pull = [] if link is None: link = [] - + if not isinstance(pull,list) : pull = [pull] if not isinstance(link,list) : link = [link] - + origin = os.getcwd() origin = os.path.abspath(origin).rstrip('/')+'/' folder = os.path.abspath(folder).rstrip('/')+'/' - + self.origin = origin self.folder = folder self.pull = copy.deepcopy(pull) @@ -156,33 +156,33 @@ def __init__(self, folder, pull=None, link=None, force=True ): self.link = copy.deepcopy(link) self.force = force - def __enter__(self): - + def __enter__(self): + origin = self.origin # absolute path folder = self.folder # absolute path pull = self.pull push = self.push link = self.link force = self.force - + # check for no folder change if folder == origin: return [] - + # relative folder path #relative = os.path.relpath(folder,origin) - + # check, make folder if not os.path.exists(folder): os.makedirs(folder) - + # copy pull files for name in pull: old_name = os.path.abspath(name) new_name = os.path.split(name)[-1] new_name = os.path.join(folder,new_name) if old_name == new_name: continue - if os.path.exists( new_name ): + if os.path.exists( new_name ): if force: os.remove( new_name ) else: continue shutil.copy(old_name,new_name) @@ -193,35 +193,35 @@ def __enter__(self): new_name = os.path.split(name)[-1] new_name = os.path.join(folder,new_name) if old_name == new_name: continue - if os.path.exists( new_name ): + if os.path.exists( new_name ): if force: os.remove( new_name ) else: continue make_link(old_name,new_name) - + # change directory os.chdir(folder) - + # return empty list to append with files to push to super folder return push def __exit__(self, exc_type, exc_value, traceback): - + origin = self.origin folder = self.folder push = self.push force = self.force - + # check for no folder change if folder == origin: return - + # move assets for name in push: - + old_name = os.path.abspath(name) name = os.path.split(name)[-1] new_name = os.path.join(origin,name) - + # links if os.path.islink(old_name): source = os.path.realpath(old_name) @@ -230,7 +230,7 @@ def __exit__(self, exc_type, exc_value, traceback): if force: os.remove( new_name ) else: continue make_link(source,new_name) - + # moves else: if old_name == new_name: continue @@ -238,8 +238,8 @@ def __exit__(self, exc_type, exc_value, traceback): if force: os.remove( new_name ) else: continue shutil.move(old_name,new_name) - + # change directory os.chdir(origin) - + #: class folder() diff --git a/SU2_PY/SU2/io/state.py b/SU2_PY/SU2/io/state.py index 66bf2e9c51a..e2a1710f3aa 100644 --- a/SU2_PY/SU2/io/state.py +++ b/SU2_PY/SU2/io/state.py @@ -1,22 +1,22 @@ #!/usr/bin/env python ## \file state.py -# \brief python package for state +# \brief python package for state # \author T. Lukaczyk, F. Palacios # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -42,26 +42,26 @@ def State_Factory(state=None,config=None): """ state = SU2.io.State() - + Starts a state class, an extension of ordered_bunch(). Stores data generated while traversing SU2 tool chain - + Fields: FUNCTIONS - ordered bunch of objective function values GRADIENTS - ordered bunch of gradient value lists VARIABLES - ordered bunch of variables FILES - ordered bunch of file types HISTORY - ordered bunch of history information - + Fields can be accessed by item or attribute ie: state['FUNCTIONS'] or state.FUNCTIONS - + Methods: update() - updates self with another state pullnlink() - returns files to pull and link design_vector() - vectorizes design variables find_files() - finds existing mesh and solutions - + Example of a filled state: FUNCTIONS: LIFT: 0.2353065809 @@ -95,21 +95,21 @@ def State_Factory(state=None,config=None): UNST_ADJOINT_ITER ITER_AVERAGE_OBJ - """ - + """ + if isinstance(state,Config) and not config: config = state state = None - + if not state is None: assert isinstance(state,State) , 'input is must be a state instance' return state - + NewClass = State() - + for key in ['FUNCTIONS','GRADIENTS','VARIABLES','FILES','HISTORY','WND_CAUCHY_DATA']: NewClass[key] = ordered_bunch() - + if config: NewClass.find_files(config) # WND_Convergence Data @@ -126,13 +126,13 @@ def State_Factory(state=None,config=None): class State(ordered_bunch): """ state = SU2.io.state.State() - - This is the State class that should be generated with the + + This is the State class that should be generated with the Factory Function SU2.io.state.State_Factory() - + Parameters: none, should be loaded with State_Factory() - + Methods: update() - updates self with another state pullnlink() - returns files to pull and link @@ -140,13 +140,13 @@ class State(ordered_bunch): find_files() - finds existing mesh and solutions """ - + _timestamp = 0 - + def update(self,ztate): """ Updates self given another state """ - + if not ztate: return assert isinstance(ztate,State) , 'must update with another State-type' for key in self.keys(): @@ -154,13 +154,13 @@ def update(self,ztate): self[key].update( ztate[key] ) elif ztate[key]: self[key] = ztate[key] - + self.set_timestamp() - - + + def __repr__(self): return self.__str__() - + def __str__(self): output = 'STATE:' for k1, v1 in self.items(): @@ -171,17 +171,17 @@ def __str__(self): else: output += '\n %s' % v1 return output - + def pullnlink(self,config): """ pull,link = SU2.io.State.pullnlink(config) returns lists pull and link of files for folder redirection, based on a given config """ - + pull = []; link = [] # choose files to pull and link - for key, value in self.FILES.items(): + for key, value in self.FILES.items(): # link big files if key == 'MESH': # mesh (merged or partitioned) @@ -211,11 +211,11 @@ def pullnlink(self,config): # copy all other files else: pull.append(value) - + #: for each filename - + return pull,link - + def design_vector(self): """ vectorizes State.VARIABLES """ @@ -228,7 +228,7 @@ def design_vector(self): value = [value] vector.extend(value) return vector - + def find_files(self,config): """ SU2.io.State.find_files(config) finds mesh and solution files for a given config. @@ -236,18 +236,18 @@ def find_files(self,config): files already logged in state are not overridden. will ignore solutions if config.RESTART_SOL == 'NO'. """ - + files = self.FILES - + mesh_name = config.MESH_FILENAME if config.get('READ_BINARY_RESTART', 'YES') == 'NO': if not 'RESTART_ASCII' in config.get('OUTPUT_FILES',['RESTART']): print ('RESTART_ASCII must be in OUTPUT_FILES if READ_BINARY_RESTART is set to NO') sys.exit() - + direct_name = config.SOLUTION_FILENAME adjoint_name = config.SOLUTION_ADJ_FILENAME - + if 'RESTART_ASCII' in config.get('OUTPUT_FILES', ['RESTART']): direct_name = direct_name.split('.')[0] + '.csv' adjoint_name = adjoint_name.split('.')[0] + '.csv' @@ -269,7 +269,7 @@ def find_files(self,config): multipoint = any(elem in optnames_multi for elem in objectives) else: multipoint = False - + def register_file(label,filename): if not label in files: if label.split('_')[0] in ['DIRECT', 'ADJOINT']: @@ -314,7 +314,7 @@ def register_file(label,filename): raise AssertionError('state expected file: %s' % name) else: assert os.path.exists(files[label]) , 'state expected file: %s' % filename - #: register_file() + #: register_file() # mesh if multipoint: @@ -353,40 +353,40 @@ def register_file(label,filename): name_list = expand_zones(add_suffix(expand_multipoint(adjoint_name,config), suff), config) multipoint_adj_name = 'MULTIPOINT_' + ADJ_LABEL register_file(multipoint_adj_name, name_list) - + # equivalent area if 'EQUIV_AREA' in special_cases: register_file('TARGET_EA',targetea_name) - + # pressure inverse design if 'INV_DESIGN_CP' in special_cases: register_file('TARGET_CP',targetcp_name) - + # heat flux inverse design if 'INV_DESIGN_HEATFLUX' in special_cases: register_file('TARGET_HEATFLUX',targetheatflux_name) return - + def __setitem__(self,k,v): if self._initialized: self.set_timestamp() super(State,self).__setitem__(k,v) - + def set_timestamp(self): self._timestamp = time.time() - + def tic(self): - """ timestamp = State.tic() + """ timestamp = State.tic() returns the time that this state was last modified """ return self._timestamp - + def toc(self,timestamp): """ updated = State.toc(timestamp) returns True if state was modified since last timestamp """ return self._timestamp > timestamp - - + + #: def State diff --git a/SU2_PY/SU2/io/tools.py b/SU2_PY/SU2/io/tools.py index 2522ff0c2f8..334002ea156 100755 --- a/SU2_PY/SU2/io/tools.py +++ b/SU2_PY/SU2/io/tools.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -42,11 +42,11 @@ def read_gradients( Grad_filename , scale = 1.0): """ reads the raw gradients from the gradient file returns a list of floats """ - + # open file and skip first line gradfile = open(Grad_filename) gradfile.readline() - + # read values grad_vals = [] for line in gradfile: @@ -55,7 +55,7 @@ def read_gradients( Grad_filename , scale = 1.0): break grad_vals.append(float(line) * scale) #: for each line - + return grad_vals #: def read_gradients() @@ -70,12 +70,12 @@ def read_plot( filename ): returns an ordered bunch with the headers for keys and a list of each header's floats for values. """ - + extension = os.path.splitext( filename )[1] - + # open history file plot_file = open(filename) - + # title? line = plot_file.readline() if line.startswith('TITLE'): @@ -88,45 +88,45 @@ def read_plot( filename ): line = line.split(",") Variables = [ x.strip().strip('"') for x in line ] n_Vars = len(Variables) - + # initialize plot data dictionary plot_data = ordered_bunch.fromkeys(Variables) # must default each value to avoid pointer problems - for key in plot_data.keys(): plot_data[key] = [] - + for key in plot_data.keys(): plot_data[key] = [] + # zone list zones = [] - + # read all data rows while 1: # read line line = plot_file.readline() if not line: break - + #zone? if line.startswith('ZONE'): zone = line.split('=')[1].strip('" ') zones.append(zone) continue - + # split line line_data = line.strip().split(',') - line_data = [ float(x.strip()) for x in line_data ] - + line_data = [ float(x.strip()) for x in line_data ] + # store to dictionary for i_Var in range(n_Vars): - this_variable = Variables[i_Var] + this_variable = Variables[i_Var] plot_data[this_variable] = plot_data[this_variable] + [ line_data[i_Var] ] - + #: for each line # check for number of zones if len(zones) > 1: raise IOError('multiple zones not supported') - + # done - plot_file.close() + plot_file.close() return plot_data @@ -138,33 +138,33 @@ def read_history( History_filename, nZones = 1): """ reads a history file returns an ordered bunch with the history file headers for keys and a list of each header's floats for values. - if header is an optimization objective, its name is mapped to + if header is an optimization objective, its name is mapped to the optimization name. Iter and Time(min) headers are mapped to ITERATION and TIME respectively. """ - + # read plot file plot_data = read_plot( History_filename ) - + # initialize history data dictionary - history_data = ordered_bunch() + history_data = ordered_bunch() # map header names for key in plot_data.keys(): var = key for field in historyOutFields: - + if key == historyOutFields[field]['HEADER'] and nZones == 1: var = field if key.split('[')[0] == historyOutFields[field]['HEADER'] and nZones > 1: var = field + '[' + key.split('[')[1] - + history_data[var] = plot_data[key] return history_data - + #: def read_history() @@ -179,13 +179,13 @@ def get_headerMap(nZones = 1): for outputField in historyOutFields: headerMap[outputField] = historyOutFields[outputField]['HEADER'] - return headerMap + return headerMap def getTurboPerfIndex(nZones = 1): if int(nZones) > 1: index = int(nZones) + int(int(nZones)/2.0) + 1 - else: + else: index = 1 return index @@ -259,7 +259,7 @@ def getTurboPerfIndex(nZones = 1): "NACELLE_MAX_TOC" , "NACELLE_OBJFUN_MIN_TOC" , "NACELLE_MAX_TWIST" ] - + PerStation = [] for i in range(20): PerStation.append("STATION" + str(i) + "_AREA") @@ -274,7 +274,7 @@ def getTurboPerfIndex(nZones = 1): PerStation.append("STATION" + str(i) + "_TWIST") optnames_geo.extend(PerStation) - + #: optnames_geo # per-surface functions @@ -291,7 +291,7 @@ def getTurboPerfIndex(nZones = 1): # ------------------------------------------------------------------- # Include per-surface output from History File -# ------------------------------------------------------------------- +# ------------------------------------------------------------------- def update_persurface(config, state): # Update the header map (checking to make sure entries are not duplicated) header_map = get_headerMap() @@ -307,7 +307,7 @@ def update_persurface(config, state): for marker in config['MARKER_MONITORING']: if (base2+'_'+marker) in state['HISTORY']['DIRECT']: state['FUNCTIONS'][base2+'_'+marker] = state['HISTORY']['DIRECT'][base2+'_'+marker][-1] - + # ------------------------------------------------------------------- # Read Aerodynamic Function Values from History File # ------------------------------------------------------------------- @@ -315,16 +315,16 @@ def update_persurface(config, state): def read_aerodynamics( History_filename , nZones = 1, special_cases=[], final_avg=0, wnd_fct = 'SQUARE' ): """ values = read_aerodynamics(historyname, special_cases=[]) read aerodynamic function values from history file - + Outputs: dictionary with function keys and thier values if special cases has 'TIME_MARCHING', returns time averaged data otherwise returns final value from history file """ - + # read the history data history_data = read_history(History_filename, nZones) - + # pull only these functions Func_Values = ordered_bunch() for this_objfun in historyOutFields: @@ -378,7 +378,7 @@ def get_objectiveSign( ObjFun_name ): TOTAL_STATIC_EFFICIENCY returns +1 otherwise """ - + # flip sign for maximization problems if ObjFun_name == "LIFT" : return -1.0 if ObjFun_name == "EFFICIENCY" : return -1.0 @@ -389,7 +389,7 @@ def get_objectiveSign( ObjFun_name ): if ObjFun_name == "SURFACE_MASSFLOW" : return -1.0 if ObjFun_name == "SURFACE_MACH" : return -1.0 if ObjFun_name == "TOTAL_STATIC_EFFICIENCY" :return -1.0 - + # otherwise return 1.0 @@ -407,7 +407,7 @@ def get_constraintSign( sign ): sign_map = { '>' : -1.0 , '<' : +1.0 } assert not sign=='=' , 'Sign "=" not valid' - + return sign_map[sign] #: def get_constraintSign() @@ -419,7 +419,7 @@ def get_constraintSign( sign ): def get_adjointSuffix(objective_function=None): """ gets the adjoint suffix given an objective function """ - + # adjoint name map name_map = { "DRAG" : "cd" , "LIFT" : "cl" , @@ -462,7 +462,7 @@ def get_adjointSuffix(objective_function=None): "TOTAL_EFFICIENCY" : "teff" , "TOTAL_STATIC_EFFICIENCY" : "tseff" , "COMBO" : "combo"} - + # if none or false, return map if not objective_function: return name_map @@ -475,13 +475,13 @@ def get_adjointSuffix(objective_function=None): return "combo" if objective[0] in name_map: return name_map[objective[0]] - + # otherwise... else: raise Exception('Unrecognized adjoint function name') - + #: def get_adjointSuffix() - + # ------------------------------------------------------------------- # Add a Suffix # ------------------------------------------------------------------- @@ -500,11 +500,11 @@ def add_suffix(base_name,suffix): name_split = os.path.splitext(name) suffix_name.append(name_split[0] + '_' + suffix + name_split[1]) else: - base_name = os.path.splitext(base_name) + base_name = os.path.splitext(base_name) suffix_name = base_name[0] + '_' + suffix + base_name[1] - + return suffix_name - + #: def add_suffix() @@ -514,7 +514,7 @@ def add_suffix(base_name,suffix): # ------------------------------------------------------------------- def get_dvMap(): - """ get dictionary that maps design variable + """ get dictionary that maps design variable kind id number to name """ dv_map = { 0 : "NO_DEFORMATION" , 1 : "TRANSLATION" , @@ -550,7 +550,7 @@ def get_dvMap(): 51 : "ROTATE_GRID" , 52 : "SCALE_GRID" , 101 : "ANGLE_OF_ATTACK" } - + return dv_map #: def get_dvMap() @@ -561,9 +561,9 @@ def get_dvMap(): def get_dvKind( kindID ): """ get design variable kind name from id number """ dv_map = get_dvMap() - try: + try: return dv_map[ kindID ] - except KeyError: + except KeyError: raise Exception('Unrecognized Design Variable ID') # def get_dvKind() @@ -574,47 +574,47 @@ def get_dvID( kindName ): """ get design variable kind id number from name """ dv_map = get_dvMap() id_map = dict((v,k) for (k,v) in dv_map.items()) - try: + try: return id_map[ kindName ] - except KeyError: + except KeyError: raise Exception('Unrecognized Design Variable Name: %s' , kindName) #: def get_dvID() - - - + + + # ------------------------------------------------------------------- # Get Gradient File Header # ------------------------------------------------------------------- def get_gradFileFormat(grad_type,plot_format,kindID,special_cases=[]): - + # start header, build a list of strings and join at the end header = [] write_format = [] - + # handle plot formating - if (plot_format == 'TECPLOT'): + if (plot_format == 'TECPLOT'): header.append('VARIABLES=') elif (plot_format == 'CSV'): pass else: raise Exception('output plot format not recognized') - + # Case: continuous adjoint if grad_type == 'CONTINUOUS_ADJOINT': header.append(r'"iVar","Gradient","FinDiff_Step"') write_format.append(r'%4d, %.10f, %f') - - # Case: finite difference + + # Case: finite difference elif grad_type == 'FINITE_DIFFERENCE': header.append(r'"iVar","Grad_CL","Grad_CD","Grad_CSF","Grad_CMx","Grad_CMy","Grad_CMz","Grad_CFx","Grad_CFy","Grad_CFz","Grad_CL/CD","Grad_Custom_ObjFunc","Grad_HeatFlux_Total","Grad_HeatFlux_Maximum","Grad_Temperature_Total"') write_format.append(r'%4d, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f') - for key in special_cases: - if key == "ROTATING_FRAME" : + for key in special_cases: + if key == "ROTATING_FRAME" : header.append(r',"Grad_CMerit","Grad_CT","Grad_CQ"') write_format.append(", %.10f, %.10f, %.10f") - if key == "EQUIV_AREA" : - header.append(r',"Grad_CEquivArea","Grad_CNearFieldOF"') + if key == "EQUIV_AREA" : + header.append(r',"Grad_CEquivArea","Grad_CNearFieldOF"') write_format.append(", %.10f, %.10f") if key == "ENGINE" : header.append(r',"Grad_AeroCDrag","Grad_SolidCDrag","Grad_Radial_Distortion","Grad_Circumferential_Distortion"') @@ -630,8 +630,8 @@ def get_gradFileFormat(grad_type,plot_format,kindID,special_cases=[]): write_format.append(", %.10f") # otherwise... - else: raise Exception('Unrecognized Gradient Type') - + else: raise Exception('Unrecognized Gradient Type') + # design variable parameters if kindID == "FFD_CONTROL_POINT_2D" : header.append(r',"FFD_Box_ID","xIndex","yIndex","xAxis","yAxis"') @@ -657,69 +657,69 @@ def get_gradFileFormat(grad_type,plot_format,kindID,special_cases=[]): elif kindID == "NACA_4DIGITS" : header.append(r',"1st_digit","2nd_digit","3rd&4th_digits"') write_format.append(r', %s, %s, %s') - elif kindID == "TRANSLATION" : + elif kindID == "TRANSLATION" : header.append(r',"x_Disp","y_Disp","z_Disp"') write_format.append(r', %s, %s, %s') - elif kindID == "ROTATION" : + elif kindID == "ROTATION" : header.append(r',"x_Orig","y_Orig","z_Orig","x_End","y_End","z_End"') write_format.append(r', %s, %s, %s, %s, %s, %s') - elif kindID == "FFD_CONTROL_POINT" : + elif kindID == "FFD_CONTROL_POINT" : header.append(r',"FFD_Box_ID","xIndex","yIndex","zIndex","xAxis","yAxis","zAxis"') write_format.append(r', %s, %s, %s, %s, %s, %s, %s') - elif kindID == "FFD_DIHEDRAL_ANGLE" : + elif kindID == "FFD_DIHEDRAL_ANGLE" : header.append(r',"FFD_Box_ID","x_Orig","y_Orig","z_Orig","x_End","y_End","z_End"') write_format.append(r', %s, %s, %s, %s, %s, %s, %s') - elif kindID == "FFD_TWIST_ANGLE" : + elif kindID == "FFD_TWIST_ANGLE" : header.append(r',"FFD_Box_ID","x_Orig","y_Orig","z_Orig","x_End","y_End","z_End"') write_format.append(r', %s, %s, %s, %s, %s, %s, %s') - elif kindID == "FFD_ROTATION" : + elif kindID == "FFD_ROTATION" : header.append(r',"FFD_Box_ID","x_Orig","y_Orig","z_Orig","x_End","y_End","z_End"') write_format.append(r', %s, %s, %s, %s, %s, %s, %s') - elif kindID == "FFD_CAMBER" : + elif kindID == "FFD_CAMBER" : header.append(r',"FFD_Box_ID","xIndex","yIndex"') write_format.append(r', %s, %s, %s') - elif kindID == "FFD_THICKNESS" : + elif kindID == "FFD_THICKNESS" : header.append(r',"FFD_Box_ID","xIndex","yIndex"') write_format.append(r', %s, %s, %s') elif kindID == "ANGLE_OF_ATTACK" : pass elif kindID == "FFD_ANGLE_OF_ATTACK" : pass - + # otherwise... - else: raise Exception('Unrecognized Design Variable Kind') - + else: raise Exception('Unrecognized Design Variable Kind') + # finite difference step - if grad_type == 'FINITE_DIFFERENCE': - header.append(r',"FinDiff_Step"') + if grad_type == 'FINITE_DIFFERENCE': + header.append(r',"FinDiff_Step"') write_format.append(r', %.10f') - + # finish format - header.append('\n') + header.append('\n') write_format.append('\n') - + header = ''.join(header) write_format = ''.join(write_format) - + return [header,write_format] - + #: def get_gradFileFormat() - - - + + + # ------------------------------------------------------------------- # Get Optimization File Header -# ------------------------------------------------------------------- - +# ------------------------------------------------------------------- + def get_optFileFormat(plot_format,special_cases=None, nZones = 1): - + if special_cases is None: special_cases = [] - + # start header, build a list of strings and join at the end header_list = [] header_format = '' write_format = [] - + # handle plot formating - if (plot_format == 'TECPLOT'): + if (plot_format == 'TECPLOT'): header_format = header_format + 'VARIABLES=' elif (plot_format == 'CSV'): pass @@ -728,14 +728,14 @@ def get_optFileFormat(plot_format,special_cases=None, nZones = 1): # start header header_list.extend(["Iteration","CL","CD","CSF","CMx","CMy","CMz","CFx","CFy","CFz","CL/CD","Custom_ObjFunc","HeatFlux_Total","HeatFlux_Maximum","Temperature_Total"]) write_format.append(r'%4d, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f, %.10f') - + # special cases - for key in special_cases: - if key == "ROTATING_FRAME" : + for key in special_cases: + if key == "ROTATING_FRAME" : header_list.extend(["CMerit","CT","CQ"]) write_format.append(r', %.10f, %.10f, %.10f') - if key == "EQUIV_AREA" : - header_list.extend(["CEquivArea","CNearFieldOF"]) + if key == "EQUIV_AREA" : + header_list.extend(["CEquivArea","CNearFieldOF"]) write_format.append(r', %.10f, %.10f') if key == "ENGINE" : header_list.extend(["AeroCDrag","SolidCDrag","Radial_Distortion","Circumferential_Distortion"]) @@ -753,34 +753,34 @@ def get_optFileFormat(plot_format,special_cases=None, nZones = 1): # finish formats header_format = (header_format) + ('"') + ('","').join(header_list) + ('"') + (' \n') write_format = ''.join(write_format) + ' \n' - + # build list of objective function names header_vars = [] map_dict = get_headerMap(nZones) for variable in header_list: assert variable in map_dict, 'unrecognized header variable' header_vars.append(map_dict[variable]) - + # done return [header_format,header_vars,write_format] - + #: def get_optFileFormat() - - - + + + # ------------------------------------------------------------------- # Get Extension Name # ------------------------------------------------------------------- def get_extension(output_format): - + if (output_format == "PARAVIEW") : return ".csv" if (output_format == "PARAVIEW_BINARY") : return ".csv" if (output_format == "TECPLOT") : return ".dat" if (output_format == "TECPLOT_BINARY") : return ".szplt" - if (output_format == "SOLUTION") : return ".dat" - if (output_format == "RESTART") : return ".dat" - if (output_format == "CONFIG") : return ".cfg" + if (output_format == "SOLUTION") : return ".dat" + if (output_format == "RESTART") : return ".dat" + if (output_format == "CONFIG") : return ".cfg" if (output_format == "CSV") : return ".csv" # otherwise raise Exception("Output Format Unknown") @@ -796,28 +796,28 @@ def get_specialCases(config): """ returns a list of special physical problems that were specified in the config file, and set to 'yes' """ - + all_special_cases = [ 'ROTATING_FRAME' , 'EQUIV_AREA' , '1D_OUTPUT' , 'INV_DESIGN_CP' , 'INV_DESIGN_HEATFLUX' ] - + special_cases = [] for key in all_special_cases: if key in config and config[key] == 'YES': special_cases.append(key) if 'SOLVER' in config and config['SOLVER'] == key: special_cases.append(key) - + if config.get('TIME_MARCHING','NO') != 'NO': special_cases.append('TIME_MARCHING') - + # no support for more than one special case if len(special_cases) > 1: error_str = 'Currently cannot support ' + ' and '.join(special_cases) + ' at once' - raise Exception(error_str) - + raise Exception(error_str) + # Special case for harmonic balance if 'TIME_MARCHING' in config and config['TIME_MARCHING'] == 'HARMONIC_BALANCE': special_cases.append('HARMONIC_BALANCE') @@ -825,7 +825,7 @@ def get_specialCases(config): # Special case for rotating frame if 'GRID_MOVEMENT_KIND' in config and config['GRID_MOVEMENT_KIND'] == 'ROTATING_FRAME': special_cases.append('ROTATING_FRAME') - + return special_cases #: def get_specialCases() @@ -837,14 +837,14 @@ def get_multizone(config): """ returns a list of special physical problems that were specified in the config file, and set to 'yes' """ - + all_multizone_problems = ['FLUID_STRUCTURE_INTERACTION'] - + multizone = [] for key in all_multizone_problems: if 'SOLVER' in config and config['SOLVER'] == key: multizone.append(key) - + return multizone #: def get_multizone() @@ -853,33 +853,33 @@ def get_multizone(config): def next_folder(folder_format,num_format='%03d'): """ folder = next_folder(folder_format,num_format='%03d') finds the next folder with given format - + Inputs: folder_format - folder name with wild card (*) to mark expansion num_format - %d formating to expand the wild card with - + Outputs: - folder - a folder with the next index number inserted in + folder - a folder with the next index number inserted in the wild card, first index is 1 """ - + assert '*' in folder_format , 'wildcard (*) missing in folder_format name' - + folders = glob.glob(folder_format) split = folder_format.split('*') folder = folder_format.replace('*',num_format) - + if folders: # find folder number, could be done with regex... max_folder = max(folders) if split[0]: max_folder = max_folder.split(split[0])[1] if split[1]: - max_folder = max_folder.rsplit(split[1])[0] - + max_folder = max_folder.rsplit(split[1])[0] + # last folder number max_i = int(max_folder) - + # increment folder number folder = folder % (max_i+1) else: @@ -942,7 +942,7 @@ def expand_multipoint(name,config): if '_point0' not in name: name_pat = add_suffix(name,'point%d') names = [name_pat%i for i in range(n_multipoint)] - else: + else: name_parts = name.split('_point0') name_base = name_parts[0] name_suff = name_parts[1] @@ -953,7 +953,7 @@ def expand_multipoint(name,config): if '_point0' not in name: name_pat = add_suffix(name[n], 'point%d') names.extend([name_pat%i for i in range(n_multipoint)]) - else: + else: name_parts = name[n].split('_point0') name_base = name_parts[0] name_suff = name_parts[1] @@ -964,7 +964,7 @@ def expand_multipoint(name,config): names = [name] else: names = name - return names + return names @@ -974,10 +974,10 @@ def make_link(src,dst): Inputs: src - source file dst - destination to place link - + Windows links currently unsupported, will copy file instead """ - + if os.path.exists(src): # , 'source file does not exist \n%s' % src if os.name == 'nt': @@ -1008,7 +1008,7 @@ def make_link(src,dst): def restart2solution(config,state={}): """ restart2solution(config,state={}) - moves restart file to solution file, + moves restart file to solution file, optionally updates state direct or adjoint is read from config adjoint objective is read from config @@ -1020,7 +1020,7 @@ def restart2solution(config,state={}): solution = config.SOLUTION_FILENAME restart = restart.split('.')[0] solution = solution.split('.')[0] - + if 'RESTART_ASCII' in config.get('OUTPUT_FILES', ['RESTART_BINARY']): restart += '.csv' solution += '.csv' @@ -1040,15 +1040,15 @@ def restart2solution(config,state={}): if os.path.exists(res): shutil.move( res , sol ) # update state - if state: + if state: state.FILES.DIRECT = solution if os.path.exists('flow.meta'): state.FILES.FLOW_META = 'flow.meta' - + # adjoint solution elif any([config.MATH_PROBLEM == 'CONTINUOUS_ADJOINT', config.MATH_PROBLEM == 'DISCRETE_ADJOINT']): restart = config.RESTART_ADJ_FILENAME - solution = config.SOLUTION_ADJ_FILENAME + solution = config.SOLUTION_ADJ_FILENAME restart = restart.split('.')[0] solution = solution.split('.')[0] @@ -1078,7 +1078,7 @@ def restart2solution(config,state={}): func_name="COMBO" ADJ_NAME = 'ADJOINT_' + func_name if state: state.FILES[ADJ_NAME] = solution - + else: raise Exception('unknown math problem') diff --git a/SU2_PY/SU2/opt/project.py b/SU2_PY/SU2/opt/project.py index 486cc195667..16d1aa8133e 100644 --- a/SU2_PY/SU2/opt/project.py +++ b/SU2_PY/SU2/opt/project.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file project.py # \brief package for optimization projects @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -50,16 +50,16 @@ # ------------------------------------------------------------------- class Project(object): - """ project = SU2.opt.Project(self,config,state=None, + """ project = SU2.opt.Project(self,config,state=None, designs=[],folder='.') - + Starts a project class to manage multiple designs - + Runs multiple design classes, avoiding redundancy Looks for closest design on restart Currently only based on DV_VALUE_NEW Exposes all methods of SU2.eval.design - + Attributes: config - base config state - base state @@ -67,49 +67,49 @@ class Project(object): designs - list of designs folder - project working folder results - project design results - + Methods: Optimizer Interface The following methods take a design vector for input as a list (shape n) or numpy array (shape n or nx1 or 1xn). Values are returned as floats or lists or lists of lists. See SU2.eval.obj_f, etc for more detail. - + obj_f(dvs) - objective function : float obj_df(dvs) - objective function derivatives : list con_ceq(dvs) - equality constraints : list con_dceq(dvs) - equality constraint derivatives : list[list] con_cieq(dvs) - inequality constraints : list con_dcieq(dvs) - inequality constraint gradients : list[list] - + Functional Interface The following methods take an objective function name for input. func(func_name,config) - function of specified name grad(func_name,method,config) - gradient of specified name, where method is 'CONTINUOUS_ADJOINT' or 'FINDIFF' - setup config for given dvs with + setup config for given dvs with config = project.unpack_dvs(dvs) - """ - + """ + _design_folder = 'DESIGNS/DSN_*' _design_number = '%03d' - - - def __init__( self, config, state=None , + + + def __init__( self, config, state=None , designs=None, folder='.' , warn = True ): - + folder = folder.rstrip('/')+'/' - if '*' in folder: folder = su2io.next_folder(folder) + if '*' in folder: folder = su2io.next_folder(folder) if designs is None: designs = [] - + print('New Project: %s' % (folder)) - + # setup config config = copy.deepcopy(config) - + # data_dict creation does not preserve the ordering of the config file. - # This section ensures that the order of markers and objectives match + # This section ensures that the order of markers and objectives match # It is only needed when more than one objective is used. def_objs = config['OPT_OBJECTIVE'] if len(def_objs)>1: @@ -122,7 +122,7 @@ def __init__( self, config, state=None , config['MARKER_MONITORING'] = marker_monitoring config['OBJECTIVE_WEIGHT'] = ",".join(weights) config['OBJECTIVE_FUNCTION'] = ",".join(objectives) - + for this_obj in def_objs: if this_obj in su2io.optnames_multi: this_obj = this_obj.split('_')[1] @@ -140,7 +140,7 @@ def __init__( self, config, state=None , if 'MESH' not in state.FILES: raise Exception('Could not find mesh file: %s' % config.MESH_FILENAME) - + self.config = config # base config self.state = state # base state self.files = state.FILES # base files @@ -156,7 +156,7 @@ def __init__( self, config, state=None , pull,link = state.pullnlink(config) with redirect_folder(folder,pull,link,force=True): - + # look for existing designs folders = glob.glob(self._design_folder) if len(folders)>0: @@ -166,22 +166,22 @@ def __init__( self, config, state=None , sys.stdout.write(' Done!\n\n') for f in folders: shutil.rmtree(f) #: if existing designs - + # save project su2io.save_data(self.filename,self) - + return - + def _eval(self,config,func,*args): """ evalautes a config, checking for existing designs """ - + konfig = copy.deepcopy(config) # design config config = self.config # project config state = self.state # project state folder = self.folder # project folder filename = self.filename - + # check folder assert os.path.exists(folder) , 'cannot find project folder %s' % folder @@ -193,7 +193,7 @@ def _eval(self,config,func,*args): # start design design = self.new_design(konfig) - + if config.get('CONSOLE','VERBOSE') == 'VERBOSE': print(os.path.join(self.folder,design.folder)) timestamp = design.state.tic() @@ -210,32 +210,32 @@ def _eval(self,config,func,*args): # recompile design results self.compile_results() - + # plot results self.plot_results() # save data su2io.save_data(filename,self) - + #: if updated - + #: with redirect folder - + # done, return output return vals - + def unpack_dvs(self,dvs): dvs = copy.deepcopy(dvs) konfig = copy.deepcopy( self.config ) if isinstance(dvs, np.ndarray): dvs = dvs.tolist() konfig.unpack_dvs(dvs) return konfig, dvs - + def obj_f(self,dvs): func = su2eval.obj_f konfig,dvs = self.unpack_dvs(dvs) return self._eval(konfig, func,dvs) - + def obj_df(self,dvs): func = su2eval.obj_df konfig,dvs = self.unpack_dvs(dvs) @@ -245,45 +245,45 @@ def con_ceq(self,dvs): func = su2eval.con_ceq konfig,dvs = self.unpack_dvs(dvs) return self._eval(konfig, func,dvs) - + def con_dceq(self,dvs): func = su2eval.con_dceq konfig,dvs = self.unpack_dvs(dvs) return self._eval(konfig, func,dvs) - + def con_cieq(self,dvs): func = su2eval.con_cieq konfig,dvs = self.unpack_dvs(dvs) return self._eval(konfig, func,dvs) - + def con_dcieq(self,dvs): func = su2eval.con_dcieq konfig,dvs = self.unpack_dvs(dvs) return self._eval(konfig, func,dvs) - + def func(self,func_name,config): func = su2eval.func konfig = copy.deepcopy(config) return self._eval(konfig, func, func_name) - + def grad(self,func_name,method,config): func = su2eval.grad konfig = copy.deepcopy(config) return self._eval(konfig, func, func_name,method) - + def user(self,user_func,config,*args): raise NotImplementedError - #return self._eval(config, user_func,*args) - + #return self._eval(config, user_func,*args) + def add_design(self,config): #func = su2eval.touch # hack - TWL - func = su2eval.skip + func = su2eval.skip konfig = copy.deepcopy(config) return self._eval(konfig, func) - + def new_design(self,config): """ finds an existing design for given config - or starts a new design with a closest design + or starts a new design with a closest design used for restart data """ # local konfig @@ -298,7 +298,7 @@ def new_design(self,config): design = self.init_design(konfig,closest) #: if new design return design - + def get_design(self,config): konfig = copy.deepcopy(config) closest,delta = self.closest_design(konfig) @@ -307,43 +307,43 @@ def get_design(self,config): else: raise Exception('design not found for this config') return design - + def closest_design(self,config): - """ looks for an existing or closest design + """ looks for an existing or closest design given a config - """ - + """ + designs = self.designs - + keys_check = ['DV_VALUE_NEW'] - - if not designs: + + if not designs: return [] , inf - + diffs = [] for this_design in designs: this_config = this_design.config distance = config.dist(this_config,keys_check) - diffs.append(distance) - - #: for each design - + diffs.append(distance) + + #: for each design + # pick closest design i_min = np.argmin(diffs) delta = diffs[i_min] closest = designs[i_min] - - return closest, delta - + + return closest, delta + def init_design(self,config,closest=None): """ starts a new design works in project folder """ - + konfig = copy.deepcopy(config) ztate = copy.deepcopy(self.state) if closest is None: closest = [] - + # use closest design as seed if closest: # copy useful state info @@ -351,7 +351,7 @@ def init_design(self,config,closest=None): seed_files = closest.files for key in seed_files.keys(): # ignore mesh - if key == 'MESH': continue + if key == 'MESH': continue # build file path name = seed_files[key] if isinstance(name,list): @@ -363,14 +363,14 @@ def init_design(self,config,closest=None): name = os.path.join(seed_folder,name) # update pull files ztate.FILES[key] = name - + # name new folder folder = self._design_folder.replace('*',self._design_number) folder = folder % (len(self.designs) + 1) # start new design (pulls files to folder) design = su2eval.Design(konfig,ztate,folder) - + # update local state filenames ( ??? why not in Design() ) for key in design.files: name = design.files[key] @@ -382,38 +382,38 @@ def init_design(self,config,closest=None): else: name = os.path.split(name)[-1] design.files[key] = name - - # add design to project - self.designs.append(design) - + + # add design to project + self.designs.append(design) + return design - + def compile_results(self,default=np.nan): """ results = SU2.opt.Project.compile_results(default=np.nan) builds a Bunch() of design results - + Inputs: default - value for missing values - + Outputs: results - state with items filled with list of values ordered by each design iteration. - + results.VARIABLES results.FUNCTIONS results.GRADIENTS results.HISTORY.DIRECT results.HISTORY.ADJOINT_* - + """ - + results = su2io.State() results.VARIABLES = [] del results.FILES filename = self.results_filename - + n_dv = 0 - + # populate fields for i,design in enumerate(self.designs): for key in design.state.FUNCTIONS.keys(): @@ -426,7 +426,7 @@ def compile_results(self,default=np.nan): for key in design.state.HISTORY[TYPE].keys(): results.HISTORY[TYPE][key] = [] this_ndv = len( design.state.design_vector() ) - + # check design vectors are of same length if i == 0: n_dv = this_ndv @@ -434,7 +434,7 @@ def compile_results(self,default=np.nan): if n_dv != this_ndv: warn('different dv vector length during compile_results()') #: for each design - + # populate results for design in self.designs: this_designvector = design.state.design_vector() @@ -462,55 +462,55 @@ def compile_results(self,default=np.nan): new_func = default results.HISTORY[TYPE][key].append(new_func) #: for each design - + # save self.results = results su2io.save_data(filename,results) - + return self.results - + def deep_compile(self): """ Project.deep_compile() recompiles project using design files saved in each design folder useful if designs were run outside of project class """ - + project_folder = self.folder designs = self.designs - + with su2io.redirect_folder(project_folder): for i_dsn,design in enumerate(designs): design_filename = os.path.join(design.folder,design.filename) self.designs[i_dsn] = su2io.load_data(design_filename) - + self.compile_results() su2io.save_data(self.filename,self) - + return - + def plot_results(self): """ writes a tecplot file for plotting design results """ output_format = self.config.TABULAR_FORMAT functions = self.results.FUNCTIONS history = self.results.HISTORY - + results_plot = su2util.ordered_bunch() results_plot.EVALUATION = range(1,len(self.designs)+1) results_plot.update(functions) results_plot.update(history.get('DIRECT',{})) - + if (output_format == 'CSV'): su2util.write_plot('history_project.csv',output_format,results_plot) else: su2util.write_plot('history_project.dat',output_format,results_plot) - + def save(self): with su2io.redirect_folder(self.folder): su2io.save_data(self.filename,self) - + def __repr__(self): return ' with %i ' % len(self.designs) def __str__(self): output = self.__repr__() - return output + return output diff --git a/SU2_PY/SU2/opt/scipy_tools.py b/SU2_PY/SU2/opt/scipy_tools.py index cd931688a01..94d33e9d9ba 100644 --- a/SU2_PY/SU2/opt/scipy_tools.py +++ b/SU2_PY/SU2/opt/scipy_tools.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file scipy_tools.py # \brief tools for interfacing with scipy @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -41,17 +41,17 @@ def scipy_slsqp(project,x0=None,xb=None,its=100,accu=1e-10,grads=True): """ result = scipy_slsqp(project,x0=[],xb=[],its=100,accu=1e-10) - - Runs the Scipy implementation of SLSQP with + + Runs the Scipy implementation of SLSQP with an SU2 project - + Inputs: project - an SU2 project x0 - optional, initial guess xb - optional, design variable bounds its - max outer iterations, default 100 accu - accuracy, default 1e-10 - + Outputs: result - the outputs from scipy.fmin_slsqp """ @@ -62,30 +62,30 @@ def scipy_slsqp(project,x0=None,xb=None,its=100,accu=1e-10,grads=True): # handle input cases if x0 is None: x0 = [] if xb is None: xb = [] - + # function handles func = obj_f f_eqcons = con_ceq - f_ieqcons = con_cieq - + f_ieqcons = con_cieq + # gradient handles - if project.config.get('GRADIENT_METHOD','NONE') == 'NONE': + if project.config.get('GRADIENT_METHOD','NONE') == 'NONE': fprime = None fprime_eqcons = None fprime_ieqcons = None else: fprime = obj_df fprime_eqcons = con_dceq - fprime_ieqcons = con_dcieq - + fprime_ieqcons = con_dcieq + # number of design variables dv_size = project.config['DEFINITION_DV']['SIZE'] n_dv = sum( dv_size) project.n_dv = n_dv - + # Initial guess if not x0: x0 = [0.0]*n_dv - + # prescale x0 dv_scales = project.config['DEFINITION_DV']['SCALE'] k = 0 @@ -99,8 +99,8 @@ def scipy_slsqp(project,x0=None,xb=None,its=100,accu=1e-10,grads=True): obj_scale = [] for this_obj in obj.keys(): obj_scale = obj_scale + [obj[this_obj]['SCALE']] - - # Only scale the accuracy for single-objective problems: + + # Only scale the accuracy for single-objective problems: if len(obj.keys())==1: accu = accu*obj_scale[0] @@ -118,23 +118,23 @@ def scipy_slsqp(project,x0=None,xb=None,its=100,accu=1e-10,grads=True): # Run Optimizer outputs = fmin_slsqp( x0 = x0 , - func = func , - f_eqcons = f_eqcons , + func = func , + f_eqcons = f_eqcons , f_ieqcons = f_ieqcons , fprime = fprime , - fprime_eqcons = fprime_eqcons , - fprime_ieqcons = fprime_ieqcons , - args = (project,) , + fprime_eqcons = fprime_eqcons , + fprime_ieqcons = fprime_ieqcons , + args = (project,) , bounds = xb , iter = its , iprint = 2 , full_output = True , acc = accu , epsilon = eps ) - + # Done return outputs - + # ------------------------------------------------------------------- # Scipy CG # ------------------------------------------------------------------- @@ -369,112 +369,112 @@ def scipy_powell(project,x0=None,xb=None,its=100,accu=1e-10,grads=False): # Done return outputs - + def obj_f(x,project): """ obj = obj_f(x,project) - + Objective Function SU2 Project interface to scipy.fmin_slsqp - + su2: minimize f(x), list[nobj] scipy_slsqp: minimize f(x), float """ - + obj_list = project.obj_f(x) obj = 0 for this_obj in obj_list: obj = obj+this_obj - + return obj def obj_df(x,project): """ dobj = obj_df(x,project) - + Objective Function Gradients SU2 Project interface to scipy.fmin_slsqp - + su2: df(x), list[nobj x dim] scipy_slsqp: df(x), ndarray[dim] - """ - + """ + dobj_list = project.obj_df(x) dobj=[0.0]*len(dobj_list[0]) - + for this_dobj in dobj_list: idv=0 for this_dv_dobj in this_dobj: dobj[idv] = dobj[idv]+this_dv_dobj; idv+=1 dobj = array( dobj ) - + return dobj def con_ceq(x,project): """ cons = con_ceq(x,project) - + Equality Constraint Functions SU2 Project interface to scipy.fmin_slsqp - + su2: ceq(x) = 0.0, list[nceq] scipy_slsqp: ceq(x) = 0.0, ndarray[nceq] """ - + cons = project.con_ceq(x) - + if cons: cons = array(cons) else: cons = zeros([0]) - + return cons def con_dceq(x,project): """ dcons = con_dceq(x,project) - + Equality Constraint Gradients SU2 Project interface to scipy.fmin_slsqp - + su2: dceq(x), list[nceq x dim] scipy_slsqp: dceq(x), ndarray[nceq x dim] """ - + dcons = project.con_dceq(x) dim = project.n_dv if dcons: dcons = array(dcons) else: dcons = zeros([0,dim]) - + return dcons def con_cieq(x,project): """ cons = con_cieq(x,project) - + Inequality Constraints SU2 Project interface to scipy.fmin_slsqp - + su2: cieq(x) < 0.0, list[ncieq] scipy_slsqp: cieq(x) > 0.0, ndarray[ncieq] """ - + cons = project.con_cieq(x) - + if cons: cons = array(cons) else: cons = zeros([0]) - + return -cons - + def con_dcieq(x,project): """ dcons = con_dcieq(x,project) - + Inequality Constraint Gradients SU2 Project interface to scipy.fmin_slsqp - + su2: dcieq(x), list[ncieq x dim] scipy_slsqp: dcieq(x), ndarray[ncieq x dim] """ - + dcons = project.con_dcieq(x) - + dim = project.n_dv if dcons: dcons = array(dcons) else: dcons = zeros([0,dim]) - + return -dcons diff --git a/SU2_PY/SU2/run/adjoint.py b/SU2_PY/SU2/run/adjoint.py index bdc1f416061..35f4106ba1f 100644 --- a/SU2_PY/SU2/run/adjoint.py +++ b/SU2_PY/SU2/run/adjoint.py @@ -1,22 +1,22 @@ #!/usr/bin/env python ## \file adjoint.py -# \brief python package for running adjoint problems +# \brief python package for running adjoint problems # \author T. Lukaczyk, F. Palacios # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -39,35 +39,35 @@ # Adjoint Simulation # ---------------------------------------------------------------------- -def adjoint( config ): +def adjoint( config ): """ info = SU2.run.adjoint(config) - + Runs an adjoint analysis with: SU2.run.decomp() SU2.run.CFD() SU2.run.merge() - + Assumptions: Does not run Gradient Projection Does not rename restart filename to solution filename Adds 'adjoint' suffix to convergence filename - + Outputs: info - SU2 State with keys: HISTORY.ADJOINT_NAME FILES.ADJOINT_NAME - + Updates: config.MATH_PROBLEM - + Executes in: ./ """ - + # local copy konfig = copy.deepcopy(config) - - # setup problem + + # setup problem if konfig.get('GRADIENT_METHOD', 'CONTINUOUS_ADJOINT') == 'DISCRETE_ADJOINT': konfig['MATH_PROBLEM'] = 'DISCRETE_ADJOINT' else: @@ -77,24 +77,24 @@ def adjoint( config ): # Run Solution SU2_CFD(konfig) - + # merge - konfig['SOLUTION_ADJ_FILENAME'] = konfig['RESTART_ADJ_FILENAME'] + konfig['SOLUTION_ADJ_FILENAME'] = konfig['RESTART_ADJ_FILENAME'] su2merge(konfig) - + # filenames plot_format = konfig.get('TABULAR_FORMAT', 'CSV') plot_extension = su2io.get_extension(plot_format) history_filename = konfig['CONV_FILENAME'] + plot_extension special_cases = su2io.get_specialCases(konfig) - + # get history history = su2io.read_history( history_filename, config.NZONES ) - + # update super config config.update({ 'MATH_PROBLEM' : konfig['MATH_PROBLEM'] , 'OBJECTIVE_FUNCTION' : konfig['OBJECTIVE_FUNCTION'] }) - + # files out objective = konfig['OBJECTIVE_FUNCTION'] if "," in objective: @@ -103,10 +103,10 @@ def adjoint( config ): suffix = su2io.get_adjointSuffix(objective) restart_name = konfig['RESTART_FILENAME'] restart_name = su2io.add_suffix(restart_name,suffix) - + # info out info = su2io.State() info.FILES[adj_title] = restart_name info.HISTORY[adj_title] = history - + return info diff --git a/SU2_PY/SU2/run/deform.py b/SU2_PY/SU2/run/deform.py index e742f6b0e2a..3a07d9c97c7 100644 --- a/SU2_PY/SU2/run/deform.py +++ b/SU2_PY/SU2/run/deform.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -41,71 +41,71 @@ def deform ( config, dv_new=None, dv_old=None ): """ info = SU2.run.deform(config,dv_new=[],dv_old=[]) - + Deforms mesh with: SU2.run.decomp() SU2.run.DEF() - + Assumptions: If optional dv_new ommitted, config is setup for deformation If using dv_old, must provide dv_new Adds 'deform' suffix to mesh output name - + Outputs: info - SU2 State with keys: HISTORY.ADJOINT_NAME FILES.ADJOINT_NAME - + Updates: config.MESH_FILENAME config.DV_VALUE_OLD = config.DV_VALUE_NEW - + Executes in: ./ - """ - + """ + if dv_new is None: dv_new = [] if dv_old is None: dv_old = [] - + # error check if dv_old and not dv_new: raise Exception('must provide dv_old with dv_new') - + # local copy konfig = copy.deepcopy(config) - + # unpack design variables if dv_new: konfig.unpack_dvs(dv_new,dv_old) - + # redundancy check if konfig['DV_VALUE_NEW'] == konfig['DV_VALUE_OLD']: info = su2io.State() info.FILES.MESH = konfig.MESH_FILENAME - info.VARIABLES.DV_VALUE_NEW = konfig.DV_VALUE_NEW + info.VARIABLES.DV_VALUE_NEW = konfig.DV_VALUE_NEW return info - + # setup mesh name suffix = 'deform' mesh_name = konfig['MESH_FILENAME'] meshname_suffixed = su2io.add_suffix( mesh_name , suffix ) konfig['MESH_OUT_FILENAME'] = meshname_suffixed - + # Run Deformation SU2_DEF(konfig) - + # update super config - config.update({ 'MESH_FILENAME' : konfig['MESH_OUT_FILENAME'] , + config.update({ 'MESH_FILENAME' : konfig['MESH_OUT_FILENAME'] , 'DV_KIND' : konfig['DV_KIND'] , 'DV_MARKER' : konfig['DV_MARKER'] , 'DV_PARAM' : konfig['DV_PARAM'] , 'DV_VALUE_OLD' : konfig['DV_VALUE_NEW'] , 'DV_VALUE_NEW' : konfig['DV_VALUE_NEW'] }) # not modified: config['MESH_OUT_FILENAME'] - + # info out info = su2io.State() info.FILES.MESH = meshname_suffixed info.VARIABLES.DV_VALUE_NEW = konfig.DV_VALUE_NEW - + return info #: def deform() diff --git a/SU2_PY/SU2/run/direct.py b/SU2_PY/SU2/run/direct.py index 520caf468ba..47f3d28627a 100644 --- a/SU2_PY/SU2/run/direct.py +++ b/SU2_PY/SU2/run/direct.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -39,38 +39,38 @@ # Direct Simulation # ---------------------------------------------------------------------- -def direct ( config ): +def direct ( config ): """ info = SU2.run.direct(config) - + Runs an adjoint analysis with: SU2.run.decomp() SU2.run.CFD() SU2.run.merge() - + Assumptions: Does not rename restart filename to solution filename Adds 'direct' suffix to convergence filename - + Outputs: info - SU2 State with keys: FUNCTIONS HISTORY.DIRECT FILES.DIRECT - + Updates: config.MATH_PROBLEM - + Executes in: ./ """ - + # local copy konfig = copy.deepcopy(config) # setup direct problem konfig['MATH_PROBLEM'] = 'DIRECT' - konfig['CONV_FILENAME'] = konfig['CONV_FILENAME'] + '_direct' - + konfig['CONV_FILENAME'] = konfig['CONV_FILENAME'] + '_direct' + direct_diff = konfig.get('DIRECT_DIFF','NO') == "YES" # Run Solution @@ -99,10 +99,10 @@ def direct ( config ): if konfig.get('CONFIG_LIST',[]) != []: konfig['CONV_FILENAME'] = 'config_CFD' history_filename = konfig['CONV_FILENAME'] + plot_extension - + special_cases = su2io.get_specialCases(konfig) - + # averaging final iterations final_avg = config.get('ITER_AVERAGE_OBJ',0) # get chosen windowing function, default is square @@ -111,10 +111,10 @@ def direct ( config ): # get history and objectives history = su2io.read_history( history_filename , config.NZONES) aerodynamics = su2io.read_aerodynamics( history_filename , config.NZONES, special_cases, final_avg, wnd_fct ) - + # update super config config.update({ 'MATH_PROBLEM' : konfig['MATH_PROBLEM'] }) - + # info out info = su2io.State() info.FUNCTIONS.update( aerodynamics ) @@ -125,7 +125,7 @@ def direct ( config ): info.FILES.TARGET_HEATFLUX = 'TargetHeatFlux.dat' info.HISTORY.DIRECT = history - '''If WINDOW_CAUCHY_CRIT is activated and the time marching converged before the final time has been reached, + '''If WINDOW_CAUCHY_CRIT is activated and the time marching converged before the final time has been reached, store the information for the adjoint run''' if config.get('WINDOW_CAUCHY_CRIT', 'NO') == 'YES' and config.TIME_MARCHING != 'NO': konfig['TIME_ITER'] = int(info.HISTORY.DIRECT.Time_Iter[-1] + 1) # update the last iteration diff --git a/SU2_PY/SU2/run/geometry.py b/SU2_PY/SU2/run/geometry.py index 45296cf9509..9dd9117088f 100644 --- a/SU2_PY/SU2/run/geometry.py +++ b/SU2_PY/SU2/run/geometry.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -39,34 +39,34 @@ # Direct Simulation # ---------------------------------------------------------------------- -def geometry ( config , step = 1e-3 ): +def geometry ( config , step = 1e-3 ): """ info = SU2.run.geometry(config) - + Runs an geometry analysis with: SU2.run.decomp() SU2.run.GEO() - + Assumptions: Performs both function and gradient analysis - + Inputs: config - an SU2 configuration step - gradient finite difference step if config.GEO_MODE=GRADIENT - + Outputs: info - SU2 State with keys: FUNCTIONS GRADIENTS - + Updates: - + Executes in: ./ """ - + # local copy konfig = copy.deepcopy(config) - + # unpack function_name = konfig['GEO_PARAM'] tabular_format = konfig.get('TABULAR_FORMAT', 'CSV') @@ -81,7 +81,7 @@ def geometry ( config , step = 1e-3 ): grad_filename = grad_filename.split('.')[0] + '.dat' - # choose dv values + # choose dv values Definition_DV = konfig['DEFINITION_DV'] n_DV = len(Definition_DV['KIND']) if isinstance(step,list): @@ -90,21 +90,21 @@ def geometry ( config , step = 1e-3 ): step = [step]*n_DV dv_old = [0.0]*n_DV # SU2_DOT input requirement, assumes linear superposition of design variables dv_new = step - konfig.unpack_dvs(dv_new,dv_old) - + konfig.unpack_dvs(dv_new,dv_old) + # Run Solution SU2_GEO(konfig) - + # info out - info = su2io.State() - + info = su2io.State() + # get function values if konfig.GEO_MODE == 'FUNCTION': functions = su2io.tools.read_plot(func_filename) for key,value in functions.items(): functions[key] = value[0] info.FUNCTIONS.update( functions ) - + # get gradient_values if konfig.GEO_MODE == 'GRADIENT': gradients = su2io.tools.read_plot(grad_filename) diff --git a/SU2_PY/SU2/run/interface.py b/SU2_PY/SU2/run/interface.py index a0512d5aef3..fd0f3829517 100644 --- a/SU2_PY/SU2/run/interface.py +++ b/SU2_PY/SU2/run/interface.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -38,7 +38,7 @@ # Setup # ------------------------------------------------------------ -SU2_RUN = os.environ['SU2_RUN'] +SU2_RUN = os.environ['SU2_RUN'] sys.path.append( SU2_RUN ) quote = '"' if sys.platform == 'win32' else '' @@ -62,13 +62,13 @@ mpi_Command = 'mpiexec -n %i %s' else: mpi_Command = '' - + from .. import EvaluationFailure, DivergenceFailure return_code_map = { 1 : EvaluationFailure , 2 : DivergenceFailure , } - + # ------------------------------------------------------------ # SU2 Suite Interface Functions # ------------------------------------------------------------ @@ -78,7 +78,7 @@ def CFD(config): partitions set by config.NUMBER_PART """ konfig = copy.deepcopy(config) - + direct_diff = not konfig.get('DIRECT_DIFF',"") in ["NONE", ""] auto_diff = konfig.MATH_PROBLEM == 'DISCRETE_ADJOINT' @@ -103,16 +103,16 @@ def CFD(config): else: tempname = 'config_CFD.cfg' konfig.dump(tempname) - + processes = konfig['NUMBER_PART'] - + the_Command = 'SU2_CFD%s %s' % (quote, tempname) the_Command = build_command( the_Command, processes ) run_command( the_Command ) - + #os.remove(tempname) - + return def DEF(config): @@ -121,25 +121,25 @@ def DEF(config): forced to run in serial, expects merged mesh input """ konfig = copy.deepcopy(config) - + tempname = 'config_DEF.cfg' - konfig.dump(tempname) - + konfig.dump(tempname) + # must run with rank 1 processes = konfig['NUMBER_PART'] - + the_Command = 'SU2_DEF%s %s' % (quote, tempname) the_Command = build_command( the_Command, processes ) run_command( the_Command ) - + #os.remove(tempname) - + return def DOT(config): """ run SU2_DOT partitions set by config.NUMBER_PART - """ + """ konfig = copy.deepcopy(config) auto_diff = konfig.MATH_PROBLEM == 'DISCRETE_ADJOINT' or konfig.get('AUTO_DIFF','NO') == 'YES' @@ -153,82 +153,82 @@ def DOT(config): the_Command = 'SU2_DOT_AD%s %s' % (quote, tempname) else: - + tempname = 'config_DOT.cfg' konfig.dump(tempname) - + processes = konfig['NUMBER_PART'] - + the_Command = 'SU2_DOT%s %s' % (quote, tempname) the_Command = build_command( the_Command, processes ) run_command( the_Command ) - + #os.remove(tempname) - + return def GEO(config): """ run SU2_GEO partitions set by config.NUMBER_PART forced to run in serial - """ + """ konfig = copy.deepcopy(config) - + tempname = 'config_GEO.cfg' - konfig.dump(tempname) - + konfig.dump(tempname) + # must run with rank 1 processes = konfig['NUMBER_PART'] - + the_Command = 'SU2_GEO%s %s' % (quote, tempname) the_Command = build_command( the_Command , processes ) run_command( the_Command ) - + #os.remove(tempname) - + return - + def SOL(config): """ run SU2_SOL partitions set by config.NUMBER_PART """ - + konfig = copy.deepcopy(config) - + tempname = 'config_SOL.cfg' konfig.dump(tempname) - + # must run with rank 1 processes = konfig['NUMBER_PART'] - + the_Command = 'SU2_SOL%s %s' % (quote, tempname) the_Command = build_command( the_Command , processes ) run_command( the_Command ) - + #os.remove(tempname) - + return def SOL_FSI(config): """ run SU2_SOL for FSI problems partitions set by config.NUMBER_PART """ - + konfig = copy.deepcopy(config) - + tempname = 'config_SOL.cfg' konfig.dump(tempname) - + # must run with rank 1 processes = konfig['NUMBER_PART'] - + the_Command = 'SU2_SOL%s %s 2' % (quote, tempname) the_Command = build_command( the_Command , processes ) run_command( the_Command ) - + #os.remove(tempname) - + return @@ -249,15 +249,15 @@ def run_command( Command ): """ runs os command with subprocess checks for errors from command """ - + sys.stdout.flush() - + proc = subprocess.Popen( Command, shell=True , - stdout=sys.stdout , + stdout=sys.stdout , stderr=subprocess.PIPE ) return_code = proc.wait() message = proc.stderr.read().decode() - + if return_code < 0: message = "SU2 process was terminated by signal '%s'\n%s" % (-return_code,message) raise SystemExit(message) @@ -270,6 +270,6 @@ def run_command( Command ): raise exception(message) else: sys.stdout.write(message) - + return return_code diff --git a/SU2_PY/SU2/run/merge.py b/SU2_PY/SU2/run/merge.py index 65fa96db065..eff5e7878a8 100644 --- a/SU2_PY/SU2/run/merge.py +++ b/SU2_PY/SU2/run/merge.py @@ -4,17 +4,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -38,39 +38,39 @@ def merge( config ): """ info = SU2.run.merge(config) - + Merges mesh with: SU2.run.SOL() (volume merging) internal scripts (surface merging) - + Assumptions: - config.NUMBER_PART is set + config.NUMBER_PART is set Skip if config.NUMBER_PART > 1 - + Inputs: config - an SU2 config - + Ouputs: info - an empty SU2 State - + Executes in: ./ """ - + # local copy konfig = copy.deepcopy(config) - + # check if needed partitions = konfig['NUMBER_PART'] if partitions <= 1: return su2io.State() - + # special cases special_cases = su2io.get_specialCases(konfig) # special cases multizone_cases = su2io.get_multizone(konfig) - + # # MERGING # # if 'FLUID_STRUCTURE_INTERACTION' in multizone_cases: merge_multizone(konfig) @@ -79,19 +79,19 @@ def merge( config ): merge_unsteady(konfig) else: merge_solution(konfig) - + # info out (empty) info = su2io.State() - + return info #: merge def merge_unsteady( config, begintime=0, endtime=None ): - + if not endtime: endtime = config.EXT_ITER - + # SU2_SOL handles unsteady volume merge merge_solution( config ) @@ -103,9 +103,9 @@ def merge_solution( config ): """ SU2.io.merge.merge_solution(config) general volume surface merging with SU2_SOL """ - + SU2_SOL( config ) - + return #: merge_solution( config ) @@ -114,9 +114,9 @@ def merge_multizone( config, begintime=0, endtime=None ): if not endtime: endtime = config.TIME_ITER - + SU2_SOL_FSI( config ) - + return #: merge_solution( config ) diff --git a/SU2_PY/SU2/run/projection.py b/SU2_PY/SU2/run/projection.py index 254db62ca29..baef91c8cdd 100644 --- a/SU2_PY/SU2/run/projection.py +++ b/SU2_PY/SU2/run/projection.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -42,35 +42,35 @@ def projection( config, state={}, step = 1e-3 ): """ info = SU2.run.projection(config,state,step=1e-3) - + Runs an gradient projection with: SU2.run.decomp() SU2.run.DOT() - + Assumptions: Writes tecplot file of gradients Adds objective suffix to gradient plot filename - + Inputs: config - an SU2 config state - only required when using external custom DV step - a float or list of floats for geometry sensitivity finite difference step - + Outputs: info - SU2 State with keys: GRADIENTS. - + Updates: config.MATH_PROBLEM - + Executes in: ./ """ # local copy konfig = copy.deepcopy(config) - - # choose dv values + + # choose dv values Definition_DV = konfig['DEFINITION_DV'] n_DV = sum(Definition_DV['SIZE']) if isinstance(step,list): @@ -87,21 +87,21 @@ def projection( config, state={}, step = 1e-3 ): output_format = konfig.get('TABULAR_FORMAT', 'CSV') plot_extension = su2io.get_extension(output_format) adj_suffix = su2io.get_adjointSuffix(objective) - grad_plotname = os.path.splitext(grad_filename)[0] + '_' + adj_suffix + plot_extension + grad_plotname = os.path.splitext(grad_filename)[0] + '_' + adj_suffix + plot_extension # Run Projection SU2_DOT(konfig) - + # read raw gradients raw_gradients = su2io.read_gradients(grad_filename) os.remove(grad_filename) - + info = su2io.State() - + # Write Gradients data_plot = su2util.ordered_bunch() - data_plot['VARIABLE'] = range(len(raw_gradients)) - data_plot['GRADIENT'] = raw_gradients + data_plot['VARIABLE'] = range(len(raw_gradients)) + data_plot['GRADIENT'] = raw_gradients data_plot['FINDIFF_STEP'] = step su2util.write_plot(grad_plotname,output_format,data_plot) @@ -111,8 +111,8 @@ def projection( config, state={}, step = 1e-3 ): objective = ['COMBO'] gradients = { objective[0] : raw_gradients } - + # info out info.GRADIENTS.update( gradients ) - + return info diff --git a/SU2_PY/SU2/util/filter_adjoint.py b/SU2_PY/SU2/util/filter_adjoint.py index da73328a37e..d8c9ad3dbb2 100644 --- a/SU2_PY/SU2/util/filter_adjoint.py +++ b/SU2_PY/SU2/util/filter_adjoint.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file filter_adjoint.py # \brief Applies various filters to the adjoint surface sensitivities of an airfoil @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -41,36 +41,36 @@ pylab_imported = True except ImportError: pylab_imported = False - - + + # ------------------------------------------------------------------- # MAIN # ------------------------------------------------------------------- def main(): - + # Command Line Options parser=OptionParser() parser.add_option( "-f", "--file", dest="filename", help="read config from FILE", metavar="FILE" ) parser.add_option( "-t", "--type", dest="filter_type", default='LAPLACE', - help="apply filter TYPE", metavar="TYPE" ) + help="apply filter TYPE", metavar="TYPE" ) parser.add_option( "-m", "--marker", dest="marker_name", default='airfoil', - help="use marker named TAG", metavar="TAG" ) + help="use marker named TAG", metavar="TAG" ) parser.add_option( "-c", "--chord", dest="chord_length", default=1.0, - help="reference CHORD length", metavar="CHORD" ) + help="reference CHORD length", metavar="CHORD" ) (options, args)=parser.parse_args() options.chord_length = float( options.chord_length ) - + # run filter process_surface_adjoint( options.filename , options.filter_type , options.marker_name , options.chord_length ) - + #: def main() - - + + # ------------------------------------------------------------------- # PROCESS SURFACE ADJOINT # ------------------------------------------------------------------- @@ -78,39 +78,39 @@ def process_surface_adjoint( config_filename , filter_type='LAPLACE' , marker_name='airfoil' , chord_length=1.0 ): - + print('') print('-------------------------------------------------------------------------') print('| SU2 Suite (Process Surface Adjoint) |') print('-------------------------------------------------------------------------') print('') - + # some other defaults - c_clip = 0.01 # percent chord to truncate + c_clip = 0.01 # percent chord to truncate fft_copy = 5 # number of times to copy the fft signal smth_len = 0.05 # percent chord smoothing window length lapl_len = 1e-4 # laplace smoothing parameter - + # read config file config_data = libSU2.Get_ConfigParams(config_filename) surface_filename = config_data['SURFACE_ADJ_FILENAME'] + '.csv' print(surface_filename) mesh_filename = config_data['MESH_FILENAME'] gradient = config_data['OBJECTIVE_FUNCTION'] - + print('Config filename = %s' % config_filename) print('Surface filename = %s' % surface_filename) print('Filter Type = %s' % filter_type) - + # read adjoint data adj_data = np.genfromtxt( surface_filename , dtype = float , delimiter = ',' , skip_header = 1 ) - + # read mesh data mesh_data = libSU2_mesh.Read_Mesh(mesh_filename) - + # proces adjoint data P = map(int, adj_data[:,0] ) X = adj_data[:,6].copy() @@ -121,11 +121,11 @@ def process_surface_adjoint( config_filename , # store in dict by point index adj_data_dict = dict( zip( P , zip(X,Y,Sens,PsiRho,I) ) ) - + # sort airfoil points iP_sorted,_ = libSU2_mesh.sort_Airfoil(mesh_data,marker_name) assert(len(iP_sorted) == len(P)) - + # rebuild airfoil loop i = 0 for this_P in iP_sorted: @@ -141,122 +141,122 @@ def process_surface_adjoint( config_filename , # next i = i+1 #: for each point - + # calculate arc length S = np.sqrt( np.diff(X)**2 + np.diff(Y)**2 ) / chord_length S = np.cumsum( np.hstack([ 0 , S ]) ) - + # tail trucating, by arc length - I_clip_lo = S < S[0] + c_clip + I_clip_lo = S < S[0] + c_clip I_clip_hi = S > S[-1] - c_clip S_clip = S.copy() Sens_clip = Sens.copy() Sens_clip[I_clip_hi] = Sens_clip[I_clip_hi][0] Sens_clip[I_clip_lo] = Sens_clip[I_clip_lo][-1] - - + + # some edge length statistics dS_clip = np.diff(S_clip) min_dS = np.min ( dS_clip ) mean_dS = np.mean( dS_clip ) max_dS = np.max ( dS_clip ) - #print 'min_dS = %.4e ; mean_dS = %.4e ; max_dS = %.4e' % ( min_dS , mean_dS , max_dS ) - + #print 'min_dS = %.4e ; mean_dS = %.4e ; max_dS = %.4e' % ( min_dS , mean_dS , max_dS ) + # -------------------------------------------- # APPLY FILTER - + if filter_type == 'FOURIER': Freq_notch = [ 1/max_dS, np.inf ] # the notch frequencies Sens_filter,Frequency,Power = fft_filter( S_clip,Sens_clip, Freq_notch, fft_copy ) #Sens_filter = smooth(S_clip,Sens_filter, 0.03,'blackman') # post smoothing - + elif filter_type == 'WINDOW': - Sens_filter = window( S_clip, Sens_clip, smth_len, 'blackman' ) - + Sens_filter = window( S_clip, Sens_clip, smth_len, 'blackman' ) + elif filter_type == 'LAPLACE': Sens_filter = laplace( S_clip, Sens_clip, lapl_len ) - + elif filter_type == 'SHARPEN': Sens_smooth = smooth( S_clip, Sens_clip , smth_len/5, 'blackman' ) # pre smoothing - Sens_smoother = smooth( S_clip, Sens_smooth, smth_len , 'blackman' ) + Sens_smoother = smooth( S_clip, Sens_smooth, smth_len , 'blackman' ) Sens_filter = Sens_smooth + (Sens_smooth - Sens_smoother) # sharpener else: raise Exception('unknown filter type') - + # -------------------------------------------- # PLOTTING - + if pylab_imported: - + # start plot fig = plt.figure(gradient) plt.clf() #if not fig.axes: # for comparing two filter calls #plt.subplot(1,1,1) #ax = fig.axes[0] - #if len(ax.lines) == 4: + #if len(ax.lines) == 4: #ax.lines.pop(0) #ax.lines.pop(0) - + # SENSITIVITY plt.plot(S ,Sens ,color='b') # original plt.plot(S_clip,Sens_filter,color='r') # filtered - + plt.xlim(-0.1,2.1) plt.ylim(-5,5) plt.xlabel('Arc Length') plt.ylabel('Surface Sensitivity') - - #if len(ax.lines) == 4: + + #if len(ax.lines) == 4: #seq = [2, 2, 7, 2] - #ax.lines[0].set_dashes(seq) - #ax.lines[1].set_dashes(seq) - + #ax.lines[0].set_dashes(seq) + #ax.lines[1].set_dashes(seq) + plot_filename = os.path.splitext(surface_filename)[0] + '.png' plt.savefig('Sens_'+plot_filename,dpi=300) - + # zoom in plt.ylim(-0.4,0.4) plt.savefig('Sens_zoom_'+plot_filename,dpi=300) - + # SPECTRAL if filter_type == 'FOURIER': - + plt.figure('SPECTRAL') plt.clf() - - plt.plot(Frequency,Power) - + + plt.plot(Frequency,Power) + #plt.xlim(0,Freq_notch[0]+10) plt.xlim(0,200) plt.ylim(0,0.15) - + plt.xlabel('Frequency (1/C)') plt.ylabel('Surface Sensitivity Spectal Power') - + plt.savefig('Spectral_'+plot_filename,dpi=300) - + #: if spectral plot - + #: if plot - + # -------------------------------------------- - # SAVE SURFACE FILE - - # reorder back to input surface points + # SAVE SURFACE FILE + + # reorder back to input surface points Sens_out = np.zeros(len(S)) Sens_out[I] = Sens_filter # left over from sort adj_data[:,1] = Sens_out - + # get surface header surface_orig = open(surface_filename,'r') header = surface_orig.readline() surface_orig.close() - + # get list of prefix names prefix_names = libSU2.get_AdjointPrefix(None) - prefix_names = prefix_names.values() - + prefix_names = prefix_names.values() + # add filter prefix, before adjoint prefix surface_filename_split = surface_filename.rstrip('.csv').split('_') if surface_filename_split[-1] in prefix_names: @@ -264,26 +264,26 @@ def process_surface_adjoint( config_filename , else: surface_filename_split = surface_filename_split + ['filtered'] surface_filename_new = '_'.join(surface_filename_split) + '.csv' - + # write filtered surface file (only updates Sensitivity) surface_new = open(surface_filename_new,'w') surface_new.write(header) for row in adj_data: for i,value in enumerate(row): if i > 0: - surface_new.write(', ') + surface_new.write(', ') if i == 0: surface_new.write('%i' % value ) else: surface_new.write('%.16e' % value ) surface_new.write('\n') - surface_new.close() - - + surface_new.close() + + print('') print('----------------- Exit Success (Process Surface Adjoint) ----------------') - print('') - + print('') + #: def process_surface_adjoint() @@ -293,74 +293,74 @@ def process_surface_adjoint( config_filename , def laplace(t,x,e): ''' Laplacian filter - input: + input: t - time sample vector x - signal vector x(t) e - smoother coefficient (e>0) - + output: y: smoothed signal at t ''' - + n_x = len(x) - + # padding t_1 = t[ 0] + t[-2]-t[-1] t_2 = t[-1] + t[ 1]-t[ 0] t_p = np.hstack([ t_1 , t , t_2 ]) x_p = np.hstack([ x[0] , x , x[-1] ]) - + # finite differencing dt_f = t_p[2: ] - t_p[1:-1] dt_b = t_p[1:-1] - t_p[0:-2] dt_c = t_p[2: ] - t_p[0:-2] - + # diagonal coefficients Coeff = e * 2.0 / (dt_b*dt_f*dt_c) diag_c = Coeff*dt_c diag_f = -Coeff*dt_b diag_b = -Coeff*dt_f - + # system matrix - A = ( np.diag(diag_c , 0) + - np.diag(diag_f[0:-1], 1) + + A = ( np.diag(diag_c , 0) + + np.diag(diag_f[0:-1], 1) + np.diag(diag_b[1: ],-1) + np.diag(np.ones(n_x), 0) ) - + # periodic conditions #A[1,-1] = dt_b[0] #A[-1,1] = dt_f[-1] - + # rhs - b = np.array([x]).T - + b = np.array([x]).T + # boundary conditions - + # signal start i_d = 0 A[i_d,:] = 0.0 - A[i_d,i_d] = 1.0 # dirichlet + A[i_d,i_d] = 1.0 # dirichlet #A[i_d,i_d+1] = 1.0 # neuman #A[i_d,i_d] = -1.0 - #b[i_d] = 0.0 #x[i_d+1]-x[i_d] - + #b[i_d] = 0.0 #x[i_d+1]-x[i_d] + # signal end i_d = n_x-1 A[i_d,:] = 0.0 A[i_d,i_d] = 1.0 # dirichlet #A[i_d,i_d] = 1.0 # neuman #A[i_d,i_d-1] = -1.0 - #b[i_d] = 0.0 #x[i_d]-x[i_d-1] - + #b[i_d] = 0.0 #x[i_d]-x[i_d-1] + # solve y = np.linalg.solve(A,b) y = y[:,0] - + return y #: def laplace - - + + # ------------------------------------------------------------------- # FFT NOTCH FILTER # ------------------------------------------------------------------- @@ -368,39 +368,39 @@ def laplace(t,x,e): def fft_filter(t,x,n,c=1): ''' Notch filter with Fast Fourier Transform input: - t = input time vector + t = input time vector x = input signal vector n = [low,high] frequency range to supress c = number of times to duplicate signal - + output: - y = smoothed signal at t - + y = smoothed signal at t + signal will be interpolated to constant spacing ''' assert(c>0) - + # choose sampling frequency min_dt = np.min( np.diff(t) ) Ts = min_dt/2 Fs = 1/Ts - + # interpolate to constant spacing nt_lin = int( t[-1]/Ts ) t_lin = np.linspace(0,t[-1],nt_lin) x_lin = np.interp(t_lin,t,x) - + # pad last index t_lin = np.hstack([ t_lin , t_lin[0:10]+t_lin[-1] ]) x_lin = np.hstack([ x_lin , np.ones(10)*x_lin[-1] ]) - + # copy signal for ic in range(c-1): t_lin = np.hstack([ t_lin[0:-2] , t_lin[1:]+t_lin[-1] ]) x_lin = np.hstack([ x_lin[0:-2] , x_lin[1:] ]) nt = len(t_lin) - + # perform fourier transform nxtpow2 = int(math.log(nt, 2))+1 # next power of 2 nfft = 2**nxtpow2 # fft efficiency @@ -410,29 +410,29 @@ def fft_filter(t,x,n,c=1): p = p/nt # normalize p = 2*p[0:(nfft/2)] # symmetric a = a[0:(nfft/2)] # symmetric - + # frequency domain - F = np.arange(0,nfft/2) * Fs/nfft - + F = np.arange(0,nfft/2) * Fs/nfft + # for return Freq = F.copy() - + # -------------------------------------------------- # THE NOTCH FILTER - + # filter multiplier k = np.ones(nfft/2) - + # clip power within notch frequencies I_fil = np.logical_and( F>n[0] , F keys_space[i]: keys_space[i] = len(key) keys_space[i] = "%-" + str(keys_space[i]) + "s" - + plotfile = open(filename,'w') plotfile.write(header) for i,key in enumerate(keys_print): @@ -79,14 +79,14 @@ def write_plot(filename,plot_format,data_plot,keys_plot=None): if j > 0: plotfile.write(", ") plotfile.write(keys_space[j] % value[i_line]) plotfile.write('\n') - + plotfile.close() - + return - + def tecplot(filename,data_plot,keys_plot=[]): write_plot(filename,'TECPLOT',data_plot,keys_plot) def paraview(filename,data_plot,keys_plot=[]): write_plot(filename,'CSV',data_plot,keys_plot) - + diff --git a/SU2_PY/SU2/util/polarSweepLib.py b/SU2_PY/SU2/util/polarSweepLib.py index 729232a4412..8aa482c89ea 100755 --- a/SU2_PY/SU2/util/polarSweepLib.py +++ b/SU2_PY/SU2/util/polarSweepLib.py @@ -5,17 +5,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -56,7 +56,7 @@ def parLocator(keyWord,b,n,iDoNot,verbose): if i != iDoNot: # string.index and not string.find is used here, since index raises # exception when search is failed - if verbose: + if verbose: print('parLocator: '+str(i)+' found: '+str(b[i])) iFocus=i break @@ -64,12 +64,12 @@ def parLocator(keyWord,b,n,iDoNot,verbose): iFocus=-1 except ValueError: pass # do nothing - + if iFocus == -1: - if verbose: + if verbose: print('parLocator: Keyword ->'+str(keyWord)+'<- not found') return iFocus - + def stringLocator(keyWord,b,n,verbose): #---- -- locate the relevant line in a file @@ -80,19 +80,19 @@ def stringLocator(keyWord,b,n,verbose): lineString=str(b[i]).lower() try: ii=lineString.index(keyWord) - if verbose: + if verbose: print('parLocator: '+str(i)+' found: '+str(b[i])) iFocus=i - break + break except ValueError: pass # do nothing - + if iFocus == -1: - if verbose: + if verbose: print('parLocator: Keyword ->'+str(keyWord)+'<- not found') - + return iFocus - + def readList(dataFile,iLine,verbose): @@ -104,8 +104,8 @@ def readList(dataFile,iLine,verbose): icol=listDataLine.index(':') Data=listDataLine[icol+1:] lData=Data.split(',') - nData=size(lData) - + nData=size(lData) + if verbose: print('readList nData = '+str(nData)) fData=map(float,lData) @@ -167,7 +167,7 @@ def setContribution(dataFile,nLines,keyWord,iDoNot,verbose): # now find out where the standard text ends iBF=firstPart.lower().index('family')+6 - nameText=string.join( firstPart[iBF:].split(), "") + nameText=string.join( firstPart[iBF:].split(), "") # component name located. Now check about its contribution try: @@ -221,7 +221,7 @@ def setPolaraType(ctrl,nc,verbose): PA='y' else: raise SystemExit('ERROR in control file: only Y or Z can be given for control keyWord ->'+keyWordPitchAxis+'<-') - + if verbose: print('Pitch axis is '+PA.upper()) # @@ -272,7 +272,7 @@ def setPolaraType(ctrl,nc,verbose): velDirOption = 2; # Velocity dirction vector v(alpha,beta) if nBeta > 1 : raise SystemExit('ERROR in control file: >>>>>>>> nBeta > 1 in a Mach Ramp session <<<<<<<<') - + if iListAOA == -1: if velDirOption == 2 : alpha = [0.0]; nAalpha =1; @@ -294,48 +294,48 @@ def setPolaraType(ctrl,nc,verbose): if nPhi > 1 : raise SystemExit('ERROR in control file: >>>>>>>> nPhi > 1 in a Mach Ramp session <<<<<<<<') if velDirOption == 0 : - # if phi is specified, then this is a alpha,phi case, with alpha = 0 + # if phi is specified, then this is a alpha,phi case, with alpha = 0 velDirOption = 1; alpha = [0.0]; nAalpha =1; - + if nPhi + nBeta >= 2 : raise SystemExit('ERROR in control file: >>>>>>>> Both phi and Beta specified (in a Mach Ramp session) <<<<<<<<') - - + + else: # # this is not a mach ramp MachList=[ ]; nMach=0; # -# So, this is a polar-sweep and not mach ramp. +# So, this is a polar-sweep and not mach ramp. # Now find out polarSweepType (1,2,or 3) # if iListPhi == -1 : if iListBeta == -1 : - polarSweepType=1 ; + polarSweepType=1 ; polarVar='aoa' ; # phi/beta not found. Polar sweep in alpha for phi=beta=0 velDirOption = 1; # Velocity dirction vector v(alpha,phi). - phi = [0.0] ; nPhi = 1; + phi = [0.0] ; nPhi = 1; nBeta=0 ; beta=[ ]; else: # beta was found in control file, phi is not there; check how about alpha nPhi = 0 ; phi=[ ]; - polarSweepType=2 ; - polarVar='aoa' ; + polarSweepType=2 ; + polarVar='aoa' ; velDirOption = 2; # Velocity dirction vector v(alpha,beta). beta,nBeta=readList(ctrl,iListBeta,verbose) if nBeta > 1 : raise SystemExit('ERROR in control file: nBeta > 1. For polar sweep in beta exchange pitch-axis and use aoa') - + if iListAOA == -1 : raise SystemExit('ERROR in control file: phi and alpha are missing. Polar sweep not defined') alpha,nAalpha=readList(ctrl,iListAOA,verbose) - - else: + + else: # # phi was found in control file, so beta must not be there # @@ -351,8 +351,8 @@ def setPolaraType(ctrl,nc,verbose): # # phi found in control file, but alpha is missing, so it is a polar-sweep in phi with alpha=0 # - polarSweepType=3 ; - polarVar='phi' ; alpha =[0.0] ; nAalpha=1 + polarSweepType=3 ; + polarVar='phi' ; alpha =[0.0] ; nAalpha=1 else: # @@ -364,10 +364,10 @@ def setPolaraType(ctrl,nc,verbose): if nAalpha == 1: if nPhi > 1 : - polarSweepType=3 - polarVar='phi' + polarSweepType=3 + polarVar='phi' else: - polarSweepType=1 + polarSweepType=1 polarVar='aoa' nBeta=0; beta=[ ]; @@ -378,7 +378,7 @@ def setPolaraType(ctrl,nc,verbose): if nPhi > 1 : raise SystemExit('ERROR in control file: read lists in both alpha and phi. Polar sweep not defined ') - polarSweepType=1 ; + polarSweepType=1 ; polarVar='aoa'; nBeta=0; beta=[ ]; # @@ -396,7 +396,7 @@ def setPolaraType(ctrl,nc,verbose): print('Sweep type: '+str(polarSweepType)+' in Mach. nMach = '+str(nMach)) return PA,polarSweepType,velDirOption,nAalpha,nBeta,nPhi,nMach,alpha,beta,phi,MachList,polarVar - + def setVelDir(velDirOption,PA,alphar,phir,betar): # set the velocity direction @@ -413,11 +413,11 @@ def setVelDir(velDirOption,PA,alphar,phir,betar): if PA == 'z': if alphar < a88 : dv1 = [cos(betar) for x in alphar] - dv2 = tan(alphar)*cos(betar) + dv2 = tan(alphar)*cos(betar) dv3 = [sin(betar) for x in alphar] else: dv1 = cos(betar)*cos(alphar) - dv2 = sin(alphar)*cos(betar) + dv2 = sin(alphar)*cos(betar) dv3 = sin(betar)*cos(alphar) else: if alphar < a88 : @@ -429,7 +429,7 @@ def setVelDir(velDirOption,PA,alphar,phir,betar): dv2 = sin(betar)*cos(alphar) dv3 = sin(alphar)*cos(betar) else: - + if size(alphar) > size(phir) : dummyVec=alphar else: @@ -438,35 +438,35 @@ def setVelDir(velDirOption,PA,alphar,phir,betar): if PA == 'z': if alphar < a88 : dv1=[1.0 for x in dummyVec ] - dv2=tan(alphar)*cos(phir) - dv3=tan(alphar)*sin(phir) + dv2=tan(alphar)*cos(phir) + dv3=tan(alphar)*sin(phir) else: if size(alphar) > 1 : - dv1= cos(alphar) + dv1= cos(alphar) else: dv1=[cos(alphar) for x in dummyVec ] - dv2=sin(alphar)*cos(phir) - dv3=sin(alphar)*sin(phir) + dv2=sin(alphar)*cos(phir) + dv3=sin(alphar)*sin(phir) else: if alphar < a88 : dv1=[1.0 for x in dummyVec ] dv2=tan(alphar)*sin(phir) - dv3=tan(alphar)*cos(phir) + dv3=tan(alphar)*cos(phir) else: if size(alphar) > 1 : - dv1= cos(alphar) + dv1= cos(alphar) else: dv1=[cos(alphar) for x in dummyVec ] dv2=sin(alphar)*sin(phir) dv3=sin(alphar)*cos(phir) - + return dv1,dv2,dv3 def processAddAngle(addRunStr,nPolara,parAngle,angleEqualCriterion): # #--------------------------------------------------------------------- -# Process the list of interactively added angles. +# Process the list of interactively added angles. # Note that parAngle can receive also MachList #-------------------------------------------------------------------- @@ -495,14 +495,14 @@ def processAddAngle(addRunStr,nPolara,parAngle,angleEqualCriterion): if min(diff) < angleEqualCriterion: computeCase[iClose]=True rerunCase[iClose]=True - + else: - + if fAddRunList[i] > closestAngle[i]: ii=iClose+1 else: ii=iClose - + tmpAng1=parAngle[:ii] tmpAng1.append(fAddRunList[i]) tmpAng2=parAngle[ii:] @@ -513,8 +513,8 @@ def processAddAngle(addRunStr,nPolara,parAngle,angleEqualCriterion): computeCase[ii]=True - return nPolara,parAngle,computeCase,rerunCase - + return nPolara,parAngle,computeCase,rerunCase + def updatedControlFile(ctrl,nc,parAngle,ctrlFile,verbose): # generate a modified control file for case with addRun options @@ -552,7 +552,7 @@ def updatedControlFile(ctrl,nc,parAngle,ctrlFile,verbose): velDirOption = 2; # Velocity dirction vector v(alpha,beta) if nBeta > 1 : raise SystemExit('ERROR in control file: >>>>>>>> nBeta > 1 in a Mach Ramp session <<<<<<<<') - + if iListAOA == -1: if velDirOption == 2 : alpha = [0.0]; nAalpha =1; @@ -576,38 +576,38 @@ def updatedControlFile(ctrl,nc,parAngle,ctrlFile,verbose): if velDirOption == 0 : # if phi is specified, then this is a alpha,phi case, with alpha = 0 velDirOption = 1; alpha = [0.0]; nAalpha =1; - + if nPhi + nBeta >= 2 : raise SystemExit('ERROR in control file: >>>>>>>> Both phi and Beta specified (in a Mach Ramp session) <<<<<<<<') ctrl[iListMRN]=' Mach ramp numbers : '+updatedAngleList+'\n' - + else: # # this is not a mach ramp MachList=[ ]; nMach=0; if iListPhi == -1 : if iListBeta == -1 : - polarSweepType=1 ; + polarSweepType=1 ; polarVar='aoa' ; # phi/beta not found. Polar sweep in alpha for phi=beta=0 - phi = [0.0] ; nPhi = 1; + phi = [0.0] ; nPhi = 1; nBeta=0 ; beta=[ ]; else: # beta was found in control file, phi is not there; check how about alpha nPhi = 0 ; phi=[ ]; - polarSweepType=2 ; - polarVar='aoa' ; + polarSweepType=2 ; + polarVar='aoa' ; beta,nBeta=readList(ctrl,iListBeta,verbose) if nBeta > 1 : raise SystemExit('ERROR in control file: nBeta > 1. For polar sweep in beta exchange pitch-axis and use aoa') - + if iListAOA == -1 : raise SystemExit('ERROR in control file: phi and alpha are missing. Polar sweep not defined') alpha,nAalpha=readList(ctrl,iListAOA,verbose) ctrl[iListAOA]=' angles of attack : '+updatedAngleList+'\n' - - else: + + else: # phi was found in control file, so beta must not be there if iListBeta > -1: raise SystemExit('ERROR in control file: both phi and beta specified. Polar sweep not defined ') @@ -616,8 +616,8 @@ def updatedControlFile(ctrl,nc,parAngle,ctrlFile,verbose): # Check now if alpha appears if iListAOA == -1 : # phi found in control file, but alpha is missing, so it is a polar-sweep in phi with alpha=0 - polarSweepType=3 ; - polarVar='phi' ; alpha =[0.0] ; nAalpha=1 + polarSweepType=3 ; + polarVar='phi' ; alpha =[0.0] ; nAalpha=1 else: # @@ -630,7 +630,7 @@ def updatedControlFile(ctrl,nc,parAngle,ctrlFile,verbose): phi,nPhi=readList(ctrl,iListPhi,verbose) if nPhi > 1: ctrl[iListPhi]=' roll angles : '+updatedAngleList+'\n' - + # Prepare a backup of control file shutil.copy2(ctrlFile, ctrlFile+'.bck') @@ -650,7 +650,7 @@ def retrievePhysicalData(b,n,polarSweepType,verbose): # scan the control file and retrieve physical data parameters and their location # Included are Mach and reynolds number (non-dim group) # Pref, rho_ref, Tref (ref group) -# --------------------------------------------------- +# --------------------------------------------------- # # physical data, needed for Mach ramp # @@ -673,7 +673,7 @@ def retrievePhysicalData(b,n,polarSweepType,verbose): keyWord='Reference pressure (in Pa)' pRef,iprPr=readParameter(b,n,keyWord,-1,verbose) if iprPr > -1 : - refParNo =refParNo + 1; + refParNo =refParNo + 1; keyWord='Reference density (in kg/m^3)' rhoRef,iprRho=readParameter(b,n,keyWord,-1,verbose) @@ -684,7 +684,7 @@ def retrievePhysicalData(b,n,polarSweepType,verbose): TRef,iprT=readParameter(b,n,keyWord,-1,verbose) if iprT > -1: refParNo =refParNo + 1; - + if refParNo == 3 : refParExist = True elif refParNo == 0 : @@ -695,7 +695,7 @@ def retrievePhysicalData(b,n,polarSweepType,verbose): if refParExist: sRefPar=[pRef,rhoRef,TRef] - refPar=map(float,sRefPar) + refPar=map(float,sRefPar) refParLoc=[iprPr,iprRho,iprT] # # Thermodynamic properties @@ -720,12 +720,12 @@ def retrievePhysicalData(b,n,polarSweepType,verbose): print(' gamma = '+str(thermoPar[0])+ ' Gas Const = '+str(thermoPar[1])+' T_freeStream = '+str(thermoPar[2])) - return nonDimNum,nonDimNumLoc,refParExist,refPar,refParLoc,thermoPar,thermoParLoc + return nonDimNum,nonDimNumLoc,refParExist,refPar,refParLoc,thermoPar,thermoParLoc def fMachIsentropic(Mach,Gamma): # Isentropic relation of Mach -# --------------------------------------------------- +# --------------------------------------------------- # fMach = 1.0 + (Gamma-1.0)/2.0*Mach*Mach; return fMach @@ -734,11 +734,11 @@ def fMachIsentropic(Mach,Gamma): def extractUy(filename,outFile,inDepVar,depVar,verbose): import os - import sys + import sys #--------------- read the file - + fc=open(filename,'r') data=fc.readlines() nc=size(data) @@ -750,11 +750,11 @@ def extractUy(filename,outFile,inDepVar,depVar,verbose): ivb=stringLocator('VARIABLES',data,nc,verbose) if ivb == -1: raise SystemExit('ERROR: failed to trace VARIABLES list in input file') - + izo=stringLocator('ZONE',data,nc,verbose) if izo == -1: raise SystemExit('ERROR: failed to trace ZONE list in input file') - + izo=izo-1 # last variables line print('list of variables traced between lines '+str(ivb)+' and ',str(izo)) @@ -793,7 +793,7 @@ def extractUy(filename,outFile,inDepVar,depVar,verbose): Nodes=int(data[inodes][i1:i2]) print('Nodes = ',str(Nodes)) # -# now map the whole matrix +# now map the whole matrix # i1=inodes+3 i2=i1+Nodes @@ -802,7 +802,7 @@ def extractUy(filename,outFile,inDepVar,depVar,verbose): ff=map(float,data[i][1:-1].split(' ')) X.append(ff[iX]) Y.append(ff[iY]) - + nP=len(X) #------ sorting by X @@ -843,8 +843,8 @@ def loadArray(Fin,nCol): data.append(dd) nd=nd+1; except ValueError: - pass # do nothing - + pass # do nothing + return data,nd def locateSteps(d,nd,nCol): @@ -854,10 +854,10 @@ def locateSteps(d,nd,nCol): eps=0.001 nColD=nCol-2 # cxbase and quality are not checked a=array(d) - dx=diff(a[:,0],n=1,axis=0) + dx=diff(a[:,0],n=1,axis=0) nStairs=[] for ic in range(1,nColD): - dy=diff(a[:,ic],n=1,axis=0) + dy=diff(a[:,ic],n=1,axis=0) dydx=dy/dx adydx=abs(dydx) madydx=adydx.mean(axis=0) @@ -867,7 +867,7 @@ def locateSteps(d,nd,nCol): iic=where(adydx 0: fst=open('stairs','w') @@ -879,7 +879,7 @@ def locateSteps(d,nd,nCol): refLine1= Headers[ic]+': Number of stairs identified: %i \n '%(nStairs[ic]) fst.write(refLine1) - fst.close() + fst.close() return nStairs,nStM def find_index(ar, eps): @@ -939,7 +939,7 @@ def testComponentSum(cbdOutput,verbose): else: corrDataLine=' ' return nER,corrDataLine - + def retreiveNumPar(ctrl,nc,keyWord,parType,verbose): # get the parameter from the control file. Set it to unity if not found # parType: 1 -> integer 2 -> float @@ -963,12 +963,12 @@ def retreiveNumPar(ctrl,nc,keyWord,parType,verbose): # ----------------------------------------------------- def loadData(filename,delim): -# read a 2D data from a file, separated by delim +# read a 2D data from a file, separated by delim # (may be , (comma) or ' ' (space ) # # do array(dout) (in calling) to obtain result as an array (numpy imported) # dout=loadData(filename,delim) -# v=array(dout) +# v=array(dout) import csv # import numpy @@ -982,9 +982,9 @@ def loadData(filename,delim): data=[' '] for row in reader: try: - + data.append(map(float, row)) - except ValueError: + except ValueError: print('Line doesnt match map float: ') print(row) # check square matrix @@ -999,8 +999,8 @@ def loadData(filename,delim): dout.append(data[i]) #adout=array(dout) - + return dout - - + + diff --git a/SU2_PY/SU2/util/which.py b/SU2_PY/SU2/util/which.py index ec79e78b9b8..a6f1c6c6470 100644 --- a/SU2_PY/SU2/util/which.py +++ b/SU2_PY/SU2/util/which.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -33,11 +33,11 @@ def which(program): finds the location of the program_name if it is on PATH returns None if program cannot be found does not test for .exe extension on windows - + original source: http://stackoverflow.com/questions/377017/test-if-executable-exists-in-python """ - + fpath, fname = os.path.split(program) if fpath: if is_exe(program): @@ -54,6 +54,6 @@ def which(program): def is_exe(fpath): return os.path.isfile(fpath) and os.access(fpath, os.X_OK) - - - + + + diff --git a/SU2_PY/SU2_CFD.py b/SU2_PY/SU2_CFD.py index 1d71584278c..a977b396aec 100755 --- a/SU2_PY/SU2_CFD.py +++ b/SU2_PY/SU2_CFD.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -35,7 +35,7 @@ import pysu2 # imports the SU2 wrapped module # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): @@ -76,7 +76,7 @@ def main(): from mpi4py import MPI # use mpi4py for parallel run (also valid for serial) comm = MPI.COMM_WORLD else: - comm = 0 + comm = 0 # Initialize the corresponding driver of SU2, this includes solver preprocessing try: @@ -111,4 +111,4 @@ def main(): # this is only accessed if running from command prompt if __name__ == '__main__': - main() + main() diff --git a/SU2_PY/SU2_Nastran/pysu2_nastran.py b/SU2_PY/SU2_Nastran/pysu2_nastran.py index 6647c23b372..73dfb8c2df6 100644 --- a/SU2_PY/SU2_Nastran/pysu2_nastran.py +++ b/SU2_PY/SU2_Nastran/pysu2_nastran.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/SU2_PY/change_version_number.py b/SU2_PY/change_version_number.py index 715bcbf996a..324c46ac692 100755 --- a/SU2_PY/change_version_number.py +++ b/SU2_PY/change_version_number.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file change_version_number.py # \brief Python script for updating the version number of the SU2 suite. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -46,9 +46,9 @@ oldvers_q= r'7.5.0 \"Blackbird\"' newvers = str(options.version) + ' "' + str(options.releasename) + '"' newvers_q= str(options.version) + ' \\"' + str(options.releasename) + '\\"' -#oldvers = 'Copyright 2012-2022, SU2' +#oldvers = 'Copyright 2012-2023, SU2' #oldvers_q = oldvers -#newvers = 'Copyright 2012-2022, SU2' +#newvers = 'Copyright 2012-2023, SU2' #newvers_q = newvers if sys.version_info[0] > 2: @@ -81,7 +81,7 @@ f.close() print(filelist) -# Prompt user before continuing +# Prompt user before continuing yorn = '' while(not yorn.lower()=='y' and not options.yes): yorn = raw_input('Replace %s with %s and %s with %s in the listed files? [Y/N]: '%(oldvers,newvers, oldvers_q, newvers_q)) diff --git a/SU2_PY/compute_multipoint.py b/SU2_PY/compute_multipoint.py index 32966f00b89..fbaadbfc0c5 100755 --- a/SU2_PY/compute_multipoint.py +++ b/SU2_PY/compute_multipoint.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU diff --git a/SU2_PY/compute_polar.py b/SU2_PY/compute_polar.py index 4f0d5712cf7..5e592aee4f3 100755 --- a/SU2_PY/compute_polar.py +++ b/SU2_PY/compute_polar.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU diff --git a/SU2_PY/compute_stability.py b/SU2_PY/compute_stability.py index cf7b19d72b2..be1256a6f67 100755 --- a/SU2_PY/compute_stability.py +++ b/SU2_PY/compute_stability.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU diff --git a/SU2_PY/compute_uncertainty.py b/SU2_PY/compute_uncertainty.py index a55f0ccee2a..11f907d7d3c 100755 --- a/SU2_PY/compute_uncertainty.py +++ b/SU2_PY/compute_uncertainty.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -116,7 +116,7 @@ def main(): # run su2 info = SU2.run.CFD(konfig) ztate.update(info) - + # Solution merging konfig.SOLUTION_FILENAME = konfig.RESTART_FILENAME info = SU2.run.merge(konfig) diff --git a/SU2_PY/config_gui.py b/SU2_PY/config_gui.py index 0f7caf1c82b..a2d947f9ab9 100755 --- a/SU2_PY/config_gui.py +++ b/SU2_PY/config_gui.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -40,7 +40,7 @@ class YesNoBox(wx.CheckBox): '''The regular checkbox returns True or False, this one returns YES or NO to match the SU2 config format.''' - + def __init__(self, parent, *args, **kwargs): wx.CheckBox.__init__(self, parent, *args, **kwargs) @@ -184,7 +184,7 @@ def __init__(self,option_data): menuBar.Append(m_file, "&File") self.SetMenuBar(menuBar) self.CreateStatusBar() - + # Specify which functions to call when stuff is changed self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.list_click, self.list_ctrl) self.Bind(wx.EVT_MENU, self.OnSave, m_save) @@ -231,7 +231,7 @@ def OnSave(self,event): f = open(outfile,'w') for category,optlist in self.ctrldict.items(): - f.write('%% %s \n'%category) + f.write('%% %s \n'%category) for option in optlist: value = option.GetValue() if not value=="": @@ -249,7 +249,7 @@ def OnOpen(self,event): cfgfile = open(infile,'r') infiledict = {} lines = cfgfile.readlines() - for line in lines: + for line in lines: if (line[0]=='%' or line.find('=')==-1): # Skip lines w/o = sign continue else: # Get value @@ -278,9 +278,9 @@ def list_click(self, event): self.right_panel.ScrollChildIntoView(self.lastctrl) self.right_panel.ScrollChildIntoView(self.optlabels[category]) - + def prepare_data(): - """ Method to get configuration data from source files. + """ Method to get configuration data from source files. Outputs a dictionary of categories as keys and lists of config_options as values """ @@ -294,7 +294,7 @@ def prepare_data(): sys.exit('Could not find cpp file, please check that su2_basedir is set correctly in config_gui.py') if not os.path.isfile(config_hpp): sys.exit('Could not find hpp file, please check that su2_basedir is set correctly in config_gui.py') - + # Run the parser option_list = parse_config(config_cpp, config_hpp) @@ -310,10 +310,10 @@ def prepare_data(): if __name__=="__main__": # Read source files, get option data - option_data = prepare_data() - + option_data = prepare_data() + # Launch GUI - app = wx.App(None) - frame = config_gui(option_data) + app = wx.App(None) + frame = config_gui(option_data) frame.Show() app.MainLoop() diff --git a/SU2_PY/continuous_adjoint.py b/SU2_PY/continuous_adjoint.py index 7e24facc3bc..929c620fa3b 100755 --- a/SU2_PY/continuous_adjoint.py +++ b/SU2_PY/continuous_adjoint.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file continuous_adjoint.py # \brief Python script for continuous adjoint computation using the SU2 suite. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -31,11 +31,11 @@ import SU2 # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): - + # Command Line Options parser=OptionParser() parser.add_option("-f", "--file", dest="filename", @@ -45,35 +45,35 @@ def main(): parser.add_option("-c", "--compute", dest="compute", default="True", help="COMPUTE direct and adjoint problem", metavar="COMPUTE") parser.add_option("-s", "--step", dest="step", default=1E-4, - help="DOT finite difference STEP", metavar="STEP") + help="DOT finite difference STEP", metavar="STEP") parser.add_option("-z", "--zones", dest="nzones", default="1", help="Number of Zones", metavar="ZONES") - + (options, args)=parser.parse_args() options.partitions = int( options.partitions ) options.step = float( options.step ) options.compute = options.compute.upper() == 'TRUE' options.nzones = int( options.nzones ) - + continuous_adjoint( options.filename , options.partitions , options.compute , - options.step , + options.step , options.nzones ) - + #: def main() # ------------------------------------------------------------------- -# Continuous Adjoint +# Continuous Adjoint # ------------------------------------------------------------------- -def continuous_adjoint( filename , - partitions = 0 , +def continuous_adjoint( filename , + partitions = 0 , compute = True , step = 1e-4 , nzones = 1 ): - + # Config config = SU2.io.Config(filename) config.NUMBER_PART = partitions @@ -81,37 +81,37 @@ def continuous_adjoint( filename , # State state = SU2.io.State() - + # Force CSV output in order to compute gradients - + if not 'OUTPUT_FILES' in config: config['OUTPUT_FILES'] = ['RESTART'] if not 'SURFACE_CSV' in config['OUTPUT_FILES']: config['OUTPUT_FILES'].append('SURFACE_CSV') - + # check for existing files if not compute: config.RESTART_SOL = 'YES' state.find_files(config) else: state.FILES.MESH = config.MESH_FILENAME - + # Direct Solution if compute: - info = SU2.run.direct(config) + info = SU2.run.direct(config) state.update(info) SU2.io.restart2solution(config,state) # Adjoint Solution - # Run all-at-once + # Run all-at-once if compute: info = SU2.run.adjoint(config) state.update(info) info = SU2.run.projection(config,state, step) state.update(info) - + return state #: continuous_adjoint() @@ -120,32 +120,32 @@ def continuous_adjoint( filename , # Alternate Forumulation # ------------------------------------------------------------------- -def continuous_design( filename , - partitions = 0 , +def continuous_design( filename , + partitions = 0 , compute = True , step = 1e-4 ): - - # TODO: + + # TODO: # step - + # Config config = SU2.io.Config(filename) config.NUMBER_PART = partitions ADJ_NAME = config.OBJECTIVE_FUNCTION - + # State state = SU2.io.State() - + # check for existing files if not compute: state.find_files(config) else: - state.FILES.MESH = config.MESH_FILENAME - + state.FILES.MESH = config.MESH_FILENAME + # Adjoint Gradient grads = SU2.eval.grad( ADJ_NAME, 'CONTINUOUS_ADJOINT', config, state ) - + return state diff --git a/SU2_PY/convert_to_csv.py b/SU2_PY/convert_to_csv.py index 5a064673eb8..8be6a36d0c4 100755 --- a/SU2_PY/convert_to_csv.py +++ b/SU2_PY/convert_to_csv.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -47,7 +47,7 @@ if not line: break - line = line.split() + line = line.split() for i, val in enumerate(line): outfile.write(val.strip()) if i != len(line)-1: diff --git a/SU2_PY/direct_differentiation.py b/SU2_PY/direct_differentiation.py index 3e17188ec63..7f2fe9908d2 100755 --- a/SU2_PY/direct_differentiation.py +++ b/SU2_PY/direct_differentiation.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file direct_differentiation.py # \brief Python script for doing the direct differentiation computation using the SU2 suite. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -32,11 +32,11 @@ import SU2 # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): - + parser = OptionParser() parser.add_option("-f", "--file", dest="filename", help="read config from FILE", metavar="FILE") @@ -51,7 +51,7 @@ def main(): options.partitions = int( options.partitions ) options.quiet = options.quiet.upper() == 'TRUE' options.nzones = int( options.nzones ) - + direct_differentiation( options.filename , options.partitions , options.quiet , @@ -72,10 +72,10 @@ def direct_differentiation( filename , config.NUMBER_PART = partitions config.NZONES = int(nzones) config["DIRECT_DIFF"] = 'DESIGN_VARIABLES' - - if quiet: + + if quiet: config.CONSOLE = 'CONCISE' - + # State state = SU2.io.State() state.find_files(config) @@ -86,7 +86,7 @@ def direct_differentiation( filename , if group in config.HISTORY_OUTPUT: if SU2.io.historyOutFields[fields]['TYPE'] == 'D_COEFFICIENT': foundDerivativeField = True - + if not foundDerivativeField: sys.exit('No derivative field found in HISTORY_OUTPUT') @@ -117,7 +117,7 @@ def direct_differentiation( filename , # Direct Differentiation Gradients SU2.eval.gradients.directdiff(config,state) - + return state #: finite_differences() diff --git a/SU2_PY/discrete_adjoint.py b/SU2_PY/discrete_adjoint.py index 55a857b4b3d..9c5d8245c3f 100755 --- a/SU2_PY/discrete_adjoint.py +++ b/SU2_PY/discrete_adjoint.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file discrete_adjoint.py # \brief Python script for doing the discrete adjoint computation using the SU2 suite. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -31,11 +31,11 @@ import SU2 # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): - + # Command Line Options parser=OptionParser() parser.add_option("-f", "--file", dest="filename", @@ -143,14 +143,14 @@ def discrete_adjoint( filename , # ------------------------------------------------------------------- def discrete_design( filename , - partitions = 0 , + partitions = 0 , compute = True , step = 1e-4 , validation = False): - - # TODO: + + # TODO: # step - + # Config config = SU2.io.Config(filename) config.NUMBER_PART = partitions @@ -158,7 +158,7 @@ def discrete_design( filename , config['GRADIENT_METHOD'] = 'DISCRETE_ADJOINT' ADJ_NAME = config.OBJECTIVE_FUNCTION - + # State state = SU2.io.State() @@ -173,7 +173,7 @@ def discrete_design( filename , # grad_directdiff = SU2.eval.gradients.directdiff(konfig,state_directdiff) # state['FILES']['DIRECT'] = 'DIRECTDIFF/' + state_directdiff['FILES']['DIRECT'] # state['FUNCTIONS'] = state_directdiff['FUNCTIONS'] - + # check for existing files if any([not compute, validation]) : state.find_files(config) @@ -198,7 +198,7 @@ def discrete_design( filename , # print(str(idv) + " " + str(grads[idv]) + " " + str(grads_dd[idv]) + " " + str((this_err-1)*100) + ' %') - + return state diff --git a/SU2_PY/finite_differences.py b/SU2_PY/finite_differences.py index cf4ffcecda5..9cd21e29e99 100755 --- a/SU2_PY/finite_differences.py +++ b/SU2_PY/finite_differences.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file finite_differences.py # \brief Python script for doing the finite differences computation using the SU2 suite. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -31,11 +31,11 @@ import SU2 # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): - + parser = OptionParser() parser.add_option("-f", "--file", dest="filename", help="read config from FILE", metavar="FILE") @@ -59,11 +59,11 @@ def main(): # ------------------------------------------------------------------- -# Finite Differences Function +# Finite Differences Function # ------------------------------------------------------------------- -def finite_differences( filename , - partitions = 0 , +def finite_differences( filename , + partitions = 0 , quiet = False , nzones = 1 ): # Config @@ -71,9 +71,9 @@ def finite_differences( filename , config.NUMBER_PART = partitions config.NZONES = int( nzones ) - if quiet: + if quiet: config.CONSOLE = 'CONCISE' - + # State state = SU2.io.State() state.find_files(config) @@ -92,10 +92,10 @@ def finite_differences( filename , if not os.path.isfile(restart_filename): # throw, if restart files does not exist sys.exit("Error: Restart file <" + restart_filename + "> not found.") state['FILES']['RESTART_FILE_2'] =restart_filename - + # Finite Difference Gradients SU2.eval.gradients.findiff(config,state) - + return state #: finite_differences() diff --git a/SU2_PY/fsi_computation.py b/SU2_PY/fsi_computation.py index 84bc07d200a..69625796592 100644 --- a/SU2_PY/fsi_computation.py +++ b/SU2_PY/fsi_computation.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/SU2_PY/merge_solution.py b/SU2_PY/merge_solution.py index 52539f71db8..efe1ca7e04b 100755 --- a/SU2_PY/merge_solution.py +++ b/SU2_PY/merge_solution.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file merge_solution.py # \brief Python script for merging of the solution files. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -29,7 +29,7 @@ import SU2 # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): @@ -42,25 +42,25 @@ def main(): (options, args)=parser.parse_args() options.partitions = int(options.partitions) - + merge_solution( options.filename , options.partitions ) # ------------------------------------------------------------------- -# MERGE SOLUTION +# MERGE SOLUTION # ------------------------------------------------------------------- def merge_solution( filename , partitions = -1 ): - + config = SU2.io.Config(filename) - + if partitions > -1 : config.NUMBER_PART = partitions - + SU2.run.merge(config) - + #: def merge_solution() if __name__ == '__main__': diff --git a/SU2_PY/mesh_deformation.py b/SU2_PY/mesh_deformation.py index 9f6ffe0da18..78a7e39cee7 100755 --- a/SU2_PY/mesh_deformation.py +++ b/SU2_PY/mesh_deformation.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file mesh_deformation.py # \brief Python script for doing the parallel deformation using SU2_DEF. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -31,11 +31,11 @@ import SU2 # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): - + # Command Line Options parser = OptionParser() parser.add_option("-f", "--file", dest="filename", @@ -45,34 +45,34 @@ def main(): (options, args)=parser.parse_args() options.partitions = int( options.partitions ) - + # Run Parallel Comutation mesh_deformation ( options.filename , options.partitions ) #: def main() - + # ------------------------------------------------------------------- # Parallel Computation Function # ------------------------------------------------------------------- def mesh_deformation( filename , partitions = 2 ): - + # Config config = SU2.io.Config(filename) config.NUMBER_PART = partitions config.DV_VALUE_NEW = config.DV_VALUE - + # State state = SU2.io.State() - + state.FILES.MESH = config.MESH_FILENAME # Deformation info = SU2.run.DEF(config) state.update(info) - + return state #: mesh_deformation() @@ -85,5 +85,5 @@ def mesh_deformation( filename , # this is only accessed if running from command prompt if __name__ == '__main__': main() - - + + diff --git a/SU2_PY/package_tests.py b/SU2_PY/package_tests.py index 3f92929ff23..ebe16f16b03 100755 --- a/SU2_PY/package_tests.py +++ b/SU2_PY/package_tests.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -57,7 +57,7 @@ def main(): - + #io0() # working #io1() #level0() # working @@ -66,100 +66,100 @@ def main(): #level3() # working #level4() # working #level5() # working - + print('DONE!') - + def io0(): folder='test_io0'; pull='config_NACA0012.cfg'; link='mesh_NACA0012.su2' with SU2.io.redirect_folder(folder,pull,link): - + config_name = 'config_NACA0012.cfg' config = SU2.io.Config(filename=config_name) - + print(config) config.ADAPT_CYCLES config['ADAPT_CYCLES'] - + config.dump('out.cfg') - + konfig = copy.deepcopy(config) konfig['TASKS'] = ['TEST'] konfig['NUMBER_PART'] = 0 - + config_diff = config.diff(konfig) - + print(config_diff) - - + + wait = 0 - + def io1(): - + option = SU2.io.config.MathProblem() - + option = 'DIRECT' - + wait = 0 def level0(): folder='test_level0'; pull='config_NACA0012.cfg'; link='mesh_NACA0012.su2' with SU2.io.redirect_folder(folder,pull,link): - + # Setup config_name = 'config_NACA0012.cfg' config = SU2.io.Config(config_name) config.EXT_ITER = 9 config.NUMBER_PART = 2 - + SU2.run.CFD(config) - + def level1(): folder='test_level1'; pull='config_NACA0012.cfg'; link='mesh_NACA0012.su2' with SU2.io.redirect_folder(folder,pull,link): - + # Setup config_name = 'config_NACA0012.cfg' config = SU2.io.Config(config_name) config['NUMBER_PART'] = 2 config['EXT_ITER'] = 9 - + state = SU2.io.State() - + # Deformation dv_new = [0.002]*38 info = SU2.run.deform(config,dv_new) state.update(info) - + # Direct Solution - info = SU2.run.direct(config) + info = SU2.run.direct(config) state.update(info) SU2.io.restart2solution(config,state) - + # Adjoint Solution info = SU2.run.adjoint(config) state.update(info) SU2.io.restart2solution(config,state) - + # Gradient Projection info = SU2.run.projection(config) state.update(info) - + print(state) - + SU2.io.save_data('state.pkl',state) data = SU2.io.load_data('state.pkl') - + SU2.io.save_data('config.pkl',config) data = SU2.io.load_data('config.pkl') - + wait = 0 - + def level2(): folder='test_level2'; pull='config_NACA0012.cfg'; link='mesh_NACA0012.su2' with SU2.io.redirect_folder(folder,pull,link): - + # Setup config_name = 'config_NACA0012.cfg' config = SU2.io.Config(config_name) @@ -168,40 +168,40 @@ def level2(): dv_new = [0.0]*38 #dv_new[10] = 0.05 config.unpack_dvs(dv_new) - + state = SU2.io.State() - + #with SU2.io.redirect.folder(folder='JOB_001',link='mesh_NACA0012.su2'): # grad = SU2.eval.grad( 'DRAG', 'FINDIFF', config, state ) - + with SU2.io.redirect_folder(folder='JOB_001',link='mesh_NACA0012.su2'): func = SU2.eval.func( 'LIFT', config, state ) grads = SU2.eval.grad( 'LIFT', 'CONTINUOUS_ADJOINT', config, state ) - + with SU2.io.redirect_folder(folder='JOB_001',link='mesh_NACA0012.su2'): func = SU2.eval.func( 'DRAG', config, state ) # will not run direct grads = SU2.eval.grad( 'LIFT', 'CONTINUOUS_ADJOINT', config, state ) # will not run adjoint grads = SU2.eval.grad( 'DRAG', 'CONTINUOUS_ADJOINT', config, state ) # will run adjoint - + wait = 0 - + def level3(): folder='test_level3'; pull='config_NACA0012.cfg'; link='mesh_NACA0012.su2' with SU2.io.redirect_folder(folder,pull,link): - + # Setup config_name = 'config_NACA0012.cfg' config = SU2.io.Config(config_name) - config['NUMBER_PART'] = 2 + config['NUMBER_PART'] = 2 config['EXT_ITER'] = 9 - + # initialize design state state = SU2.io.State() state.find_files(config) - + # start design design = SU2.eval.Design(config,state) - + # run design with dv change dv_new = [0.0]*38 vals = design.obj_f(dv_new) @@ -212,30 +212,30 @@ def level3(): vals = design.con_dcieq(dv_new) vals = design.func('LIFT') vals = design.grad('LIFT','CONTINUOUS_ADJOINT') - + SU2.io.save_data('design.pkl',design) data = SU2.io.load_data('design.pkl') - + wait = 0 - + def level4(): folder='test_level4'; pull='config_NACA0012.cfg'; link='mesh_NACA0012.su2' - with SU2.io.redirect_folder(folder,pull,link): - + with SU2.io.redirect_folder(folder,pull,link): + # Setup config_name = 'config_NACA0012.cfg' config = SU2.io.Config(config_name) - config['NUMBER_PART'] = 2 + config['NUMBER_PART'] = 2 config['EXT_ITER'] = 9 config.CONSOLE = 'QUIET' - + # initialize design state state = SU2.io.State() state.find_files(config) - + # initialize project project = SU2.opt.Project(config,state) - + # run project with dv changes dv_new = [0.0]*38 vals = project.obj_f(dv_new) @@ -243,65 +243,65 @@ def level4(): dv_new = [-0.005]*38 vals = project.obj_f(dv_new) - + dv_new = [0.0]*38 dv_new[9] = -0.02 vals = project.obj_f(dv_new) - + dv_new = [0.005]*38 vals = project.obj_f(dv_new) # will not rerun solutions - + SU2.io.save_data('project.pkl',project) data = SU2.io.load_data('project.pkl') - + data = project.data - + wait = 0 print("Done!") - + def level5(): folder='test_level5'; pull='config_NACA0012.cfg'; link='mesh_NACA0012.su2' - with SU2.io.redirect_folder(folder,pull,link): - + with SU2.io.redirect_folder(folder,pull,link): + # Setup config_name = 'config_NACA0012.cfg' config = SU2.io.Config(config_name) - config['NUMBER_PART'] = 2 + config['NUMBER_PART'] = 2 config['EXT_ITER'] = 9 config['CONSOLE'] = 'CONCISE' - + # set optimization problem obj = {} obj['DRAG'] = {'SCALE':1.e-2} - + cons = {} cons['EQUALITY'] = {} cons['INEQUALITY'] = {} cons['INEQUALITY']['LIFT'] = {'SIGN':'>','VALUE':0.328188,'SCALE':1e-1} cons['INEQUALITY']['MOMENT_Z'] = {'SIGN':'>','VALUE':0.034068,'SCALE':1e-2} - + def_dv = config.DEFINITION_DV n_dv = sum(def_dv['KIND']) def_dv['SCALE'] = [1.e0]*n_dv - + config.OPT_OBJECTIVE = obj config.OPT_CONSTRAINT = cons - + # initialize design state state = SU2.io.State() state.find_files(config) - + # initialize project project = SU2.opt.Project(config,state) - + # optimization setup x0 = [0.0]*n_dv xb = [] #[[-0.02,0.02]]*n_dv its = 20 - + # optimize SU2.opt.SLSQP(project,x0,xb,its) - + wait = 0 if __name__ == '__main__': diff --git a/SU2_PY/parallel_computation.py b/SU2_PY/parallel_computation.py index 4ef5f056073..3714c093cc6 100755 --- a/SU2_PY/parallel_computation.py +++ b/SU2_PY/parallel_computation.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file parallel_computation.py # \brief Python script for doing the continuous adjoint computation using the SU2 suite. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -31,11 +31,11 @@ import SU2 # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): - + # Command Line Options parser=OptionParser() parser.add_option("-f", "--file", dest="filename", @@ -44,18 +44,18 @@ def main(): help="number of PARTITIONS", metavar="PARTITIONS") parser.add_option("-c", "--compute", dest="compute", default="True", help="COMPUTE direct and adjoint problem", metavar="COMPUTE") - + (options, args)=parser.parse_args() options.partitions = int( options.partitions ) options.compute = options.compute.upper() == 'TRUE' if options.filename == None: raise Exception("No config file provided. Use -f flag") - + parallel_computation( options.filename , options.partitions , options.compute ) - + #: def main() @@ -63,29 +63,29 @@ def main(): # CFD Solution # ------------------------------------------------------------------- -def parallel_computation( filename , - partitions = 0 , +def parallel_computation( filename , + partitions = 0 , compute = True ): - + # Config config = SU2.io.Config(filename) config.NUMBER_PART = partitions - + if config.SOLVER == "MULTIPHYSICS": print("Parallel computation script not compatible with MULTIPHYSICS solver.") exit(1) # State state = SU2.io.State() - + # check for existing files if not compute: state.find_files(config) else: state.FILES.MESH = config.MESH_FILENAME - + # CFD Solution (direct or adjoint) - info = SU2.run.CFD(config) + info = SU2.run.CFD(config) state.update(info) # Solution merging @@ -95,7 +95,7 @@ def parallel_computation( filename , config.SOLUTION_ADJ_FILENAME = config.RESTART_ADJ_FILENAME info = SU2.run.merge(config) state.update(info) - + return state #: parallel_computation() diff --git a/SU2_PY/parallel_computation_fsi.py b/SU2_PY/parallel_computation_fsi.py index fbb5c3a903d..739dfd3995c 100755 --- a/SU2_PY/parallel_computation_fsi.py +++ b/SU2_PY/parallel_computation_fsi.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file parallel_computation_fsi.py # \brief Python script for running FSI simulations using the SU2 suite. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -31,11 +31,11 @@ import SU2 # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): - + # Command Line Options parser=OptionParser() parser.add_option("-f", "--file", dest="filename", @@ -44,18 +44,18 @@ def main(): help="number of PARTITIONS", metavar="PARTITIONS") parser.add_option("-c", "--compute", dest="compute", default="True", help="COMPUTE direct and adjoint problem", metavar="COMPUTE") - + (options, args)=parser.parse_args() options.partitions = int( options.partitions ) options.compute = options.compute.upper() == 'TRUE' if options.filename == None: raise Exception("No config file provided. Use -f flag") - + parallel_computation( options.filename , options.partitions , options.compute ) - + #: def main() @@ -63,37 +63,37 @@ def main(): # CFD Solution # ------------------------------------------------------------------- -def parallel_computation( filename , - partitions = 0 , +def parallel_computation( filename , + partitions = 0 , compute = True ): - + # Config config = SU2.io.Config(filename) config.NUMBER_PART = partitions - + # State state = SU2.io.State() - + # check for existing files if not compute: state.find_files(config) else: state.FILES.MESH = config.MESH_FILENAME - + # CFD Solution (direct or adjoint) - info = SU2.run.CFD(config) + info = SU2.run.CFD(config) state.update(info) # Solution merging if config.SOLVER == 'FEM_ELASTICITY': - config.SOLUTION_FILENAME = config.RESTART_FILENAME + config.SOLUTION_FILENAME = config.RESTART_FILENAME elif config.SOLVER == 'FLUID_STRUCTURE_INTERACTION': config.SOLUTION_FILENAME = config.RESTART_FILENAME - config.SOLUTION_FILENAME = config.RESTART_FILENAME + config.SOLUTION_FILENAME = config.RESTART_FILENAME info = SU2.run.merge(config) state.update(info) - + return state #: parallel_computation() diff --git a/SU2_PY/parse_config.py b/SU2_PY/parse_config.py index dba492e8faa..94ead9ffce7 100755 --- a/SU2_PY/parse_config.py +++ b/SU2_PY/parse_config.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file parse_config.py # \brief Builds a worksheet of all SU2.cpp options @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -93,7 +93,7 @@ def parse_config(config_cpp, config_hpp): # Read the Options section of config_structure.cpp into a list of strings lines = [] f = open(config_cpp,'r') - while(1): + while(1): s = f.readline() if s.find('BEGIN_CONFIG_OPTIONS')>-1: break @@ -149,7 +149,7 @@ def parse_config(config_cpp, config_hpp): values = scheme_list print("Convect Option: ", name) elif option_type == 'AddEnumListOption': - values = ['Enum list'] + values = ['Enum list'] elif option_type == 'AddDVParamOption': values = ['DV Param'] @@ -179,7 +179,7 @@ def parse_config(config_cpp, config_hpp): default='NO' elif default=='true': default='YES' - + # Check for a description tag description = "No description" if lines[j-1].find('DESCRIPTION')>-1: @@ -243,7 +243,7 @@ def make_spreadsheet(filename, option_list): sys.exit('Could not find cpp file, please check that su2_basedir is set correctly in parse_config.py') if not os.path.isfile(config_hpp): sys.exit('Could not find hpp file, please check that su2_basedir is set correctly in parse_config.py') - + # Run the parser option_list = parse_config(config_cpp, config_hpp) diff --git a/SU2_PY/profiling.py b/SU2_PY/profiling.py index f9f45f68523..4e4828b0560 100755 --- a/SU2_PY/profiling.py +++ b/SU2_PY/profiling.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -71,7 +71,7 @@ # Sort the pieces to make it pretty fracs[val], labels[val],calls[val] = (list(x) for x in zip(*sorted(zip(fracs[val], labels[val], calls[val])))) - + # Call to make the pie chart pie_wedge_collection = ax.pie(fracs[val], explode=explode[val], labels=labels[val],labeldistance=1.05, autopct='%1.1f%%', shadow=False, startangle=0); for pie_wedge in pie_wedge_collection[0]: @@ -91,7 +91,7 @@ ax.set_ylabel('Calls') fig.autofmt_xdate() fig.subplots_adjust(wspace=0.5) - + # Save a figure for this group filename = 'profile_group_' + str(val) + '.png' fig.savefig(filename,format='png') diff --git a/SU2_PY/pySU2/Makefile.am b/SU2_PY/pySU2/Makefile.am index 210c5df9341..7bcddb3489e 100644 --- a/SU2_PY/pySU2/Makefile.am +++ b/SU2_PY/pySU2/Makefile.am @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -61,15 +61,15 @@ PY_LIB = ${PYTHON_LIBS} \ -L${PYTHON_EXEC_PREFIX}/lib \ -L/usr/lib \ -L/usr/lib/x86_64-linux-gnu - + SWIG_INCLUDE = ${PY_INCLUDE} SUBDIR_EXEC = ${bindir} -all: - ${MAKE} real; - +all: + ${MAKE} real; + # List the dependencies real: ${SWIG_SO_REAL} @@ -104,11 +104,11 @@ pySU2_LD_FLAGS = ${SU2SOLVER_LIB} @su2_externals_LIBS@ ${PY_LIB} # Set the command line flags to use for compilation pySU2_CC_FLAGS = ${CPPFLAGS} ${EXTRA_CC_FLAGS} @su2_externals_INCLUDES@ ${pySU2_INCLUDE} -SO_LINK_FLAGS= -fPIC -shared +SO_LINK_FLAGS= -fPIC -shared # Default rule for creating the _wrap.cxx file from the .i file ${SWIG_WRAP_REAL}.cxx: ${SU2SOLVER_LIB} ${SWIG_SRC} - ${SWIG} ${CPPFLAGS} -Wall ${SWIG_INCLUDE} -outdir ./ -o ${SWIG_WRAP_REAL}.cxx -c++ -python ${SWIG_SRC} + ${SWIG} ${CPPFLAGS} -Wall ${SWIG_INCLUDE} -outdir ./ -o ${SWIG_WRAP_REAL}.cxx -c++ -python ${SWIG_SRC} #Default rule for compiling the .o files ${SWIG_WRAP_REAL}.o: ${SWIG_WRAP_REAL}.cxx @@ -122,7 +122,7 @@ ${SWIG_SO_REAL}: ${SWIG_WRAP_REAL}.o .SECONDARY: -clean: +clean: rm -f ${CURRENT_DIR}/*.cxx rm -f ${CURRENT_DIR}/*.${SO_EXT} rm -f ${CURRENT_DIR}/*.o diff --git a/SU2_PY/pySU2/pySU2.i b/SU2_PY/pySU2/pySU2.i index d54f03501ca..a7431611e15 100644 --- a/SU2_PY/pySU2/pySU2.i +++ b/SU2_PY/pySU2/pySU2.i @@ -7,17 +7,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -42,7 +42,7 @@ threads="1" #include "../../SU2_CFD/include/drivers/CSinglezoneDriver.hpp" #include "../../SU2_CFD/include/drivers/CMultizoneDriver.hpp" #include "../../SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp" - + %} // ----------- USED MODULES ------------ diff --git a/SU2_PY/pySU2/pySU2ad.i b/SU2_PY/pySU2/pySU2ad.i index f93d3f099de..e4f816b5cc9 100644 --- a/SU2_PY/pySU2/pySU2ad.i +++ b/SU2_PY/pySU2/pySU2ad.i @@ -7,17 +7,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU diff --git a/SU2_PY/set_ffd_design_var.py b/SU2_PY/set_ffd_design_var.py index c114f16ac03..5cf9d6fdfbf 100755 --- a/SU2_PY/set_ffd_design_var.py +++ b/SU2_PY/set_ffd_design_var.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -62,7 +62,7 @@ options.dim = int(options.dimension) if options.dim == 3: - + print(" ") print("% FFD_CONTROL_POINT (X)") @@ -82,7 +82,7 @@ print(" ") print("% FFD_CONTROL_POINT (Y)") - + iVariable = 0 dvList = "DEFINITION_DV= " for kIndex in range(options.kOrder): @@ -99,7 +99,7 @@ print(" ") print("% FFD_CONTROL_POINT (Z)") - + iVariable = 0 dvList = "DEFINITION_DV= " for kIndex in range(options.kOrder): @@ -133,7 +133,7 @@ print(" ") print("% FFD_NACELLE (PHI)") - + iVariable = 0 dvList = "DEFINITION_DV= " for kIndex in range(options.kOrder): @@ -190,8 +190,8 @@ dvList = dvList + "( 16, " + str(options.scale) + " | " + options.marker + " | " dvList = dvList + options.ffd_id + ", " + str(iIndex) + ", " + str(jIndex) + " )" dvList = dvList + "; " - - + + print(dvList) diff --git a/SU2_PY/shape_optimization.py b/SU2_PY/shape_optimization.py index e56b7c41e9f..19bbdb7f693 100755 --- a/SU2_PY/shape_optimization.py +++ b/SU2_PY/shape_optimization.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file shape_optimization.py # \brief Python script for performing the shape optimization. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -31,7 +31,7 @@ import SU2 # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): @@ -54,13 +54,13 @@ def main(): (options, args)=parser.parse_args() - + # process inputs options.partitions = int( options.partitions ) options.quiet = options.quiet.upper() == 'TRUE' options.gradient = options.gradient.upper() options.nzones = int( options.nzones ) - + sys.stdout.write('\n-------------------------------------------------------------------------\n') sys.stdout.write('| ___ _ _ ___ |\n') sys.stdout.write('| / __| | | |_ ) Release 7.5.0 \"Blackbird\" |\n') @@ -73,7 +73,7 @@ def main(): sys.stdout.write('| The SU2 Project is maintained by the SU2 Foundation |\n') sys.stdout.write('| (http://su2foundation.org) |\n') sys.stdout.write('-------------------------------------------------------------------------\n') - sys.stdout.write('| Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) |\n') + sys.stdout.write('| Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) |\n') sys.stdout.write('| |\n') sys.stdout.write('| SU2 is free software; you can redistribute it and/or |\n') sys.stdout.write('| modify it under the terms of the GNU Lesser General Public |\n') @@ -96,7 +96,7 @@ def main(): options.optimization , options.quiet , options.nzones ) - + #: main() def shape_optimization( filename , @@ -112,7 +112,7 @@ def shape_optimization( filename , config.NZONES = int( nzones ) if quiet: config.CONSOLE = 'CONCISE' config.GRADIENT_METHOD = gradient - + its = int ( config.OPT_ITERATIONS ) # number of opt iterations bound_upper = float ( config.OPT_BOUND_UPPER ) # variable bound to be scaled by the line search bound_lower = float ( config.OPT_BOUND_LOWER ) # variable bound to be scaled by the line search @@ -125,7 +125,7 @@ def shape_optimization( filename , xb_low = [float(bound_lower)/float(relax_factor)]*n_dv # lower dv bound it includes the line search acceleration factor xb_up = [float(bound_upper)/float(relax_factor)]*n_dv # upper dv bound it includes the line search acceleration fa xb = list(zip(xb_low, xb_up)) # design bounds - + # State state = SU2.io.State() state.find_files(config) @@ -168,7 +168,7 @@ def shape_optimization( filename , # rename project file if projectname: shutil.move('project.pkl',projectname) - + return project #: shape_optimization() diff --git a/SU2_PY/topology_optimization.py b/SU2_PY/topology_optimization.py index a8fd8f96802..bc49cfe6d25 100755 --- a/SU2_PY/topology_optimization.py +++ b/SU2_PY/topology_optimization.py @@ -1,21 +1,21 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file topology_optimization.py # \brief Python script to drive SU2 in topology optimization. # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -47,7 +47,7 @@ obj_scale = 1/1.25e-3 # scale the objective so that it starts at 1-4 con_scale = 1/0.5 # 1 over upper bound (e.g. max volume) -var_scale = 1.0 # variable scale +var_scale = 1.0 # variable scale # maximum number of iterations maxJev_t = 1000 @@ -341,7 +341,7 @@ def update(self): bounds = np.array((lb,ub),float).transpose() ## 1st Phase: Run with "gray" filter settings ## -# get the constraint and function within some tolerance +# get the constraint and function within some tolerance line = "1: Gray filter (initialization)" print(line); logfile.write(line+"\n"); logfile.flush() @@ -361,7 +361,7 @@ def update(self): line = " Iter {:d}: f= {:f} h= {:e} r= {:f} nfev= {:d} njev= {:d}".\ format(itCount, obj._fval, obj._hval, obj._r, optimum.nfev, optimum.nit) print(line); logfile.write(line+"\n"); logfile.flush() - + if obj._hval > htol: # increase penalty obj.update() elif optimum.success: # check convergence diff --git a/SU2_PY/updateHistoryMap.py b/SU2_PY/updateHistoryMap.py index 49dfc382e7b..c13a252414a 100644 --- a/SU2_PY/updateHistoryMap.py +++ b/SU2_PY/updateHistoryMap.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file updateHistoryMap.py # \brief Python script for updating the historyMap.py file. @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -26,10 +26,10 @@ # License along with SU2. If not, see . import os, pprint -su2_home = os.environ['SU2_HOME'] +su2_home = os.environ['SU2_HOME'] -fileList = ['CFlowOutput.cpp', -'CFlowIncOutput.cpp', +fileList = ['CFlowOutput.cpp', +'CFlowIncOutput.cpp', 'CFlowCompOutput.cpp', 'CHeatOutput.cpp', 'CFlowCompFEMOutput.cpp', @@ -73,7 +73,7 @@ def parse_output(files): curOutputField = dict() name = 'D_' + field curOutputField['HEADER'] = 'd[' + outputFields[field]['HEADER'] + ']' - curOutputField['GROUP'] = 'D_' + outputFields[field]['GROUP'] + curOutputField['GROUP'] = 'D_' + outputFields[field]['GROUP'] curOutputField['TYPE'] = 'D_COEFFICIENT' curOutputField['DESCRIPTION'] = 'Derivative value' addedOutputFields[name] = curOutputField diff --git a/SU2_SOL/include/SU2_SOL.hpp b/SU2_SOL/include/SU2_SOL.hpp index e11a7e8e7e2..6caa6f858ec 100644 --- a/SU2_SOL/include/SU2_SOL.hpp +++ b/SU2_SOL/include/SU2_SOL.hpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/SU2_SOL/obj/Makefile.am b/SU2_SOL/obj/Makefile.am index 94b99d59ffb..f83376420d6 100644 --- a/SU2_SOL/obj/Makefile.am +++ b/SU2_SOL/obj/Makefile.am @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/SU2_SOL/src/SU2_SOL.cpp b/SU2_SOL/src/SU2_SOL.cpp index 7bb2afb7cb5..15d5c4b0d21 100644 --- a/SU2_SOL/src/SU2_SOL.cpp +++ b/SU2_SOL/src/SU2_SOL.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/TestCases/TestCase.py b/TestCases/TestCase.py index 96058193aaf..a1e5accd968 100644 --- a/TestCases/TestCase.py +++ b/TestCases/TestCase.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python ## \file TestCase.py # \brief Python class for automated regression testing of SU2 examples @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -89,7 +89,7 @@ def __init__(self,tag_in): self.no_restart = False # Indicate whether the new output is used - self.new_output = True + self.new_output = True # multizone problem self.multizone = False @@ -97,7 +97,7 @@ def __init__(self,tag_in): # The test condition. These must be set after initialization self.test_iter = 1 self.ntest_vals = 4 - self.test_vals = [] + self.test_vals = [] self.test_vals_aarch64 = [] self.cpu_arch = platform.processor() self.enabled_on_cpu_arch = ["x86_64", "aarch64"] @@ -127,7 +127,7 @@ def run_test(self): # Adjust the number of iterations in the config file if len(self.test_vals) != 0: - self.adjust_iter() + self.adjust_iter() # Check for disabling the restart if self.no_restart: @@ -217,7 +217,7 @@ def run_test(self): if iter_missing: passed = False - # Write the test results + # Write the test results #for j in output: # print(j) @@ -230,7 +230,7 @@ def run_test(self): else: print("%s: FAILED"%self.tag) print('Output for the failed case') - subprocess.call(['cat', logfilename]) + subprocess.call(['cat', logfilename]) print('execution command: %s' % shell_command) @@ -316,13 +316,13 @@ def run_filediff(self): if not timed_out and passed: # Compare files fromfile = self.reference_file - tofile = self.test_file + tofile = self.test_file # Initial value s.t. will fail if it does not get to diff step diff = '' try: fromdate = time.ctime(os.stat(fromfile).st_mtime) fromlines = open(fromfile, 'U').readlines() - try: + try: todate = time.ctime(os.stat(tofile).st_mtime) tolines = open(tofile, 'U').readlines() diff = list(difflib.unified_diff(fromlines, tolines, fromfile, tofile, fromdate, todate)) @@ -369,7 +369,7 @@ def run_opt(self): iter_missing = True start_solver = True - # Adjust the number of iterations in the config file + # Adjust the number of iterations in the config file self.adjust_opt_iter() self.adjust_test_data() @@ -442,7 +442,7 @@ def run_opt(self): if iter_missing: passed = False - # Write the test results + # Write the test results #for j in output: # print(j) @@ -451,7 +451,7 @@ def run_opt(self): else: print("%s: FAILED"%self.tag) print('Output for the failed case') - subprocess.call(['cat', logfilename]) + subprocess.call(['cat', logfilename]) print('execution command: %s' % shell_command) @@ -503,7 +503,7 @@ def run_geo(self): # if root, add flag to mpirun self.command.allow_mpi_as_root() - + # Assemble the shell command to run SU2 logfilename = '%s.log' % os.path.splitext(self.cfg_file)[0] shell_command = "%s %s > %s 2>&1" % (self.command.assemble(), self.cfg_file, logfilename) @@ -576,7 +576,7 @@ def run_geo(self): if iter_missing: passed = False - # Write the test results + # Write the test results #for j in output: # print(j) @@ -625,7 +625,7 @@ def run_def(self): timed_out = False iter_missing = True start_solver = True - + self.adjust_test_data() # if root, add flag to mpirun @@ -634,14 +634,14 @@ def run_def(self): # Assemble the shell command to run SU2 logfilename = '%s.log' % os.path.splitext(self.cfg_file)[0] shell_command = "%s %s > %s 2>&1" % (self.command.assemble(), self.cfg_file, logfilename) - + # Run SU2 workdir = os.getcwd() os.chdir(self.cfg_dir) print(os.getcwd()) start = datetime.datetime.now() process = subprocess.Popen(shell_command, shell=True) # This line launches SU2 - + # check for timeout while process.poll() is None: time.sleep(0.1) @@ -655,7 +655,7 @@ def run_def(self): pass timed_out = True passed = False - + # Examine the output f = open(logfilename,'r') output = f.readlines() @@ -676,7 +676,7 @@ def run_def(self): continue except IndexError: continue - + if iter_number == self.test_iter: # Found the iteration number we're checking for iter_missing = False if not len(self.test_vals)==len(data): # something went wrong... probably bad input @@ -692,38 +692,38 @@ def run_def(self): break else: iter_missing = True - + if not start_solver: passed = False - + if iter_missing: passed = False - - # Write the test results + + # Write the test results #for j in output: # print(j) - + if passed: print("%s: PASSED"%self.tag) else: print("%s: FAILED"%self.tag) print('Output for the failed case') subprocess.call(['cat', logfilename]) - + print('execution command: %s' % shell_command) - + if timed_out: print('ERROR: Execution timed out. timeout=%d sec'%self.timeout) - + if exceed_tol: print('ERROR: Difference between computed input and test_vals exceeded tolerance. TOL=%e'%self.tol) - + if not start_solver: print('ERROR: The code was not able to get to the "Begin solver" section.') - + if iter_missing: print('ERROR: The iteration number %d could not be found.'%self.test_iter) - + print('test_iter=%d' % self.test_iter) print_vals(self.test_vals, name="test_vals (stored)") @@ -731,13 +731,13 @@ def run_def(self): print_vals(sim_vals, name="sim_vals (computed)") print_vals(delta_vals, name="delta_vals") - + print('test duration: %.2f min'%(running_time/60.0)) #print('==================== End Test: %s ====================\n'%self.tag) - + sys.stdout.flush() os.chdir(workdir) - return passed + return passed def adjust_iter(self): @@ -830,6 +830,6 @@ def adjust_test_data(self): if self.cpu_arch == 'aarch64': if len(self.test_vals_aarch64) != 0: self.test_vals = self.test_vals_aarch64 - + if len(self.reference_file_aarch64) != 0: self.reference_file = self.reference_file_aarch64 diff --git a/TestCases/hybrid_regression.py b/TestCases/hybrid_regression.py index 26d829c717c..d44211d0708 100644 --- a/TestCases/hybrid_regression.py +++ b/TestCases/hybrid_regression.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/TestCases/hybrid_regression_AD.py b/TestCases/hybrid_regression_AD.py index 8c23b8fb20d..71ecb184fce 100644 --- a/TestCases/hybrid_regression_AD.py +++ b/TestCases/hybrid_regression_AD.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -29,11 +29,11 @@ from __future__ import print_function import sys -from TestCase import TestCase +from TestCase import TestCase def main(): - '''This program runs SU2 and ensures that the output matches specified values. - This will be used to do checks when code is pushed to github + '''This program runs SU2 and ensures that the output matches specified values. + This will be used to do checks when code is pushed to github to make sure nothing is broken. ''' test_list = [] @@ -49,7 +49,7 @@ def main(): discadj_naca0012.test_iter = 100 discadj_naca0012.test_vals = [-3.561506, -8.926634, -0.000000, 0.005587] test_list.append(discadj_naca0012) - + # Inviscid Cylinder 3D (multiple markers) discadj_cylinder3D = TestCase('discadj_cylinder3D') discadj_cylinder3D.cfg_dir = "disc_adj_euler/cylinder3D" @@ -65,7 +65,7 @@ def main(): discadj_arina2k.test_iter = 20 discadj_arina2k.test_vals = [-3.087876, -3.481506, 0.068878, 0.000000] test_list.append(discadj_arina2k) - + #################################### ### Disc. adj. compressible RANS ### #################################### @@ -135,16 +135,16 @@ def main(): ####################################################### ### Unsteady Disc. adj. compressible RANS ### ####################################################### - + # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder.cfg" + discadj_cylinder.cfg_file = "cylinder.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.746907, -1.544882, -0.008321, 0.000014] discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) - + ############################################################## ### Unsteady Disc. adj. compressible RANS Windowed Average ### ############################################################## @@ -152,12 +152,12 @@ def main(): # Turbulent Cylinder discadj_cylinder = TestCase('unsteady_cylinder_windowed_average_AD') discadj_cylinder.cfg_dir = "disc_adj_rans/cylinder" - discadj_cylinder.cfg_file = "cylinder_Windowing_AD.cfg" + discadj_cylinder.cfg_file = "cylinder_Windowing_AD.cfg" discadj_cylinder.test_iter = 9 discadj_cylinder.test_vals = [3.004402] discadj_cylinder.unsteady = True test_list.append(discadj_cylinder) - + ########################################################################## ### Unsteady Disc. adj. compressible RANS DualTimeStepping 1st order ### ########################################################################## @@ -187,28 +187,28 @@ def main(): ####################################################### ### Disc. adj. turbomachinery ### ####################################################### - + # Transonic Stator 2D discadj_trans_stator = TestCase('transonic_stator') discadj_trans_stator.cfg_dir = "disc_adj_turbomachinery/transonic_stator_2D" - discadj_trans_stator.cfg_file = "transonic_stator.cfg" + discadj_trans_stator.cfg_file = "transonic_stator.cfg" discadj_trans_stator.test_iter = 79 discadj_trans_stator.test_vals = [79.000000, -1.938803, -1.981888] discadj_trans_stator.test_vals_aarch64 = [79.000000, -1.938809, -1.995540] test_list.append(discadj_trans_stator) - + ################################### ### Structural Adjoint ### ################################### - + # Structural model discadj_fea = TestCase('discadj_fea') discadj_fea.cfg_dir = "disc_adj_fea" - discadj_fea.cfg_file = "configAD_fem.cfg" + discadj_fea.cfg_file = "configAD_fem.cfg" discadj_fea.test_iter = 4 discadj_fea.test_vals = [1.774569, 1.928023, -0.000364, -8.690300] discadj_fea.test_vals_aarch64 = [2.216938, 2.129429, -0.000365, -8.782500] - test_list.append(discadj_fea) + test_list.append(discadj_fea) ###################################### ### RUN TESTS ### diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 2844ed7734c..30efec6c5f4 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -89,7 +89,7 @@ def main(): invwedge_ap2.test_vals_aarch64 = [-0.952589, -1.477352, -16.736014, -17.064021, -17.009120, 2.387086, 1.287286, 5.403046, 0.956402] invwedge_ap2.new_output = True test_list.append(invwedge_ap2) - + # Inviscid single wedge, msw, implicit invwedge_msw = TestCase('invwedge_msw') invwedge_msw.cfg_dir = "nonequilibrium/invwedge" @@ -99,7 +99,7 @@ def main(): invwedge_msw.test_vals_aarch64 = [-1.165957, -1.690720, -18.298756, -18.626164, -18.572159, 2.151638, 1.721236, 5.193813, 0.751584] invwedge_msw.new_output = True test_list.append(invwedge_msw) - + # Inviscid single wedge, roe, implicit invwedge_roe = TestCase('invwedge_roe') invwedge_roe.cfg_dir = "nonequilibrium/invwedge" @@ -109,7 +109,7 @@ def main(): invwedge_roe.test_vals_aarch64 = [-1.038582, -1.563344, -18.300307, -18.627706, -18.573706, 2.278987, 1.861307, 5.323753, 0.874900] invwedge_roe.new_output = True test_list.append(invwedge_roe) - + # Inviscid single wedge, lax, implicit invwedge_lax = TestCase('invwedge_lax') invwedge_lax.cfg_dir = "nonequilibrium/invwedge" diff --git a/TestCases/parallel_regression_AD.py b/TestCases/parallel_regression_AD.py index a24bfe5d844..997f24d4d55 100644 --- a/TestCases/parallel_regression_AD.py +++ b/TestCases/parallel_regression_AD.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py b/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py index 6cc8c276be0..b1ebb0aa6f6 100755 --- a/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py +++ b/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -34,7 +34,7 @@ import pysu2ad as pysu2 # imports the SU2 adjoint-wrapped module # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): @@ -58,7 +58,7 @@ def main(): comm = MPI.COMM_WORLD rank = comm.Get_rank() else: - comm = 0 + comm = 0 rank = 0 # Initialize the corresponding driver of SU2, this includes solver preprocessing @@ -83,31 +83,31 @@ def main(): sys.stdout.flush() if options.with_MPI == True: comm.Barrier() - + # Define the load at the target vertex SU2Driver.SetFEA_Loads(MarkerID,5,0,-0.005,0) - + # Time iteration preprocessing SU2Driver.Preprocess(0) - + # Run one time-step (static: one simulation) SU2Driver.Run() - + # Update the solver for the next time iteration SU2Driver.Update() - + # Monitor the solver and output solution to file if required SU2Driver.Monitor(0) - + # Output the solution to file SU2Driver.Output(0) - + sens=[] disp=[] - # Recover the sensitivity + # Recover the sensitivity sens.append(SU2Driver.GetFlowLoad_Sensitivity(MarkerID,5)) disp.append(SU2Driver.GetFEA_Displacements(MarkerID,5)) - + print("Sens[0]\tSens[1]\tDisp[0]\tDisp[1]\t") print(100, 100, sens[0][0], sens[0][1], disp[0][0], disp[0][1]) @@ -117,7 +117,7 @@ def main(): if SU2Driver != None: del SU2Driver - + # ------------------------------------------------------------------- # Run Main Program @@ -125,4 +125,4 @@ def main(): # this is only accessed if running from command prompt if __name__ == '__main__': - main() + main() diff --git a/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py b/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py index bb42dfcccf2..6033451b06e 100755 --- a/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py +++ b/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -34,7 +34,7 @@ import pysu2ad as pysu2 # imports the SU2 adjoint-wrapped module # ------------------------------------------------------------------- -# Main +# Main # ------------------------------------------------------------------- def main(): @@ -57,7 +57,7 @@ def main(): comm = MPI.COMM_WORLD rank = comm.Get_rank() else: - comm = 0 + comm = 0 rank = 0 # Initialize the corresponding driver of SU2, this includes solver preprocessing @@ -91,27 +91,27 @@ def main(): # Time iteration preprocessing SU2Driver.Preprocess(0) - + # Run one time-step (static: one simulation) SU2Driver.Run() - + # Postprocess - SU2Driver.Postprocess() - + SU2Driver.Postprocess() + # Update the solver for the next time iteration SU2Driver.Update() - + # Monitor the solver and output solution to file if required SU2Driver.Monitor(0) - + # Output the solution to file SU2Driver.Output(0) - + # Sensitivities of the marker - print("\n------------------------------ Sensitivities -----------------------------\n") + print("\n------------------------------ Sensitivities -----------------------------\n") for iVertex in range(nVertex_Marker): sensX, sensY, sensZ = SU2Driver.GetMeshDisp_Sensitivity(MarkerID, iVertex) - + if (iVertex == 30): print(1000,1000,iVertex, sensX, sensY, sensZ) @@ -121,7 +121,7 @@ def main(): if SU2Driver != None: del SU2Driver - + # ------------------------------------------------------------------- # Run Main Program @@ -129,4 +129,4 @@ def main(): # this is only accessed if running from command prompt if __name__ == '__main__': - main() + main() diff --git a/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py b/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py index efec4c79eb1..210b095601c 100755 --- a/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py +++ b/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py b/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py index d277a617fe7..3b0ad6efc59 100755 --- a/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py +++ b/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 93589c3a46a..012240f4ee6 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/TestCases/serial_regression_AD.py b/TestCases/serial_regression_AD.py index c3d0b926e74..265b7087337 100644 --- a/TestCases/serial_regression_AD.py +++ b/TestCases/serial_regression_AD.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/TestCases/tutorials.py b/TestCases/tutorials.py index 7d045af5ed7..a71651a30a7 100644 --- a/TestCases/tutorials.py +++ b/TestCases/tutorials.py @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -104,7 +104,7 @@ def main(): DAspecies3_primitiveVenturi.command = TestCase.Command("mpirun -n 2", "SU2_CFD_AD") DAspecies3_primitiveVenturi.new_output = True test_list.append(DAspecies3_primitiveVenturi) - + # 2 species (1 eq) kenics static mixer for composition-dependent model kenics_mixer_tutorial = TestCase('kenics_mixer_tutorial') kenics_mixer_tutorial.cfg_dir = "../Tutorials/incompressible_flow/Inc_Species_Transport_Composition_Dependent_Model" @@ -189,7 +189,7 @@ def main(): tutorial_trans_flatplate.test_vals = [-22.021786, -15.330766, 0.000000, 0.023952] #last 4 columns tutorial_trans_flatplate.no_restart = True test_list.append(tutorial_trans_flatplate) - + # Transitional FlatPlate T3A tutorial_trans_flatplate_T3A = TestCase('transitional_flatplate_tutorial_T3A') tutorial_trans_flatplate_T3A.cfg_dir = "../Tutorials/compressible_flow/Transitional_Flat_Plate/Langtry_and_Menter/T3A" @@ -198,7 +198,7 @@ def main(): tutorial_trans_flatplate_T3A.test_vals = [-5.837191, -2.092249, -3.982626, -0.302018, -1.916974, 1.668678, -3.496294, 0.391531] tutorial_trans_flatplate_T3A.no_restart = True test_list.append(tutorial_trans_flatplate_T3A) - + # Transitional FlatPlate T3Am tutorial_trans_flatplate_T3Am = TestCase('transitional_flatplate_tutorial_T3Am') tutorial_trans_flatplate_T3Am.cfg_dir = "../Tutorials/compressible_flow/Transitional_Flat_Plate/Langtry_and_Menter/T3A-" @@ -207,7 +207,7 @@ def main(): tutorial_trans_flatplate_T3Am.test_vals = [-6.063550, -1.945057, -3.946359, -0.549026, -3.863798, 2.664577, -2.517606, 1.112977] tutorial_trans_flatplate_T3Am.no_restart = True test_list.append(tutorial_trans_flatplate_T3Am) - + # Transitional E387 SA tutorial_trans_e387_sa = TestCase('tutorial_trans_e387_sa') tutorial_trans_e387_sa.cfg_dir = "../Tutorials/compressible_flow/Transitional_Airfoil/Langtry_and_Menter/E387" @@ -216,7 +216,7 @@ def main(): tutorial_trans_e387_sa.test_vals = [-6.527027, -5.081543, -0.795267, 1.022557, 0.150240, 2, -9.580670] tutorial_trans_e387_sa.no_restart = True test_list.append(tutorial_trans_e387_sa) - + # Transitional E387 SST tutorial_trans_e387_sst = TestCase('tutorial_trans_e387_sst') tutorial_trans_e387_sst.cfg_dir = "../Tutorials/compressible_flow/Transitional_Airfoil/Langtry_and_Menter/E387" diff --git a/TestCases/vandv.py b/TestCases/vandv.py index a28605057a2..7877d1ac872 100644 --- a/TestCases/vandv.py +++ b/TestCases/vandv.py @@ -13,7 +13,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -58,7 +58,7 @@ def main(): flatplate_sst1994m.test_vals_aarch64 = [-13.044282, -9.682503, -10.712657, -7.519027, -9.742878, -5.374663, 0.002809] test_list.append(flatplate_sst1994m) - # bump in channel - sst-v1994m + # bump in channel - sst-v1994m bump_sst1994m = TestCase('bump_sst1994m') bump_sst1994m.cfg_dir = "vandv/rans/bump_in_channel" bump_sst1994m.cfg_file = "turb_bump_sst.cfg" diff --git a/UnitTests/Common/containers/CLookupTable_tests.cpp b/UnitTests/Common/containers/CLookupTable_tests.cpp index 29b223afc85..335705dfc8c 100644 --- a/UnitTests/Common/containers/CLookupTable_tests.cpp +++ b/UnitTests/Common/containers/CLookupTable_tests.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -39,7 +39,7 @@ TEST_CASE("LUTreader", "[tabulated chemistry]") { /*--- smaller and trivial lookup table ---*/ - + CLookUpTable look_up_table("src/SU2/UnitTests/Common/containers/lookuptable.drg","ProgressVariable","EnthalpyTot"); /*--- string names of the controlling variables ---*/ @@ -50,22 +50,22 @@ TEST_CASE("LUTreader", "[tabulated chemistry]") { /*--- look up a single value for density ---*/ su2double prog = 0.55; - su2double enth = -0.5; + su2double enth = -0.5; string look_up_tag = "Density"; su2double look_up_dat; - look_up_table.LookUp_ProgEnth(look_up_tag, &look_up_dat, prog, enth, name_CV1, name_CV2); + look_up_table.LookUp_ProgEnth(look_up_tag, &look_up_dat, prog, enth, name_CV1, name_CV2); CHECK(look_up_dat == Approx(1.02)); /*--- look up a single value for viscosity ---*/ prog = 0.6; - enth = 0.9; + enth = 0.9; look_up_tag = "Viscosity"; - look_up_table.LookUp_ProgEnth(look_up_tag, &look_up_dat, prog, enth, name_CV1, name_CV2); + look_up_table.LookUp_ProgEnth(look_up_tag, &look_up_dat, prog, enth, name_CV1, name_CV2); CHECK(look_up_dat == Approx(0.0000674286)); /* find the table limits */ - + auto limitsEnth = look_up_table.GetTableLimitsEnth(); CHECK(limitsEnth.first == Approx(-1.0)); CHECK(limitsEnth.second == Approx(1.0)); @@ -79,8 +79,8 @@ TEST_CASE("LUTreader", "[tabulated chemistry]") { prog = 1.10; enth = 1.1; look_up_tag = "Density"; - look_up_table.LookUp_ProgEnth(look_up_tag, &look_up_dat, prog, enth, name_CV1, name_CV2); + look_up_table.LookUp_ProgEnth(look_up_tag, &look_up_dat, prog, enth, name_CV1, name_CV2); CHECK(look_up_dat == Approx(1.2)); - + } diff --git a/UnitTests/Common/geometry/CGeometry_test.cpp b/UnitTests/Common/geometry/CGeometry_test.cpp index 1250e1fa72c..a6997b8b1f0 100644 --- a/UnitTests/Common/geometry/CGeometry_test.cpp +++ b/UnitTests/Common/geometry/CGeometry_test.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp b/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp index 6e62c87b44f..6742feb356f 100644 --- a/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp +++ b/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -32,7 +32,7 @@ #include "../../../Common/include/geometry/dual_grid/CVertex.hpp" TEST_CASE("Volume Computation", "[Dual Grid]") { - + su2double Coord_FaceiPoint[3]; su2double Coord_FaceElem_CG[3]; su2double Coord_Elem_CG[3]; @@ -53,7 +53,7 @@ TEST_CASE("Volume Computation", "[Dual Grid]") { su2double volume = CEdge::GetVolume(Coord_FaceiPoint, Coord_Edge_CG, Coord_FaceElem_CG, Coord_Elem_CG); REQUIRE(volume == Approx(0.000546832)); } - + CVertex vertex2d(0, 2); SECTION("2D Vertex"){ vertex2d.SetNodes_Coord(Coord_Edge_CG, Coord_Elem_CG); @@ -68,5 +68,5 @@ TEST_CASE("Volume Computation", "[Dual Grid]") { REQUIRE(vertex3d.GetNormal()[1] == Approx(0.0499696)); REQUIRE(vertex3d.GetNormal()[2] == Approx(0.111938)); } - + } diff --git a/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp b/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp index ba72f34e9ff..51ea8a40618 100644 --- a/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp +++ b/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -51,16 +51,16 @@ TEST_CASE("Center of gravity computation", "[Primal Grid]") { name.SetCoord_CG(nDim, coordinates); \ REQUIRE(name.GetCG(0) == Approx(x)); \ REQUIRE(name.GetCG(1) == Approx(y)); \ - REQUIRE(name.GetCG(2) == Approx(z)); + REQUIRE(name.GetCG(2) == Approx(z)); // It is sufficient to test the CG computation for Hexahedron. // Routine is the same for all elements (impl. in CPrimalGrid) CHexahedron hexa(0,1,2,3,4,5,6,7); REQUIRE_CG(hexa, 0.7676307957, 0.0664236806, -0.0020626777); - + for (int i = 0; i < 8; i++){ delete [] coordinates[i]; } delete [] coordinates; - + } diff --git a/UnitTests/Common/simple_ad_test.cpp b/UnitTests/Common/simple_ad_test.cpp index 42bd4530f8d..48c689c58ae 100644 --- a/UnitTests/Common/simple_ad_test.cpp +++ b/UnitTests/Common/simple_ad_test.cpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/UnitTests/Common/simple_directdiff_test.cpp b/UnitTests/Common/simple_directdiff_test.cpp index 82dbbba13c6..374ab0d9086 100644 --- a/UnitTests/Common/simple_directdiff_test.cpp +++ b/UnitTests/Common/simple_directdiff_test.cpp @@ -11,7 +11,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp b/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp index d6e0e483011..a006ae9613e 100644 --- a/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp +++ b/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp b/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp index 91c8e13019f..4051cc2ba11 100644 --- a/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp +++ b/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp @@ -10,7 +10,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/UnitTests/Common/toolboxes/ndflattener_tests.cpp b/UnitTests/Common/toolboxes/ndflattener_tests.cpp index 99a24ea4a3f..e71c54fd825 100644 --- a/UnitTests/Common/toolboxes/ndflattener_tests.cpp +++ b/UnitTests/Common/toolboxes/ndflattener_tests.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -96,7 +96,7 @@ TEST_CASE("NdFlattener Test", "[NdFlattener]"){ } } - + /*-- Reread modified A and check again. --*/ nd2.initialize_or_refresh(f); nd3.refresh(Nd_MPI_Environment(), nd2); diff --git a/UnitTests/Common/vectorization.cpp b/UnitTests/Common/vectorization.cpp index 33ca4f0c66f..65c69e8083f 100644 --- a/UnitTests/Common/vectorization.cpp +++ b/UnitTests/Common/vectorization.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/UnitTests/SU2_CFD/gradients.cpp b/UnitTests/SU2_CFD/gradients.cpp index 942fc9bc369..84f444f0cbd 100644 --- a/UnitTests/SU2_CFD/gradients.cpp +++ b/UnitTests/SU2_CFD/gradients.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp b/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp index 173ec46dff6..ca92394cab5 100644 --- a/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp +++ b/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -32,11 +32,11 @@ TEST_CASE("NTS blending has a minimum of 0.05", "[Upwind/central blending]") { std::stringstream config_options; - + config_options << "SOLVER= NAVIER_STOKES" << std::endl; config_options << "ROE_LOW_DISSIPATION= " << "NTS" << std::endl; config_options << "REYNOLDS_NUMBER= 5" << std::endl; - + /*--- Setup ---*/ CConfig* config = new CConfig(config_options, SU2_COMPONENT::SU2_CFD, false); diff --git a/UnitTests/SU2_CFD/windowing.cpp b/UnitTests/SU2_CFD/windowing.cpp index ef4b6b795ac..dab5ed25d86 100644 --- a/UnitTests/SU2_CFD/windowing.cpp +++ b/UnitTests/SU2_CFD/windowing.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -70,7 +70,7 @@ struct CWindowingTest { } }; -TEST_CASE("BUMP", "[Windowing]") { +TEST_CASE("BUMP", "[Windowing]") { su2double avg = 0; avg = CWindowingTest::calcAverage(WINDOW_FUNCTION::BUMP, 10, 0); CHECK(avg == Approx(1.1851).epsilon(0.001)); diff --git a/UnitTests/UnitQuadTestCase.hpp b/UnitTests/UnitQuadTestCase.hpp index eb501ae4671..17a71dec9cb 100644 --- a/UnitTests/UnitQuadTestCase.hpp +++ b/UnitTests/UnitQuadTestCase.hpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/UnitTests/test_driver.cpp b/UnitTests/test_driver.cpp index 175888e3dcd..12709c94ec4 100644 --- a/UnitTests/test_driver.cpp +++ b/UnitTests/test_driver.cpp @@ -9,7 +9,7 @@ * The SU2 Project is maintained by the SU2 Foundation * (http://su2foundation.org) * - * Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) + * Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) * * SU2 is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff --git a/externals/Makefile.am b/externals/Makefile.am index e01d77a5dbf..7127ca2ac35 100644 --- a/externals/Makefile.am +++ b/externals/Makefile.am @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU diff --git a/externals/tecio/Makefile.am b/externals/tecio/Makefile.am index 0eec582e6b1..2bb3e420183 100644 --- a/externals/tecio/Makefile.am +++ b/externals/tecio/Makefile.am @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/legacy/Makefile.am b/legacy/Makefile.am index b98002bac4f..40870a1140c 100644 --- a/legacy/Makefile.am +++ b/legacy/Makefile.am @@ -10,7 +10,7 @@ # The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/legacy/configure.ac b/legacy/configure.ac index 7145af36a30..d723498c3a3 100644 --- a/legacy/configure.ac +++ b/legacy/configure.ac @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -151,7 +151,7 @@ if (test $enabletecio = yes); then if ( ! test -d "$srcdir/externals/tecio/boost" ); then AC_MSG_RESULT([Extracting boost source ...]) if ( ! tar -xzf $srcdir/externals/tecio/boost.tar.gz -C $srcdir/externals/tecio/ ); then - AC_MSG_ERROR([Extraction of boost sources to $srcdir/externals/tecio/boost using 'tar' failed ...]) + AC_MSG_ERROR([Extraction of boost sources to $srcdir/externals/tecio/boost using 'tar' failed ...]) fi fi # Attempt to get pthread to work @@ -261,7 +261,7 @@ if test "${MKLROOT+set}" = set; then if [[ "$FOUND_MKL_VERSION" -ge "$REQUIRED_MKL_VERSION" ]]; then CPPFLAGS="-DHAVE_MKL -DMKL_DIRECT_CALL_SEQ $CPPFLAGS" CXXFLAGS="-I${MKLROOT}/include $CXXFLAGS" - LIBS="-Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_sequential.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm -ldl $LIBS" + LIBS="-Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_lp64.a ${MKLROOT}/lib/intel64/libmkl_sequential.a ${MKLROOT}/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm -ldl $LIBS" have_MKL="yes" fi fi @@ -348,7 +348,7 @@ AC_MSG_RESULT([ | The SU2 Project is maintained by the SU2 Foundation | | (http://su2foundation.org) | ------------------------------------------------------------------------- -| Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) | +| Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) | | | | SU2 is free software; you can redistribute it and/or | | modify it under the terms of the GNU Lesser General Public | diff --git a/legacy/preconfigure.py b/legacy/preconfigure.py index 7f99601e27c..32eaafb8778 100755 --- a/legacy/preconfigure.py +++ b/legacy/preconfigure.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -284,7 +284,7 @@ def find_all(text, dic): def init_codi(argument_dict, modes, mpi_support = False, update = False): modules_failed = True - + # This information of the modules is used if projects was not cloned using git # The sha tag must be maintained manually to point to the correct commit sha_version_codi = '3c3211fef2e225ab89680a4063b62bb3bb38a7e4' @@ -378,7 +378,7 @@ def download_module(name, alt_name, git_repo, commit_sha, logfile, errorfile): print('\t - Execute command \'touch externals/'+ alt_name + '/' + commit_sha + '\'') print('\t - Run preconfigure.py again') sys.exit() - + # Extract zip archive try: print('Extracting archive ...') @@ -425,7 +425,7 @@ def configure(argument_dict, configure_base = configure_base + ' --disable-tecio' build_dirs = '' - + print( '\nPreparing build environment\n' \ '=====================================================================') @@ -563,7 +563,7 @@ def header(): '| The SU2 Project is maintained by the SU2 Foundation | \n'\ '| (http://su2foundation.org) | \n'\ '------------------------------------------------------------------------- \n'\ - '| Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) | \n'\ + '| Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) | \n'\ '| | \n'\ '| SU2 is free software; you can redistribute it and/or | \n'\ '| modify it under the terms of the GNU Lesser General Public | \n'\ diff --git a/meson.py b/meson.py index 6962ef43f77..42c96277271 100755 --- a/meson.py +++ b/meson.py @@ -6,17 +6,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -35,7 +35,7 @@ def build_ninja(): # If we are on windows, we don't need to compile ninja, we just download the executable if os.name == 'nt': ninja_exe_url = 'https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-win.zip' - + # Try to execute ninja, if it fails, download .exe from github try: subprocess.run([sys.path[0] + os.path.sep + 'ninja.exe', '--version'], stdout=subprocess.PIPE) @@ -66,7 +66,7 @@ def build_ninja(): if __name__ == '__main__': if sys.version_info[0] < 3: raise Exception("Script must be run using Python 3") - + # Set up the build environment, i.e. clone or download all submodules init_submodules('auto') diff --git a/meson_scripts/init.py b/meson_scripts/init.py index ee7a34ee1e3..cc6a20b28e9 100755 --- a/meson_scripts/init.py +++ b/meson_scripts/init.py @@ -7,17 +7,17 @@ # \version 7.5.0 "Blackbird" # # SU2 Project Website: https://su2code.github.io -# -# The SU2 Project is maintained by the SU2 Foundation +# +# The SU2 Project is maintained by the SU2 Foundation # (http://su2foundation.org) # -# Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md) +# Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md) # # SU2 is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 of the License, or (at your option) any later version. -# +# # SU2 is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -69,7 +69,7 @@ def init_submodules(method = 'auto'): mpp_name= 'Mutationpp' coolprop_name= 'CoolProp' mel_name = 'MEL' - base_path = cur_dir + os.path.sep + 'externals' + os.path.sep + base_path = cur_dir + os.path.sep + 'externals' + os.path.sep alt_name_medi = base_path + 'medi' alt_name_codi = base_path + 'codi' alt_name_opdi = base_path + 'opdi' @@ -89,7 +89,7 @@ def init_submodules(method = 'auto'): print('Invalid method') sys.exit(1) - # If directory was cloned using git, use submodule feature + # If directory was cloned using git, use submodule feature # to check and initialize submodules if necessary if is_git: submodule_status(alt_name_codi, sha_version_codi) @@ -139,7 +139,7 @@ def submodule_status(path, sha_commit): + path + ' does not match the SHA-1 found in the index.\n') sys.stderr.write('Use \'git submodule update --init '+ path + '\' to reset the module if necessary.\n') elif status_indicator == '-': - # Initialize the submodule if necessary + # Initialize the submodule if necessary print('Initialize submodule ' + path + ' using git ... ') subprocess.run(['git', 'submodule', 'update', '--init', path], check = True, cwd = sys.path[0]) # to update CoolProp external libraries @@ -165,7 +165,7 @@ def submodule_status(path, sha_commit): def download_module(name, alt_name, git_repo, commit_sha): - # ZipFile does not preserve file permissions. + # ZipFile does not preserve file permissions. # This is a workaround for that problem: # https://stackoverflow.com/questions/39296101/python-zipfile-removes-execute-permissions-from-binaries class MyZipFile(zipfile.ZipFile): @@ -188,10 +188,10 @@ def _extract_member(self, member, targetpath, pwd): if not os.path.exists(module_identifier): - if os.path.exists(alt_name) and os.listdir(alt_name): + if os.path.exists(alt_name) and os.listdir(alt_name): print('Directory ' + alt_name + ' is not empty') print('Maybe submodules are already cloned with git?') - sys.exit(1) + sys.exit(1) else: print('Downloading ' + name + ' \'' + commit_sha + '\'') @@ -239,7 +239,7 @@ def _extract_member(self, member, targetpath, pwd): if __name__ == '__main__': if sys.version_info[0] < 3: raise Exception("Script must be run using Python 3") - + # Set up the build environment, i.e. clone or download all submodules init_submodules(sys.argv[1]) diff --git a/su2omp.syntax.json b/su2omp.syntax.json index a615c330238..df235b1312f 100644 --- a/su2omp.syntax.json +++ b/su2omp.syntax.json @@ -11,7 +11,7 @@ "The SU2 Project is maintained by the SU2 Foundation ", "(http://su2foundation.org)", - "Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md)", + "Copyright 2012-2023, SU2 Contributors (cf. AUTHORS.md)", "SU2 is free software; you can redistribute it and/or", "modify it under the terms of the GNU Lesser General Public", From 7245e86810b8bc878473fd4893cf370700494ba4 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sat, 4 Feb 2023 19:50:32 -0800 Subject: [PATCH 175/179] nearest point probes --- SU2_CFD/include/output/COutput.hpp | 5 +- SU2_CFD/src/output/CFlowOutput.cpp | 85 +++++++++++++------ SU2_CFD/src/output/COutput.cpp | 1 + TestCases/parallel_regression.py | 2 +- .../user_defined_functions/lam_flatplate.cfg | 7 +- 5 files changed, 71 insertions(+), 29 deletions(-) diff --git a/SU2_CFD/include/output/COutput.hpp b/SU2_CFD/include/output/COutput.hpp index 1fbcf05e83e..e03fb27056d 100644 --- a/SU2_CFD/include/output/COutput.hpp +++ b/SU2_CFD/include/output/COutput.hpp @@ -187,7 +187,7 @@ class COutput { CustomHistoryOutput customObjFunc; /*!< \brief User-defined expression for a custom objective. */ /*! \brief Type of operation for custom outputs. */ - enum class OperationType { MACRO, FUNCTION, AREA_AVG, AREA_INT, MASSFLOW_AVG, MASSFLOW_INT }; + enum class OperationType { MACRO, FUNCTION, AREA_AVG, AREA_INT, MASSFLOW_AVG, MASSFLOW_INT, PROBE }; /*! \brief Struct to hold a parsed custom output function. */ struct CustomOutput { @@ -201,6 +201,9 @@ class COutput { mel::ExpressionTree expression; std::vector varSymbols; std::vector markerIndices; + static constexpr long PROBE_NOT_SETUP = -2; + static constexpr long PROBE_NOT_OWNED = -1; + long iPoint = PROBE_NOT_SETUP; /*--- The symbols (strings) are associated with an integer index for efficiency. For evaluation this index is passed to a functor that returns the value associated with the symbol. This functor is an input to "eval()" diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index 366bbb533b4..c824f250c8d 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -765,16 +765,37 @@ void CFlowOutput::SetCustomOutputs(const CSolver* const* solver, const CGeometry } else { SU2_MPI::Error("Unknown flow solver type.", CURRENT_FUNCTION); } - /*--- Convert marker names to their index (if any) in this rank. ---*/ - - output.markerIndices.clear(); - for (const auto& marker : output.markers) { - for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); ++iMarker) { - if (config->GetMarker_All_TagBound(iMarker) == marker) { - output.markerIndices.push_back(iMarker); - continue; + /*--- Convert marker names to their index (if any) in this rank. Or probe locations to nearest points. ---*/ + + if (output.type != OperationType::PROBE) { + output.markerIndices.clear(); + for (const auto& marker : output.markers) { + for (auto iMarker = 0u; iMarker < config->GetnMarker_All(); ++iMarker) { + if (config->GetMarker_All_TagBound(iMarker) == marker) { + output.markerIndices.push_back(iMarker); + continue; + } + } + } + } else { + if (output.markers.size() != nDim) { + SU2_MPI::Error("Wrong number of coordinates to specify probe " + output.name, CURRENT_FUNCTION); + } + su2double coord[3] = {}; + for (auto iDim = 0u; iDim < nDim; ++iDim) coord[iDim] = std::stod(output.markers[iDim]); + su2double minDist = std::numeric_limits::max(); + unsigned long minPoint = 0; + for (auto iPoint = 0ul; iPoint < geometry->GetnPointDomain(); ++iPoint) { + const su2double dist = GeometryToolbox::SquaredDistance(nDim, coord, geometry->nodes->GetCoord(iPoint)); + if (dist < minDist) { + minDist = dist; + minPoint = iPoint; } } + /*--- Decide which rank owns the probe. ---*/ + su2double globMinDist; + SU2_MPI::Allreduce(&minDist, &globMinDist, 1, MPI_DOUBLE, MPI_MIN, SU2_MPI::GetComm()); + output.iPoint = (minDist == globMinDist) ? minPoint : CustomOutput::PROBE_NOT_OWNED; } } @@ -787,6 +808,36 @@ void CFlowOutput::SetCustomOutputs(const CSolver* const* solver, const CGeometry continue; } + /*--- Prepares the functor that maps symbol indices to values at a given point + * (see ConvertVariableSymbolsToIndices). ---*/ + + auto MakeFunctor = [&](unsigned long iPoint) { + return [&, iPoint](unsigned long i) { + if (i < CustomOutput::NOT_A_VARIABLE) { + const auto solIdx = i / CustomOutput::MAX_VARS_PER_SOLVER; + const auto varIdx = i % CustomOutput::MAX_VARS_PER_SOLVER; + if (solIdx == FLOW_SOL) { + return flowNodes->GetPrimitive(iPoint, varIdx); + } else { + return solver[solIdx]->GetNodes()->GetSolution(iPoint, varIdx); + } + } else { + return *output.otherOutputs[i - CustomOutput::NOT_A_VARIABLE]; + } + }; + }; + + if (output.type == OperationType::PROBE) { + su2double value = std::numeric_limits::max(); + if (output.iPoint != CustomOutput::PROBE_NOT_OWNED) { + value = output.eval(MakeFunctor(output.iPoint)); + } + su2double tmp = value; + SU2_MPI::Allreduce(&tmp, &value, 1, MPI_DOUBLE, MPI_MIN, SU2_MPI::GetComm()); + SetHistoryOutputValue(output.name, value); + continue; + } + /*--- Surface integral of the expression. ---*/ std::array integral = {0.0, 0.0}; @@ -812,23 +863,7 @@ void CFlowOutput::SetCustomOutputs(const CSolver* const* solver, const CGeometry } weight *= GetAxiFactor(axisymmetric, *geometry->nodes, iPoint, iMarker); local_integral[1] += weight; - - /*--- Prepare the functor that maps symbol indices to values (see ConvertVariableSymbolsToIndices). ---*/ - - auto Functor = [&](unsigned long i) { - if (i < CustomOutput::NOT_A_VARIABLE) { - const auto solIdx = i / CustomOutput::MAX_VARS_PER_SOLVER; - const auto varIdx = i % CustomOutput::MAX_VARS_PER_SOLVER; - if (solIdx == FLOW_SOL) { - return flowNodes->GetPrimitive(iPoint, varIdx); - } else { - return solver[solIdx]->GetNodes()->GetSolution(iPoint, varIdx); - } - } else { - return *output.otherOutputs[i - CustomOutput::NOT_A_VARIABLE]; - } - }; - local_integral[0] += weight * output.eval(Functor); + local_integral[0] += weight * output.eval(MakeFunctor(iPoint)); } END_SU2_OMP_FOR } diff --git a/SU2_CFD/src/output/COutput.cpp b/SU2_CFD/src/output/COutput.cpp index 58e00ba12be..60a5d71dec0 100644 --- a/SU2_CFD/src/output/COutput.cpp +++ b/SU2_CFD/src/output/COutput.cpp @@ -2186,6 +2186,7 @@ void COutput::SetCustomOutputs(const CConfig* config) { {"AreaInt", OperationType::AREA_INT}, {"MassFlowAvg", OperationType::MASSFLOW_AVG}, {"MassFlowInt", OperationType::MASSFLOW_INT}, + {"Probe", OperationType::PROBE}, }; std::stringstream knownOps; for (const auto& item : opMap) knownOps << item.first << ", "; diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 30efec6c5f4..28d3ff0cea4 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -272,7 +272,7 @@ def main(): flatplate_udobj.cfg_dir = "user_defined_functions" flatplate_udobj.cfg_file = "lam_flatplate.cfg" flatplate_udobj.test_iter = 20 - flatplate_udobj.test_vals = [-6.653802, -1.181430, -0.794887, 0.000611, -0.000369, 0.000736, -0.001104, 596.690000, 299.800000, 296.890000, 21.492000, 0.563990, 2.278700] + flatplate_udobj.test_vals = [-6.653802, -1.181430, -0.794887, 0.000611, -0.000369, 0.000736, -0.001104, 596.690000, 299.800000, 296.890000, 21.492000, 0.563990, 36.131, 2.278700] test_list.append(flatplate_udobj) # Laminar cylinder (steady) diff --git a/TestCases/user_defined_functions/lam_flatplate.cfg b/TestCases/user_defined_functions/lam_flatplate.cfg index e7142ef068e..664d0815a49 100644 --- a/TestCases/user_defined_functions/lam_flatplate.cfg +++ b/TestCases/user_defined_functions/lam_flatplate.cfg @@ -24,6 +24,8 @@ RESTART_SOL= NO % - AreaAvg and AreaInt: Computes an area average or integral of a field (the % expression) over the list of markers. % - MassFlowAvg and MassFlowInt: Computes a mass flow average or integral. +% - Probe: Evaluates the expression using the values of the mesh point closest +% to the coordinates specified inside "[]", [x, y] or [x, y, z] (2 or 3D). % NOTE: Each custom output can only use one type, e.g. it is not possible to % write 'p_drop : AreaAvg{PRESSURE}[inlet] - AreaAvg{PRESSURE}[outlet]'. This % would need to be separated into two AreaAvg outputs and one Function to @@ -31,12 +33,13 @@ RESTART_SOL= NO CUSTOM_OUTPUTS= 'velocity : Macro{sqrt(pow(VELOCITY_X, 2) + pow(VELOCITY_Y, 2) + pow(VELOCITY_Z, 2))};\ avg_vel : AreaAvg{$velocity}[z_minus, z_plus];\ var_vel : AreaAvg{pow($velocity - avg_vel, 2)}[z_minus, z_plus];\ - dev_vel : Function{sqrt(var_vel) / avg_vel}' + dev_vel : Function{sqrt(var_vel) / avg_vel};\ + probe1 : Probe{$velocity}[0.005, 0.005, 0.05]' % % "COMBO" is the name and group of the output for the objective function % (regardless of definition). "CUSTOM" is the group for all custom outpus. SCREEN_OUTPUT= INNER_ITER, RMS_DENSITY, RMS_ENERGY, LINSOL_RESIDUAL, FORCE_Z,\ - SURFACE_MASSFLOW, SURFACE_TOTAL_TEMPERATURE, avg_vel, dev_vel, COMBO + SURFACE_MASSFLOW, SURFACE_TOTAL_TEMPERATURE, avg_vel, dev_vel, probe1, COMBO HISTORY_OUTPUT = ITER, AERO_COEFF, FLOW_COEFF, FLOW_COEFF_SURF, CUSTOM, COMBO OBJECTIVE_FUNCTION= CUSTOM_OBJFUNC % Here we define how the custom objective is computed from other outputs. For From f911efc10949b7af4f0e53094387b20b59cffd13 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 5 Feb 2023 11:37:39 -0800 Subject: [PATCH 176/179] update regression --- SU2_CFD/src/output/CFlowOutput.cpp | 1 + TestCases/parallel_regression.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index c824f250c8d..af2a638ea42 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -812,6 +812,7 @@ void CFlowOutput::SetCustomOutputs(const CSolver* const* solver, const CGeometry * (see ConvertVariableSymbolsToIndices). ---*/ auto MakeFunctor = [&](unsigned long iPoint) { + /*--- This returns another lambda that captures iPoint by value. ---*/ return [&, iPoint](unsigned long i) { if (i < CustomOutput::NOT_A_VARIABLE) { const auto solIdx = i / CustomOutput::MAX_VARS_PER_SOLVER; diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 28d3ff0cea4..6cc412f48b1 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -272,7 +272,7 @@ def main(): flatplate_udobj.cfg_dir = "user_defined_functions" flatplate_udobj.cfg_file = "lam_flatplate.cfg" flatplate_udobj.test_iter = 20 - flatplate_udobj.test_vals = [-6.653802, -1.181430, -0.794887, 0.000611, -0.000369, 0.000736, -0.001104, 596.690000, 299.800000, 296.890000, 21.492000, 0.563990, 36.131, 2.278700] + flatplate_udobj.test_vals = [-6.653802, -1.181430, -0.794887, 0.000611, -0.000369, 0.000736, -0.001104, 596.690000, 299.800000, 296.890000, 21.492000, 0.563990, 37.148, 2.278700] test_list.append(flatplate_udobj) # Laminar cylinder (steady) From ab154188d56757273b347dfee78ea1eda14cc980 Mon Sep 17 00:00:00 2001 From: Pedro Gomes Date: Sun, 5 Feb 2023 15:37:33 -0800 Subject: [PATCH 177/179] give feedback on probe location --- SU2_CFD/src/output/CFlowOutput.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index af2a638ea42..fea382e58c4 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -25,6 +25,7 @@ * License along with SU2. If not, see . */ +#include #include #include "../../include/output/CFlowOutput.hpp" @@ -795,7 +796,12 @@ void CFlowOutput::SetCustomOutputs(const CSolver* const* solver, const CGeometry /*--- Decide which rank owns the probe. ---*/ su2double globMinDist; SU2_MPI::Allreduce(&minDist, &globMinDist, 1, MPI_DOUBLE, MPI_MIN, SU2_MPI::GetComm()); - output.iPoint = (minDist == globMinDist) ? minPoint : CustomOutput::PROBE_NOT_OWNED; + output.iPoint = fabs(minDist - globMinDist) < EPS ? minPoint : CustomOutput::PROBE_NOT_OWNED; + if (output.iPoint != CustomOutput::PROBE_NOT_OWNED) { + std::cout << "Probe " << output.name << " is using global point " + << geometry->nodes->GetGlobalIndex(output.iPoint) + << ", distance from target location is " << sqrt(minDist) << std::endl; + } } } From c1009cbce51b2d25e7c4b3368231b5b09ce941b2 Mon Sep 17 00:00:00 2001 From: aidanjungo Date: Mon, 6 Feb 2023 16:06:50 +0100 Subject: [PATCH 178/179] fix logo path in README --- README.md | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 26b394001df..d62ee55c216 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,14 @@

- +

- # SU2 (ver. 7.5.0 "Blackbird"): The Open-Source CFD Code -Computational analysis tools have revolutionized the way we design engineering systems, but most established codes are proprietary, unavailable, or prohibitively expensive for many users. The SU2 team is changing this, making multiphysics analysis and design optimization freely available as open-source software and involving everyone in its creation and development. +Computational analysis tools have revolutionized the way we design engineering systems, but most established codes are proprietary, unavailable, or prohibitively expensive for many users. The SU2 team is changing this, making multiphysics analysis and design optimization freely available as open-source software and involving everyone in its creation and development. For an overview of the technical details in SU2, please see the following AIAA Journal article: -"SU2: An open-source suite for multiphysics simulation and design," AIAA Journal, 54(3):828-846, 2016. http://arc.aiaa.org/doi/10.2514/1.J053813 +"SU2: An open-source suite for multiphysics simulation and design," AIAA Journal, 54(3):828-846, 2016. Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. @@ -22,17 +21,17 @@ Code Quality:
# SU2 Introduction -SU2 is a suite of open-source software tools written in C++ for the numerical solution of partial differential equations (PDE) and performing PDE constrained optimization. +SU2 is a suite of open-source software tools written in C++ for the numerical solution of partial differential equations (PDE) and performing PDE constrained optimization. -The primary applications are computational fluid dynamics and aerodynamic shape optimization, but has been extended to treat more general equations such as electrodynamics and chemically reacting flows. +The primary applications are computational fluid dynamics and aerodynamic shape optimization, but has been extended to treat more general equations such as electrodynamics and chemically reacting flows. You will find more information and the latest news in: - - SU2 Home Page: https://su2code.github.io - - GitHub repository: https://github.com/su2code - - CFD Online: http://www.cfd-online.com/Forums/su2/ - - Twitter: https://twitter.com/su2code - - Facebook: https://www.facebook.com/su2code +- SU2 Home Page: +- GitHub repository: +- CFD Online: +- Twitter: +- Facebook: # SU2 Installation @@ -41,7 +40,8 @@ You will find more information and the latest news in: You can find precompiled binaries of the latest version on our [download page](https://su2code.github.io/download.html) or under [releases](https://github.com/su2code/SU2/releases). ## Build SU2 -The build system of SU2 is based on a combination of [meson](http://mesonbuild.com/) (as the front-end) and [ninja](https://ninja-build.org/) (as the back-end). Meson is an open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. Ninja is a small low-level build system with a focus on speed. + +The build system of SU2 is based on a combination of [meson](http://mesonbuild.com/) (as the front-end) and [ninja](https://ninja-build.org/) (as the back-end). Meson is an open source build system meant to be both extremely fast, and, even more importantly, as user friendly as possible. Ninja is a small low-level build system with a focus on speed. Short summary of the minimal requirements: @@ -51,9 +51,11 @@ Short summary of the minimal requirements: **Note:** all other necessary build tools and dependencies are shipped with the source code or are downloaded automatically. If you have these tools installed, you can create a configuration using the `meson.py` found in the root source code folder: + ``` ./meson.py build ``` + Use `ninja` to compile and install the code ``` @@ -62,11 +64,12 @@ Use `ninja` to compile and install the code For more information on how to install and build SU2 on Linux, MacOS or Windows, have a look at the [documentation](https://su2code.github.io/docs_v7/). -## SU2 Path setup +## SU2 Path setup -When installation is complete, please be sure to add the `$SU2_HOME` and `$SU2_RUN` environment variables, and update your `$PATH` with `$SU2_RUN`. +When installation is complete, please be sure to add the `$SU2_HOME` and `$SU2_RUN` environment variables, and update your `$PATH` with `$SU2_RUN`. For example, add these lines to your `.bashrc` file: + ``` export SU2_RUN="your_prefix/bin" export SU2_HOME="/path/to/SU2vX.X.X/" @@ -82,13 +85,11 @@ Thanks for building, and happy optimizing! - The SU2 Development Team - # SU2 Developers - We follow the popular "GitFlow" branching model for scalable development. In the SU2 repository, the master branch represents the latest stable major or minor release (7.0, 6.2.0, etc.), it should only be modified during version releases. Work that is staged for release is put into the develop branch via Pull Requests on GitHub from various "feature" branches where folks do their day-to-day work on the code. At release time, the work that has been merged into the develop branch is pushed to the master branch and tagged as a release. -SU2 is being developed by individuals and organized teams all around the world. +SU2 is being developed by individuals and organized teams all around the world. A list of current contributors can be found in the AUTHORS.md file. From ed26f747890704c883e8135011ce47730926edb6 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Mon, 6 Feb 2023 15:59:34 +0000 Subject: [PATCH 179/179] Changing version number to 7.5.1 --- Common/include/CConfig.hpp | 2 +- Common/include/adt/CADTBaseClass.hpp | 2 +- Common/include/adt/CADTComparePointClass.hpp | 2 +- Common/include/adt/CADTElemClass.hpp | 4 ++-- Common/include/adt/CADTNodeClass.hpp | 2 +- Common/include/adt/CADTPointsOnlyClass.hpp | 2 +- Common/include/adt/CBBoxTargetClass.hpp | 4 ++-- Common/include/basic_types/ad_structure.hpp | 2 +- .../basic_types/datatype_structure.hpp | 2 +- Common/include/code_config.hpp | 2 +- Common/include/containers/C2DContainer.hpp | 2 +- .../containers/CFastFindAndEraseQueue.hpp | 2 +- Common/include/containers/CFileReaderLUT.hpp | 2 +- Common/include/containers/CLookUpTable.hpp | 2 +- Common/include/containers/CTrapezoidalMap.hpp | 4 ++-- Common/include/containers/CVertexMap.hpp | 2 +- .../containers/container_decorators.hpp | 2 +- Common/include/fem/fem_cgns_elements.hpp | 2 +- .../fem/fem_gauss_jacobi_quadrature.hpp | 4 ++-- Common/include/fem/fem_geometry_structure.hpp | 24 +++++++++---------- Common/include/fem/fem_standard_element.hpp | 10 ++++---- .../fem/geometry_structure_fem_part.hpp | 2 +- Common/include/geometry/CDummyGeometry.hpp | 2 +- Common/include/geometry/CGeometry.hpp | 2 +- .../include/geometry/CMultiGridGeometry.hpp | 2 +- Common/include/geometry/CMultiGridQueue.hpp | 2 +- Common/include/geometry/CPhysicalGeometry.hpp | 2 +- .../include/geometry/dual_grid/CDualGrid.hpp | 2 +- Common/include/geometry/dual_grid/CEdge.hpp | 2 +- Common/include/geometry/dual_grid/CPoint.hpp | 2 +- .../geometry/dual_grid/CTurboVertex.hpp | 2 +- Common/include/geometry/dual_grid/CVertex.hpp | 2 +- Common/include/geometry/elements/CElement.hpp | 4 ++-- .../geometry/elements/CElementProperty.hpp | 6 ++--- .../geometry/elements/CGaussVariable.hpp | 4 ++-- .../geometry/meshreader/CBoxMeshReaderFVM.hpp | 2 +- .../meshreader/CCGNSMeshReaderFVM.hpp | 2 +- .../geometry/meshreader/CMeshReaderFVM.hpp | 2 +- .../meshreader/CRectangularMeshReaderFVM.hpp | 2 +- .../meshreader/CSU2ASCIIMeshReaderFVM.hpp | 2 +- .../geometry/primal_grid/CHexahedron.hpp | 2 +- Common/include/geometry/primal_grid/CLine.hpp | 2 +- .../geometry/primal_grid/CPrimalGrid.hpp | 2 +- .../primal_grid/CPrimalGridBoundFEM.hpp | 4 ++-- .../geometry/primal_grid/CPrimalGridFEM.hpp | 4 ++-- .../include/geometry/primal_grid/CPrism.hpp | 2 +- .../include/geometry/primal_grid/CPyramid.hpp | 2 +- .../geometry/primal_grid/CQuadrilateral.hpp | 2 +- .../geometry/primal_grid/CTetrahedron.hpp | 2 +- .../geometry/primal_grid/CTriangle.hpp | 2 +- .../geometry/primal_grid/CVertexMPI.hpp | 2 +- Common/include/graph_coloring_structure.hpp | 4 ++-- .../grid_movement/CBSplineBlending.hpp | 2 +- .../include/grid_movement/CBezierBlending.hpp | 2 +- .../grid_movement/CFreeFormBlending.hpp | 2 +- .../include/grid_movement/CFreeFormDefBox.hpp | 2 +- .../include/grid_movement/CGridMovement.hpp | 2 +- .../grid_movement/CSurfaceMovement.hpp | 2 +- .../grid_movement/CVolumetricMovement.hpp | 2 +- .../interface_interpolation/CInterpolator.hpp | 2 +- .../CInterpolatorFactory.hpp | 2 +- .../CIsoparametric.hpp | 2 +- .../interface_interpolation/CMirror.hpp | 2 +- .../CNearestNeighbor.hpp | 2 +- .../CRadialBasisFunction.hpp | 2 +- .../interface_interpolation/CSlidingMesh.hpp | 2 +- .../linear_algebra/CMatrixVectorProduct.hpp | 2 +- .../include/linear_algebra/CPastixWrapper.hpp | 2 +- .../linear_algebra/CPreconditioner.hpp | 2 +- Common/include/linear_algebra/CSysMatrix.hpp | 2 +- Common/include/linear_algebra/CSysMatrix.inl | 2 +- Common/include/linear_algebra/CSysSolve.hpp | 2 +- Common/include/linear_algebra/CSysSolve_b.hpp | 2 +- Common/include/linear_algebra/CSysVector.hpp | 2 +- .../include/linear_algebra/blas_structure.hpp | 4 ++-- .../linear_algebra/vector_expressions.hpp | 2 +- Common/include/option_structure.hpp | 2 +- Common/include/option_structure.inl | 2 +- .../include/parallelization/mpi_structure.cpp | 2 +- .../include/parallelization/mpi_structure.hpp | 2 +- .../include/parallelization/omp_structure.cpp | 2 +- .../include/parallelization/omp_structure.hpp | 2 +- .../parallelization/special_vectorization.hpp | 2 +- .../include/parallelization/vectorization.hpp | 2 +- Common/include/toolboxes/C1DInterpolation.hpp | 2 +- .../include/toolboxes/CLinearPartitioner.hpp | 2 +- .../toolboxes/CQuasiNewtonInvLeastSquares.hpp | 2 +- Common/include/toolboxes/CSquareMatrixCM.hpp | 2 +- Common/include/toolboxes/CSymmetricMatrix.hpp | 2 +- .../include/toolboxes/MMS/CIncTGVSolution.hpp | 2 +- .../toolboxes/MMS/CInviscidVortexSolution.hpp | 2 +- .../toolboxes/MMS/CMMSIncEulerSolution.hpp | 2 +- .../toolboxes/MMS/CMMSIncNSSolution.hpp | 2 +- .../MMS/CMMSNSTwoHalfCirclesSolution.hpp | 2 +- .../MMS/CMMSNSTwoHalfSpheresSolution.hpp | 2 +- .../toolboxes/MMS/CMMSNSUnitQuadSolution.hpp | 2 +- .../MMS/CMMSNSUnitQuadSolutionWallBC.hpp | 2 +- .../toolboxes/MMS/CNSUnitQuadSolution.hpp | 2 +- .../toolboxes/MMS/CRinglebSolution.hpp | 2 +- Common/include/toolboxes/MMS/CTGVSolution.hpp | 2 +- .../toolboxes/MMS/CUserDefinedSolution.hpp | 2 +- .../toolboxes/MMS/CVerificationSolution.hpp | 2 +- .../include/toolboxes/allocation_toolbox.hpp | 2 +- Common/include/toolboxes/geometry_toolbox.hpp | 2 +- Common/include/toolboxes/graph_toolbox.hpp | 2 +- Common/include/toolboxes/ndflattener.hpp | 2 +- Common/include/toolboxes/printing_toolbox.hpp | 2 +- Common/include/wall_model.hpp | 4 ++-- Common/lib/Makefile.am | 2 +- Common/src/CConfig.cpp | 4 ++-- Common/src/adt/CADTBaseClass.cpp | 2 +- Common/src/adt/CADTElemClass.cpp | 2 +- Common/src/adt/CADTPointsOnlyClass.cpp | 2 +- Common/src/basic_types/ad_structure.cpp | 2 +- Common/src/containers/CFileReaderLUT.cpp | 2 +- Common/src/containers/CLookUpTable.cpp | 2 +- Common/src/containers/CTrapezoidalMap.cpp | 2 +- Common/src/fem/fem_cgns_elements.cpp | 2 +- .../src/fem/fem_gauss_jacobi_quadrature.cpp | 2 +- Common/src/fem/fem_geometry_structure.cpp | 2 +- Common/src/fem/fem_integration_rules.cpp | 2 +- Common/src/fem/fem_standard_element.cpp | 2 +- Common/src/fem/fem_wall_distance.cpp | 2 +- Common/src/fem/fem_work_estimate_metis.cpp | 2 +- .../src/fem/geometry_structure_fem_part.cpp | 2 +- Common/src/geometry/CDummyGeometry.cpp | 2 +- Common/src/geometry/CGeometry.cpp | 2 +- Common/src/geometry/CMultiGridGeometry.cpp | 2 +- Common/src/geometry/CMultiGridQueue.cpp | 2 +- Common/src/geometry/CPhysicalGeometry.cpp | 2 +- Common/src/geometry/dual_grid/CDualGrid.cpp | 2 +- Common/src/geometry/dual_grid/CEdge.cpp | 2 +- Common/src/geometry/dual_grid/CPoint.cpp | 2 +- .../src/geometry/dual_grid/CTurboVertex.cpp | 2 +- Common/src/geometry/dual_grid/CVertex.cpp | 2 +- Common/src/geometry/elements/CElement.cpp | 2 +- Common/src/geometry/elements/CHEXA8.cpp | 2 +- Common/src/geometry/elements/CLINE.cpp | 2 +- Common/src/geometry/elements/CPRISM6.cpp | 2 +- Common/src/geometry/elements/CPYRAM5.cpp | 2 +- Common/src/geometry/elements/CPYRAM6.cpp | 2 +- Common/src/geometry/elements/CQUAD4.cpp | 2 +- Common/src/geometry/elements/CTETRA1.cpp | 2 +- Common/src/geometry/elements/CTETRA4.cpp | 2 +- Common/src/geometry/elements/CTRIA1.cpp | 2 +- Common/src/geometry/elements/CTRIA3.cpp | 2 +- .../geometry/meshreader/CBoxMeshReaderFVM.cpp | 2 +- .../meshreader/CCGNSMeshReaderFVM.cpp | 2 +- .../geometry/meshreader/CMeshReaderFVM.cpp | 2 +- .../meshreader/CRectangularMeshReaderFVM.cpp | 2 +- .../meshreader/CSU2ASCIIMeshReaderFVM.cpp | 2 +- .../src/geometry/primal_grid/CHexahedron.cpp | 2 +- Common/src/geometry/primal_grid/CLine.cpp | 2 +- .../src/geometry/primal_grid/CPrimalGrid.cpp | 2 +- .../primal_grid/CPrimalGridBoundFEM.cpp | 2 +- .../geometry/primal_grid/CPrimalGridFEM.cpp | 2 +- Common/src/geometry/primal_grid/CPrism.cpp | 2 +- Common/src/geometry/primal_grid/CPyramid.cpp | 2 +- .../geometry/primal_grid/CQuadrilateral.cpp | 2 +- .../src/geometry/primal_grid/CTetrahedron.cpp | 2 +- Common/src/geometry/primal_grid/CTriangle.cpp | 2 +- .../src/geometry/primal_grid/CVertexMPI.cpp | 2 +- Common/src/graph_coloring_structure.cpp | 2 +- Common/src/grid_movement/CBSplineBlending.cpp | 2 +- Common/src/grid_movement/CBezierBlending.cpp | 2 +- .../src/grid_movement/CFreeFormBlending.cpp | 2 +- Common/src/grid_movement/CFreeFormDefBox.cpp | 2 +- Common/src/grid_movement/CGridMovement.cpp | 2 +- Common/src/grid_movement/CSurfaceMovement.cpp | 2 +- .../src/grid_movement/CVolumetricMovement.cpp | 2 +- .../interface_interpolation/CInterpolator.cpp | 2 +- .../CInterpolatorFactory.cpp | 2 +- .../CIsoparametric.cpp | 2 +- .../src/interface_interpolation/CMirror.cpp | 2 +- .../CNearestNeighbor.cpp | 2 +- .../CRadialBasisFunction.cpp | 2 +- .../interface_interpolation/CSlidingMesh.cpp | 2 +- Common/src/linear_algebra/CPastixWrapper.cpp | 2 +- Common/src/linear_algebra/CSysMatrix.cpp | 2 +- Common/src/linear_algebra/CSysSolve.cpp | 2 +- Common/src/linear_algebra/CSysSolve_b.cpp | 2 +- Common/src/linear_algebra/CSysVector.cpp | 2 +- Common/src/linear_algebra/blas_structure.cpp | 2 +- Common/src/toolboxes/C1DInterpolation.cpp | 2 +- Common/src/toolboxes/CLinearPartitioner.cpp | 2 +- Common/src/toolboxes/CSquareMatrixCM.cpp | 2 +- Common/src/toolboxes/CSymmetricMatrix.cpp | 2 +- Common/src/toolboxes/MMS/CIncTGVSolution.cpp | 2 +- .../toolboxes/MMS/CInviscidVortexSolution.cpp | 2 +- .../toolboxes/MMS/CMMSIncEulerSolution.cpp | 2 +- .../src/toolboxes/MMS/CMMSIncNSSolution.cpp | 2 +- .../MMS/CMMSNSTwoHalfCirclesSolution.cpp | 2 +- .../MMS/CMMSNSTwoHalfSpheresSolution.cpp | 2 +- .../toolboxes/MMS/CMMSNSUnitQuadSolution.cpp | 2 +- .../MMS/CMMSNSUnitQuadSolutionWallBC.cpp | 2 +- .../src/toolboxes/MMS/CNSUnitQuadSolution.cpp | 2 +- Common/src/toolboxes/MMS/CRinglebSolution.cpp | 2 +- Common/src/toolboxes/MMS/CTGVSolution.cpp | 2 +- .../toolboxes/MMS/CUserDefinedSolution.cpp | 2 +- .../toolboxes/MMS/CVerificationSolution.cpp | 2 +- .../CMMSIncEulerSolution.py | 2 +- .../CreateMMSSourceTerms/CMMSIncNSSolution.py | 2 +- Common/src/toolboxes/printing_toolbox.cpp | 2 +- Common/src/wall_model.cpp | 2 +- Docs/docmain.hpp | 4 ++-- QuickStart/inv_NACA0012.cfg | 2 +- README.md | 2 +- SU2_CFD/include/CMarkerProfileReaderFVM.hpp | 2 +- SU2_CFD/include/SU2_CFD.hpp | 2 +- SU2_CFD/include/definition_structure.hpp | 2 +- .../drivers/CDiscAdjMultizoneDriver.hpp | 2 +- .../drivers/CDiscAdjSinglezoneDriver.hpp | 4 ++-- SU2_CFD/include/drivers/CDriver.hpp | 2 +- SU2_CFD/include/drivers/CDummyDriver.hpp | 2 +- SU2_CFD/include/drivers/CMultizoneDriver.hpp | 4 ++-- SU2_CFD/include/drivers/CSinglezoneDriver.hpp | 4 ++-- SU2_CFD/include/fluid/CConductivityModel.hpp | 2 +- .../include/fluid/CConstantConductivity.hpp | 2 +- .../fluid/CConstantConductivityRANS.hpp | 2 +- SU2_CFD/include/fluid/CConstantDensity.hpp | 2 +- .../include/fluid/CConstantDiffusivity.hpp | 2 +- .../fluid/CConstantLewisDiffusivity.hpp | 2 +- SU2_CFD/include/fluid/CConstantPrandtl.hpp | 2 +- .../include/fluid/CConstantPrandtlRANS.hpp | 2 +- SU2_CFD/include/fluid/CConstantSchmidt.hpp | 2 +- SU2_CFD/include/fluid/CConstantViscosity.hpp | 2 +- SU2_CFD/include/fluid/CCoolProp.hpp | 2 +- .../include/fluid/CCoolPropConductivity.hpp | 2 +- SU2_CFD/include/fluid/CCoolPropViscosity.hpp | 2 +- SU2_CFD/include/fluid/CDiffusivityModel.hpp | 2 +- SU2_CFD/include/fluid/CFluidModel.hpp | 2 +- SU2_CFD/include/fluid/CFluidScalar.hpp | 2 +- SU2_CFD/include/fluid/CIdealGas.hpp | 2 +- SU2_CFD/include/fluid/CIncIdealGas.hpp | 2 +- .../include/fluid/CIncIdealGasPolynomial.hpp | 2 +- SU2_CFD/include/fluid/CMutationTCLib.hpp | 2 +- SU2_CFD/include/fluid/CNEMOGas.hpp | 2 +- SU2_CFD/include/fluid/CPengRobinson.hpp | 2 +- .../include/fluid/CPolynomialConductivity.hpp | 2 +- .../fluid/CPolynomialConductivityRANS.hpp | 2 +- .../include/fluid/CPolynomialViscosity.hpp | 2 +- SU2_CFD/include/fluid/CSU2TCLib.hpp | 2 +- SU2_CFD/include/fluid/CSutherland.hpp | 2 +- SU2_CFD/include/fluid/CVanDerWaalsGas.hpp | 2 +- SU2_CFD/include/fluid/CViscosityModel.hpp | 2 +- .../gradients/computeGradientsGreenGauss.hpp | 2 +- .../computeGradientsLeastSquares.hpp | 2 +- .../integration/CFEM_DG_Integration.hpp | 4 ++-- SU2_CFD/include/integration/CIntegration.hpp | 2 +- .../integration/CIntegrationFactory.hpp | 2 +- .../integration/CMultiGridIntegration.hpp | 2 +- .../integration/CNewtonIntegration.hpp | 2 +- .../integration/CSingleGridIntegration.hpp | 2 +- .../integration/CStructuralIntegration.hpp | 2 +- SU2_CFD/include/interfaces/CInterface.hpp | 4 ++-- .../cfd/CConservativeVarsInterface.hpp | 2 +- .../interfaces/cfd/CMixingPlaneInterface.hpp | 2 +- .../interfaces/cfd/CSlidingInterface.hpp | 2 +- .../cht/CConjugateHeatInterface.hpp | 2 +- .../fsi/CDiscAdjFlowTractionInterface.hpp | 2 +- .../fsi/CDisplacementsInterface.hpp | 2 +- .../interfaces/fsi/CFlowTractionInterface.hpp | 2 +- .../include/iteration/CAdjFluidIteration.hpp | 2 +- .../iteration/CDiscAdjFEAIteration.hpp | 2 +- .../iteration/CDiscAdjFluidIteration.hpp | 2 +- .../iteration/CDiscAdjHeatIteration.hpp | 2 +- SU2_CFD/include/iteration/CFEAIteration.hpp | 4 ++-- .../include/iteration/CFEMFluidIteration.hpp | 4 ++-- SU2_CFD/include/iteration/CFluidIteration.hpp | 2 +- SU2_CFD/include/iteration/CHeatIteration.hpp | 2 +- SU2_CFD/include/iteration/CIteration.hpp | 2 +- .../include/iteration/CIterationFactory.hpp | 2 +- SU2_CFD/include/iteration/CTurboIteration.hpp | 2 +- SU2_CFD/include/limiters/CLimiterDetails.hpp | 2 +- SU2_CFD/include/limiters/computeLimiters.hpp | 2 +- .../include/limiters/computeLimiters_impl.hpp | 2 +- SU2_CFD/include/numerics/CGradSmoothing.hpp | 2 +- SU2_CFD/include/numerics/CNumerics.hpp | 2 +- .../include/numerics/NEMO/CNEMONumerics.hpp | 2 +- .../include/numerics/NEMO/NEMO_diffusion.hpp | 6 ++--- .../include/numerics/NEMO/NEMO_sources.hpp | 4 ++-- .../numerics/NEMO/convection/ausm_slau.hpp | 2 +- .../include/numerics/NEMO/convection/lax.hpp | 2 +- .../include/numerics/NEMO/convection/msw.hpp | 4 ++-- .../include/numerics/NEMO/convection/roe.hpp | 4 ++-- .../continuous_adjoint/adj_convection.hpp | 2 +- .../continuous_adjoint/adj_diffusion.hpp | 2 +- .../continuous_adjoint/adj_sources.hpp | 2 +- .../numerics/elasticity/CFEAElasticity.hpp | 4 ++-- .../elasticity/CFEALinearElasticity.hpp | 6 ++--- .../elasticity/CFEANonlinearElasticity.hpp | 4 ++-- .../numerics/elasticity/nonlinear_models.hpp | 10 ++++---- .../numerics/flow/convection/ausm_slau.hpp | 2 +- .../numerics/flow/convection/centered.hpp | 2 +- .../include/numerics/flow/convection/cusp.hpp | 2 +- .../include/numerics/flow/convection/fds.hpp | 2 +- .../include/numerics/flow/convection/fvs.hpp | 2 +- .../include/numerics/flow/convection/hllc.hpp | 6 ++--- .../include/numerics/flow/convection/roe.hpp | 6 ++--- .../include/numerics/flow/flow_diffusion.hpp | 2 +- .../include/numerics/flow/flow_sources.hpp | 6 ++--- SU2_CFD/include/numerics/heat.hpp | 6 ++--- SU2_CFD/include/numerics/radiation.hpp | 2 +- .../numerics/scalar/scalar_convection.hpp | 2 +- .../numerics/scalar/scalar_diffusion.hpp | 2 +- .../numerics/scalar/scalar_sources.hpp | 2 +- .../numerics/species/species_convection.hpp | 2 +- .../numerics/species/species_diffusion.hpp | 2 +- .../numerics/species/species_sources.hpp | 2 +- SU2_CFD/include/numerics/template.hpp | 2 +- .../turbulent/transition/trans_convection.hpp | 2 +- .../transition/trans_correlations.hpp | 2 +- .../turbulent/transition/trans_diffusion.hpp | 2 +- .../turbulent/transition/trans_sources.hpp | 2 +- .../numerics/turbulent/turb_convection.hpp | 2 +- .../numerics/turbulent/turb_diffusion.hpp | 2 +- .../numerics/turbulent/turb_sources.hpp | 2 +- .../include/numerics_simd/CNumericsSIMD.cpp | 2 +- .../include/numerics_simd/CNumericsSIMD.hpp | 2 +- .../flow/convection/centered.hpp | 2 +- .../numerics_simd/flow/convection/common.hpp | 2 +- .../numerics_simd/flow/convection/roe.hpp | 2 +- .../numerics_simd/flow/diffusion/common.hpp | 2 +- .../flow/diffusion/viscous_fluxes.hpp | 2 +- .../include/numerics_simd/flow/variables.hpp | 2 +- SU2_CFD/include/numerics_simd/util.hpp | 2 +- .../include/output/CAdjElasticityOutput.hpp | 2 +- SU2_CFD/include/output/CAdjFlowCompOutput.hpp | 2 +- SU2_CFD/include/output/CAdjFlowIncOutput.hpp | 2 +- SU2_CFD/include/output/CAdjFlowOutput.hpp | 2 +- SU2_CFD/include/output/CAdjHeatOutput.hpp | 2 +- SU2_CFD/include/output/CBaselineOutput.hpp | 2 +- SU2_CFD/include/output/CElasticityOutput.hpp | 2 +- SU2_CFD/include/output/CFVMOutput.hpp | 2 +- SU2_CFD/include/output/CFlowCompFEMOutput.hpp | 2 +- SU2_CFD/include/output/CFlowCompOutput.hpp | 2 +- SU2_CFD/include/output/CFlowIncOutput.hpp | 2 +- SU2_CFD/include/output/CFlowOutput.hpp | 2 +- SU2_CFD/include/output/CHeatOutput.hpp | 2 +- SU2_CFD/include/output/CMeshOutput.hpp | 2 +- SU2_CFD/include/output/CMultizoneOutput.hpp | 2 +- SU2_CFD/include/output/CNEMOCompOutput.hpp | 2 +- SU2_CFD/include/output/COutput.hpp | 2 +- SU2_CFD/include/output/COutputFactory.hpp | 2 +- SU2_CFD/include/output/COutputLegacy.hpp | 2 +- .../output/filewriter/CCGNSFileWriter.hpp | 2 +- .../output/filewriter/CCSVFileWriter.hpp | 2 +- .../output/filewriter/CFEMDataSorter.hpp | 2 +- .../output/filewriter/CFVMDataSorter.hpp | 2 +- .../include/output/filewriter/CFileWriter.hpp | 2 +- .../output/filewriter/CParallelDataSorter.hpp | 2 +- .../filewriter/CParaviewBinaryFileWriter.hpp | 2 +- .../output/filewriter/CParaviewFileWriter.hpp | 2 +- .../filewriter/CParaviewVTMFileWriter.hpp | 2 +- .../filewriter/CParaviewXMLFileWriter.hpp | 2 +- .../output/filewriter/CSTLFileWriter.hpp | 4 ++-- .../filewriter/CSU2BinaryFileWriter.hpp | 2 +- .../output/filewriter/CSU2FileWriter.hpp | 2 +- .../output/filewriter/CSU2MeshFileWriter.hpp | 2 +- .../filewriter/CSurfaceFEMDataSorter.hpp | 2 +- .../filewriter/CSurfaceFVMDataSorter.hpp | 2 +- .../filewriter/CTecplotBinaryFileWriter.hpp | 2 +- .../output/filewriter/CTecplotFileWriter.hpp | 2 +- .../include/output/tools/CWindowingTools.hpp | 2 +- SU2_CFD/include/sgs_model.hpp | 10 ++++---- SU2_CFD/include/sgs_model.inl | 2 +- SU2_CFD/include/solvers/CAdjEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CAdjNSSolver.hpp | 2 +- SU2_CFD/include/solvers/CAdjTurbSolver.hpp | 2 +- SU2_CFD/include/solvers/CBaselineSolver.hpp | 2 +- .../include/solvers/CBaselineSolver_FEM.hpp | 4 ++-- SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp | 2 +- .../include/solvers/CDiscAdjMeshSolver.hpp | 2 +- SU2_CFD/include/solvers/CDiscAdjSolver.hpp | 2 +- SU2_CFD/include/solvers/CEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CFEASolver.hpp | 2 +- SU2_CFD/include/solvers/CFEASolverBase.hpp | 2 +- .../include/solvers/CFEM_DG_EulerSolver.hpp | 4 ++-- SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp | 4 ++-- .../include/solvers/CFVMFlowSolverBase.hpp | 2 +- .../include/solvers/CFVMFlowSolverBase.inl | 2 +- .../solvers/CGradientSmoothingSolver.hpp | 2 +- SU2_CFD/include/solvers/CHeatSolver.hpp | 4 ++-- SU2_CFD/include/solvers/CIncEulerSolver.hpp | 2 +- SU2_CFD/include/solvers/CIncNSSolver.hpp | 2 +- SU2_CFD/include/solvers/CMeshSolver.hpp | 2 +- SU2_CFD/include/solvers/CNEMOEulerSolver.hpp | 4 ++-- SU2_CFD/include/solvers/CNEMONSSolver.hpp | 2 +- SU2_CFD/include/solvers/CNSSolver.hpp | 2 +- SU2_CFD/include/solvers/CRadP1Solver.hpp | 2 +- SU2_CFD/include/solvers/CRadSolver.hpp | 2 +- SU2_CFD/include/solvers/CScalarSolver.hpp | 2 +- SU2_CFD/include/solvers/CScalarSolver.inl | 2 +- SU2_CFD/include/solvers/CSolver.hpp | 2 +- SU2_CFD/include/solvers/CSolverFactory.hpp | 2 +- SU2_CFD/include/solvers/CSpeciesSolver.hpp | 2 +- SU2_CFD/include/solvers/CTemplateSolver.hpp | 2 +- SU2_CFD/include/solvers/CTransLMSolver.hpp | 2 +- SU2_CFD/include/solvers/CTurbSASolver.hpp | 2 +- SU2_CFD/include/solvers/CTurbSSTSolver.hpp | 2 +- SU2_CFD/include/solvers/CTurbSolver.hpp | 2 +- SU2_CFD/include/task_definition.hpp | 4 ++-- SU2_CFD/include/task_definition.inl | 2 +- .../include/variables/CAdjEulerVariable.hpp | 2 +- SU2_CFD/include/variables/CAdjNSVariable.hpp | 2 +- .../include/variables/CAdjTurbVariable.hpp | 2 +- .../include/variables/CBaselineVariable.hpp | 2 +- .../variables/CDiscAdjFEABoundVariable.hpp | 4 ++-- .../variables/CDiscAdjMeshBoundVariable.hpp | 2 +- .../include/variables/CDiscAdjVariable.hpp | 2 +- SU2_CFD/include/variables/CEulerVariable.hpp | 2 +- .../include/variables/CFEABoundVariable.hpp | 4 ++-- SU2_CFD/include/variables/CFEAVariable.hpp | 4 ++-- SU2_CFD/include/variables/CFlowVariable.hpp | 2 +- SU2_CFD/include/variables/CHeatVariable.hpp | 4 ++-- .../include/variables/CIncEulerVariable.hpp | 2 +- SU2_CFD/include/variables/CIncNSVariable.hpp | 2 +- .../include/variables/CMeshBoundVariable.hpp | 2 +- SU2_CFD/include/variables/CMeshElement.hpp | 2 +- SU2_CFD/include/variables/CMeshVariable.hpp | 2 +- .../include/variables/CNEMOEulerVariable.hpp | 2 +- SU2_CFD/include/variables/CNEMONSVariable.hpp | 2 +- SU2_CFD/include/variables/CNSVariable.hpp | 2 +- .../include/variables/CPrimitiveIndices.hpp | 2 +- SU2_CFD/include/variables/CRadP1Variable.hpp | 2 +- SU2_CFD/include/variables/CRadVariable.hpp | 2 +- SU2_CFD/include/variables/CScalarVariable.hpp | 2 +- .../variables/CSobolevSmoothingVariable.hpp | 2 +- .../include/variables/CSpeciesVariable.hpp | 2 +- .../include/variables/CTransLMVariable.hpp | 2 +- SU2_CFD/include/variables/CTurbSAVariable.hpp | 2 +- .../include/variables/CTurbSSTVariable.hpp | 2 +- SU2_CFD/include/variables/CTurbVariable.hpp | 2 +- SU2_CFD/include/variables/CVariable.hpp | 2 +- SU2_CFD/obj/Makefile.am | 2 +- SU2_CFD/src/CMarkerProfileReaderFVM.cpp | 2 +- SU2_CFD/src/SU2_CFD.cpp | 4 ++-- SU2_CFD/src/definition_structure.cpp | 2 +- .../src/drivers/CDiscAdjMultizoneDriver.cpp | 2 +- .../src/drivers/CDiscAdjSinglezoneDriver.cpp | 2 +- SU2_CFD/src/drivers/CDriver.cpp | 2 +- SU2_CFD/src/drivers/CDummyDriver.cpp | 2 +- SU2_CFD/src/drivers/CMultizoneDriver.cpp | 2 +- SU2_CFD/src/drivers/CSinglezoneDriver.cpp | 2 +- SU2_CFD/src/fluid/CCoolProp.cpp | 2 +- SU2_CFD/src/fluid/CFluidModel.cpp | 2 +- SU2_CFD/src/fluid/CFluidScalar.cpp | 2 +- SU2_CFD/src/fluid/CIdealGas.cpp | 2 +- SU2_CFD/src/fluid/CMutationTCLib.cpp | 2 +- SU2_CFD/src/fluid/CNEMOGas.cpp | 2 +- SU2_CFD/src/fluid/CPengRobinson.cpp | 2 +- SU2_CFD/src/fluid/CSU2TCLib.cpp | 2 +- SU2_CFD/src/fluid/CVanDerWaalsGas.cpp | 2 +- .../src/integration/CFEM_DG_Integration.cpp | 2 +- SU2_CFD/src/integration/CIntegration.cpp | 2 +- .../src/integration/CIntegrationFactory.cpp | 2 +- .../src/integration/CMultiGridIntegration.cpp | 2 +- .../src/integration/CNewtonIntegration.cpp | 2 +- .../integration/CSingleGridIntegration.cpp | 2 +- .../integration/CStructuralIntegration.cpp | 2 +- SU2_CFD/src/interfaces/CInterface.cpp | 2 +- .../cfd/CConservativeVarsInterface.cpp | 2 +- .../interfaces/cfd/CMixingPlaneInterface.cpp | 2 +- .../src/interfaces/cfd/CSlidingInterface.cpp | 2 +- .../cht/CConjugateHeatInterface.cpp | 2 +- .../fsi/CDiscAdjFlowTractionInterface.cpp | 2 +- .../fsi/CDisplacementsInterface.cpp | 2 +- .../interfaces/fsi/CFlowTractionInterface.cpp | 2 +- SU2_CFD/src/iteration/CAdjFluidIteration.cpp | 2 +- .../src/iteration/CDiscAdjFEAIteration.cpp | 2 +- .../src/iteration/CDiscAdjFluidIteration.cpp | 2 +- .../src/iteration/CDiscAdjHeatIteration.cpp | 2 +- SU2_CFD/src/iteration/CFEAIteration.cpp | 2 +- SU2_CFD/src/iteration/CFEMFluidIteration.cpp | 2 +- SU2_CFD/src/iteration/CFluidIteration.cpp | 2 +- SU2_CFD/src/iteration/CHeatIteration.cpp | 2 +- SU2_CFD/src/iteration/CIteration.cpp | 2 +- SU2_CFD/src/iteration/CIterationFactory.cpp | 2 +- SU2_CFD/src/iteration/CTurboIteration.cpp | 2 +- SU2_CFD/src/limiters/CLimiterDetails.cpp | 2 +- SU2_CFD/src/numerics/CGradSmoothing.cpp | 2 +- SU2_CFD/src/numerics/CNumerics.cpp | 2 +- SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp | 2 +- SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp | 2 +- SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp | 2 +- .../numerics/NEMO/convection/ausm_slau.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/lax.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/msw.cpp | 2 +- SU2_CFD/src/numerics/NEMO/convection/roe.cpp | 2 +- .../continuous_adjoint/adj_convection.cpp | 2 +- .../continuous_adjoint/adj_diffusion.cpp | 2 +- .../continuous_adjoint/adj_sources.cpp | 2 +- .../numerics/elasticity/CFEAElasticity.cpp | 2 +- .../elasticity/CFEALinearElasticity.cpp | 2 +- .../elasticity/CFEANonlinearElasticity.cpp | 2 +- .../numerics/elasticity/nonlinear_models.cpp | 2 +- .../numerics/flow/convection/ausm_slau.cpp | 2 +- .../src/numerics/flow/convection/centered.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/cusp.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/fds.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/fvs.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/hllc.cpp | 2 +- SU2_CFD/src/numerics/flow/convection/roe.cpp | 2 +- SU2_CFD/src/numerics/flow/flow_diffusion.cpp | 2 +- SU2_CFD/src/numerics/flow/flow_sources.cpp | 2 +- SU2_CFD/src/numerics/radiation.cpp | 2 +- .../src/numerics/scalar/scalar_sources.cpp | 2 +- .../src/numerics/species/species_sources.cpp | 2 +- SU2_CFD/src/numerics/template.cpp | 2 +- SU2_CFD/src/output/CAdjElasticityOutput.cpp | 2 +- SU2_CFD/src/output/CAdjFlowCompOutput.cpp | 2 +- SU2_CFD/src/output/CAdjFlowIncOutput.cpp | 2 +- SU2_CFD/src/output/CAdjFlowOutput.cpp | 2 +- SU2_CFD/src/output/CAdjHeatOutput.cpp | 2 +- SU2_CFD/src/output/CBaselineOutput.cpp | 2 +- SU2_CFD/src/output/CElasticityOutput.cpp | 2 +- SU2_CFD/src/output/CFVMOutput.cpp | 2 +- SU2_CFD/src/output/CFlowCompFEMOutput.cpp | 2 +- SU2_CFD/src/output/CFlowCompOutput.cpp | 2 +- SU2_CFD/src/output/CFlowIncOutput.cpp | 2 +- SU2_CFD/src/output/CFlowOutput.cpp | 4 ++-- SU2_CFD/src/output/CHeatOutput.cpp | 2 +- SU2_CFD/src/output/CMeshOutput.cpp | 2 +- SU2_CFD/src/output/CMultizoneOutput.cpp | 2 +- SU2_CFD/src/output/CNEMOCompOutput.cpp | 2 +- SU2_CFD/src/output/COutput.cpp | 2 +- SU2_CFD/src/output/COutputFactory.cpp | 2 +- .../src/output/filewriter/CCGNSFileWriter.cpp | 2 +- .../src/output/filewriter/CCSVFileWriter.cpp | 2 +- .../src/output/filewriter/CFEMDataSorter.cpp | 2 +- .../src/output/filewriter/CFVMDataSorter.cpp | 2 +- .../output/filewriter/CParallelDataSorter.cpp | 2 +- .../output/filewriter/CParallelFileWriter.cpp | 2 +- .../filewriter/CParaviewBinaryFileWriter.cpp | 2 +- .../output/filewriter/CParaviewFileWriter.cpp | 2 +- .../filewriter/CParaviewVTMFileWriter.cpp | 2 +- .../filewriter/CParaviewXMLFileWriter.cpp | 2 +- .../src/output/filewriter/CSTLFileWriter.cpp | 2 +- .../filewriter/CSU2BinaryFileWriter.cpp | 2 +- .../src/output/filewriter/CSU2FileWriter.cpp | 2 +- .../output/filewriter/CSU2MeshFileWriter.cpp | 2 +- .../filewriter/CSurfaceFEMDataSorter.cpp | 2 +- .../filewriter/CSurfaceFVMDataSorter.cpp | 2 +- .../filewriter/CTecplotBinaryFileWriter.cpp | 2 +- .../output/filewriter/CTecplotFileWriter.cpp | 2 +- SU2_CFD/src/output/output_physics.cpp | 2 +- .../src/output/output_structure_legacy.cpp | 2 +- SU2_CFD/src/output/tools/CWindowingTools.cpp | 2 +- SU2_CFD/src/python_wrapper_structure.cpp | 2 +- SU2_CFD/src/solvers/CAdjEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CAdjNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CAdjTurbSolver.cpp | 2 +- SU2_CFD/src/solvers/CBaselineSolver.cpp | 2 +- SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp | 2 +- SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp | 2 +- SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp | 2 +- SU2_CFD/src/solvers/CDiscAdjSolver.cpp | 2 +- SU2_CFD/src/solvers/CEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CFEASolver.cpp | 2 +- SU2_CFD/src/solvers/CFEASolverBase.cpp | 2 +- SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp | 2 +- .../src/solvers/CGradientSmoothingSolver.cpp | 2 +- SU2_CFD/src/solvers/CHeatSolver.cpp | 2 +- SU2_CFD/src/solvers/CIncEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CIncNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CMeshSolver.cpp | 2 +- SU2_CFD/src/solvers/CNEMOEulerSolver.cpp | 2 +- SU2_CFD/src/solvers/CNEMONSSolver.cpp | 2 +- SU2_CFD/src/solvers/CNSSolver.cpp | 2 +- SU2_CFD/src/solvers/CRadP1Solver.cpp | 2 +- SU2_CFD/src/solvers/CRadSolver.cpp | 2 +- SU2_CFD/src/solvers/CSolver.cpp | 2 +- SU2_CFD/src/solvers/CSolverFactory.cpp | 2 +- SU2_CFD/src/solvers/CSpeciesSolver.cpp | 2 +- SU2_CFD/src/solvers/CTemplateSolver.cpp | 2 +- SU2_CFD/src/solvers/CTransLMSolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSASolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSSTSolver.cpp | 2 +- SU2_CFD/src/solvers/CTurbSolver.cpp | 2 +- SU2_CFD/src/variables/CAdjEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CAdjNSVariable.cpp | 2 +- SU2_CFD/src/variables/CAdjTurbVariable.cpp | 2 +- SU2_CFD/src/variables/CBaselineVariable.cpp | 2 +- .../variables/CDiscAdjFEABoundVariable.cpp | 2 +- .../variables/CDiscAdjMeshBoundVariable.cpp | 2 +- SU2_CFD/src/variables/CDiscAdjVariable.cpp | 2 +- SU2_CFD/src/variables/CEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CFEABoundVariable.cpp | 2 +- SU2_CFD/src/variables/CFEAVariable.cpp | 2 +- SU2_CFD/src/variables/CFlowVariable.cpp | 2 +- SU2_CFD/src/variables/CHeatVariable.cpp | 2 +- SU2_CFD/src/variables/CIncEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CIncNSVariable.cpp | 2 +- SU2_CFD/src/variables/CMeshBoundVariable.cpp | 2 +- SU2_CFD/src/variables/CMeshElement.cpp | 2 +- SU2_CFD/src/variables/CMeshVariable.cpp | 2 +- SU2_CFD/src/variables/CNEMOEulerVariable.cpp | 2 +- SU2_CFD/src/variables/CNEMONSVariable.cpp | 2 +- SU2_CFD/src/variables/CNSVariable.cpp | 2 +- SU2_CFD/src/variables/CRadP1Variable.cpp | 2 +- SU2_CFD/src/variables/CRadVariable.cpp | 2 +- SU2_CFD/src/variables/CScalarVariable.cpp | 2 +- .../variables/CSobolevSmoothingVariable.cpp | 2 +- SU2_CFD/src/variables/CSpeciesVariable.cpp | 2 +- SU2_CFD/src/variables/CTransLMVariable.cpp | 2 +- SU2_CFD/src/variables/CTurbSAVariable.cpp | 2 +- SU2_CFD/src/variables/CTurbSSTVariable.cpp | 2 +- SU2_CFD/src/variables/CTurbVariable.cpp | 2 +- SU2_CFD/src/variables/CVariable.cpp | 2 +- SU2_DEF/include/SU2_DEF.hpp | 2 +- SU2_DEF/obj/Makefile.am | 2 +- SU2_DEF/src/SU2_DEF.cpp | 2 +- SU2_DOT/include/SU2_DOT.hpp | 2 +- SU2_DOT/obj/Makefile.am | 2 +- SU2_DOT/src/SU2_DOT.cpp | 2 +- SU2_GEO/include/SU2_GEO.hpp | 2 +- SU2_GEO/obj/Makefile.am | 2 +- SU2_GEO/src/SU2_GEO.cpp | 2 +- SU2_PY/FSI_tools/FSIInterface.py | 2 +- SU2_PY/FSI_tools/FSI_config.py | 2 +- SU2_PY/Makefile.am | 2 +- SU2_PY/OptimalPropeller.py | 2 +- SU2_PY/SU2/eval/design.py | 2 +- SU2_PY/SU2/eval/functions.py | 2 +- SU2_PY/SU2/eval/gradients.py | 2 +- SU2_PY/SU2/io/config.py | 2 +- SU2_PY/SU2/io/config_options.py | 2 +- SU2_PY/SU2/io/data.py | 2 +- SU2_PY/SU2/io/filelock.py | 2 +- SU2_PY/SU2/io/redirect.py | 2 +- SU2_PY/SU2/io/state.py | 2 +- SU2_PY/SU2/io/tools.py | 2 +- SU2_PY/SU2/opt/project.py | 2 +- SU2_PY/SU2/opt/scipy_tools.py | 2 +- SU2_PY/SU2/run/adjoint.py | 2 +- SU2_PY/SU2/run/deform.py | 2 +- SU2_PY/SU2/run/direct.py | 2 +- SU2_PY/SU2/run/geometry.py | 2 +- SU2_PY/SU2/run/interface.py | 2 +- SU2_PY/SU2/run/merge.py | 2 +- SU2_PY/SU2/run/projection.py | 2 +- SU2_PY/SU2/util/filter_adjoint.py | 2 +- SU2_PY/SU2/util/plot.py | 2 +- SU2_PY/SU2/util/polarSweepLib.py | 2 +- SU2_PY/SU2/util/which.py | 2 +- SU2_PY/SU2_CFD.py | 2 +- SU2_PY/SU2_Nastran/pysu2_nastran.py | 2 +- SU2_PY/change_version_number.py | 6 ++--- SU2_PY/compute_multipoint.py | 2 +- SU2_PY/compute_polar.py | 2 +- SU2_PY/compute_stability.py | 2 +- SU2_PY/compute_uncertainty.py | 2 +- SU2_PY/config_gui.py | 2 +- SU2_PY/continuous_adjoint.py | 2 +- SU2_PY/convert_to_csv.py | 2 +- SU2_PY/direct_differentiation.py | 2 +- SU2_PY/discrete_adjoint.py | 2 +- SU2_PY/finite_differences.py | 2 +- SU2_PY/fsi_computation.py | 2 +- SU2_PY/merge_solution.py | 2 +- SU2_PY/mesh_deformation.py | 2 +- SU2_PY/package_tests.py | 2 +- SU2_PY/parallel_computation.py | 2 +- SU2_PY/parallel_computation_fsi.py | 2 +- SU2_PY/parse_config.py | 2 +- SU2_PY/profiling.py | 2 +- SU2_PY/pySU2/Makefile.am | 2 +- SU2_PY/pySU2/pySU2.i | 2 +- SU2_PY/pySU2/pySU2ad.i | 2 +- SU2_PY/set_ffd_design_var.py | 2 +- SU2_PY/shape_optimization.py | 4 ++-- SU2_PY/topology_optimization.py | 2 +- SU2_PY/updateHistoryMap.py | 2 +- SU2_SOL/include/SU2_SOL.hpp | 2 +- SU2_SOL/obj/Makefile.am | 2 +- SU2_SOL/src/SU2_SOL.cpp | 2 +- TestCases/TestCase.py | 2 +- .../aeroelastic/aeroelastic_NACA64A010.cfg | 2 +- .../air_nozzle/air_nozzle_restart.cfg | 2 +- .../cont_adj_euler/naca0012/inv_NACA0012.cfg | 2 +- .../naca0012/inv_NACA0012_FD.cfg | 2 +- .../naca0012/inv_NACA0012_discadj.cfg | 2 +- .../cont_adj_euler/oneram6/inv_ONERAM6.cfg | 2 +- .../cont_adj_euler/wedge/inv_wedge_ROE.cfg | 2 +- .../wedge/inv_wedge_ROE_multiobj.cfg | 2 +- .../cylinder/lam_cylinder.cfg | 2 +- .../naca0012_sub/lam_NACA0012.cfg | 2 +- .../naca0012_trans/lam_NACA0012.cfg | 2 +- .../cont_adj_rans/naca0012/turb_nasa.cfg | 2 +- .../naca0012/turb_nasa_binary.cfg | 2 +- .../cont_adj_rans/oneram6/turb_ONERAM6.cfg | 2 +- .../cont_adj_rans/rae2822/turb_SA_RAE2822.cfg | 2 +- .../control_surface/inv_ONERAM6_moving.cfg | 2 +- .../control_surface/inv_ONERAM6_setting.cfg | 2 +- .../coupled_cht/comp_2d/cht_2d_3cylinders.cfg | 2 +- .../disc_adj_incomp_2d/cht_2d_3cylinders.cfg | 2 +- .../incomp_2d/cht_2d_3cylinders.cfg | 2 +- .../incomp_2d_unsteady/cht_2d_3cylinders.cfg | 2 +- TestCases/ddes/flatplate/ddes_flatplate.cfg | 2 +- .../deformation/brick_hex/def_brick_hex.cfg | 2 +- .../brick_hex_rans/def_brick_hex_rans.cfg | 2 +- .../brick_prism/def_brick_prism.cfg | 2 +- .../brick_prism_rans/def_brick_prism_rans.cfg | 2 +- .../deformation/brick_pyra/def_brick_pyra.cfg | 2 +- .../deformation/brick_tets/def_brick_tets.cfg | 2 +- .../cylindrical_ffd/def_cylindrical.cfg | 2 +- .../intersection_prevention/def_intersect.cfg | 2 +- .../deformation/naca0012/def_NACA0012.cfg | 2 +- .../naca0012/surface_file_NACA0012.cfg | 2 +- .../deformation/naca4412/def_NACA4412.cfg | 2 +- TestCases/deformation/rae2822/def_RAE2822.cfg | 2 +- .../spherical_ffd/def_spherical.cfg | 2 +- .../spherical_ffd/def_spherical_bspline.cfg | 2 +- .../disc_adj_euler/arina2k/Arina2KRS.cfg | 2 +- .../cylinder3D/inv_cylinder3D.cfg | 2 +- .../disc_adj_euler/oneram6/inv_ONERAM6.cfg | 2 +- TestCases/disc_adj_fea/configAD_fem.cfg | 2 +- TestCases/disc_adj_fsi/configFEA.cfg | 2 +- TestCases/disc_adj_fsi/configFlow.cfg | 2 +- TestCases/disc_adj_heat/disc_adj_heat.cfg | 2 +- TestCases/disc_adj_heat/primal.cfg | 2 +- .../naca0012/incomp_NACA0012_disc.cfg | 2 +- .../cylinder/heated_cylinder.cfg | 2 +- .../naca0012/turb_naca0012_sa.cfg | 2 +- .../naca0012/turb_naca0012_sst.cfg | 2 +- TestCases/disc_adj_rans/cylinder/cylinder.cfg | 2 +- .../cylinder/cylinder_Windowing.cfg | 2 +- .../cylinder/cylinder_Windowing_AD.cfg | 2 +- .../cylinder_DT_1ST/cylinder.cfg | 2 +- TestCases/disc_adj_rans/naca0012/naca0012.cfg | 2 +- .../naca0012/turb_NACA0012_sa.cfg | 2 +- .../naca0012/turb_NACA0012_sst.cfg | 2 +- .../transonic_stator_2D/transonic_stator.cfg | 2 +- TestCases/euler/CRM/inv_CRM_JST.cfg | 2 +- TestCases/euler/biparabolic/BIPARABOLIC.cfg | 2 +- TestCases/euler/bluntbody/blunt.cfg | 2 +- TestCases/euler/channel/inv_channel.cfg | 2 +- TestCases/euler/channel/inv_channel_RK.cfg | 2 +- TestCases/euler/naca0012/inv_NACA0012.cfg | 2 +- TestCases/euler/naca0012/inv_NACA0012_Roe.cfg | 2 +- TestCases/euler/oneram6/inv_ONERAM6.cfg | 2 +- TestCases/euler/wedge/inv_wedge_HLLC.cfg | 2 +- TestCases/fea_fsi/Airfoil_RBF/config.cfg | 2 +- TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg | 2 +- TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg | 2 +- .../fea_fsi/DynBeam_2d/configBeam_2d.cfg | 2 +- TestCases/fea_fsi/MixElemsKnowles/config.cfg | 2 +- TestCases/fea_fsi/SquareCyl_Beam/config.cfg | 2 +- .../fea_fsi/StatBeam_3d/configBeam_3d.cfg | 2 +- TestCases/fea_topology/config.cfg | 2 +- TestCases/fixed_cl/naca0012/inv_NACA0012.cfg | 2 +- .../naca0012/inv_NACA0012_ContAdj.cfg | 2 +- .../naca0012/inv_NACA0012_gradsmooth.cfg | 2 +- .../oneram6/ONERAM6_gradsmooth.cfg | 2 +- TestCases/gust/inv_gust_NACA0012.cfg | 2 +- TestCases/harmonic_balance/HB.cfg | 2 +- .../hb_rans_preconditioning/davis.cfg | 2 +- .../fem_NACA0012.cfg | 2 +- .../NACA0012_5thOrder/fem_NACA0012.cfg | 2 +- .../NACA0012_5thOrder/fem_NACA0012_reg.cfg | 2 +- .../Sphere_4thOrder_Hexa/fem_Sphere.cfg | 2 +- .../Sphere_4thOrder_Tet/fem_Sphere.cfg | 2 +- .../nPoly1/fem_SubsonicChannel.cfg | 2 +- .../nPoly1/fem_SubsonicChannel_Farfield.cfg | 2 +- .../nPoly2/fem_SubsonicChannel.cfg | 2 +- .../nPoly2/fem_SubsonicChannel_Farfield.cfg | 2 +- .../nPoly4/fem_SubsonicChannel.cfg | 2 +- .../nPoly4/fem_SubsonicChannel_Farfield.cfg | 2 +- .../nPoly3/fem_Cylinder_reg.cfg | 2 +- .../FlatPlate/nPoly4/lam_flatplate_reg.cfg | 2 +- .../nPoly3_QuadDominant/fem_Sphere_reg.cfg | 2 +- .../fem_Sphere_reg_ADER.cfg | 2 +- .../nPoly4/fem_unst_cylinder.cfg | 2 +- .../nPoly4/fem_unst_cylinder_ADER.cfg | 2 +- TestCases/hybrid_regression.py | 2 +- TestCases/hybrid_regression_AD.py | 2 +- .../incomp_euler/naca0012/incomp_NACA0012.cfg | 2 +- TestCases/incomp_euler/nozzle/inv_nozzle.cfg | 2 +- .../buoyancy_cavity/lam_buoyancy_cavity.cfg | 2 +- .../cylinder/incomp_cylinder.cfg | 2 +- .../cylinder/poly_cylinder.cfg | 2 +- .../chtPinArray_2d/BC_HeatTransfer.cfg | 2 +- .../chtPinArray_2d/DA_configMaster.cfg | 2 +- .../chtPinArray_2d/FD_configMaster.cfg | 2 +- .../chtPinArray_2d/configFluid.cfg | 2 +- .../chtPinArray_2d/configMaster.cfg | 2 +- .../chtPinArray_2d/configSolid.cfg | 2 +- .../chtPinArray_3d/configFluid.cfg | 2 +- .../chtPinArray_3d/configMaster.cfg | 2 +- .../chtPinArray_3d/configSolid.cfg | 2 +- .../dp-adjoint_chtPinArray_2d/configFluid.cfg | 2 +- .../configMaster.cfg | 2 +- .../dp-adjoint_chtPinArray_2d/configSolid.cfg | 2 +- .../pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg | 2 +- TestCases/incomp_rans/naca0012/naca0012.cfg | 2 +- .../naca0012/naca0012_SST_SUST.cfg | 2 +- .../rough_flatplate_incomp.cfg | 2 +- TestCases/mms/dg_ringleb/ringleb_dg.cfg | 2 +- .../mms/fvm_incomp_euler/inv_mms_jst.cfg | 2 +- .../fvm_incomp_navierstokes/lam_mms_fds.cfg | 2 +- .../mms/fvm_navierstokes/lam_mms_roe.cfg | 2 +- TestCases/moving_wall/cavity/lam_cavity.cfg | 2 +- .../spinning_cylinder/spinning_cylinder.cfg | 2 +- .../naca0012/inv_NACA0012_ffd.cfg | 2 +- .../cylinder/cylinder_lowmach.cfg | 2 +- .../navierstokes/cylinder/lam_cylinder.cfg | 2 +- .../navierstokes/flatplate/lam_flatplate.cfg | 2 +- .../flatplate/lam_flatplate_unst.cfg | 2 +- .../navierstokes/naca0012/lam_NACA0012.cfg | 2 +- .../poiseuille/lam_poiseuille.cfg | 2 +- .../poiseuille/profile_poiseuille.cfg | 2 +- TestCases/nicf/LS89/turb_SA_PR.cfg | 2 +- TestCases/nicf/LS89/turb_SST_PR.cfg | 2 +- TestCases/nicf/edge/edge_PPR.cfg | 2 +- TestCases/nicf/edge/edge_VW.cfg | 2 +- .../nonequilibrium/invwedge/invwedge_ausm.cfg | 2 +- .../invwedge/invwedge_ausmplusup2.cfg | 2 +- .../nonequilibrium/invwedge/invwedge_lax.cfg | 2 +- .../nonequilibrium/invwedge/invwedge_msw.cfg | 2 +- .../nonequilibrium/invwedge/invwedge_roe.cfg | 2 +- .../invwedge/invwedge_ss_inlet.cfg | 2 +- .../finitechemistry/thermalbath.cfg | 2 +- .../thermalbath/frozen/thermalbath_frozen.cfg | 2 +- .../nonequilibrium/viscous/axi_visccone.cfg | 2 +- .../nonequilibrium/viscous/partial_cat.cfg | 2 +- .../nonequilibrium/viscous/super_cat.cfg | 2 +- .../viscwedge_mpp/viscwedge_mpp.cfg | 2 +- .../equivalentarea_naca64206/NACA64206.cfg | 2 +- .../inv_wedge_ROE_2surf_1obj.cfg | 2 +- .../inv_wedge_ROE_multiobj.cfg | 2 +- .../inv_wedge_ROE_multiobj_1surf.cfg | 2 +- .../inv_wedge_ROE_multiobj_combo.cfg | 2 +- .../inv_NACA0012_multipoint.cfg | 2 +- .../pitching_NACA64A010.cfg | 2 +- .../pitching_oneram6/pitching_ONERAM6.cfg | 2 +- .../rotating_naca0012/rotating_NACA0012.cfg | 2 +- .../steady_inverse_design/inv_NACA0012.cfg | 2 +- .../steady_naca0012/inv_NACA0012_adv.cfg | 2 +- .../steady_naca0012/inv_NACA0012_basic.cfg | 2 +- .../steady_oneram6/inv_ONERAM6_adv.cfg | 2 +- .../steady_oneram6/inv_ONERAM6_basic.cfg | 2 +- .../optimization_rans/naca0012/naca0012.cfg | 2 +- .../pitching_naca64a010/turb_NACA64A010.cfg | 2 +- .../pitching_oneram6/turb_ONERAM6.cfg | 2 +- .../steady_oneram6/turb_ONERAM6.cfg | 2 +- .../steady_rae2822/turb_SA_RAE2822.cfg | 2 +- TestCases/parallel_regression.py | 2 +- TestCases/parallel_regression_AD.py | 2 +- TestCases/pastix_support/config.cfg | 2 +- TestCases/pastix_support/readme.txt | 2 +- TestCases/polar/naca0012/inv_NACA0012.cfg | 2 +- .../flow_load_sens/run_adjoint.py | 2 +- .../mesh_disp_sens/run_adjoint.py | 2 +- .../flatPlate_rigidMotion_Conf.cfg | 2 +- .../launch_flatPlate_rigidMotion.py | 2 +- .../launch_unsteady_CHT_FlatPlate.py | 2 +- .../unsteady_CHT_FlatPlate_Conf.cfg | 2 +- .../radiation/p1adjoint/configp1adjoint.cfg | 2 +- TestCases/radiation/p1model/configp1.cfg | 2 +- .../propeller_variable_load.cfg | 2 +- .../rans/flatplate/turb_SA_flatplate.cfg | 2 +- .../flatplate/turb_SA_flatplate_species.cfg | 2 +- .../rans/flatplate/turb_SST_flatplate.cfg | 2 +- TestCases/rans/naca0012/turb_NACA0012_sa.cfg | 2 +- TestCases/rans/naca0012/turb_NACA0012_sst.cfg | 2 +- .../naca0012/turb_NACA0012_sst_1994-KLm.cfg | 2 +- .../naca0012/turb_NACA0012_sst_2003-Vm.cfg | 2 +- .../rans/naca0012/turb_NACA0012_sst_2003m.cfg | 2 +- .../turb_NACA0012_sst_expliciteuler.cfg | 2 +- .../turb_NACA0012_sst_fixedvalues.cfg | 2 +- .../turb_NACA0012_sst_multigrid_restart.cfg | 2 +- .../rans/naca0012/turb_NACA0012_sst_sust.cfg | 2 +- TestCases/rans/oneram6/turb_ONERAM6.cfg | 2 +- TestCases/rans/oneram6/turb_ONERAM6_nk.cfg | 2 +- TestCases/rans/oneram6/turb_ONERAM6_vc.cfg | 2 +- TestCases/rans/propeller/propeller.cfg | 2 +- TestCases/rans/rae2822/turb_SA_RAE2822.cfg | 2 +- TestCases/rans/rae2822/turb_SST_RAE2822.cfg | 2 +- .../rans/rae2822/turb_SST_SUST_RAE2822.cfg | 2 +- .../rans/restart_directdiff_naca/naca0012.cfg | 2 +- TestCases/rans/s809/trans_s809.cfg | 2 +- TestCases/rans/s809/turb_S809.cfg | 2 +- TestCases/rans/vki_turbine/turb_vki.cfg | 2 +- .../rans_uq/naca0012/turb_NACA0012_uq.cfg | 2 +- .../rans_uq/naca0012/turb_NACA0012_uq_1c.cfg | 2 +- .../rans_uq/naca0012/turb_NACA0012_uq_2c.cfg | 2 +- .../rans_uq/naca0012/turb_NACA0012_uq_3c.cfg | 2 +- .../naca0012/turb_NACA0012_uq_p1c1.cfg | 2 +- .../naca0012/turb_NACA0012_uq_p1c2.cfg | 2 +- .../caradonna_tung/rot_caradonna_tung.cfg | 2 +- TestCases/rotating/naca0012/rot_NACA0012.cfg | 2 +- TestCases/serial_regression.py | 2 +- TestCases/serial_regression_AD.py | 2 +- .../sliding_interface/bars_SST_2D/bars.cfg | 2 +- .../sliding_interface/bars_SST_2D/zone_1.cfg | 2 +- .../sliding_interface/bars_SST_2D/zone_2.cfg | 2 +- .../sliding_interface/bars_SST_2D/zone_3.cfg | 2 +- .../channel_2D/channel_2D_NN.cfg | 2 +- .../channel_2D/channel_2D_WA.cfg | 2 +- .../sliding_interface/channel_2D/zone_2.cfg | 2 +- .../sliding_interface/channel_2D/zone_3.cfg | 2 +- .../channel_3D/channel_3D_NN.cfg | 2 +- .../channel_3D/channel_3D_WA.cfg | 2 +- .../sliding_interface/channel_3D/zone_1.cfg | 2 +- .../sliding_interface/channel_3D/zone_2.cfg | 2 +- .../sliding_interface/channel_3D/zone_3.cfg | 2 +- .../incompressible_steady/config.cfg | 2 +- .../incompressible_steady/configCircle.cfg | 2 +- .../incompressible_steady/configOut.cfg | 2 +- .../incompressible_unsteady/config.cfg | 2 +- .../incompressible_unsteady/configCircle.cfg | 2 +- .../incompressible_unsteady/configOut.cfg | 2 +- TestCases/sliding_interface/pipe/pipe_NN.cfg | 2 +- TestCases/sliding_interface/pipe/pipe_WA.cfg | 2 +- TestCases/sliding_interface/pipe/zone_1.cfg | 2 +- TestCases/sliding_interface/pipe/zone_2.cfg | 2 +- TestCases/sliding_interface/pipe/zone_3.cfg | 2 +- TestCases/sliding_interface/pipe/zone_4.cfg | 2 +- TestCases/sliding_interface/pipe/zone_5.cfg | 2 +- .../rotating_cylinders/rot_cylinders_NN.cfg | 2 +- .../rotating_cylinders/rot_cylinders_WA.cfg | 2 +- .../single_stage/single_stage_NN.cfg | 2 +- .../single_stage/single_stage_WA.cfg | 2 +- .../sliding_interface/single_stage/zone_1.cfg | 2 +- .../sliding_interface/single_stage/zone_2.cfg | 2 +- .../sup_vor_shed_NN.cfg | 2 +- .../sup_vor_shed_WA.cfg | 2 +- .../supersonic_vortex_shedding/zone_1.cfg | 2 +- .../supersonic_vortex_shedding/zone_2.cfg | 2 +- .../uniform_flow/uniform_NN.cfg | 2 +- .../uniform_flow/uniform_WA.cfg | 2 +- .../sliding_interface/uniform_flow/zone_1.cfg | 2 +- .../sliding_interface/uniform_flow/zone_2.cfg | 2 +- .../periodic_pins/configSolid.cfg | 2 +- .../multizone/configMaster.cfg | 2 +- .../passive_transport.cfg | 2 +- .../DAspecies3_primitiveVenturi.cfg | 2 +- .../species2_primitiveVenturi.cfg | 2 +- ...pecies2_primitiveVenturi_boundedscalar.cfg | 2 +- .../species2_primitiveVenturi_mixingmodel.cfg | 2 +- ...eVenturi_mixingmodel_TURBULENT_MARKERS.cfg | 2 +- ...itiveVenturi_mixingmodel_boundedscalar.cfg | 2 +- ...iveVenturi_mixingmodel_heatcapacity_H2.cfg | 2 +- ...Venturi_mixingmodel_heatcapacity_H2_ND.cfg | 2 +- ...primitiveVenturi_mixingmodel_viscosity.cfg | 2 +- .../species3_primitiveVenturi.cfg | 2 +- .../species3_primitiveVenturi_inletFile.cfg | 2 +- .../transitional_BC_model_ConfigFile.cfg | 2 +- .../transitional_BC_model_ConfigFile.cfg | 2 +- .../transitional_BC_model_ConfigFile.cfg | 2 +- .../APU_turbocharger/Jones_restart.cfg | 2 +- .../axial_stage_2D/Axial_stage2D.cfg | 2 +- .../turbomachinery/axial_stage_2D/zone_1.cfg | 2 +- .../turbomachinery/axial_stage_2D/zone_2.cfg | 2 +- .../centrifugal_blade/centrifugal_blade.cfg | 2 +- .../centrifugal_stage/centrifugal_stage.cfg | 2 +- .../transonic_stator_restart.cfg | 2 +- TestCases/tutorials.py | 2 +- .../pitching_NACA64A010.cfg | 2 +- .../turb_NACA64A010.cfg | 2 +- .../plunging_naca0012/plunging_NACA0012.cfg | 2 +- .../unsteady/square_cylinder/turb_square.cfg | 2 +- .../user_defined_functions/lam_flatplate.cfg | 2 +- TestCases/vandv.py | 2 +- .../compressible_SA/turb_SA_flatplate.cfg | 2 +- .../compressible_SST/turb_SST_flatplate.cfg | 2 +- .../incompressible_SA/turb_SA_flatplate.cfg | 2 +- .../incompressible_SST/turb_SST_flatplate.cfg | 2 +- .../Common/containers/CLookupTable_tests.cpp | 2 +- UnitTests/Common/geometry/CGeometry_test.cpp | 2 +- .../geometry/dual_grid/CDualGrid_tests.cpp | 2 +- .../primal_grid/CPrimalGrid_tests.cpp | 2 +- UnitTests/Common/simple_ad_test.cpp | 2 +- UnitTests/Common/simple_directdiff_test.cpp | 2 +- .../toolboxes/C1DInterpolation_tests.cpp | 2 +- .../CQuasiNewtonInvLeastSquares_tests.cpp | 2 +- .../Common/toolboxes/ndflattener_tests.cpp | 2 +- UnitTests/Common/vectorization.cpp | 2 +- UnitTests/SU2_CFD/gradients.cpp | 2 +- .../SU2_CFD/numerics/CNumerics_tests.cpp | 2 +- UnitTests/SU2_CFD/windowing.cpp | 2 +- UnitTests/UnitQuadTestCase.hpp | 2 +- UnitTests/test_driver.cpp | 2 +- config_template.cfg | 2 +- externals/Makefile.am | 2 +- externals/tecio/Makefile.am | 2 +- legacy/Makefile.am | 2 +- legacy/configure.ac | 2 +- legacy/preconfigure.py | 2 +- meson.build | 4 ++-- meson.py | 2 +- meson_scripts/init.py | 2 +- su2omp.syntax.json | 2 +- 994 files changed, 1073 insertions(+), 1073 deletions(-) diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp index dbea92d58da..f3b1abd9876 100644 --- a/Common/include/CConfig.hpp +++ b/Common/include/CConfig.hpp @@ -3,7 +3,7 @@ * \brief All the information about the definition of the physical problem. * The subroutines and functions are in the CConfig.cpp file. * \author F. Palacios, T. Economon, B. Tracey - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/adt/CADTBaseClass.hpp b/Common/include/adt/CADTBaseClass.hpp index 6bb0e67a26f..e1c95a5cc42 100644 --- a/Common/include/adt/CADTBaseClass.hpp +++ b/Common/include/adt/CADTBaseClass.hpp @@ -2,7 +2,7 @@ * \file CADTBaseClass.hpp * \brief Base class for storing an ADT in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/adt/CADTComparePointClass.hpp b/Common/include/adt/CADTComparePointClass.hpp index 8887f757783..542ab2612bc 100644 --- a/Common/include/adt/CADTComparePointClass.hpp +++ b/Common/include/adt/CADTComparePointClass.hpp @@ -2,7 +2,7 @@ * \file CADTComparePointClass.hpp * \brief subroutines for comparing two points in an alternating digital tree (ADT). * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/adt/CADTElemClass.hpp b/Common/include/adt/CADTElemClass.hpp index 9ce7f8fb49e..1537385ca51 100644 --- a/Common/include/adt/CADTElemClass.hpp +++ b/Common/include/adt/CADTElemClass.hpp @@ -2,7 +2,7 @@ * \file CADTElemClass.hpp * \brief Class for storing an ADT of (linear) elements in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -36,7 +36,7 @@ * \ingroup ADT * \brief Class for storing an ADT of (linear) elements in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CADTElemClass : public CADTBaseClass { private: diff --git a/Common/include/adt/CADTNodeClass.hpp b/Common/include/adt/CADTNodeClass.hpp index 7590a7039fd..d6f1a30bcf2 100644 --- a/Common/include/adt/CADTNodeClass.hpp +++ b/Common/include/adt/CADTNodeClass.hpp @@ -2,7 +2,7 @@ * \file CADTNodeClass.hpp * \brief Class for storing the information needed in a node of an ADT. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/adt/CADTPointsOnlyClass.hpp b/Common/include/adt/CADTPointsOnlyClass.hpp index ef98c5739e9..68f7d3c26ed 100644 --- a/Common/include/adt/CADTPointsOnlyClass.hpp +++ b/Common/include/adt/CADTPointsOnlyClass.hpp @@ -2,7 +2,7 @@ * \file CADTPointsOnlyClass.hpp * \brief Class for storing an ADT of only points in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/adt/CBBoxTargetClass.hpp b/Common/include/adt/CBBoxTargetClass.hpp index 3c5a4c2ec6e..1a7cf37d132 100644 --- a/Common/include/adt/CBBoxTargetClass.hpp +++ b/Common/include/adt/CBBoxTargetClass.hpp @@ -3,7 +3,7 @@ * \brief Class for storing the information of a possible bounding box candidate during a minimum distance search. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Class for storing the information of a possible bounding box candidate during a minimum distance search. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ struct CBBoxTargetClass { diff --git a/Common/include/basic_types/ad_structure.hpp b/Common/include/basic_types/ad_structure.hpp index e0324432527..773c2526fd7 100644 --- a/Common/include/basic_types/ad_structure.hpp +++ b/Common/include/basic_types/ad_structure.hpp @@ -2,7 +2,7 @@ * \file ad_structure.hpp * \brief Main routines for the algorithmic differentiation (AD) structure. * \author T. Albring, J. Blühdorn - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/basic_types/datatype_structure.hpp b/Common/include/basic_types/datatype_structure.hpp index b948cc39830..1ee72ee70b7 100644 --- a/Common/include/basic_types/datatype_structure.hpp +++ b/Common/include/basic_types/datatype_structure.hpp @@ -2,7 +2,7 @@ * \file datatype_structure.hpp * \brief Headers for generalized datatypes, defines an interface for AD types. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/code_config.hpp b/Common/include/code_config.hpp index e94a1cb4ef9..f3aa1911a2e 100644 --- a/Common/include/code_config.hpp +++ b/Common/include/code_config.hpp @@ -2,7 +2,7 @@ * \file code_config.hpp * \brief Header file for collecting common macros, definitions and type configurations. * \author T. Albring, P. Gomes, J. Blühdorn - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/C2DContainer.hpp b/Common/include/containers/C2DContainer.hpp index 74bce9423e3..119eed0b55a 100644 --- a/Common/include/containers/C2DContainer.hpp +++ b/Common/include/containers/C2DContainer.hpp @@ -2,7 +2,7 @@ * \file C2DContainer.hpp * \brief A templated vector/matrix object. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/CFastFindAndEraseQueue.hpp b/Common/include/containers/CFastFindAndEraseQueue.hpp index 6336c8a755d..01b24044e60 100644 --- a/Common/include/containers/CFastFindAndEraseQueue.hpp +++ b/Common/include/containers/CFastFindAndEraseQueue.hpp @@ -3,7 +3,7 @@ * \brief A queue-type container (push back, pop front), but with * fast deletion of arbitrary items (possibly in the middle). * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/CFileReaderLUT.hpp b/Common/include/containers/CFileReaderLUT.hpp index 0e72f757f7a..f7cd028d2cd 100644 --- a/Common/include/containers/CFileReaderLUT.hpp +++ b/Common/include/containers/CFileReaderLUT.hpp @@ -2,7 +2,7 @@ * \file CFileReaderLUT.hpp * \brief reading lookup table for tabulated fluid properties * \author D. Mayer, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/CLookUpTable.hpp b/Common/include/containers/CLookUpTable.hpp index 4161b66fd83..aa0fe41cde0 100644 --- a/Common/include/containers/CLookUpTable.hpp +++ b/Common/include/containers/CLookUpTable.hpp @@ -2,7 +2,7 @@ * \file CLookupTable.hpp * \brief tabulation of fluid properties * \author D. Mayer, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/CTrapezoidalMap.hpp b/Common/include/containers/CTrapezoidalMap.hpp index 798c69e2d69..4add47457f8 100644 --- a/Common/include/containers/CTrapezoidalMap.hpp +++ b/Common/include/containers/CTrapezoidalMap.hpp @@ -2,7 +2,7 @@ * \file CTrapezoidalMap.hpp * \brief Implementation of the trapezoidal map for tabulation and lookup of fluid properties * \author D. Mayer, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -38,7 +38,7 @@ * \ingroup LookUpInterp * \brief Construction of trapezoidal map for tabulated lookup * \author: D. Mayer, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CTrapezoidalMap { protected: diff --git a/Common/include/containers/CVertexMap.hpp b/Common/include/containers/CVertexMap.hpp index a86e88925f1..a0152d22881 100644 --- a/Common/include/containers/CVertexMap.hpp +++ b/Common/include/containers/CVertexMap.hpp @@ -2,7 +2,7 @@ * \file CVertexMap.hpp * \brief An index to index lookup vector. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/containers/container_decorators.hpp b/Common/include/containers/container_decorators.hpp index a50601005b3..5484a7e873e 100644 --- a/Common/include/containers/container_decorators.hpp +++ b/Common/include/containers/container_decorators.hpp @@ -3,7 +3,7 @@ * \brief Collection of small classes that decorate C2DContainer to * augment its functionality, e.g. give it extra dimensions. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/fem/fem_cgns_elements.hpp b/Common/include/fem/fem_cgns_elements.hpp index 61c3b20f6a3..16af6f34ecc 100644 --- a/Common/include/fem/fem_cgns_elements.hpp +++ b/Common/include/fem/fem_cgns_elements.hpp @@ -4,7 +4,7 @@ * with high order elements. * The functions are in the cgns_elements.cpp file. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/fem/fem_gauss_jacobi_quadrature.hpp b/Common/include/fem/fem_gauss_jacobi_quadrature.hpp index 41070baa380..d6ccbe227e3 100644 --- a/Common/include/fem/fem_gauss_jacobi_quadrature.hpp +++ b/Common/include/fem/fem_gauss_jacobi_quadrature.hpp @@ -6,7 +6,7 @@ All the functions in this class are based on the program JACOBI_RULE of John Burkardt. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -95,7 +95,7 @@ using namespace std; * \brief Class used to determine the quadrature points of the Gauss Jacobi integration rules. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CGaussJacobiQuadrature { public: diff --git a/Common/include/fem/fem_geometry_structure.hpp b/Common/include/fem/fem_geometry_structure.hpp index 046b734f51f..4974a6fbbc9 100644 --- a/Common/include/fem/fem_geometry_structure.hpp +++ b/Common/include/fem/fem_geometry_structure.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for creating the geometrical structure for the FEM solver. * The subroutines and functions are in the fem_geometry_structure.cpp file. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,7 +41,7 @@ using namespace std; /*! * \class CLong3T * \brief Help class used to store three longs as one entity. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ struct CLong3T { long long0 = 0; /*!< \brief First long to store in this class. */ @@ -59,7 +59,7 @@ struct CLong3T { * \class CReorderElements * \brief Class, used to reorder the owned elements after the partitioning. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CReorderElements { private: @@ -131,7 +131,7 @@ class CReorderElements { * \brief Functor, used for a different sorting of the faces than the < operator * of CFaceOfElement. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CVolumeElementFEM; // Forward declaration to avoid problems. class CSortFaces { @@ -172,7 +172,7 @@ class CSortFaces { * \brief Functor, used for a different sorting of the faces than the < operator * of CSurfaceElementFEM. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ struct CSurfaceElementFEM; // Forward declaration to avoid problems. struct CSortBoundaryFaces { @@ -189,7 +189,7 @@ struct CSortBoundaryFaces { * \class CVolumeElementFEM * \brief Class to store a volume element for the FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CVolumeElementFEM { public: @@ -283,7 +283,7 @@ class CVolumeElementFEM { * \class CPointFEM * \brief Class to a point for the FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ struct CPointFEM { unsigned long globalID; /*!< \brief The global ID of this point in the grid. */ @@ -308,7 +308,7 @@ struct CPointFEM { * \class CInternalFaceElementFEM * \brief Class to store an internal face for the FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ struct CInternalFaceElementFEM { unsigned short VTK_Type; /*!< \brief Element type using the VTK convention. */ @@ -353,7 +353,7 @@ struct CInternalFaceElementFEM { * \class CSurfaceElementFEM * \brief Class to store a surface element for the FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ struct CSurfaceElementFEM { unsigned short VTK_Type; /*!< \brief Element type using the VTK convention. */ @@ -415,7 +415,7 @@ struct CSurfaceElementFEM { * \class CBoundaryFEM * \brief Class to store a boundary for the FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ struct CBoundaryFEM { string markerTag; /*!< \brief Marker tag of this boundary. */ @@ -438,7 +438,7 @@ struct CBoundaryFEM { * \class CMeshFEM * \brief Base class for the FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CMeshFEM: public CGeometry { protected: @@ -712,7 +712,7 @@ class CMeshFEM: public CGeometry { * \class CMeshFEM_DG * \brief Class which contains all the variables for the DG FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CMeshFEM_DG: public CMeshFEM { protected: diff --git a/Common/include/fem/fem_standard_element.hpp b/Common/include/fem/fem_standard_element.hpp index 8f549622963..6d871b0bee0 100644 --- a/Common/include/fem/fem_standard_element.hpp +++ b/Common/include/fem/fem_standard_element.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main functions for the FEM standard elements. * The functions are in the fem_standard_element.cpp file. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -40,7 +40,7 @@ using namespace std; * \class CFEMStandardElementBase * \brief Base class for a FEM standard element. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEMStandardElementBase { protected: @@ -781,7 +781,7 @@ class CFEMStandardElementBase { * \class CFEMStandardElement * \brief Class to define a FEM standard element. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEMStandardElement : public CFEMStandardElementBase { private: @@ -1220,7 +1220,7 @@ class CFEMStandardElement : public CFEMStandardElementBase { * \class CFEMStandardInternalFace * \brief Class to define a FEM standard internal face. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEMStandardInternalFace : public CFEMStandardElementBase { private: @@ -1546,7 +1546,7 @@ class CFEMStandardInternalFace : public CFEMStandardElementBase { * \class CFEMStandardBoundaryFace * \brief Class to define a FEM standard boundary face. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEMStandardBoundaryFace : public CFEMStandardElementBase { private: diff --git a/Common/include/fem/geometry_structure_fem_part.hpp b/Common/include/fem/geometry_structure_fem_part.hpp index ec0d03c610c..332d66d3560 100644 --- a/Common/include/fem/geometry_structure_fem_part.hpp +++ b/Common/include/fem/geometry_structure_fem_part.hpp @@ -2,7 +2,7 @@ * \file geometry_structure_fem_part.hpp * \brief Helper classes for the Fluid FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/CDummyGeometry.hpp b/Common/include/geometry/CDummyGeometry.hpp index 46837bc551c..e5ec401057e 100644 --- a/Common/include/geometry/CDummyGeometry.hpp +++ b/Common/include/geometry/CDummyGeometry.hpp @@ -2,7 +2,7 @@ * \file CDummyGeometry.hpp * \brief Headers of the dummy geometry class used in "dry run" mode. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/CGeometry.hpp b/Common/include/geometry/CGeometry.hpp index c1b3f83d216..c4e5067245c 100644 --- a/Common/include/geometry/CGeometry.hpp +++ b/Common/include/geometry/CGeometry.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for creating the geometrical structure. * The subroutines and functions are in the CGeometry.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/CMultiGridGeometry.hpp b/Common/include/geometry/CMultiGridGeometry.hpp index 3f16e523587..ab65300c5ca 100644 --- a/Common/include/geometry/CMultiGridGeometry.hpp +++ b/Common/include/geometry/CMultiGridGeometry.hpp @@ -2,7 +2,7 @@ * \file CMultiGridGeometry.hpp * \brief Headers of the multigrid geometry class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/CMultiGridQueue.hpp b/Common/include/geometry/CMultiGridQueue.hpp index 4fdc95beb98..5865c36b687 100644 --- a/Common/include/geometry/CMultiGridQueue.hpp +++ b/Common/include/geometry/CMultiGridQueue.hpp @@ -3,7 +3,7 @@ * \brief Header of the multigrid queue class for the FVM solver. * The subroutines and functions are in the CMultiGridQueue.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/CPhysicalGeometry.hpp b/Common/include/geometry/CPhysicalGeometry.hpp index ea0b3b373da..b69bc67da78 100644 --- a/Common/include/geometry/CPhysicalGeometry.hpp +++ b/Common/include/geometry/CPhysicalGeometry.hpp @@ -2,7 +2,7 @@ * \file CPhysicalGeometry.hpp * \brief Headers of the physical geometry class used to read meshes from file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CDualGrid.hpp b/Common/include/geometry/dual_grid/CDualGrid.hpp index ed105a5cfe7..b99e9d4a8e7 100644 --- a/Common/include/geometry/dual_grid/CDualGrid.hpp +++ b/Common/include/geometry/dual_grid/CDualGrid.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for doing the complete dual grid structure. * The subroutines and functions are in the CDualGrid.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CEdge.hpp b/Common/include/geometry/dual_grid/CEdge.hpp index ec8629c7742..84bb425cbbb 100644 --- a/Common/include/geometry/dual_grid/CEdge.hpp +++ b/Common/include/geometry/dual_grid/CEdge.hpp @@ -2,7 +2,7 @@ * \file CEdge.hpp * \brief Declaration of the edge class CEdge.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CPoint.hpp b/Common/include/geometry/dual_grid/CPoint.hpp index 296e3b9d078..470dad563fd 100644 --- a/Common/include/geometry/dual_grid/CPoint.hpp +++ b/Common/include/geometry/dual_grid/CPoint.hpp @@ -3,7 +3,7 @@ * \brief Declaration of the point class that stores geometric and adjacency * information for dual control volumes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CTurboVertex.hpp b/Common/include/geometry/dual_grid/CTurboVertex.hpp index 7e241a8b5c8..6b65d208179 100644 --- a/Common/include/geometry/dual_grid/CTurboVertex.hpp +++ b/Common/include/geometry/dual_grid/CTurboVertex.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for doing the complete dual grid structure. * The subroutines and functions are in the CTurboVertex.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/dual_grid/CVertex.hpp b/Common/include/geometry/dual_grid/CVertex.hpp index abcf75ebb21..d2baf9c387b 100644 --- a/Common/include/geometry/dual_grid/CVertex.hpp +++ b/Common/include/geometry/dual_grid/CVertex.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for doing the complete dual grid structure. * The subroutines and functions are in the CVertex.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/elements/CElement.hpp b/Common/include/geometry/elements/CElement.hpp index 5da1b74fb0c..e69e1e586e6 100644 --- a/Common/include/geometry/elements/CElement.hpp +++ b/Common/include/geometry/elements/CElement.hpp @@ -3,7 +3,7 @@ * \brief Main header of the Finite Element structure declaring the abstract * interface and the available finite element types. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -952,7 +952,7 @@ class CPYRAM5 final : public CElementWithKnownSizes<5,5,3> { * \ingroup FemAlgos * \brief Prism element with 6 Gauss Points * \author R. Sanchez, F. Palacios, A. Bueno, T. Economon, S. Padron. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CPRISM6 final : public CElementWithKnownSizes<6,6,3> { private: diff --git a/Common/include/geometry/elements/CElementProperty.hpp b/Common/include/geometry/elements/CElementProperty.hpp index d3739b346f2..4646ba0a7ce 100644 --- a/Common/include/geometry/elements/CElementProperty.hpp +++ b/Common/include/geometry/elements/CElementProperty.hpp @@ -2,7 +2,7 @@ * \file CElementProperty.hpp * \brief Light classes to define finite element properties. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -32,7 +32,7 @@ * \ingroup Elasticity_Equations * \brief Base class for defining element properties. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CProperty { protected: @@ -108,7 +108,7 @@ class CProperty { * \ingroup Elasticity_Equations * \brief Class for defining element properties for the structural solver. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CElementProperty final : public CProperty { private: diff --git a/Common/include/geometry/elements/CGaussVariable.hpp b/Common/include/geometry/elements/CGaussVariable.hpp index b1e92c9d680..d547d2de6a1 100644 --- a/Common/include/geometry/elements/CGaussVariable.hpp +++ b/Common/include/geometry/elements/CGaussVariable.hpp @@ -2,7 +2,7 @@ * \file CGaussVariable.hpp * \brief Light-weight class to store Gaussian point information. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -33,7 +33,7 @@ * \class CGaussVariable * \ingroup FemAlgos * \brief Main class for defining the gaussian points. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CGaussVariable { protected: diff --git a/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp index dcfba237872..a9863e424d9 100644 --- a/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CBoxMeshReaderFVM. * The implementations are in the CBoxMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp index f48eb25ebd5..c5448dfa9a0 100644 --- a/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CCGNSMeshReaderFVM. * The implementations are in the CCGNSMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/meshreader/CMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CMeshReaderFVM.hpp index ca746d00d46..000dd0cf1e8 100644 --- a/Common/include/geometry/meshreader/CMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CMeshReaderFVM.hpp @@ -4,7 +4,7 @@ * \brief Header file for the class CMeshReaderFVM. * The implementations are in the CMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp index e66e6dc0d53..f20cf26a702 100644 --- a/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CRectangularMeshReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CRectangularMeshReaderFVM. * The implementations are in the CRectangularMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp b/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp index 9d77713c925..6be7697534f 100644 --- a/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp +++ b/Common/include/geometry/meshreader/CSU2ASCIIMeshReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CSU2ASCIIMeshReaderFVM. * The implementations are in the CSU2ASCIIMeshReaderFVM.cpp file. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CHexahedron.hpp b/Common/include/geometry/primal_grid/CHexahedron.hpp index 3e668426241..b249559e683 100644 --- a/Common/include/geometry/primal_grid/CHexahedron.hpp +++ b/Common/include/geometry/primal_grid/CHexahedron.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CHexahedron.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CLine.hpp b/Common/include/geometry/primal_grid/CLine.hpp index 66a77323330..26c786e534b 100644 --- a/Common/include/geometry/primal_grid/CLine.hpp +++ b/Common/include/geometry/primal_grid/CLine.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CLine.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CPrimalGrid.hpp b/Common/include/geometry/primal_grid/CPrimalGrid.hpp index e3f85a2226e..dfa2724c00d 100644 --- a/Common/include/geometry/primal_grid/CPrimalGrid.hpp +++ b/Common/include/geometry/primal_grid/CPrimalGrid.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the primal_grid_structure.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp b/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp index 66997af846e..2356c8a442c 100644 --- a/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp +++ b/Common/include/geometry/primal_grid/CPrimalGridBoundFEM.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CPrimalGridBoundFEM.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -33,7 +33,7 @@ /*! * \class CPrimalGridBoundFEM * \brief Class to define primal grid boundary element for the FEM solver. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CPrimalGridBoundFEM final: public CPrimalGrid { private: diff --git a/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp b/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp index e133181949f..622e7915069 100644 --- a/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp +++ b/Common/include/geometry/primal_grid/CPrimalGridFEM.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CPrimalGridFEM.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ /*! * \class CPrimalGridFEM * \brief Class to define primal grid element for the FEM solver. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CPrimalGridFEM final: public CPrimalGrid { private: diff --git a/Common/include/geometry/primal_grid/CPrism.hpp b/Common/include/geometry/primal_grid/CPrism.hpp index 0ac128ffd86..1631aee0067 100644 --- a/Common/include/geometry/primal_grid/CPrism.hpp +++ b/Common/include/geometry/primal_grid/CPrism.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CPrism.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CPyramid.hpp b/Common/include/geometry/primal_grid/CPyramid.hpp index f62526f3601..64722e8dc3b 100644 --- a/Common/include/geometry/primal_grid/CPyramid.hpp +++ b/Common/include/geometry/primal_grid/CPyramid.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CPyramid.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CQuadrilateral.hpp b/Common/include/geometry/primal_grid/CQuadrilateral.hpp index 32dd805259e..f87ff807ed8 100644 --- a/Common/include/geometry/primal_grid/CQuadrilateral.hpp +++ b/Common/include/geometry/primal_grid/CQuadrilateral.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CQuadrilateral.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CTetrahedron.hpp b/Common/include/geometry/primal_grid/CTetrahedron.hpp index ed3d240d203..652d5461a87 100644 --- a/Common/include/geometry/primal_grid/CTetrahedron.hpp +++ b/Common/include/geometry/primal_grid/CTetrahedron.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CTetrahedron.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CTriangle.hpp b/Common/include/geometry/primal_grid/CTriangle.hpp index c8de958433c..e29fe4f8576 100644 --- a/Common/include/geometry/primal_grid/CTriangle.hpp +++ b/Common/include/geometry/primal_grid/CTriangle.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the CTriangle.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/geometry/primal_grid/CVertexMPI.hpp b/Common/include/geometry/primal_grid/CVertexMPI.hpp index 1551c58d92d..4d3c1fc3df2 100644 --- a/Common/include/geometry/primal_grid/CVertexMPI.hpp +++ b/Common/include/geometry/primal_grid/CVertexMPI.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for storing the primal grid structure. * The subroutines and functions are in the primal_grid_structure.cpp file. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/graph_coloring_structure.hpp b/Common/include/graph_coloring_structure.hpp index 81f6e1e36d8..39810948ece 100644 --- a/Common/include/graph_coloring_structure.hpp +++ b/Common/include/graph_coloring_structure.hpp @@ -4,7 +4,7 @@ * coloring of a given graph. The functions are in the * graph_coloring_structure.cpp file. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,7 +41,7 @@ using namespace std; * \ingroup Graph * \brief Class, which provides distributed graph coloring algorithms. * \author: E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CGraphColoringStructure { public: diff --git a/Common/include/grid_movement/CBSplineBlending.hpp b/Common/include/grid_movement/CBSplineBlending.hpp index 7f087f124db..c93607f3d0c 100644 --- a/Common/include/grid_movement/CBSplineBlending.hpp +++ b/Common/include/grid_movement/CBSplineBlending.hpp @@ -3,7 +3,7 @@ * \brief Headers of the CBSplineBlending class. * Defines blending using uniform BSplines * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CBezierBlending.hpp b/Common/include/grid_movement/CBezierBlending.hpp index f88c87abd1a..51c80d2233c 100644 --- a/Common/include/grid_movement/CBezierBlending.hpp +++ b/Common/include/grid_movement/CBezierBlending.hpp @@ -3,7 +3,7 @@ * \brief Headers of the CBezierBlending class. * Defines blending using Bernsteinpolynomials (Bezier Curves) * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CFreeFormBlending.hpp b/Common/include/grid_movement/CFreeFormBlending.hpp index fc159f51207..1cda93ff33b 100644 --- a/Common/include/grid_movement/CFreeFormBlending.hpp +++ b/Common/include/grid_movement/CFreeFormBlending.hpp @@ -3,7 +3,7 @@ * \brief Headers of the CFreeFormBlending class. * It is the parent class for the FFD blending function * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CFreeFormDefBox.hpp b/Common/include/grid_movement/CFreeFormDefBox.hpp index 48412055cc4..7bb489cc911 100644 --- a/Common/include/grid_movement/CFreeFormDefBox.hpp +++ b/Common/include/grid_movement/CFreeFormDefBox.hpp @@ -2,7 +2,7 @@ * \file CFreeFormDefBox.hpp * \brief Headers of the CFreeFormDefBox class. * \author F. Palacios & A. Galdran. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CGridMovement.hpp b/Common/include/grid_movement/CGridMovement.hpp index ec6bef7cfb7..a382b58fd0f 100644 --- a/Common/include/grid_movement/CGridMovement.hpp +++ b/Common/include/grid_movement/CGridMovement.hpp @@ -2,7 +2,7 @@ * \file CGridMovement.hpp * \brief Headers of the CGridMovement class * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CSurfaceMovement.hpp b/Common/include/grid_movement/CSurfaceMovement.hpp index 5223272efde..5558783a4e9 100644 --- a/Common/include/grid_movement/CSurfaceMovement.hpp +++ b/Common/include/grid_movement/CSurfaceMovement.hpp @@ -2,7 +2,7 @@ * \file CSurfaceMovement.hpp * \brief Headers of the CSurfaceMovement class. * \author F. Palacios, T. Economon. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/grid_movement/CVolumetricMovement.hpp b/Common/include/grid_movement/CVolumetricMovement.hpp index 7853f32a05f..0a1503f6402 100644 --- a/Common/include/grid_movement/CVolumetricMovement.hpp +++ b/Common/include/grid_movement/CVolumetricMovement.hpp @@ -2,7 +2,7 @@ * \file CVolumetricMovement.hpp * \brief Headers of the CVolumetricMovement class. * \author F. Palacios, A. Bueno, T. Economon, S. Padron. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CInterpolator.hpp b/Common/include/interface_interpolation/CInterpolator.hpp index dce360c190e..5d953f14255 100644 --- a/Common/include/interface_interpolation/CInterpolator.hpp +++ b/Common/include/interface_interpolation/CInterpolator.hpp @@ -2,7 +2,7 @@ * \file CInterpolator.hpp * \brief Base class for multiphysics interpolation. * \author H. Kline - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CInterpolatorFactory.hpp b/Common/include/interface_interpolation/CInterpolatorFactory.hpp index 3e9bdf24f18..a9749015ec1 100644 --- a/Common/include/interface_interpolation/CInterpolatorFactory.hpp +++ b/Common/include/interface_interpolation/CInterpolatorFactory.hpp @@ -1,7 +1,7 @@ /*! * \file CInterpolatorFactory.hpp * \brief Factory to generate interpolator objects. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CIsoparametric.hpp b/Common/include/interface_interpolation/CIsoparametric.hpp index aba3883f9da..7584e61c505 100644 --- a/Common/include/interface_interpolation/CIsoparametric.hpp +++ b/Common/include/interface_interpolation/CIsoparametric.hpp @@ -2,7 +2,7 @@ * \file CIsoparametric.hpp * \brief Isoparametric interpolation using FE shape functions. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CMirror.hpp b/Common/include/interface_interpolation/CMirror.hpp index 7f409464b5f..a23626b852f 100644 --- a/Common/include/interface_interpolation/CMirror.hpp +++ b/Common/include/interface_interpolation/CMirror.hpp @@ -2,7 +2,7 @@ * \file CMirror.hpp * \brief Mirror interpolation for the conservative (work-wise) approach in FSI problems. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CNearestNeighbor.hpp b/Common/include/interface_interpolation/CNearestNeighbor.hpp index b212e11d5f9..be97794c60f 100644 --- a/Common/include/interface_interpolation/CNearestNeighbor.hpp +++ b/Common/include/interface_interpolation/CNearestNeighbor.hpp @@ -2,7 +2,7 @@ * \file CNearestNeighbor.hpp * \brief Nearest Neighbor interpolation class. * \author H. Kline - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CRadialBasisFunction.hpp b/Common/include/interface_interpolation/CRadialBasisFunction.hpp index 813fe75d0d1..2c65cca5f18 100644 --- a/Common/include/interface_interpolation/CRadialBasisFunction.hpp +++ b/Common/include/interface_interpolation/CRadialBasisFunction.hpp @@ -2,7 +2,7 @@ * \file CRadialBasisFunction.hpp * \brief Radial basis function interpolation. * \author Joel Ho, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/interface_interpolation/CSlidingMesh.hpp b/Common/include/interface_interpolation/CSlidingMesh.hpp index 51d8ff01e2c..b07dcef36f4 100644 --- a/Common/include/interface_interpolation/CSlidingMesh.hpp +++ b/Common/include/interface_interpolation/CSlidingMesh.hpp @@ -2,7 +2,7 @@ * \file CSlidingMesh.hpp * \brief Sliding mesh interpolation. * \author H. Kline - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CMatrixVectorProduct.hpp b/Common/include/linear_algebra/CMatrixVectorProduct.hpp index 07da7d8472f..cc48bb4670f 100644 --- a/Common/include/linear_algebra/CMatrixVectorProduct.hpp +++ b/Common/include/linear_algebra/CMatrixVectorProduct.hpp @@ -3,7 +3,7 @@ * \brief Headers for the classes related to sparse matrix-vector product wrappers. * The actual operations are currently implemented mostly by CSysMatrix. * \author F. Palacios, J. Hicken, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CPastixWrapper.hpp b/Common/include/linear_algebra/CPastixWrapper.hpp index 87414c5f5ea..72ed9629e61 100644 --- a/Common/include/linear_algebra/CPastixWrapper.hpp +++ b/Common/include/linear_algebra/CPastixWrapper.hpp @@ -3,7 +3,7 @@ * \brief An interface to the INRIA solver PaStiX * (http://pastix.gforge.inria.fr/files/README-txt.html) * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CPreconditioner.hpp b/Common/include/linear_algebra/CPreconditioner.hpp index bf4e871e711..a2ebaf8ba39 100644 --- a/Common/include/linear_algebra/CPreconditioner.hpp +++ b/Common/include/linear_algebra/CPreconditioner.hpp @@ -3,7 +3,7 @@ * \brief Classes related to linear preconditioner wrappers. * The actual operations are currently implemented mostly by CSysMatrix. * \author F. Palacios, J. Hicken, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CSysMatrix.hpp b/Common/include/linear_algebra/CSysMatrix.hpp index c6b59400e4b..d140fc1e6a1 100644 --- a/Common/include/linear_algebra/CSysMatrix.hpp +++ b/Common/include/linear_algebra/CSysMatrix.hpp @@ -3,7 +3,7 @@ * \brief Declaration of the block-sparse matrix class. * The implemtation is in CSysMatrix.cpp. * \author F. Palacios, A. Bueno, T. Economon, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CSysMatrix.inl b/Common/include/linear_algebra/CSysMatrix.inl index 5e87fd8717e..139a6b0f45b 100644 --- a/Common/include/linear_algebra/CSysMatrix.inl +++ b/Common/include/linear_algebra/CSysMatrix.inl @@ -5,7 +5,7 @@ * of the .cpp file and so they are hidden to avoid triggering * recompilation of other units when changes are made here. * \author F. Palacios, A. Bueno, T. Economon, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CSysSolve.hpp b/Common/include/linear_algebra/CSysSolve.hpp index 6bd48eb18cb..6c214ee4b29 100644 --- a/Common/include/linear_algebra/CSysSolve.hpp +++ b/Common/include/linear_algebra/CSysSolve.hpp @@ -3,7 +3,7 @@ * \brief Headers for the classes related to linear solvers (CG, FGMRES, etc) * The subroutines and functions are in the CSysSolve.cpp file. * \author J. Hicken, F. Palacios, T. Economon, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CSysSolve_b.hpp b/Common/include/linear_algebra/CSysSolve_b.hpp index 76d40cbf877..47e235f49ce 100644 --- a/Common/include/linear_algebra/CSysSolve_b.hpp +++ b/Common/include/linear_algebra/CSysSolve_b.hpp @@ -2,7 +2,7 @@ * \file CSysSolve_b.hpp * \brief Routines for the linear solver used in the reverse sweep of AD. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/CSysVector.hpp b/Common/include/linear_algebra/CSysVector.hpp index 64ab3daa761..ea6755adeae 100644 --- a/Common/include/linear_algebra/CSysVector.hpp +++ b/Common/include/linear_algebra/CSysVector.hpp @@ -3,7 +3,7 @@ * \brief Declararion and inlines of the vector class used in the * solution of large, distributed, sparse linear systems. * \author P. Gomes, F. Palacios, J. Hicken, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/linear_algebra/blas_structure.hpp b/Common/include/linear_algebra/blas_structure.hpp index d077c0db7f2..48358bc2ee2 100644 --- a/Common/include/linear_algebra/blas_structure.hpp +++ b/Common/include/linear_algebra/blas_structure.hpp @@ -4,7 +4,7 @@ operations, which are typically found in the BLAS libraries. The functions are in the blass_structure.cpp file. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -41,7 +41,7 @@ class CConfig; * \ingroup BLAS * \brief Class, which serves as an interface to the BLAS functionalities needed. * \author: E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CBlasStructure { public: diff --git a/Common/include/linear_algebra/vector_expressions.hpp b/Common/include/linear_algebra/vector_expressions.hpp index 1ce35549451..6164d019982 100644 --- a/Common/include/linear_algebra/vector_expressions.hpp +++ b/Common/include/linear_algebra/vector_expressions.hpp @@ -2,7 +2,7 @@ * \file vector_expressions.hpp * \brief Expression templates for vector types with coefficient-wise operations. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp index 1ea807a0e1b..72347466647 100644 --- a/Common/include/option_structure.hpp +++ b/Common/include/option_structure.hpp @@ -2,7 +2,7 @@ * \file option_structure.hpp * \brief Defines classes for referencing options for easy input in CConfig * \author J. Hicken, B. Tracey - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/option_structure.inl b/Common/include/option_structure.inl index a24fd76161d..758033da153 100644 --- a/Common/include/option_structure.inl +++ b/Common/include/option_structure.inl @@ -3,7 +3,7 @@ * \brief Template derived classes from COption, defined here as we * only include them where needed to reduce compilation time. * \author J. Hicken, B. Tracey - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/mpi_structure.cpp b/Common/include/parallelization/mpi_structure.cpp index 1b6029766f9..cd8eae4d5f0 100644 --- a/Common/include/parallelization/mpi_structure.cpp +++ b/Common/include/parallelization/mpi_structure.cpp @@ -2,7 +2,7 @@ * \file mpi_structure.cpp * \brief Main subroutines for the mpi structures. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/mpi_structure.hpp b/Common/include/parallelization/mpi_structure.hpp index 8e3ffbf9b6d..462c3c74980 100644 --- a/Common/include/parallelization/mpi_structure.hpp +++ b/Common/include/parallelization/mpi_structure.hpp @@ -3,7 +3,7 @@ * \brief Headers of the mpi interface for generalized datatypes. * The subroutines and functions are in the mpi_structure.cpp file. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/omp_structure.cpp b/Common/include/parallelization/omp_structure.cpp index d237c621173..2732eb91ab3 100644 --- a/Common/include/parallelization/omp_structure.cpp +++ b/Common/include/parallelization/omp_structure.cpp @@ -3,7 +3,7 @@ * \brief Source file counterpart for omp_structure.hpp. * \note Contains OpDiLib initialization, finalization and includes the OpDiLib source file. * \author J. Blühdorn - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/omp_structure.hpp b/Common/include/parallelization/omp_structure.hpp index 177287fc41d..78d92858052 100644 --- a/Common/include/parallelization/omp_structure.hpp +++ b/Common/include/parallelization/omp_structure.hpp @@ -13,7 +13,7 @@ * defined here with suitable fallback versions to limit the spread of * compiler tricks in other areas of the code. * \author P. Gomes, J. Blühdorn - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/special_vectorization.hpp b/Common/include/parallelization/special_vectorization.hpp index 8d18344fc55..5ab1830dd9e 100644 --- a/Common/include/parallelization/special_vectorization.hpp +++ b/Common/include/parallelization/special_vectorization.hpp @@ -2,7 +2,7 @@ * \file special_vectorization.hpp * \brief Code generator header to create specializations of simd::Array. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/parallelization/vectorization.hpp b/Common/include/parallelization/vectorization.hpp index 216010d3f83..2b7caaad775 100644 --- a/Common/include/parallelization/vectorization.hpp +++ b/Common/include/parallelization/vectorization.hpp @@ -2,7 +2,7 @@ * \file vectorization.hpp * \brief Implementation of a portable SIMD type. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/C1DInterpolation.hpp b/Common/include/toolboxes/C1DInterpolation.hpp index 99f6fe7d30c..2b627f68cb2 100644 --- a/Common/include/toolboxes/C1DInterpolation.hpp +++ b/Common/include/toolboxes/C1DInterpolation.hpp @@ -2,7 +2,7 @@ * \file C1DInterpolation.hpp * \brief Classes for 1D interpolation. * \author Aman Baig, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/CLinearPartitioner.hpp b/Common/include/toolboxes/CLinearPartitioner.hpp index 550139cc27b..ec9ee4e6470 100644 --- a/Common/include/toolboxes/CLinearPartitioner.hpp +++ b/Common/include/toolboxes/CLinearPartitioner.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CLinearPartitioner. * The implementations are in the CLinearPartitioner.cpp file. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp b/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp index a67ec016013..e481d77935b 100644 --- a/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp +++ b/Common/include/toolboxes/CQuasiNewtonInvLeastSquares.hpp @@ -7,7 +7,7 @@ * \note Based on the IQN-ILS method, see DOI 10.1007/s11831-013-9085-5 and * references therein. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/CSquareMatrixCM.hpp b/Common/include/toolboxes/CSquareMatrixCM.hpp index ea647502ab8..35dd27e15f3 100644 --- a/Common/include/toolboxes/CSquareMatrixCM.hpp +++ b/Common/include/toolboxes/CSquareMatrixCM.hpp @@ -3,7 +3,7 @@ * \brief Dense general square matrix, used for example in DG standard elements * in Column Major order storage. * \author Edwin van der Weide, Pedro Gomes. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/CSymmetricMatrix.hpp b/Common/include/toolboxes/CSymmetricMatrix.hpp index 33e4ad1732d..717b7a45259 100644 --- a/Common/include/toolboxes/CSymmetricMatrix.hpp +++ b/Common/include/toolboxes/CSymmetricMatrix.hpp @@ -2,7 +2,7 @@ * \file CSymmetricMatrix.hpp * \brief Dense symmetric matrix, used for example in RBF interpolation. * \author Joel Ho, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CIncTGVSolution.hpp b/Common/include/toolboxes/MMS/CIncTGVSolution.hpp index f1b2029b757..972b6d4075c 100644 --- a/Common/include/toolboxes/MMS/CIncTGVSolution.hpp +++ b/Common/include/toolboxes/MMS/CIncTGVSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CIncTGVSolution. * The implementations are in the CIncTGVSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp b/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp index 8aa28dd9edd..4e2b733eeeb 100644 --- a/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp +++ b/Common/include/toolboxes/MMS/CInviscidVortexSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CInviscidVortexSolution. * The implementations are in the CInviscidVortexSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp b/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp index d3a726a2490..0af37d51bd6 100644 --- a/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSIncEulerSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSIncEulerSolution. * The implementations are in the CMMSIncEulerSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp b/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp index 1d8335409b1..19f58034a49 100644 --- a/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSIncNSSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSIncNSSolution. * The implementations are in the CMMSIncNSSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp b/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp index c6f3bddd179..3977986f43b 100644 --- a/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSNSTwoHalfCirclesSolution. * The implementations are in the CMMSNSTwoHalfCirclesSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp b/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp index aebb97f0a60..5ae529d2251 100644 --- a/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSNSTwoHalfSpheresSolution. * The implementations are in the CMMSNSTwoHalfSpheresSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp index c81ce3489e4..c74ec885101 100644 --- a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSNSUnitQuadSolution. * The implementations are in the CMMSNSUnitQuadSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp index 8c84161f79a..5aa25502f09 100644 --- a/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp +++ b/Common/include/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMMSNSUnitQuadSolutionWallBC. * The implementations are in the CMMSNSUnitQuadSolutionWallBC.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp b/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp index 196d0aad260..5bd57b60045 100644 --- a/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp +++ b/Common/include/toolboxes/MMS/CNSUnitQuadSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CNSUnitQuadSolution.hpp. * The implementations are in the CNSUnitQuadSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CRinglebSolution.hpp b/Common/include/toolboxes/MMS/CRinglebSolution.hpp index 26cc174c4bb..ff9a63fd62f 100644 --- a/Common/include/toolboxes/MMS/CRinglebSolution.hpp +++ b/Common/include/toolboxes/MMS/CRinglebSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CRinglebSolution.hpp. * The implementations are in the CRinglebSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CTGVSolution.hpp b/Common/include/toolboxes/MMS/CTGVSolution.hpp index 49ee38d68bd..de8537a8846 100644 --- a/Common/include/toolboxes/MMS/CTGVSolution.hpp +++ b/Common/include/toolboxes/MMS/CTGVSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CTGVSolution. * The implementations are in the CTGVSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp b/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp index 396f01b2d45..b6c2d1be6f5 100644 --- a/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp +++ b/Common/include/toolboxes/MMS/CUserDefinedSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CUserDefinedSolution. * The implementations are in the CUserDefinedSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/MMS/CVerificationSolution.hpp b/Common/include/toolboxes/MMS/CVerificationSolution.hpp index 97bb79f766c..c3308307b37 100644 --- a/Common/include/toolboxes/MMS/CVerificationSolution.hpp +++ b/Common/include/toolboxes/MMS/CVerificationSolution.hpp @@ -3,7 +3,7 @@ * \brief Header file for the base class CVerificationSolution. * The implementations are in the CVerificationSolution.cpp file. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/allocation_toolbox.hpp b/Common/include/toolboxes/allocation_toolbox.hpp index 465ff97e239..ce02fd8f857 100644 --- a/Common/include/toolboxes/allocation_toolbox.hpp +++ b/Common/include/toolboxes/allocation_toolbox.hpp @@ -5,7 +5,7 @@ * \note These are "kernel" functions, only to be used with good reason, * always try to use higher level container classes. * \author P. Gomes, D. Kavolis - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/geometry_toolbox.hpp b/Common/include/toolboxes/geometry_toolbox.hpp index aa592e61026..430bc62a39d 100644 --- a/Common/include/toolboxes/geometry_toolbox.hpp +++ b/Common/include/toolboxes/geometry_toolbox.hpp @@ -1,7 +1,7 @@ /*! * \file geometry_toolbox.hpp * \brief Collection of common lightweight geometry-oriented methods. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/graph_toolbox.hpp b/Common/include/toolboxes/graph_toolbox.hpp index 51b46867559..ef39ffaf80a 100644 --- a/Common/include/toolboxes/graph_toolbox.hpp +++ b/Common/include/toolboxes/graph_toolbox.hpp @@ -2,7 +2,7 @@ * \file graph_toolbox.hpp * \brief Functions and classes to build/represent sparse graphs or sparse patterns. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/ndflattener.hpp b/Common/include/toolboxes/ndflattener.hpp index ec77a7a28a6..d6c3f5c28e4 100644 --- a/Common/include/toolboxes/ndflattener.hpp +++ b/Common/include/toolboxes/ndflattener.hpp @@ -2,7 +2,7 @@ * \file ndflattener.hpp * \brief Flatten pointer-to-pointer-... arrays for MPI communication * \author M. Aehle - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/toolboxes/printing_toolbox.hpp b/Common/include/toolboxes/printing_toolbox.hpp index f75d76cdd17..7461f0465de 100644 --- a/Common/include/toolboxes/printing_toolbox.hpp +++ b/Common/include/toolboxes/printing_toolbox.hpp @@ -2,7 +2,7 @@ * \file printing_toolbox.hpp * \brief Header file for the printing toolbox. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/include/wall_model.hpp b/Common/include/wall_model.hpp index ec0a5db2904..6369c970b11 100644 --- a/Common/include/wall_model.hpp +++ b/Common/include/wall_model.hpp @@ -2,7 +2,7 @@ * \file wall_model.hpp * \brief Headers for the wall model functions for large eddy simulations. * \author E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -42,7 +42,7 @@ class CFluidModel; * \class CWallModel * \brief Base class for defining the LES wall model. * \author: E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CWallModel { diff --git a/Common/lib/Makefile.am b/Common/lib/Makefile.am index 8e6879ef30d..4323382ceea 100644 --- a/Common/lib/Makefile.am +++ b/Common/lib/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for the SU2 common library # \author M. Colonno, T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp index e0a28dafecc..f0c0d8ea91a 100644 --- a/Common/src/CConfig.cpp +++ b/Common/src/CConfig.cpp @@ -2,7 +2,7 @@ * \file CConfig.cpp * \brief Main file for managing the config file * \author F. Palacios, T. Economon, B. Tracey, H. Kline - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -3239,7 +3239,7 @@ void CConfig::SetHeader(SU2_COMPONENT val_software) const{ if ((iZone == 0) && (rank == MASTER_NODE)){ cout << endl << "-------------------------------------------------------------------------" << endl; cout << "| ___ _ _ ___ |" << endl; - cout << "| / __| | | |_ ) Release 7.5.0 \"Blackbird\" |" << endl; + cout << "| / __| | | |_ ) Release 7.5.1 \"Blackbird\" |" << endl; cout << "| \\__ \\ |_| |/ / |" << endl; switch (val_software) { case SU2_COMPONENT::SU2_CFD: cout << "| |___/\\___//___| Suite (Computational Fluid Dynamics Code) |" << endl; break; diff --git a/Common/src/adt/CADTBaseClass.cpp b/Common/src/adt/CADTBaseClass.cpp index 058c5d41958..6be2c3f6769 100644 --- a/Common/src/adt/CADTBaseClass.cpp +++ b/Common/src/adt/CADTBaseClass.cpp @@ -2,7 +2,7 @@ * \file CADTBaseClass.cpp * \brief Base class for storing an ADT in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/adt/CADTElemClass.cpp b/Common/src/adt/CADTElemClass.cpp index ca79587351b..7093a50b209 100644 --- a/Common/src/adt/CADTElemClass.cpp +++ b/Common/src/adt/CADTElemClass.cpp @@ -2,7 +2,7 @@ * \file CADTElemClass.cpp * \brief Class for storing an ADT of (linear) elements in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/adt/CADTPointsOnlyClass.cpp b/Common/src/adt/CADTPointsOnlyClass.cpp index 7314719899b..9c262a47363 100644 --- a/Common/src/adt/CADTPointsOnlyClass.cpp +++ b/Common/src/adt/CADTPointsOnlyClass.cpp @@ -2,7 +2,7 @@ * \file CADTPointsOnlyClass.cpp * \brief Class for storing an ADT of only points in an arbitrary number of dimensions. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/basic_types/ad_structure.cpp b/Common/src/basic_types/ad_structure.cpp index 795dc9d4ad0..efc4a6aa35e 100644 --- a/Common/src/basic_types/ad_structure.cpp +++ b/Common/src/basic_types/ad_structure.cpp @@ -2,7 +2,7 @@ * \file ad_structure.cpp * \brief Main subroutines for the algorithmic differentiation (AD) structure. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/containers/CFileReaderLUT.cpp b/Common/src/containers/CFileReaderLUT.cpp index 3ae4c3cb40c..fc0393086cc 100644 --- a/Common/src/containers/CFileReaderLUT.cpp +++ b/Common/src/containers/CFileReaderLUT.cpp @@ -2,7 +2,7 @@ * \file CFileReaderLUT.hpp * \brief reading lookup table for tabulated fluid properties * \author D. Mayer, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/containers/CLookUpTable.cpp b/Common/src/containers/CLookUpTable.cpp index 915781b2325..453c7dbf123 100644 --- a/Common/src/containers/CLookUpTable.cpp +++ b/Common/src/containers/CLookUpTable.cpp @@ -2,7 +2,7 @@ * \file CLookupTable.cpp * \brief tabulation of fluid properties * \author D. Mayer, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/containers/CTrapezoidalMap.cpp b/Common/src/containers/CTrapezoidalMap.cpp index 8f8ec375d31..a7087467ccd 100644 --- a/Common/src/containers/CTrapezoidalMap.cpp +++ b/Common/src/containers/CTrapezoidalMap.cpp @@ -2,7 +2,7 @@ * \file CTrapezoidalMap.cpp * \brief Implementation of the trapezoidal map for tabulation and lookup of fluid properties * \author D. Mayer, T. Economon, N. Beishuizen - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_cgns_elements.cpp b/Common/src/fem/fem_cgns_elements.cpp index a026fb61404..15f1e49256f 100644 --- a/Common/src/fem/fem_cgns_elements.cpp +++ b/Common/src/fem/fem_cgns_elements.cpp @@ -2,7 +2,7 @@ * \file fem_cgns_elements.cpp * \brief CGNS element definitions and conversions to the SU2 standard. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_gauss_jacobi_quadrature.cpp b/Common/src/fem/fem_gauss_jacobi_quadrature.cpp index 654ce0c1c7b..47492b728e9 100644 --- a/Common/src/fem/fem_gauss_jacobi_quadrature.cpp +++ b/Common/src/fem/fem_gauss_jacobi_quadrature.cpp @@ -4,7 +4,7 @@ quadrature rules. All the functions in this file are based on the program JACOBI_RULE of John Burkardt. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_geometry_structure.cpp b/Common/src/fem/fem_geometry_structure.cpp index 908055225a2..b274989268c 100644 --- a/Common/src/fem/fem_geometry_structure.cpp +++ b/Common/src/fem/fem_geometry_structure.cpp @@ -2,7 +2,7 @@ * \file fem_geometry_structure.cpp * \brief Functions for creating the primal grid for the FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_integration_rules.cpp b/Common/src/fem/fem_integration_rules.cpp index a9030712e46..6f80ee16bf7 100644 --- a/Common/src/fem/fem_integration_rules.cpp +++ b/Common/src/fem/fem_integration_rules.cpp @@ -2,7 +2,7 @@ * \file fem_integration_rules.cpp * \brief FEM integration rules for the standard elements. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_standard_element.cpp b/Common/src/fem/fem_standard_element.cpp index d0ea4ef2f07..b03f1ab929c 100644 --- a/Common/src/fem/fem_standard_element.cpp +++ b/Common/src/fem/fem_standard_element.cpp @@ -2,7 +2,7 @@ * \file fem_standard_element.cpp * \brief Functions for the FEM standard elements. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_wall_distance.cpp b/Common/src/fem/fem_wall_distance.cpp index 8686d97bf0d..df4bd85391c 100644 --- a/Common/src/fem/fem_wall_distance.cpp +++ b/Common/src/fem/fem_wall_distance.cpp @@ -2,7 +2,7 @@ * \file fem_wall_distance.cpp * \brief Main subroutines for computing the wall distance for the FEM solver. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/fem_work_estimate_metis.cpp b/Common/src/fem/fem_work_estimate_metis.cpp index eddaddaac30..9476452d252 100644 --- a/Common/src/fem/fem_work_estimate_metis.cpp +++ b/Common/src/fem/fem_work_estimate_metis.cpp @@ -3,7 +3,7 @@ * \brief This file contains the implementation of the member functions WorkEstimateMetis for the FEM standard elements. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/fem/geometry_structure_fem_part.cpp b/Common/src/fem/geometry_structure_fem_part.cpp index 922c854c569..d6871e9c863 100644 --- a/Common/src/fem/geometry_structure_fem_part.cpp +++ b/Common/src/fem/geometry_structure_fem_part.cpp @@ -2,7 +2,7 @@ * \file geometry_structure_fem_part.cpp * \brief Main subroutines for distributin the grid for the Fluid FEM solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/CDummyGeometry.cpp b/Common/src/geometry/CDummyGeometry.cpp index 1ad1a93d9e5..433eefa5b0a 100644 --- a/Common/src/geometry/CDummyGeometry.cpp +++ b/Common/src/geometry/CDummyGeometry.cpp @@ -2,7 +2,7 @@ * \file CDummyGeometry.hpp * \brief Implementation of the dummy geometry class used in "dry run" mode. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/CGeometry.cpp b/Common/src/geometry/CGeometry.cpp index 264d6bdb3a8..bc1e91b1682 100644 --- a/Common/src/geometry/CGeometry.cpp +++ b/Common/src/geometry/CGeometry.cpp @@ -2,7 +2,7 @@ * \file CGeometry.cpp * \brief Implementation of the base geometry class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/CMultiGridGeometry.cpp b/Common/src/geometry/CMultiGridGeometry.cpp index e0f5d41227e..f28716fb795 100644 --- a/Common/src/geometry/CMultiGridGeometry.cpp +++ b/Common/src/geometry/CMultiGridGeometry.cpp @@ -2,7 +2,7 @@ * \file CMultiGridGeometry.cpp * \brief Implementation of the multigrid geometry class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/CMultiGridQueue.cpp b/Common/src/geometry/CMultiGridQueue.cpp index 40168b9a66e..3d670b05455 100644 --- a/Common/src/geometry/CMultiGridQueue.cpp +++ b/Common/src/geometry/CMultiGridQueue.cpp @@ -2,7 +2,7 @@ * \file CMultiGridQueue.cpp * \brief Implementation of the multigrid queue class for the FVM solver. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/CPhysicalGeometry.cpp b/Common/src/geometry/CPhysicalGeometry.cpp index b36b2fd3b0b..5d097a75daa 100644 --- a/Common/src/geometry/CPhysicalGeometry.cpp +++ b/Common/src/geometry/CPhysicalGeometry.cpp @@ -2,7 +2,7 @@ * \file CPhysicalGeometry.cpp * \brief Implementation of the physical geometry class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CDualGrid.cpp b/Common/src/geometry/dual_grid/CDualGrid.cpp index a46cba2606e..a3969b4088e 100644 --- a/Common/src/geometry/dual_grid/CDualGrid.cpp +++ b/Common/src/geometry/dual_grid/CDualGrid.cpp @@ -2,7 +2,7 @@ * \file CDualGrid.cpp * \brief Main classes for defining the dual grid * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CEdge.cpp b/Common/src/geometry/dual_grid/CEdge.cpp index 276ba8238a0..a5f30f90473 100644 --- a/Common/src/geometry/dual_grid/CEdge.cpp +++ b/Common/src/geometry/dual_grid/CEdge.cpp @@ -2,7 +2,7 @@ * \file CEdge.cpp * \brief Implementation of the edge class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CPoint.cpp b/Common/src/geometry/dual_grid/CPoint.cpp index 3cfdff0a77a..8f3eaefff01 100644 --- a/Common/src/geometry/dual_grid/CPoint.cpp +++ b/Common/src/geometry/dual_grid/CPoint.cpp @@ -2,7 +2,7 @@ * \file CPoint.cpp * \brief Main classes for defining the points of the dual grid * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CTurboVertex.cpp b/Common/src/geometry/dual_grid/CTurboVertex.cpp index 911f8edb176..592bbc1cb6c 100644 --- a/Common/src/geometry/dual_grid/CTurboVertex.cpp +++ b/Common/src/geometry/dual_grid/CTurboVertex.cpp @@ -2,7 +2,7 @@ * \file CTurboVertex.cpp * \brief Main classes for defining the turbo vertices of the dual grid * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/dual_grid/CVertex.cpp b/Common/src/geometry/dual_grid/CVertex.cpp index d895cf9bd63..4b3e9d657d8 100644 --- a/Common/src/geometry/dual_grid/CVertex.cpp +++ b/Common/src/geometry/dual_grid/CVertex.cpp @@ -2,7 +2,7 @@ * \file CVertex.cpp * \brief Main classes for defining the vertices of the dual grid * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CElement.cpp b/Common/src/geometry/elements/CElement.cpp index 34889175066..2e35eeecf98 100644 --- a/Common/src/geometry/elements/CElement.cpp +++ b/Common/src/geometry/elements/CElement.cpp @@ -2,7 +2,7 @@ * \file CElement.cpp * \brief Definition of the Finite Element structure (elements) * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CHEXA8.cpp b/Common/src/geometry/elements/CHEXA8.cpp index 139fe703c34..79d033c0e59 100644 --- a/Common/src/geometry/elements/CHEXA8.cpp +++ b/Common/src/geometry/elements/CHEXA8.cpp @@ -2,7 +2,7 @@ * \file CHEXA8.cpp * \brief Definition of 8-node hexa element with 8 Gauss points. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CLINE.cpp b/Common/src/geometry/elements/CLINE.cpp index edc6e4873c1..f9b62361137 100644 --- a/Common/src/geometry/elements/CLINE.cpp +++ b/Common/src/geometry/elements/CLINE.cpp @@ -2,7 +2,7 @@ * \file CLINE.cpp * \brief Definition of the 2-node line element with two Gauss points. * \author T. Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CPRISM6.cpp b/Common/src/geometry/elements/CPRISM6.cpp index 6dbfaa7016c..4e7fb019a3d 100644 --- a/Common/src/geometry/elements/CPRISM6.cpp +++ b/Common/src/geometry/elements/CPRISM6.cpp @@ -2,7 +2,7 @@ * \file CPRISM6.cpp * \brief Definition of the 6-node triangular prism element with 6 Gauss points. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CPYRAM5.cpp b/Common/src/geometry/elements/CPYRAM5.cpp index 1e9cb45c3ff..9003a7d378e 100644 --- a/Common/src/geometry/elements/CPYRAM5.cpp +++ b/Common/src/geometry/elements/CPYRAM5.cpp @@ -2,7 +2,7 @@ * \file CPYRAM5.cpp * \brief Definition of 5-node pyramid element with 5 Gauss points. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CPYRAM6.cpp b/Common/src/geometry/elements/CPYRAM6.cpp index e7a90a23304..8ea03251f51 100644 --- a/Common/src/geometry/elements/CPYRAM6.cpp +++ b/Common/src/geometry/elements/CPYRAM6.cpp @@ -2,7 +2,7 @@ * \file CPYRAM6.cpp * \brief Definition of 5-node pyramid element with 6 Gauss points. * \author T.Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CQUAD4.cpp b/Common/src/geometry/elements/CQUAD4.cpp index d12b7a476d9..5a495abcb07 100644 --- a/Common/src/geometry/elements/CQUAD4.cpp +++ b/Common/src/geometry/elements/CQUAD4.cpp @@ -2,7 +2,7 @@ * \file CQUAD4.cpp * \brief Definition of the 4-node quadrilateral element with 4 Gauss points. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CTETRA1.cpp b/Common/src/geometry/elements/CTETRA1.cpp index 0b46031ce35..41242eec185 100644 --- a/Common/src/geometry/elements/CTETRA1.cpp +++ b/Common/src/geometry/elements/CTETRA1.cpp @@ -2,7 +2,7 @@ * \file CTETRA1.cpp * \brief Definition of 4-node tetra element with 1 Gauss point. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CTETRA4.cpp b/Common/src/geometry/elements/CTETRA4.cpp index 4c128d8d1b3..74740cb227e 100644 --- a/Common/src/geometry/elements/CTETRA4.cpp +++ b/Common/src/geometry/elements/CTETRA4.cpp @@ -2,7 +2,7 @@ * \file CTETRA4.cpp * \brief Definition of 4-node tetrahedral element with 4 Gauss point. * \author T. Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CTRIA1.cpp b/Common/src/geometry/elements/CTRIA1.cpp index cd2d3aeb609..e74c707f627 100644 --- a/Common/src/geometry/elements/CTRIA1.cpp +++ b/Common/src/geometry/elements/CTRIA1.cpp @@ -2,7 +2,7 @@ * \file CTRIA1.cpp * \brief Definition of the 3-node triangular element with one Gauss point. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/elements/CTRIA3.cpp b/Common/src/geometry/elements/CTRIA3.cpp index d3dee33d786..afc3996a811 100644 --- a/Common/src/geometry/elements/CTRIA3.cpp +++ b/Common/src/geometry/elements/CTRIA3.cpp @@ -2,7 +2,7 @@ * \file CTRIA3.cpp * \brief Definition of the 3-node triangular element with three Gauss points. * \author T. Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp index 6e7bc2a22cd..09c0427c920 100644 --- a/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CBoxMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Reads a 3D box grid into linear partitions for the * finite volume solver (FVM). * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp index cef3ab798a2..53e3b3dd0c7 100644 --- a/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CCGNSMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Class that reads a single zone of a CGNS mesh file from disk into * linear partitions across all ranks. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CMeshReaderFVM.cpp index ec7a564ed11..dde520aa244 100644 --- a/Common/src/geometry/meshreader/CMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Helper class that provides the counts for each rank in a linear * partitioning given the global count as input. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp index 470070b8d93..e4dd6c48a26 100644 --- a/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CRectangularMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Reads a 2D rectangular grid into linear partitions for the * finite volume solver (FVM). * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp b/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp index c1a3acba3f7..92e63d0623d 100644 --- a/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp +++ b/Common/src/geometry/meshreader/CSU2ASCIIMeshReaderFVM.cpp @@ -3,7 +3,7 @@ * \brief Reads a native SU2 ASCII grid into linear partitions for the * finite volume solver (FVM). * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CHexahedron.cpp b/Common/src/geometry/primal_grid/CHexahedron.cpp index 38067f97796..1ee5c813f46 100644 --- a/Common/src/geometry/primal_grid/CHexahedron.cpp +++ b/Common/src/geometry/primal_grid/CHexahedron.cpp @@ -2,7 +2,7 @@ * \file CHexahedron.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CLine.cpp b/Common/src/geometry/primal_grid/CLine.cpp index 45cc828f15a..66bd2a3cc5c 100644 --- a/Common/src/geometry/primal_grid/CLine.cpp +++ b/Common/src/geometry/primal_grid/CLine.cpp @@ -2,7 +2,7 @@ * \file CLine.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPrimalGrid.cpp b/Common/src/geometry/primal_grid/CPrimalGrid.cpp index 33651820459..2ed6d9a550c 100644 --- a/Common/src/geometry/primal_grid/CPrimalGrid.cpp +++ b/Common/src/geometry/primal_grid/CPrimalGrid.cpp @@ -2,7 +2,7 @@ * \file CPrimalGrid.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp b/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp index d5405858b31..b8dc1c1191b 100644 --- a/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp +++ b/Common/src/geometry/primal_grid/CPrimalGridBoundFEM.cpp @@ -2,7 +2,7 @@ * \file CPrimalGridBoundFEM.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp b/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp index 0578bad44e5..3740f1f3b4a 100644 --- a/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp +++ b/Common/src/geometry/primal_grid/CPrimalGridFEM.cpp @@ -2,7 +2,7 @@ * \file CPrimalGridFEM.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPrism.cpp b/Common/src/geometry/primal_grid/CPrism.cpp index 3712eb24ba0..0442d0b5664 100644 --- a/Common/src/geometry/primal_grid/CPrism.cpp +++ b/Common/src/geometry/primal_grid/CPrism.cpp @@ -2,7 +2,7 @@ * \file CPrism.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CPyramid.cpp b/Common/src/geometry/primal_grid/CPyramid.cpp index 8d37673c8f1..f75aac437f0 100644 --- a/Common/src/geometry/primal_grid/CPyramid.cpp +++ b/Common/src/geometry/primal_grid/CPyramid.cpp @@ -2,7 +2,7 @@ * \file CPyramid.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CQuadrilateral.cpp b/Common/src/geometry/primal_grid/CQuadrilateral.cpp index d3dc0b89d01..643e10209b8 100644 --- a/Common/src/geometry/primal_grid/CQuadrilateral.cpp +++ b/Common/src/geometry/primal_grid/CQuadrilateral.cpp @@ -2,7 +2,7 @@ * \file CQuadrilateral.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CTetrahedron.cpp b/Common/src/geometry/primal_grid/CTetrahedron.cpp index 13c9961ca2f..0c82ac1ef45 100644 --- a/Common/src/geometry/primal_grid/CTetrahedron.cpp +++ b/Common/src/geometry/primal_grid/CTetrahedron.cpp @@ -2,7 +2,7 @@ * \file CTetrahedron.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CTriangle.cpp b/Common/src/geometry/primal_grid/CTriangle.cpp index dbca2eb6a08..8f5dbdfa1c8 100644 --- a/Common/src/geometry/primal_grid/CTriangle.cpp +++ b/Common/src/geometry/primal_grid/CTriangle.cpp @@ -2,7 +2,7 @@ * \file CTriangle.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/geometry/primal_grid/CVertexMPI.cpp b/Common/src/geometry/primal_grid/CVertexMPI.cpp index b5d910fc174..7fe7451cce5 100644 --- a/Common/src/geometry/primal_grid/CVertexMPI.cpp +++ b/Common/src/geometry/primal_grid/CVertexMPI.cpp @@ -2,7 +2,7 @@ * \file CVertexMPI.cpp * \brief Main classes for defining the primal grid elements * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/graph_coloring_structure.cpp b/Common/src/graph_coloring_structure.cpp index e50d23cfedc..1b661765d9b 100644 --- a/Common/src/graph_coloring_structure.cpp +++ b/Common/src/graph_coloring_structure.cpp @@ -2,7 +2,7 @@ * \file graph_coloring_structure.cpp * \brief Functions used to carry out the coloring of a given graph. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CBSplineBlending.cpp b/Common/src/grid_movement/CBSplineBlending.cpp index ef5b7962ddc..b7568c7942a 100644 --- a/Common/src/grid_movement/CBSplineBlending.cpp +++ b/Common/src/grid_movement/CBSplineBlending.cpp @@ -2,7 +2,7 @@ * \file CBSplineBlending.cpp * \brief Subroutines for B-Spline blening for FFDs * \author F. Palacios, T. Economon, S. Padron - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CBezierBlending.cpp b/Common/src/grid_movement/CBezierBlending.cpp index 57295dc73e0..03c41efd037 100644 --- a/Common/src/grid_movement/CBezierBlending.cpp +++ b/Common/src/grid_movement/CBezierBlending.cpp @@ -2,7 +2,7 @@ * \file CBezierBlending.cpp * \brief Subroutines for Bezier blending for FFDs * \author F. Palacios, T. Economon, S. Padron - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CFreeFormBlending.cpp b/Common/src/grid_movement/CFreeFormBlending.cpp index 09d982a4e02..9a1871c2f31 100644 --- a/Common/src/grid_movement/CFreeFormBlending.cpp +++ b/Common/src/grid_movement/CFreeFormBlending.cpp @@ -2,7 +2,7 @@ * \file CFreeFormBlending.cpp * \brief Parent class for FFD Blending functions * \author F. Palacios, T. Economon, S. Padron - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CFreeFormDefBox.cpp b/Common/src/grid_movement/CFreeFormDefBox.cpp index 4431ea428bf..c16ef15b716 100644 --- a/Common/src/grid_movement/CFreeFormDefBox.cpp +++ b/Common/src/grid_movement/CFreeFormDefBox.cpp @@ -2,7 +2,7 @@ * \file CFreeFormDefBox.cpp * \brief Subroutines for handling Free-Form Deformation Boxes * \author F. Palacios, T. Economon, S. Padron - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CGridMovement.cpp b/Common/src/grid_movement/CGridMovement.cpp index b4f66f3a805..3ead32ae339 100644 --- a/Common/src/grid_movement/CGridMovement.cpp +++ b/Common/src/grid_movement/CGridMovement.cpp @@ -2,7 +2,7 @@ * \file CGridMovement.cpp * \brief Parent class for grid movement classes * \author F. Palacios, T. Economon, S. Padron - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CSurfaceMovement.cpp b/Common/src/grid_movement/CSurfaceMovement.cpp index a4a4639fec0..308bd9a8b42 100644 --- a/Common/src/grid_movement/CSurfaceMovement.cpp +++ b/Common/src/grid_movement/CSurfaceMovement.cpp @@ -2,7 +2,7 @@ * \file CSurfaceMovement.cpp * \brief Subroutines for moving mesh surface elements * \author F. Palacios, T. Economon, S. Padron - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/grid_movement/CVolumetricMovement.cpp b/Common/src/grid_movement/CVolumetricMovement.cpp index 3bbbcf01c8a..ef7e3d423af 100644 --- a/Common/src/grid_movement/CVolumetricMovement.cpp +++ b/Common/src/grid_movement/CVolumetricMovement.cpp @@ -2,7 +2,7 @@ * \file CVolumetricMovement.cpp * \brief Subroutines for moving mesh volume elements * \author F. Palacios, T. Economon, S. Padron - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CInterpolator.cpp b/Common/src/interface_interpolation/CInterpolator.cpp index b6dc0fc0411..250bf916d98 100644 --- a/Common/src/interface_interpolation/CInterpolator.cpp +++ b/Common/src/interface_interpolation/CInterpolator.cpp @@ -2,7 +2,7 @@ * \file CInterpolator.cpp * \brief Definition of the base class for interface interpolation. * \author H. Kline - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CInterpolatorFactory.cpp b/Common/src/interface_interpolation/CInterpolatorFactory.cpp index 7d98f0f6918..64b989981e5 100644 --- a/Common/src/interface_interpolation/CInterpolatorFactory.cpp +++ b/Common/src/interface_interpolation/CInterpolatorFactory.cpp @@ -1,7 +1,7 @@ /*! * \file CInterpolatorFactory.cpp * \brief Factory to generate interpolator objects. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CIsoparametric.cpp b/Common/src/interface_interpolation/CIsoparametric.cpp index 3a5ba14f231..e660664a891 100644 --- a/Common/src/interface_interpolation/CIsoparametric.cpp +++ b/Common/src/interface_interpolation/CIsoparametric.cpp @@ -2,7 +2,7 @@ * \file CIsoparametric.cpp * \brief Implementation isoparametric interpolation (using FE shape functions). * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CMirror.cpp b/Common/src/interface_interpolation/CMirror.cpp index 56b3f617eff..9e1695635dc 100644 --- a/Common/src/interface_interpolation/CMirror.cpp +++ b/Common/src/interface_interpolation/CMirror.cpp @@ -2,7 +2,7 @@ * \file CMirror.cpp * \brief Implementation of mirror interpolation (conservative approach in FSI problems). * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CNearestNeighbor.cpp b/Common/src/interface_interpolation/CNearestNeighbor.cpp index f4c11123fc8..8518b4a19dc 100644 --- a/Common/src/interface_interpolation/CNearestNeighbor.cpp +++ b/Common/src/interface_interpolation/CNearestNeighbor.cpp @@ -2,7 +2,7 @@ * \file CNearestNeighbor.cpp * \brief Implementation of nearest neighbor interpolation. * \author H. Kline - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CRadialBasisFunction.cpp b/Common/src/interface_interpolation/CRadialBasisFunction.cpp index 963c0180389..7433a401299 100644 --- a/Common/src/interface_interpolation/CRadialBasisFunction.cpp +++ b/Common/src/interface_interpolation/CRadialBasisFunction.cpp @@ -2,7 +2,7 @@ * \file CRadialBasisFunction.cpp * \brief Implementation of RBF interpolation. * \author Joel Ho, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/interface_interpolation/CSlidingMesh.cpp b/Common/src/interface_interpolation/CSlidingMesh.cpp index d3eebc91b9d..81c46bf88b6 100644 --- a/Common/src/interface_interpolation/CSlidingMesh.cpp +++ b/Common/src/interface_interpolation/CSlidingMesh.cpp @@ -2,7 +2,7 @@ * \file CSlidingMesh.cpp * \brief Implementation of sliding mesh interpolation. * \author H. Kline - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/linear_algebra/CPastixWrapper.cpp b/Common/src/linear_algebra/CPastixWrapper.cpp index 6fca9e423a3..9cf791cbdd9 100644 --- a/Common/src/linear_algebra/CPastixWrapper.cpp +++ b/Common/src/linear_algebra/CPastixWrapper.cpp @@ -3,7 +3,7 @@ * \brief An interface to the INRIA solver PaStiX * (http://pastix.gforge.inria.fr/files/README-txt.html) * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/linear_algebra/CSysMatrix.cpp b/Common/src/linear_algebra/CSysMatrix.cpp index 7f72f617e38..a03797b64c7 100644 --- a/Common/src/linear_algebra/CSysMatrix.cpp +++ b/Common/src/linear_algebra/CSysMatrix.cpp @@ -2,7 +2,7 @@ * \file CSysMatrix.cpp * \brief Implementation of the sparse matrix class. * \author F. Palacios, A. Bueno, T. Economon, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/linear_algebra/CSysSolve.cpp b/Common/src/linear_algebra/CSysSolve.cpp index c1ad3bc4a36..7b32d8b0742 100644 --- a/Common/src/linear_algebra/CSysSolve.cpp +++ b/Common/src/linear_algebra/CSysSolve.cpp @@ -2,7 +2,7 @@ * \file CSysSolve.cpp * \brief Main classes required for solving linear systems of equations * \author J. Hicken, F. Palacios, T. Economon, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/linear_algebra/CSysSolve_b.cpp b/Common/src/linear_algebra/CSysSolve_b.cpp index 770ec17c7fe..8717434b0fc 100644 --- a/Common/src/linear_algebra/CSysSolve_b.cpp +++ b/Common/src/linear_algebra/CSysSolve_b.cpp @@ -2,7 +2,7 @@ * \file CSysSolve_b.cpp * \brief Routines for the linear solver used in the reverse sweep of AD. * \author T. Albring, J. Blühdorn - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/linear_algebra/CSysVector.cpp b/Common/src/linear_algebra/CSysVector.cpp index 44a67299fcd..af335ac99f5 100644 --- a/Common/src/linear_algebra/CSysVector.cpp +++ b/Common/src/linear_algebra/CSysVector.cpp @@ -2,7 +2,7 @@ * \file CSysVector.cpp * \brief Implementation and explicit instantiations of CSysVector. * \author P. Gomes, F. Palacios, J. Hicken, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/linear_algebra/blas_structure.cpp b/Common/src/linear_algebra/blas_structure.cpp index 357bb378d17..c23a77ecec7 100644 --- a/Common/src/linear_algebra/blas_structure.cpp +++ b/Common/src/linear_algebra/blas_structure.cpp @@ -3,7 +3,7 @@ * \brief Implementation of the functions that either simulate BLAS functionality or interface to an actual BLAS implementation. * \author E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/C1DInterpolation.cpp b/Common/src/toolboxes/C1DInterpolation.cpp index bc2ff95726e..31861d67cab 100644 --- a/Common/src/toolboxes/C1DInterpolation.cpp +++ b/Common/src/toolboxes/C1DInterpolation.cpp @@ -2,7 +2,7 @@ * \file C1DInterpolation.cpp * \brief Classes for 1D interpolation. * \author Aman Baig, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/CLinearPartitioner.cpp b/Common/src/toolboxes/CLinearPartitioner.cpp index a9b3e858c5e..6960344d8a0 100644 --- a/Common/src/toolboxes/CLinearPartitioner.cpp +++ b/Common/src/toolboxes/CLinearPartitioner.cpp @@ -3,7 +3,7 @@ * \brief Helper class that provides the counts for each rank in a linear * partitioning given the global count as input. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/CSquareMatrixCM.cpp b/Common/src/toolboxes/CSquareMatrixCM.cpp index 818cd7028f8..09b990dc448 100644 --- a/Common/src/toolboxes/CSquareMatrixCM.cpp +++ b/Common/src/toolboxes/CSquareMatrixCM.cpp @@ -2,7 +2,7 @@ * \file CSquareMatrixCM.cpp * \brief Implementation of dense matrix helper class in Column Major order (see hpp). * \author Edwin van der Weide, Pedro Gomes. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/CSymmetricMatrix.cpp b/Common/src/toolboxes/CSymmetricMatrix.cpp index 2f20efe643d..a2adb505562 100644 --- a/Common/src/toolboxes/CSymmetricMatrix.cpp +++ b/Common/src/toolboxes/CSymmetricMatrix.cpp @@ -2,7 +2,7 @@ * \file CSymmetricMatrix.cpp * \brief Implementation of dense symmetric matrix helper class (see hpp). * \author Joel Ho, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CIncTGVSolution.cpp b/Common/src/toolboxes/MMS/CIncTGVSolution.cpp index adfd78671cd..51b0499dae0 100644 --- a/Common/src/toolboxes/MMS/CIncTGVSolution.cpp +++ b/Common/src/toolboxes/MMS/CIncTGVSolution.cpp @@ -2,7 +2,7 @@ * \file CIncTGVSolution.cpp * \brief Implementations of the member functions of CIncTGVSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CInviscidVortexSolution.cpp b/Common/src/toolboxes/MMS/CInviscidVortexSolution.cpp index 568cc2eff01..f699d9f6ccb 100644 --- a/Common/src/toolboxes/MMS/CInviscidVortexSolution.cpp +++ b/Common/src/toolboxes/MMS/CInviscidVortexSolution.cpp @@ -2,7 +2,7 @@ * \file CInviscidVortexSolution.cpp * \brief Implementations of the member functions of CInviscidVortexSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CMMSIncEulerSolution.cpp b/Common/src/toolboxes/MMS/CMMSIncEulerSolution.cpp index e76cc96e051..2352988dcdc 100644 --- a/Common/src/toolboxes/MMS/CMMSIncEulerSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSIncEulerSolution.cpp @@ -2,7 +2,7 @@ * \file CMMSIncEulerSolution.cpp * \brief Implementations of the member functions of CMMSIncEulerSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CMMSIncNSSolution.cpp b/Common/src/toolboxes/MMS/CMMSIncNSSolution.cpp index a3248b43dc2..8cd7ed00b89 100644 --- a/Common/src/toolboxes/MMS/CMMSIncNSSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSIncNSSolution.cpp @@ -2,7 +2,7 @@ * \file CMMSIncNSSolution.cpp * \brief Implementations of the member functions of CMMSIncNSSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.cpp b/Common/src/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.cpp index bae4db435f0..c21f7d927a3 100644 --- a/Common/src/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSNSTwoHalfCirclesSolution.cpp @@ -2,7 +2,7 @@ * \file CMMSNSTwoHalfCirclesSolution.cpp * \brief Implementations of the member functions of CMMSNSTwoHalfCirclesSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.cpp b/Common/src/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.cpp index 213010bcd7c..c6e7a5f005a 100644 --- a/Common/src/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSNSTwoHalfSpheresSolution.cpp @@ -2,7 +2,7 @@ * \file CMMSNSTwoHalfSpheresSolution.cpp * \brief Implementations of the member functions of CMMSNSTwoHalfSpheresSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolution.cpp b/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolution.cpp index a6ffe71adce..8a8f537f546 100644 --- a/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolution.cpp +++ b/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolution.cpp @@ -2,7 +2,7 @@ * \file CMMSNSUnitQuadSolution.cpp * \brief Implementations of the member functions of CMMSNSUnitQuadSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.cpp b/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.cpp index 4da8922bb17..32fc77ebe74 100644 --- a/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.cpp +++ b/Common/src/toolboxes/MMS/CMMSNSUnitQuadSolutionWallBC.cpp @@ -2,7 +2,7 @@ * \file CMMSNSUnitQuadSolutionWallBC.cpp * \brief Implementations of the member functions of CMMSNSUnitQuadSolutionWallBC. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CNSUnitQuadSolution.cpp b/Common/src/toolboxes/MMS/CNSUnitQuadSolution.cpp index 6aac7ac9706..f3b9519e379 100644 --- a/Common/src/toolboxes/MMS/CNSUnitQuadSolution.cpp +++ b/Common/src/toolboxes/MMS/CNSUnitQuadSolution.cpp @@ -2,7 +2,7 @@ * \file CNSUnitQuadSolution.cpp * \brief Implementations of the member functions of CNSUnitQuadSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CRinglebSolution.cpp b/Common/src/toolboxes/MMS/CRinglebSolution.cpp index d22142a4fc3..09012fbc4cb 100644 --- a/Common/src/toolboxes/MMS/CRinglebSolution.cpp +++ b/Common/src/toolboxes/MMS/CRinglebSolution.cpp @@ -2,7 +2,7 @@ * \file CRinglebSolution.cpp * \brief Implementations of the member functions of CRinglebSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CTGVSolution.cpp b/Common/src/toolboxes/MMS/CTGVSolution.cpp index 63cc22354aa..77eaf387213 100644 --- a/Common/src/toolboxes/MMS/CTGVSolution.cpp +++ b/Common/src/toolboxes/MMS/CTGVSolution.cpp @@ -2,7 +2,7 @@ * \file CTGVSolution.cpp * \brief Implementations of the member functions of CTGVSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CUserDefinedSolution.cpp b/Common/src/toolboxes/MMS/CUserDefinedSolution.cpp index 32332606e46..2332a27d5da 100644 --- a/Common/src/toolboxes/MMS/CUserDefinedSolution.cpp +++ b/Common/src/toolboxes/MMS/CUserDefinedSolution.cpp @@ -2,7 +2,7 @@ * \file CUserDefinedSolution.cpp * \brief Implementations of the member functions of CUserDefinedSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CVerificationSolution.cpp b/Common/src/toolboxes/MMS/CVerificationSolution.cpp index 788ad6b40ff..e5f707a015c 100644 --- a/Common/src/toolboxes/MMS/CVerificationSolution.cpp +++ b/Common/src/toolboxes/MMS/CVerificationSolution.cpp @@ -2,7 +2,7 @@ * \file CVerificationSolution.cpp * \brief Implementations of the member functions of CVerificationSolution. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncEulerSolution.py b/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncEulerSolution.py index 27049cdab6f..54aa4707254 100755 --- a/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncEulerSolution.py +++ b/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncEulerSolution.py @@ -4,7 +4,7 @@ # \brief Python script that generates the source terms for a # manufactured solution for the incompressible Euler eqns. # \author T. Economon -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncNSSolution.py b/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncNSSolution.py index 27602455a92..d93f92c1c48 100755 --- a/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncNSSolution.py +++ b/Common/src/toolboxes/MMS/CreateMMSSourceTerms/CMMSIncNSSolution.py @@ -4,7 +4,7 @@ # \brief Python script that generates the source terms for a # manufactured solution for the incompressible Navier-Stokes eqns. # \author T. Economon -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/Common/src/toolboxes/printing_toolbox.cpp b/Common/src/toolboxes/printing_toolbox.cpp index 838fef18e8c..f2b21f1da51 100644 --- a/Common/src/toolboxes/printing_toolbox.cpp +++ b/Common/src/toolboxes/printing_toolbox.cpp @@ -2,7 +2,7 @@ * \file printing_toolbox.cpp * \brief Printing tools * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Common/src/wall_model.cpp b/Common/src/wall_model.cpp index 615a15328fa..21b0c99aedf 100644 --- a/Common/src/wall_model.cpp +++ b/Common/src/wall_model.cpp @@ -3,7 +3,7 @@ * \brief File, which contains the implementation for the wall model functions * for large eddy simulations. * \author E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/Docs/docmain.hpp b/Docs/docmain.hpp index 777967dbd32..1380c050559 100644 --- a/Docs/docmain.hpp +++ b/Docs/docmain.hpp @@ -2,7 +2,7 @@ * \file docmain.hpp * \brief This file contains documentation for Doxygen and does not have any significance with respect to C++. * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -26,7 +26,7 @@ */ /*! - * \mainpage SU2 version 7.5.0 "Blackbird" + * \mainpage SU2 version 7.5.1 "Blackbird" * SU2 suite is an open-source collection of C++ based software tools * to perform PDE analysis and PDE constrained optimization. The toolset is designed with * computational fluid dynamics and aerodynamic shape optimization in mind, but is extensible to diff --git a/QuickStart/inv_NACA0012.cfg b/QuickStart/inv_NACA0012.cfg index d434c88d73e..6f6dbc9424a 100644 --- a/QuickStart/inv_NACA0012.cfg +++ b/QuickStart/inv_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/README.md b/README.md index 26b394001df..aed69976a5a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@

-# SU2 (ver. 7.5.0 "Blackbird"): The Open-Source CFD Code +# SU2 (ver. 7.5.1 "Blackbird"): The Open-Source CFD Code Computational analysis tools have revolutionized the way we design engineering systems, but most established codes are proprietary, unavailable, or prohibitively expensive for many users. The SU2 team is changing this, making multiphysics analysis and design optimization freely available as open-source software and involving everyone in its creation and development. diff --git a/SU2_CFD/include/CMarkerProfileReaderFVM.hpp b/SU2_CFD/include/CMarkerProfileReaderFVM.hpp index 61a97a05232..d44929296e4 100644 --- a/SU2_CFD/include/CMarkerProfileReaderFVM.hpp +++ b/SU2_CFD/include/CMarkerProfileReaderFVM.hpp @@ -3,7 +3,7 @@ * \brief Header file for the class CMarkerProfileReaderFVM. * The implementations are in the CMarkerProfileReaderFVM.cpp file. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/SU2_CFD.hpp b/SU2_CFD/include/SU2_CFD.hpp index dcf19837c4f..c23920bb9e4 100644 --- a/SU2_CFD/include/SU2_CFD.hpp +++ b/SU2_CFD/include/SU2_CFD.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_CFD. * The subroutines and functions are in the SU2_CFD.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/definition_structure.hpp b/SU2_CFD/include/definition_structure.hpp index 9a551e60f1e..0b21e892130 100644 --- a/SU2_CFD/include/definition_structure.hpp +++ b/SU2_CFD/include/definition_structure.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines used by SU2_CFD. * The subroutines and functions are in the definition_structure.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp b/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp index 70c67426cd1..7e417e70349 100644 --- a/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp +++ b/SU2_CFD/include/drivers/CDiscAdjMultizoneDriver.hpp @@ -2,7 +2,7 @@ * \class CDiscAdjMultizoneDriver.hpp * \brief Class for driving adjoint multi-zone problems. * \author O. Burghardt, P. Gomes, T. Albring, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp b/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp index d1f75ea28b2..8b0960565a4 100644 --- a/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp +++ b/SU2_CFD/include/drivers/CDiscAdjSinglezoneDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \ingroup DiscAdj * \brief Class for driving single-zone adjoint solvers. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CDiscAdjSinglezoneDriver : public CSinglezoneDriver { protected: diff --git a/SU2_CFD/include/drivers/CDriver.hpp b/SU2_CFD/include/drivers/CDriver.hpp index 45dfdbc40cb..5481a8e9a97 100644 --- a/SU2_CFD/include/drivers/CDriver.hpp +++ b/SU2_CFD/include/drivers/CDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/drivers/CDummyDriver.hpp b/SU2_CFD/include/drivers/CDummyDriver.hpp index cb207e78be2..3f1d959f44c 100644 --- a/SU2_CFD/include/drivers/CDummyDriver.hpp +++ b/SU2_CFD/include/drivers/CDummyDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/drivers/CMultizoneDriver.hpp b/SU2_CFD/include/drivers/CMultizoneDriver.hpp index c1e12e6a84f..91fe6234a71 100644 --- a/SU2_CFD/include/drivers/CMultizoneDriver.hpp +++ b/SU2_CFD/include/drivers/CMultizoneDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \ingroup Drivers * \brief Class for driving zone-specific iterations. * \author R. Sanchez, O. Burghardt - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CMultizoneDriver : public CDriver { protected: diff --git a/SU2_CFD/include/drivers/CSinglezoneDriver.hpp b/SU2_CFD/include/drivers/CSinglezoneDriver.hpp index 5855da499dd..5cfd90acb01 100644 --- a/SU2_CFD/include/drivers/CSinglezoneDriver.hpp +++ b/SU2_CFD/include/drivers/CSinglezoneDriver.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for driving single or multi-zone problems. * The subroutines and functions are in the driver_structure.cpp file. * \author T. Economon, H. Kline, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \ingroup Drivers * \brief Class for driving single-zone solvers. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CSinglezoneDriver : public CDriver { protected: diff --git a/SU2_CFD/include/fluid/CConductivityModel.hpp b/SU2_CFD/include/fluid/CConductivityModel.hpp index 3eada3eeb95..e22104e3a9b 100644 --- a/SU2_CFD/include/fluid/CConductivityModel.hpp +++ b/SU2_CFD/include/fluid/CConductivityModel.hpp @@ -2,7 +2,7 @@ * \file CConductivityModel.hpp * \brief Defines an interface class for thermal conductivity models. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantConductivity.hpp b/SU2_CFD/include/fluid/CConstantConductivity.hpp index e6045f50cad..c82f322cd91 100644 --- a/SU2_CFD/include/fluid/CConstantConductivity.hpp +++ b/SU2_CFD/include/fluid/CConstantConductivity.hpp @@ -2,7 +2,7 @@ * \file CConstantConductivity.hpp * \brief Defines a constant laminar thermal conductivity model. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp b/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp index 1252eb049e8..ce5d2a0f9b2 100644 --- a/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp +++ b/SU2_CFD/include/fluid/CConstantConductivityRANS.hpp @@ -2,7 +2,7 @@ * \file CConstantConductivityRANS.hpp * \brief Defines a constant conductivity model for RANS problems. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantDensity.hpp b/SU2_CFD/include/fluid/CConstantDensity.hpp index ca96c4f78bc..ed9a1236f22 100644 --- a/SU2_CFD/include/fluid/CConstantDensity.hpp +++ b/SU2_CFD/include/fluid/CConstantDensity.hpp @@ -2,7 +2,7 @@ * \file CConstantDensity.hpp * \brief Defines the incompressible constant density model. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantDiffusivity.hpp b/SU2_CFD/include/fluid/CConstantDiffusivity.hpp index be5f2f04ce3..5dd4ebeb25a 100644 --- a/SU2_CFD/include/fluid/CConstantDiffusivity.hpp +++ b/SU2_CFD/include/fluid/CConstantDiffusivity.hpp @@ -2,7 +2,7 @@ * \file CConstantDiffusivity.hpp * \brief Defines constant mass diffusivity. * \author T. Economon, Cristopher Morales Ubal - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp b/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp index fc2baf06cc7..0f49225fdec 100644 --- a/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp +++ b/SU2_CFD/include/fluid/CConstantLewisDiffusivity.hpp @@ -2,7 +2,7 @@ * \file CConstantLewisDiffusivity.hpp * \brief Defines Constant Lewis mass diffusivity. * \author M.Heimgartner, C.Morales - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantPrandtl.hpp b/SU2_CFD/include/fluid/CConstantPrandtl.hpp index 64778fea940..d10849a2282 100644 --- a/SU2_CFD/include/fluid/CConstantPrandtl.hpp +++ b/SU2_CFD/include/fluid/CConstantPrandtl.hpp @@ -2,7 +2,7 @@ * \file CConstantPrandtl.hpp * \brief Defines a non-constant laminar Prandtl number thermal conductivity model. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp b/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp index 1c44fcd324b..ab1eb2c13c7 100644 --- a/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp +++ b/SU2_CFD/include/fluid/CConstantPrandtlRANS.hpp @@ -2,7 +2,7 @@ * \file CConstantPrandtlRANS.hpp * \brief Defines a non-constant effective thermal conductivity for RANS problems using Prandtl numbers. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantSchmidt.hpp b/SU2_CFD/include/fluid/CConstantSchmidt.hpp index 7fced61e062..966754870e6 100644 --- a/SU2_CFD/include/fluid/CConstantSchmidt.hpp +++ b/SU2_CFD/include/fluid/CConstantSchmidt.hpp @@ -2,7 +2,7 @@ * \file CConstantSchmidt.hpp * \brief Defines a mass diffusivity model with constant Schmidt numbers. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CConstantViscosity.hpp b/SU2_CFD/include/fluid/CConstantViscosity.hpp index ef9a29ce705..4ceca83970e 100644 --- a/SU2_CFD/include/fluid/CConstantViscosity.hpp +++ b/SU2_CFD/include/fluid/CConstantViscosity.hpp @@ -2,7 +2,7 @@ * \file CConstantViscosity.hpp * \brief Defines a constant laminar viscosity model. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CCoolProp.hpp b/SU2_CFD/include/fluid/CCoolProp.hpp index 89f64cb406e..5caec075b5e 100644 --- a/SU2_CFD/include/fluid/CCoolProp.hpp +++ b/SU2_CFD/include/fluid/CCoolProp.hpp @@ -2,7 +2,7 @@ * \file CCoolProp.hpp * \brief Defines the state-of-the-art fluid model from CoolProp library. * \author P. Yan, G. Gori, A. Guardone - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CCoolPropConductivity.hpp b/SU2_CFD/include/fluid/CCoolPropConductivity.hpp index 420d3b7b95e..416d76759c8 100644 --- a/SU2_CFD/include/fluid/CCoolPropConductivity.hpp +++ b/SU2_CFD/include/fluid/CCoolPropConductivity.hpp @@ -2,7 +2,7 @@ * \file CCoolPropConductivity.hpp * \brief Defines laminar thermal conductivity model from CoolProp. * \author P.YAn, G. Gori, A. Guardone - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CCoolPropViscosity.hpp b/SU2_CFD/include/fluid/CCoolPropViscosity.hpp index 9892ce8948b..72f9be4ee0b 100644 --- a/SU2_CFD/include/fluid/CCoolPropViscosity.hpp +++ b/SU2_CFD/include/fluid/CCoolPropViscosity.hpp @@ -2,7 +2,7 @@ * \file CCoolPropViscosity.hpp * \brief Defines CoolPropviscosity model. * \author P.Yan, G. Gori, A. Guardone, - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CDiffusivityModel.hpp b/SU2_CFD/include/fluid/CDiffusivityModel.hpp index 7da6de81419..413c970a1e2 100644 --- a/SU2_CFD/include/fluid/CDiffusivityModel.hpp +++ b/SU2_CFD/include/fluid/CDiffusivityModel.hpp @@ -2,7 +2,7 @@ * \file CDiffusivityModel.hpp * \brief Interface class for defining mass diffusivity models. * \author T. Economon, C. Morales - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CFluidModel.hpp b/SU2_CFD/include/fluid/CFluidModel.hpp index d447446da10..ba52958f3a9 100644 --- a/SU2_CFD/include/fluid/CFluidModel.hpp +++ b/SU2_CFD/include/fluid/CFluidModel.hpp @@ -2,7 +2,7 @@ * \file CFluidModel.hpp * \brief Defines the main fluid model class for thermophysical properties. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CFluidScalar.hpp b/SU2_CFD/include/fluid/CFluidScalar.hpp index b7c6c02d3d2..37456084f44 100644 --- a/SU2_CFD/include/fluid/CFluidScalar.hpp +++ b/SU2_CFD/include/fluid/CFluidScalar.hpp @@ -2,7 +2,7 @@ * \file CFluidScalar.hpp * \brief Defines the multicomponent incompressible Ideal Gas model for mixtures. * \author T. Economon, Mark Heimgartner, Cristopher Morales Ubal - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CIdealGas.hpp b/SU2_CFD/include/fluid/CIdealGas.hpp index 42a496deed0..be28ee4dfd9 100644 --- a/SU2_CFD/include/fluid/CIdealGas.hpp +++ b/SU2_CFD/include/fluid/CIdealGas.hpp @@ -2,7 +2,7 @@ * \file CIdealGas.hpp * \brief Defines the ideal gas model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CIncIdealGas.hpp b/SU2_CFD/include/fluid/CIncIdealGas.hpp index 0732941d8e5..f7a7bc7c241 100644 --- a/SU2_CFD/include/fluid/CIncIdealGas.hpp +++ b/SU2_CFD/include/fluid/CIncIdealGas.hpp @@ -2,7 +2,7 @@ * \file CIncIdealGas.hpp * \brief Defines the incompressible Ideal Gas model. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp b/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp index 9fdfe709170..1d19436c404 100644 --- a/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp +++ b/SU2_CFD/include/fluid/CIncIdealGasPolynomial.hpp @@ -2,7 +2,7 @@ * \file CIncIdealGasPolynomial.hpp * \brief Defines the incompressible Ideal Gas model with polynomial Cp. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CMutationTCLib.hpp b/SU2_CFD/include/fluid/CMutationTCLib.hpp index 3c0773181fc..3fb90dd7886 100644 --- a/SU2_CFD/include/fluid/CMutationTCLib.hpp +++ b/SU2_CFD/include/fluid/CMutationTCLib.hpp @@ -2,7 +2,7 @@ * \file CMutationTCLib.hpp * \brief Defines the class for the link to Mutation++ ThermoChemistry library. * \author C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CNEMOGas.hpp b/SU2_CFD/include/fluid/CNEMOGas.hpp index 43bb7ec9fbd..f8a17a600bf 100644 --- a/SU2_CFD/include/fluid/CNEMOGas.hpp +++ b/SU2_CFD/include/fluid/CNEMOGas.hpp @@ -2,7 +2,7 @@ * \file CNEMOGas.hpp * \brief Defines the nonequilibrium gas model. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CPengRobinson.hpp b/SU2_CFD/include/fluid/CPengRobinson.hpp index ebfeeaedc9c..5ae07b2cbd6 100644 --- a/SU2_CFD/include/fluid/CPengRobinson.hpp +++ b/SU2_CFD/include/fluid/CPengRobinson.hpp @@ -2,7 +2,7 @@ * \file CPengRobinson.hpp * \brief Defines the Peng-Robinson model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CPolynomialConductivity.hpp b/SU2_CFD/include/fluid/CPolynomialConductivity.hpp index 77a05bc29f5..242893818d3 100644 --- a/SU2_CFD/include/fluid/CPolynomialConductivity.hpp +++ b/SU2_CFD/include/fluid/CPolynomialConductivity.hpp @@ -2,7 +2,7 @@ * \file CPolynomialConductivity.hpp * \brief Defines a non-constant laminar thermal conductivity using a polynomial function of temperature. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp b/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp index 187a56be9e1..1671944faf1 100644 --- a/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp +++ b/SU2_CFD/include/fluid/CPolynomialConductivityRANS.hpp @@ -3,7 +3,7 @@ * \brief Defines a non-constant thermal conductivity using a polynomial function of temperature * for RANS problems with the addition of a turbulent component based on a turbulent Prandtl number. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CPolynomialViscosity.hpp b/SU2_CFD/include/fluid/CPolynomialViscosity.hpp index 329cc74dfa1..6099de8442d 100644 --- a/SU2_CFD/include/fluid/CPolynomialViscosity.hpp +++ b/SU2_CFD/include/fluid/CPolynomialViscosity.hpp @@ -2,7 +2,7 @@ * \file CPolynomialViscosity.hpp * \brief Defines a laminar viscosity model as a polynomial function of temperature. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CSU2TCLib.hpp b/SU2_CFD/include/fluid/CSU2TCLib.hpp index 76babbe98e7..f0db983bc20 100644 --- a/SU2_CFD/include/fluid/CSU2TCLib.hpp +++ b/SU2_CFD/include/fluid/CSU2TCLib.hpp @@ -2,7 +2,7 @@ * \file CSU2TCLib.hpp * \brief Defines the classes for different user defined ThermoChemistry libraries. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CSutherland.hpp b/SU2_CFD/include/fluid/CSutherland.hpp index 4b3836d54d0..ff9c16f3c3a 100644 --- a/SU2_CFD/include/fluid/CSutherland.hpp +++ b/SU2_CFD/include/fluid/CSutherland.hpp @@ -2,7 +2,7 @@ * \file CSutherland.hpp * \brief Defines Sutherland's Law for laminar viscosity. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp b/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp index cf9483ba16a..121d5befc10 100644 --- a/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp +++ b/SU2_CFD/include/fluid/CVanDerWaalsGas.hpp @@ -2,7 +2,7 @@ * \file CVanDerWaalsGas.hpp * \brief Declaration of the Polytropic Van der Waals model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/fluid/CViscosityModel.hpp b/SU2_CFD/include/fluid/CViscosityModel.hpp index 3e4f2e54d62..41fb37164bd 100644 --- a/SU2_CFD/include/fluid/CViscosityModel.hpp +++ b/SU2_CFD/include/fluid/CViscosityModel.hpp @@ -2,7 +2,7 @@ * \file CViscosityModel.hpp * \brief Interface class for defining laminar viscosity models. * \author S. Vitale, M. Pini, G. Gori, A. Guardone, P. Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp b/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp index de80becca2c..23543a63e3c 100644 --- a/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp +++ b/SU2_CFD/include/gradients/computeGradientsGreenGauss.hpp @@ -4,7 +4,7 @@ * \note This allows the same implementation to be used for conservative * and primitive variables of any solver. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp b/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp index 386af2a9c42..62a46cfab7e 100644 --- a/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp +++ b/SU2_CFD/include/gradients/computeGradientsLeastSquares.hpp @@ -3,7 +3,7 @@ * \brief Generic implementation of Least-Squares gradient computation. * \note This allows the same implementation to be used for conservative * and primitive variables of any solver. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CFEM_DG_Integration.hpp b/SU2_CFD/include/integration/CFEM_DG_Integration.hpp index ad027779fdf..ae78b4be5fa 100644 --- a/SU2_CFD/include/integration/CFEM_DG_Integration.hpp +++ b/SU2_CFD/include/integration/CFEM_DG_Integration.hpp @@ -2,7 +2,7 @@ * \file CFEM_DG_Integration.hpp * \brief Declaration of class for integration with the FEM DG solver. * \author E. van der Weide, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -32,7 +32,7 @@ * \ingroup Drivers * \brief Class for integration with the FEM DG solver. * \author E. van der Weide, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEM_DG_Integration final : public CIntegration { public: diff --git a/SU2_CFD/include/integration/CIntegration.hpp b/SU2_CFD/include/integration/CIntegration.hpp index 78079f2f5ef..a8908178aaf 100644 --- a/SU2_CFD/include/integration/CIntegration.hpp +++ b/SU2_CFD/include/integration/CIntegration.hpp @@ -2,7 +2,7 @@ * \file CIntegration.hpp * \brief Declaration of the main routines to orchestrate space and time integration. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CIntegrationFactory.hpp b/SU2_CFD/include/integration/CIntegrationFactory.hpp index 5cebfaa1ff7..98e45f4fee1 100644 --- a/SU2_CFD/include/integration/CIntegrationFactory.hpp +++ b/SU2_CFD/include/integration/CIntegrationFactory.hpp @@ -2,7 +2,7 @@ * \file CIntegrationFactory.hpp * \brief Headers of the CIntegrationFactory class * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CMultiGridIntegration.hpp b/SU2_CFD/include/integration/CMultiGridIntegration.hpp index caaf9792e67..e7745f7e563 100644 --- a/SU2_CFD/include/integration/CMultiGridIntegration.hpp +++ b/SU2_CFD/include/integration/CMultiGridIntegration.hpp @@ -2,7 +2,7 @@ * \file CMultiGridIntegration.hpp * \brief Declaration of class for time integration using a multigrid method. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CNewtonIntegration.hpp b/SU2_CFD/include/integration/CNewtonIntegration.hpp index 43300b2274d..c76a3140743 100644 --- a/SU2_CFD/include/integration/CNewtonIntegration.hpp +++ b/SU2_CFD/include/integration/CNewtonIntegration.hpp @@ -2,7 +2,7 @@ * \file CNewtonIntegration.hpp * \brief Newton-Krylov integration. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CSingleGridIntegration.hpp b/SU2_CFD/include/integration/CSingleGridIntegration.hpp index c026137224d..ffc6ecfb070 100644 --- a/SU2_CFD/include/integration/CSingleGridIntegration.hpp +++ b/SU2_CFD/include/integration/CSingleGridIntegration.hpp @@ -2,7 +2,7 @@ * \file CSingleGridIntegration.hpp * \brief Declaration of class for numerical integration of fine grid-only problems. * \author A. Bueno. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/integration/CStructuralIntegration.hpp b/SU2_CFD/include/integration/CStructuralIntegration.hpp index a9895c6edf0..a0edd77c8df 100644 --- a/SU2_CFD/include/integration/CStructuralIntegration.hpp +++ b/SU2_CFD/include/integration/CStructuralIntegration.hpp @@ -2,7 +2,7 @@ * \file CStructuralIntegration.hpp * \brief Declaration of class for numerical integration of structural problems. * \author R. Sanchez. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/CInterface.hpp b/SU2_CFD/include/interfaces/CInterface.hpp index fe79381d72a..49deb7dbe31 100644 --- a/SU2_CFD/include/interfaces/CInterface.hpp +++ b/SU2_CFD/include/interfaces/CInterface.hpp @@ -3,7 +3,7 @@ * \brief Declarations and inlines of the transfer structure. * The subroutines and functions are in the physics folders. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -51,7 +51,7 @@ using namespace std; * \ingroup Interfaces * \brief Main class for defining the physical transfer of information. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CInterface { diff --git a/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp b/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp index e88f7984d9d..dfc8523a171 100644 --- a/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp +++ b/SU2_CFD/include/interfaces/cfd/CConservativeVarsInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer conservative variables * from a generic zone into another one. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp b/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp index e4702c2860d..de3fe45340a 100644 --- a/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp +++ b/SU2_CFD/include/interfaces/cfd/CMixingPlaneInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer average variables * needed for MixingPlane computation from a generic zone into another one. * \author S. Vitale - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp b/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp index 3dbc7237cb3..1bf80223ebd 100644 --- a/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp +++ b/SU2_CFD/include/interfaces/cfd/CSlidingInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer conservative variables * from a generic zone into another * \author G. Gori Politecnico di Milano - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp b/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp index 0461c73e813..9cc42f8d20f 100644 --- a/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp +++ b/SU2_CFD/include/interfaces/cht/CConjugateHeatInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer temperature and heatflux * density for conjugate heat interfaces between structure and fluid zones. * \author O. Burghardt - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp b/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp index 1f3f25a5fd2..d6e86015a83 100644 --- a/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp +++ b/SU2_CFD/include/interfaces/fsi/CDiscAdjFlowTractionInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer flow tractions * from a fluid zone into a structural zone in a discrete adjoint simulation. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp b/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp index 554929fc063..f8388331945 100644 --- a/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp +++ b/SU2_CFD/include/interfaces/fsi/CDisplacementsInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer boundary displacements * from a structural zone into a fluid zone. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp b/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp index da71a06a3c7..2074319c110 100644 --- a/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp +++ b/SU2_CFD/include/interfaces/fsi/CFlowTractionInterface.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer flow tractions * from a fluid zone into a structural zone. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CAdjFluidIteration.hpp b/SU2_CFD/include/iteration/CAdjFluidIteration.hpp index d760cbd6476..685b86400bf 100644 --- a/SU2_CFD/include/iteration/CAdjFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CAdjFluidIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp b/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp index e809c6c0efd..86e9073f5ea 100644 --- a/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp +++ b/SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp b/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp index 5c09c3dd55b..65c37ad3c9b 100644 --- a/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CDiscAdjFluidIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp b/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp index caad45fc687..c5d0c0c2b02 100644 --- a/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp +++ b/SU2_CFD/include/iteration/CDiscAdjHeatIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CFEAIteration.hpp b/SU2_CFD/include/iteration/CFEAIteration.hpp index 1fa58d0e58f..d5f9a654c45 100644 --- a/SU2_CFD/include/iteration/CFEAIteration.hpp +++ b/SU2_CFD/include/iteration/CFEAIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \ingroup Drivers * \brief Class for driving an iteration of structural analysis. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEAIteration : public CIteration { public: diff --git a/SU2_CFD/include/iteration/CFEMFluidIteration.hpp b/SU2_CFD/include/iteration/CFEMFluidIteration.hpp index de26ff46edb..a2f42b6453c 100644 --- a/SU2_CFD/include/iteration/CFEMFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CFEMFluidIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \ingroup Drivers * \brief Class for driving an iteration of the finite element flow system. * \author T. Economon, E. van der Weide - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEMFluidIteration : public CFluidIteration { public: diff --git a/SU2_CFD/include/iteration/CFluidIteration.hpp b/SU2_CFD/include/iteration/CFluidIteration.hpp index e1d2a7d6a53..6346c716929 100644 --- a/SU2_CFD/include/iteration/CFluidIteration.hpp +++ b/SU2_CFD/include/iteration/CFluidIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CHeatIteration.hpp b/SU2_CFD/include/iteration/CHeatIteration.hpp index 8046c688aa7..6c548788960 100644 --- a/SU2_CFD/include/iteration/CHeatIteration.hpp +++ b/SU2_CFD/include/iteration/CHeatIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CIteration.hpp b/SU2_CFD/include/iteration/CIteration.hpp index 37d78f82122..eed41a39a15 100644 --- a/SU2_CFD/include/iteration/CIteration.hpp +++ b/SU2_CFD/include/iteration/CIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CIterationFactory.hpp b/SU2_CFD/include/iteration/CIterationFactory.hpp index e401e77bedf..5aa270d0594 100644 --- a/SU2_CFD/include/iteration/CIterationFactory.hpp +++ b/SU2_CFD/include/iteration/CIterationFactory.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/iteration/CTurboIteration.hpp b/SU2_CFD/include/iteration/CTurboIteration.hpp index 402227b6a31..ad52aaa04b4 100644 --- a/SU2_CFD/include/iteration/CTurboIteration.hpp +++ b/SU2_CFD/include/iteration/CTurboIteration.hpp @@ -3,7 +3,7 @@ * \brief Headers of the iteration classes used by SU2_CFD. * Each CIteration class represents an available physics package. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/limiters/CLimiterDetails.hpp b/SU2_CFD/include/limiters/CLimiterDetails.hpp index aa40f745af1..09f8b34d21e 100644 --- a/SU2_CFD/include/limiters/CLimiterDetails.hpp +++ b/SU2_CFD/include/limiters/CLimiterDetails.hpp @@ -3,7 +3,7 @@ * \brief A class template that allows defining limiters via * specialization of particular details. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/limiters/computeLimiters.hpp b/SU2_CFD/include/limiters/computeLimiters.hpp index 14f7126af86..3dab84c6c07 100644 --- a/SU2_CFD/include/limiters/computeLimiters.hpp +++ b/SU2_CFD/include/limiters/computeLimiters.hpp @@ -2,7 +2,7 @@ * \file computeLimiters.hpp * \brief Compute limiters wrapper function. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/limiters/computeLimiters_impl.hpp b/SU2_CFD/include/limiters/computeLimiters_impl.hpp index db108e4444b..f683bc5ed77 100644 --- a/SU2_CFD/include/limiters/computeLimiters_impl.hpp +++ b/SU2_CFD/include/limiters/computeLimiters_impl.hpp @@ -4,7 +4,7 @@ * \note Common methods are derived by defining small details * via specialization of CLimiterDetails. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/CGradSmoothing.hpp b/SU2_CFD/include/numerics/CGradSmoothing.hpp index ccda132d5e9..8213ce959c6 100644 --- a/SU2_CFD/include/numerics/CGradSmoothing.hpp +++ b/SU2_CFD/include/numerics/CGradSmoothing.hpp @@ -2,7 +2,7 @@ * \file CGradSmoothing.hpp * \brief Declarations and inlines of the numerics class for gradient smoothing. * \author T.Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index ecf8fb03659..e8682cc8da5 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -3,7 +3,7 @@ * \brief Declaration of the base numerics class, the * implementation is in the CNumerics.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp index 4c983bf6552..3cdf113f633 100644 --- a/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp +++ b/SU2_CFD/include/numerics/NEMO/CNEMONumerics.hpp @@ -2,7 +2,7 @@ * \file CNEMONumerics.hpp * \brief Base class template NEMO numerics. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp b/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp index 9552b07baec..5a8a10c128a 100644 --- a/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp +++ b/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp @@ -2,7 +2,7 @@ * \file NEMO_diffusion.hpp * \brief Declarations of numerics classes for viscous flux computation. * \author S.R. Copeland, W. Maier, C. Garbacz. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for computing viscous term using the average of gradients. * \ingroup ViscDiscr * \author S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CAvgGrad_NEMO : public CNEMONumerics { private: @@ -90,7 +90,7 @@ class CAvgGrad_NEMO : public CNEMONumerics { * \brief Class for computing viscous term using the average of gradients. * \ingroup ViscDiscr * \author C. Garbacz, W. Maier, S.R. Copeland. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CAvgGradCorrected_NEMO : public CNEMONumerics { private: diff --git a/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp b/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp index c23cdca6ba3..810be475ef3 100644 --- a/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp +++ b/SU2_CFD/include/numerics/NEMO/NEMO_sources.hpp @@ -2,7 +2,7 @@ * \file NEMO_sources.hpp * \brief Declarations of numerics classes for source-term integration. * \author C. Garbacz, W. Maier, S. Copeland. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for two-temperature model source terms. * \ingroup SourceDiscr * \author C. Garbacz, W. Maier, S. Copeland. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CSource_NEMO : public CNEMONumerics { private: diff --git a/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp b/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp index 75523a2a195..ce4216a7ffe 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/ausm_slau.hpp @@ -2,7 +2,7 @@ * \file ausm_slau.hpp * \brief Declaration of numerics classes for the AUSM and SLAU family of schemes in NEMO. * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/convection/lax.hpp b/SU2_CFD/include/numerics/NEMO/convection/lax.hpp index 5fcea8d79a8..421fa2d58e2 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/lax.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/lax.hpp @@ -2,7 +2,7 @@ * \file lax.hpp * \brief Declaration of numerics classes for Lax centered scheme. * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/NEMO/convection/msw.hpp b/SU2_CFD/include/numerics/NEMO/convection/msw.hpp index 9a849f7e234..5a20de595e6 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/msw.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/msw.hpp @@ -2,7 +2,7 @@ * \file msw.hpp * \brief Declaration of numerics classes for modified Steger-Warming scheme. * \author ADL Stanford, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for solving a flux-vector splitting method by Steger & Warming, modified version. * \ingroup ConvDiscr * \author ADL Stanford, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CUpwMSW_NEMO : public CNEMONumerics { private: diff --git a/SU2_CFD/include/numerics/NEMO/convection/roe.hpp b/SU2_CFD/include/numerics/NEMO/convection/roe.hpp index 610063d634b..d043354c9be 100644 --- a/SU2_CFD/include/numerics/NEMO/convection/roe.hpp +++ b/SU2_CFD/include/numerics/NEMO/convection/roe.hpp @@ -2,7 +2,7 @@ * \file roe.hpp * \brief Declarations of numerics classes for Roe-type schemes in NEMO. * \author S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for evaluating the Riemann problem using Roe's scheme for a two-temperature model. * \ingroup ConvDiscr * \author S. R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CUpwRoe_NEMO : public CNEMONumerics { private: diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp index 647316f8226..0b439dd9d8e 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_convection.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for continuous adjoint * convective discretization. Implemented in adj_convection.cpp. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp index 9e6d4577eca..3bd89c5f65e 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for continuous adjoint * diffusion discretization. Implemented in adj_diffusion.cpp. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp b/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp index 0ec99fa8448..158d7de27df 100644 --- a/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp +++ b/SU2_CFD/include/numerics/continuous_adjoint/adj_sources.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for continuous adjoint * source term integration. Implemented in adj_sources.cpp. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp b/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp index c53f01f6dea..61ccff82d17 100644 --- a/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp +++ b/SU2_CFD/include/numerics/elasticity/CFEAElasticity.hpp @@ -2,7 +2,7 @@ * \file CFEAElasticity.hpp * \brief Declaration and inlines of the base class for elasticity problems. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -38,7 +38,7 @@ * The methods we override in this class with an empty implementation are here just to better * document the public interface of this class hierarchy. * \author R.Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEAElasticity : public CNumerics { diff --git a/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp b/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp index 5f555080ff2..0b39730e8de 100644 --- a/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp +++ b/SU2_CFD/include/numerics/elasticity/CFEALinearElasticity.hpp @@ -2,7 +2,7 @@ * \file CFEALinearElasticity.hpp * \brief Declaration and inlines of the linear elasticity FE numerics class. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Class for computing the stiffness matrix of a linear, elastic problem. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEALinearElasticity : public CFEAElasticity { protected: @@ -90,7 +90,7 @@ class CFEALinearElasticity : public CFEAElasticity { * \brief Particular case of linear elasticity used for mesh deformation. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEAMeshElasticity final : public CFEALinearElasticity { diff --git a/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp b/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp index 71c5cc3caf5..f624abf6bf3 100644 --- a/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp +++ b/SU2_CFD/include/numerics/elasticity/CFEANonlinearElasticity.hpp @@ -2,7 +2,7 @@ * \file CFEANonlinearElasticity.hpp * \brief Declaration and inlines of the nonlinear elasticity FE numerics class. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -37,7 +37,7 @@ * Compute_Plane_Stress_Term and Compute_Stress_Tensor. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEANonlinearElasticity : public CFEAElasticity { diff --git a/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp b/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp index 948559a6d28..81fc5a7715a 100644 --- a/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp +++ b/SU2_CFD/include/numerics/elasticity/nonlinear_models.hpp @@ -2,7 +2,7 @@ * \file nonlinear_models.hpp * \brief Declarations of nonlinear constitutive models. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Class for computing the constitutive and stress tensors for a neo-Hookean material model, compressible. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEM_NeoHookean_Comp final : public CFEANonlinearElasticity { @@ -83,7 +83,7 @@ class CFEM_NeoHookean_Comp final : public CFEANonlinearElasticity { * \brief Constitutive and stress tensors for a Knowles stored-energy function, nearly incompressible. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEM_Knowles_NearInc final : public CFEANonlinearElasticity { @@ -134,7 +134,7 @@ class CFEM_Knowles_NearInc final : public CFEANonlinearElasticity { * \brief Class for computing the constitutive and stress tensors for a dielectric elastomer. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEM_DielectricElastomer final : public CFEANonlinearElasticity { @@ -182,7 +182,7 @@ class CFEM_DielectricElastomer final : public CFEANonlinearElasticity { * \brief Class for computing the constitutive and stress tensors for a nearly-incompressible ideal DE. * \ingroup Elasticity_Equations * \author R.Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEM_IdealDE final : public CFEANonlinearElasticity { diff --git a/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp b/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp index 60d61625ac8..1dcefbf237a 100644 --- a/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp +++ b/SU2_CFD/include/numerics/flow/convection/ausm_slau.hpp @@ -3,7 +3,7 @@ * \brief Declaration of numerics classes for the AUSM family of schemes, * including SLAU. The implementation is in ausm.cpp. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/centered.hpp b/SU2_CFD/include/numerics/flow/convection/centered.hpp index 3ab453cad3e..3c890b492ce 100644 --- a/SU2_CFD/include/numerics/flow/convection/centered.hpp +++ b/SU2_CFD/include/numerics/flow/convection/centered.hpp @@ -3,7 +3,7 @@ * \brief Declaration of numerics classes for centered schemes, * the implementation is in centered.cpp. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/cusp.hpp b/SU2_CFD/include/numerics/flow/convection/cusp.hpp index 28e731ea139..526e0d412f2 100644 --- a/SU2_CFD/include/numerics/flow/convection/cusp.hpp +++ b/SU2_CFD/include/numerics/flow/convection/cusp.hpp @@ -2,7 +2,7 @@ * \file cusp.hpp * \brief Declaration of the CUSP numerics class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/fds.hpp b/SU2_CFD/include/numerics/flow/convection/fds.hpp index d0290200a62..f5c79c7e648 100644 --- a/SU2_CFD/include/numerics/flow/convection/fds.hpp +++ b/SU2_CFD/include/numerics/flow/convection/fds.hpp @@ -3,7 +3,7 @@ * \brief Declarations of classes for Flux-Difference-Spliting schemes, * the implementations are in fds.cpp * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/fvs.hpp b/SU2_CFD/include/numerics/flow/convection/fvs.hpp index 6d93ed68a4f..a509a6fcaea 100644 --- a/SU2_CFD/include/numerics/flow/convection/fvs.hpp +++ b/SU2_CFD/include/numerics/flow/convection/fvs.hpp @@ -3,7 +3,7 @@ * \brief Declarations of classes for Flux-Vector-Spliting schemes, * the implementations are in fvs.cpp. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/convection/hllc.hpp b/SU2_CFD/include/numerics/flow/convection/hllc.hpp index 4be9e0ad55c..f3e2c6e99ce 100644 --- a/SU2_CFD/include/numerics/flow/convection/hllc.hpp +++ b/SU2_CFD/include/numerics/flow/convection/hllc.hpp @@ -2,7 +2,7 @@ * \file hllc.hpp * \brief Declaration of HLLC numerics classes, implemented in hllc.cpp. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for solving an approximate Riemann HLLC. * \ingroup ConvDiscr * \author G. Gori, Politecnico di Milano - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CUpwHLLC_Flow final : public CNumerics { private: @@ -86,7 +86,7 @@ class CUpwHLLC_Flow final : public CNumerics { * \brief Class for solving an approximate Riemann HLLC. * \ingroup ConvDiscr * \author G. Gori, Politecnico di Milano - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CUpwGeneralHLLC_Flow final : public CNumerics { private: diff --git a/SU2_CFD/include/numerics/flow/convection/roe.hpp b/SU2_CFD/include/numerics/flow/convection/roe.hpp index e6fbe2915ed..7b43d1adac3 100644 --- a/SU2_CFD/include/numerics/flow/convection/roe.hpp +++ b/SU2_CFD/include/numerics/flow/convection/roe.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for Roe-type schemes, * implemented in roe.cpp. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -119,7 +119,7 @@ class CUpwRoe_Flow final : public CUpwRoeBase_Flow { * \brief Class for solving an approximate Riemann solver of L2Roe for the flow equations. * \ingroup ConvDiscr * \author E. Molina, A. Bueno, F. Palacios, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CUpwL2Roe_Flow final : public CUpwRoeBase_Flow { private: @@ -149,7 +149,7 @@ class CUpwL2Roe_Flow final : public CUpwRoeBase_Flow { * \brief Class for solving an approximate Riemann solver of LMRoe for the flow equations. * \ingroup ConvDiscr * \author E. Molina, A. Bueno, F. Palacios, P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CUpwLMRoe_Flow final : public CUpwRoeBase_Flow { private: diff --git a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp index 69df30df879..ec5da1248a1 100644 --- a/SU2_CFD/include/numerics/flow/flow_diffusion.hpp +++ b/SU2_CFD/include/numerics/flow/flow_diffusion.hpp @@ -2,7 +2,7 @@ * \file flow_diffusion.hpp * \brief Declarations of numerics classes for viscous flux computation. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/flow/flow_sources.hpp b/SU2_CFD/include/numerics/flow/flow_sources.hpp index 5c139eb748a..c8efe27d223 100644 --- a/SU2_CFD/include/numerics/flow/flow_sources.hpp +++ b/SU2_CFD/include/numerics/flow/flow_sources.hpp @@ -2,7 +2,7 @@ * \file flow_sources.hpp * \brief Declarations of numerics classes for source-term integration. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -177,7 +177,7 @@ class CSourceBodyForce final : public CSourceBase_Flow { * \brief Class for the source term integration of a body force in the incompressible solver. * \ingroup SourceDiscr * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CSourceIncBodyForce final : public CSourceBase_Flow { su2double Body_Force_Vector[3]; @@ -204,7 +204,7 @@ class CSourceIncBodyForce final : public CSourceBase_Flow { * \brief Class for the source term integration of the Boussinesq approximation for incompressible flow. * \ingroup SourceDiscr * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CSourceBoussinesq final : public CSourceBase_Flow { su2double Gravity_Vector[3]; diff --git a/SU2_CFD/include/numerics/heat.hpp b/SU2_CFD/include/numerics/heat.hpp index 0eefd42355c..7578a8cb842 100644 --- a/SU2_CFD/include/numerics/heat.hpp +++ b/SU2_CFD/include/numerics/heat.hpp @@ -2,7 +2,7 @@ * \file heat.hpp * \brief Declarations of numerics classes for heat transfer problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -36,7 +36,7 @@ * \brief Class for doing a scalar upwind solver for the heat convection equation. * \ingroup ConvDiscr * \author O. Burghardt. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CUpwSca_Heat final : public CUpwScalar> { public: @@ -70,7 +70,7 @@ class CUpwSca_Heat final : public CUpwScalar { public: diff --git a/SU2_CFD/include/numerics/radiation.hpp b/SU2_CFD/include/numerics/radiation.hpp index 9ba310cd4bb..92c66dc1004 100644 --- a/SU2_CFD/include/numerics/radiation.hpp +++ b/SU2_CFD/include/numerics/radiation.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the classes used to compute * residual terms in radiation problems. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp index fb7de94bf2f..cd629510b13 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_convection.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_convection.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * convective fluxes in scalar problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp b/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp index 2232be75a91..91b55547251 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * viscous fluxes in scalar problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/scalar/scalar_sources.hpp b/SU2_CFD/include/numerics/scalar/scalar_sources.hpp index 796b14986ba..e6caa00b4e2 100644 --- a/SU2_CFD/include/numerics/scalar/scalar_sources.hpp +++ b/SU2_CFD/include/numerics/scalar/scalar_sources.hpp @@ -1,7 +1,7 @@ /*! * \file scalar_sources.hpp * \brief Declarations of numerics classes for integration of source terms in scalar problems. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/species/species_convection.hpp b/SU2_CFD/include/numerics/species/species_convection.hpp index 8a6b91c7ecb..4f44cd9c451 100644 --- a/SU2_CFD/include/numerics/species/species_convection.hpp +++ b/SU2_CFD/include/numerics/species/species_convection.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * convective fluxes in species problems. * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/species/species_diffusion.hpp b/SU2_CFD/include/numerics/species/species_diffusion.hpp index cb2d6e8fc99..e100496b135 100644 --- a/SU2_CFD/include/numerics/species/species_diffusion.hpp +++ b/SU2_CFD/include/numerics/species/species_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * viscous fluxes in species problems. * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/species/species_sources.hpp b/SU2_CFD/include/numerics/species/species_sources.hpp index de31867717b..7dd564720ef 100644 --- a/SU2_CFD/include/numerics/species/species_sources.hpp +++ b/SU2_CFD/include/numerics/species/species_sources.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for integration of source * terms in species problems. * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/template.hpp b/SU2_CFD/include/numerics/template.hpp index af57b6db381..e80b696e902 100644 --- a/SU2_CFD/include/numerics/template.hpp +++ b/SU2_CFD/include/numerics/template.hpp @@ -5,7 +5,7 @@ * new schemes in SU2, in practice you should look for a similar * scheme and try to re-use functionality (not by copy-paste). * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp index 46fd3b610ae..b9328d43f63 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_convection.hpp @@ -3,7 +3,7 @@ * \brief Delarations of numerics classes for discretization of * convective fluxes in transition problems. * \author S. Kang - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp index 9bd6798a714..253e35c4dc4 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_correlations.hpp @@ -1,7 +1,7 @@ /*! * \file trans_correlations.hpp * \brief Numerics class for the LM model's correlation functions. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp index 05a4df4db45..d2155a82e93 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * viscous fluxes in transition problems. * \author S. Kang - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp b/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp index c87c0f51e61..3e47e8172e1 100644 --- a/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/transition/trans_sources.hpp @@ -1,7 +1,7 @@ /*! * \file trans_sources.hpp * \brief Numerics classes for integration of source terms in transition problems. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp index e2d3b779d57..2a6501ff46f 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_convection.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_convection.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * convective fluxes in turbulence problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp b/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp index 64e25cd8e1b..e1a009a297a 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_diffusion.hpp @@ -3,7 +3,7 @@ * \brief Declarations of numerics classes for discretization of * viscous fluxes in turbulence problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp index e38a3d06683..704403746fc 100644 --- a/SU2_CFD/include/numerics/turbulent/turb_sources.hpp +++ b/SU2_CFD/include/numerics/turbulent/turb_sources.hpp @@ -1,7 +1,7 @@ /*! * \file turb_sources.hpp * \brief Numerics classes for integration of source terms in turbulence problems. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp b/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp index e784338ca8d..9b580c0bfbb 100644 --- a/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp +++ b/SU2_CFD/include/numerics_simd/CNumericsSIMD.cpp @@ -4,7 +4,7 @@ * \note This should be the only cpp for this family of classes * (which are all templates). All compilation takes place here. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp b/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp index 6cafc17343a..23116500854 100644 --- a/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp +++ b/SU2_CFD/include/numerics_simd/CNumericsSIMD.hpp @@ -2,7 +2,7 @@ * \file CNumericsSIMD.hpp * \brief Vectorized (SIMD) numerics classes. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp b/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp index 47017b96ab9..d3fef128a18 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/centered.hpp @@ -2,7 +2,7 @@ * \file centered.hpp * \brief Centered convective schemes. * \author P. Gomes, F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/convection/common.hpp b/SU2_CFD/include/numerics_simd/flow/convection/common.hpp index f9291a7be02..52219e305bc 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/common.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/common.hpp @@ -2,7 +2,7 @@ * \file common.hpp * \brief Common convection-related methods. * \author P. Gomes, F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp b/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp index b7572edb688..caece76b62b 100644 --- a/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp +++ b/SU2_CFD/include/numerics_simd/flow/convection/roe.hpp @@ -2,7 +2,7 @@ * \file roe.hpp * \brief Roe-family of convective schemes. * \author P. Gomes, A. Bueno, F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp b/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp index 5cabe43f388..bf0cd3b513d 100644 --- a/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp +++ b/SU2_CFD/include/numerics_simd/flow/diffusion/common.hpp @@ -2,7 +2,7 @@ * \file common.hpp * \brief Helper functions for viscous methods. * \author P. Gomes, C. Pederson, A. Bueno, F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp b/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp index 3402b59c668..753deb9e1c0 100644 --- a/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp +++ b/SU2_CFD/include/numerics_simd/flow/diffusion/viscous_fluxes.hpp @@ -2,7 +2,7 @@ * \file viscous_fluxes.hpp * \brief Decorator classes for computation of viscous fluxes. * \author P. Gomes, C. Pederson, A. Bueno, F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/flow/variables.hpp b/SU2_CFD/include/numerics_simd/flow/variables.hpp index d93563a89f2..9a41722cc0c 100644 --- a/SU2_CFD/include/numerics_simd/flow/variables.hpp +++ b/SU2_CFD/include/numerics_simd/flow/variables.hpp @@ -2,7 +2,7 @@ * \file variables.hpp * \brief Collection of types to store physical variables. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/numerics_simd/util.hpp b/SU2_CFD/include/numerics_simd/util.hpp index d722773b371..9698804ef63 100644 --- a/SU2_CFD/include/numerics_simd/util.hpp +++ b/SU2_CFD/include/numerics_simd/util.hpp @@ -2,7 +2,7 @@ * \file util.hpp * \brief Generic auxiliary functions. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjElasticityOutput.hpp b/SU2_CFD/include/output/CAdjElasticityOutput.hpp index ce9449bf009..ec67f09077b 100644 --- a/SU2_CFD/include/output/CAdjElasticityOutput.hpp +++ b/SU2_CFD/include/output/CAdjElasticityOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjElasticityOutput.hpp * \brief Headers of the adjoint elasticity output class. * \author T. Albring, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjFlowCompOutput.hpp b/SU2_CFD/include/output/CAdjFlowCompOutput.hpp index 3814ab1195e..ffa0759cb63 100644 --- a/SU2_CFD/include/output/CAdjFlowCompOutput.hpp +++ b/SU2_CFD/include/output/CAdjFlowCompOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjFlowCompOutput.hpp * \brief Headers of the adjoint compressible flow output. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjFlowIncOutput.hpp b/SU2_CFD/include/output/CAdjFlowIncOutput.hpp index e418a44633f..fb70e926778 100644 --- a/SU2_CFD/include/output/CAdjFlowIncOutput.hpp +++ b/SU2_CFD/include/output/CAdjFlowIncOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjFlowIncOutput.hpp * \brief Headers of the adjoint incompressible flow output. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjFlowOutput.hpp b/SU2_CFD/include/output/CAdjFlowOutput.hpp index a92b5b06a22..6a1bbd83a20 100644 --- a/SU2_CFD/include/output/CAdjFlowOutput.hpp +++ b/SU2_CFD/include/output/CAdjFlowOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjFlowOutput.hpp * \brief Headers of the adjoint flow output. * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CAdjHeatOutput.hpp b/SU2_CFD/include/output/CAdjHeatOutput.hpp index 5cb4dbb912d..af433e6e438 100644 --- a/SU2_CFD/include/output/CAdjHeatOutput.hpp +++ b/SU2_CFD/include/output/CAdjHeatOutput.hpp @@ -2,7 +2,7 @@ * \file CAdjHeatOutput.hpp * \brief Headers of the adjoint heat output. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CBaselineOutput.hpp b/SU2_CFD/include/output/CBaselineOutput.hpp index 94b6d3a3c1e..02db86324e6 100644 --- a/SU2_CFD/include/output/CBaselineOutput.hpp +++ b/SU2_CFD/include/output/CBaselineOutput.hpp @@ -2,7 +2,7 @@ * \file CBaselineOutput.hpp * \brief Headers of the baseline output. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CElasticityOutput.hpp b/SU2_CFD/include/output/CElasticityOutput.hpp index e4fd8947b4a..3ae1f695c0c 100644 --- a/SU2_CFD/include/output/CElasticityOutput.hpp +++ b/SU2_CFD/include/output/CElasticityOutput.hpp @@ -2,7 +2,7 @@ * \file CElasticityOutput.hpp * \brief Headers of the elasticity output. * \author F. Palacios, T. Economon, M. Colonno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CFVMOutput.hpp b/SU2_CFD/include/output/CFVMOutput.hpp index 7b115ed75c4..8512942aa38 100644 --- a/SU2_CFD/include/output/CFVMOutput.hpp +++ b/SU2_CFD/include/output/CFVMOutput.hpp @@ -2,7 +2,7 @@ * \file CFVMOutput.hpp * \brief Headers of the Finite Volume Method output. * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CFlowCompFEMOutput.hpp b/SU2_CFD/include/output/CFlowCompFEMOutput.hpp index 1e4e3cf7a9e..73d5f4ca1f9 100644 --- a/SU2_CFD/include/output/CFlowCompFEMOutput.hpp +++ b/SU2_CFD/include/output/CFlowCompFEMOutput.hpp @@ -2,7 +2,7 @@ * \file CFlowCompFEMOutput.hpp * \brief Headers of the compressible FEM flow output. * \author R. Sanchez, T. Albring. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CFlowCompOutput.hpp b/SU2_CFD/include/output/CFlowCompOutput.hpp index ce0f216eef0..e509ad1e01f 100644 --- a/SU2_CFD/include/output/CFlowCompOutput.hpp +++ b/SU2_CFD/include/output/CFlowCompOutput.hpp @@ -2,7 +2,7 @@ * \file CFlowCompOutput.hpp * \brief Headers of the compressible flow output. * \author R. Sanchez, T. Albring. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CFlowIncOutput.hpp b/SU2_CFD/include/output/CFlowIncOutput.hpp index a680d18b5f9..7578f3a7cd2 100644 --- a/SU2_CFD/include/output/CFlowIncOutput.hpp +++ b/SU2_CFD/include/output/CFlowIncOutput.hpp @@ -2,7 +2,7 @@ * \file CFlowIncOutput.hpp * \brief Headers of the incompressible flow output. * \author T. Albring, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CFlowOutput.hpp b/SU2_CFD/include/output/CFlowOutput.hpp index ee91bcc5386..9f9b3e029b8 100644 --- a/SU2_CFD/include/output/CFlowOutput.hpp +++ b/SU2_CFD/include/output/CFlowOutput.hpp @@ -2,7 +2,7 @@ * \file CFlowOutput.hpp * \brief Headers of the flow output. * \author F. Palacios, T. Economon, M. Colonno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CHeatOutput.hpp b/SU2_CFD/include/output/CHeatOutput.hpp index 7791359c620..c488fcf15fa 100644 --- a/SU2_CFD/include/output/CHeatOutput.hpp +++ b/SU2_CFD/include/output/CHeatOutput.hpp @@ -2,7 +2,7 @@ * \file CHeatOutput.hpp * \brief Headers of the heat output. * \author R. Sanchez, T. Albring. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CMeshOutput.hpp b/SU2_CFD/include/output/CMeshOutput.hpp index 0d7e0918528..023cca0420c 100644 --- a/SU2_CFD/include/output/CMeshOutput.hpp +++ b/SU2_CFD/include/output/CMeshOutput.hpp @@ -2,7 +2,7 @@ * \file CMeshOutput.hpp * \brief Headers of the mesh output. * \author R. Sanchez, T. Albring. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CMultizoneOutput.hpp b/SU2_CFD/include/output/CMultizoneOutput.hpp index 7719606df37..920683b5455 100644 --- a/SU2_CFD/include/output/CMultizoneOutput.hpp +++ b/SU2_CFD/include/output/CMultizoneOutput.hpp @@ -2,7 +2,7 @@ * \file CMultizoneOutput.hpp * \brief Headers of the main subroutines for screen and history output in multizone problems. * \author R. Sanchez, T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/CNEMOCompOutput.hpp b/SU2_CFD/include/output/CNEMOCompOutput.hpp index c778b2121e7..86700af74cb 100644 --- a/SU2_CFD/include/output/CNEMOCompOutput.hpp +++ b/SU2_CFD/include/output/CNEMOCompOutput.hpp @@ -2,7 +2,7 @@ * \file CNEMOCompOutput.hpp * \brief Headers of the compressible flow output. * \author R. Sanchez, W. Maier. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/COutput.hpp b/SU2_CFD/include/output/COutput.hpp index e03fb27056d..2dfe0683563 100644 --- a/SU2_CFD/include/output/COutput.hpp +++ b/SU2_CFD/include/output/COutput.hpp @@ -2,7 +2,7 @@ * \file COutput.hpp * \brief Headers of the output class. * \author T.Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/COutputFactory.hpp b/SU2_CFD/include/output/COutputFactory.hpp index 2e6c259ca8e..88a9994013b 100644 --- a/SU2_CFD/include/output/COutputFactory.hpp +++ b/SU2_CFD/include/output/COutputFactory.hpp @@ -2,7 +2,7 @@ * \file COutputFactory.hpp * \brief Headers of the output class. * \author T.Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/COutputLegacy.hpp b/SU2_CFD/include/output/COutputLegacy.hpp index 6f417aef0e4..d3ee97c6251 100644 --- a/SU2_CFD/include/output/COutputLegacy.hpp +++ b/SU2_CFD/include/output/COutputLegacy.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines for generating the file outputs. * The subroutines and functions are in the output_structure_legacy.cpp file. * \author F. Palacios, T. Economon, M. Colonno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp b/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp index 15cabb8ff0e..e31a81ea60c 100644 --- a/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CCGNSFileWriter.hpp @@ -2,7 +2,7 @@ * \file CCGNSFileWriter.hpp * \brief Headers for CGNS file writer class. * \author G. Baldan - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp b/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp index 583861bcdc1..9cdd7ad57f6 100644 --- a/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CCSVFileWriter.hpp @@ -2,7 +2,7 @@ * \file CCSVFileWriter.hpp * \brief Headers fo the CSV file writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp index ae72b62d3dc..90fbbb768c4 100644 --- a/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CFEMDataSorter.hpp @@ -2,7 +2,7 @@ * \file CFEMDataSorter.hpp * \brief Headers fo the FEM data sorter class. * \author T. Albring, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp index 23bf202a4e2..a227d35eb3f 100644 --- a/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CFVMDataSorter.hpp @@ -2,7 +2,7 @@ * \file CFVMDataSorter.hpp * \brief Headers fo the FVM data sorter class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CFileWriter.hpp b/SU2_CFD/include/output/filewriter/CFileWriter.hpp index b8c910200f4..9ff8b88593e 100644 --- a/SU2_CFD/include/output/filewriter/CFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CFileWriter.hpp @@ -2,7 +2,7 @@ * \file CFileWriter.hpp * \brief Headers fo the file writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp b/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp index fcee01d9fb9..6b82833ae5c 100644 --- a/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CParallelDataSorter.hpp @@ -2,7 +2,7 @@ * \file CParallelDataSorter.hpp * \brief Headers fo the data sorter class. * \author T. Albring, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp index 16eefd44de3..1e7680d8763 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewBinaryFileWriter.hpp @@ -2,7 +2,7 @@ * \file CParaviewBinaryFileWriter.hpp * \brief Headers fo paraview binary file writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp index dcea84eeab0..e09b2c37c8f 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewFileWriter.hpp @@ -2,7 +2,7 @@ * \file CParaviewFileWriter.hpp * \brief Headers fo the paraview file writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp index 77e77638dc5..86b8cfe2350 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewVTMFileWriter.hpp @@ -2,7 +2,7 @@ * \file CParaviewVTMFileWriter.hpp * \brief Headers fo paraview binary file writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp b/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp index 11d5c1a4f21..ea0546bd97f 100644 --- a/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CParaviewXMLFileWriter.hpp @@ -2,7 +2,7 @@ * \file CParaviewXMLFileWriter.hpp * \brief Headers fo paraview binary file writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp b/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp index 37b915ce18a..53029423523 100644 --- a/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSTLFileWriter.hpp @@ -2,7 +2,7 @@ * \file CSTLFileWriter.hpp * \brief Headers fo the STL file writer class. * \author T. Kattmann, T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -33,7 +33,7 @@ * \class CSTLFileWriter * \brief Class for writing STL output files. * \author T. Kattmann, T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CSTLFileWriter final : public CFileWriter{ private: diff --git a/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp b/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp index 1b7ae0b4e60..19f95172ec2 100644 --- a/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSU2BinaryFileWriter.hpp @@ -2,7 +2,7 @@ * \file CSU2BinaryFileWriter.hpp * \brief Headers fo the SU2 binary file writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp b/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp index a7af7416223..c7ae345e9ac 100644 --- a/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSU2FileWriter.hpp @@ -2,7 +2,7 @@ * \file CSU2FileWriter.hpp * \brief Headers fo the CSV file writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp b/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp index fcf0a75eb9c..1a2ff43f252 100644 --- a/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CSU2MeshFileWriter.hpp @@ -2,7 +2,7 @@ * \file CSU2MeshFileWriter.hpp * \brief Headers fo the CSV file writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp index 32351328862..51cc27b33b6 100644 --- a/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CSurfaceFEMDataSorter.hpp @@ -2,7 +2,7 @@ * \file CSurfaceFEMDataSorter.hpp * \brief Headers fo the surface FEM data sorter class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp b/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp index dfe3301e4cf..636e15d39c4 100644 --- a/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp +++ b/SU2_CFD/include/output/filewriter/CSurfaceFVMDataSorter.hpp @@ -2,7 +2,7 @@ * \file CSurfaceFVMDataSorter.hpp * \brief Headers for the surface FVM data sorter class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp b/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp index 61f5f256e4c..2975cd2c727 100644 --- a/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CTecplotBinaryFileWriter.hpp @@ -2,7 +2,7 @@ * \file CTecplotBinaryFileWriter.hpp * \brief Headers fo the tecplot binary writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp b/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp index 774756b312c..1c9a49b0ac1 100644 --- a/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp +++ b/SU2_CFD/include/output/filewriter/CTecplotFileWriter.hpp @@ -2,7 +2,7 @@ * \file CTecplotFileWriter.hpp * \brief Headers fo the tecplot ASCII writer class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/output/tools/CWindowingTools.hpp b/SU2_CFD/include/output/tools/CWindowingTools.hpp index c97a66b3330..5fc3e22fc3c 100644 --- a/SU2_CFD/include/output/tools/CWindowingTools.hpp +++ b/SU2_CFD/include/output/tools/CWindowingTools.hpp @@ -2,7 +2,7 @@ * \file signal_processing_toolbox.hpp * \brief Header file for the signal processing toolbox. * \author S. Schotthöfer - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/sgs_model.hpp b/SU2_CFD/include/sgs_model.hpp index 9e880b545e5..34e75bdad35 100644 --- a/SU2_CFD/include/sgs_model.hpp +++ b/SU2_CFD/include/sgs_model.hpp @@ -2,7 +2,7 @@ * \file sgs_model.hpp * \brief Headers of the LES subgrid scale models of the SU2 solvers. * \author E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -38,7 +38,7 @@ using namespace std; * \class CSGSModel * \brief Base class for defining the LES subgrid scale model. * \author: E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CSGSModel { @@ -224,7 +224,7 @@ class CSGSModel { * \class CSmagorinskyModel * \brief Derived class for defining the Smagorinsky SGS model. * \author: E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CSmagorinskyModel : public CSGSModel { @@ -413,7 +413,7 @@ class CSmagorinskyModel : public CSGSModel { * \class CWALEModel * \brief Derived class for defining the WALE SGS model. * \author: E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CWALEModel : public CSGSModel { @@ -601,7 +601,7 @@ class CWALEModel : public CSGSModel { * \class CVremanModel * \brief Derived class for defining the WALE SGS model. * \author: E. van der Weide, T. Economon, P. Urbanczyk, E. Molina - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CVremanModel : public CSGSModel { diff --git a/SU2_CFD/include/sgs_model.inl b/SU2_CFD/include/sgs_model.inl index 73eb4afdd6f..1c3023782e7 100644 --- a/SU2_CFD/include/sgs_model.inl +++ b/SU2_CFD/include/sgs_model.inl @@ -2,7 +2,7 @@ * \file sgs_model.inl * \brief In-Line subroutines of the sgs_model.hpp file. * \author E. van der Weide, T. Economon, P. Urbanczyk - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CAdjEulerSolver.hpp b/SU2_CFD/include/solvers/CAdjEulerSolver.hpp index 4943c7bf10f..79e0dc20701 100644 --- a/SU2_CFD/include/solvers/CAdjEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CAdjEulerSolver.hpp @@ -2,7 +2,7 @@ * \file CAdjEulerSolver.hpp * \brief Headers of the CAdjEulerSolver class * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CAdjNSSolver.hpp b/SU2_CFD/include/solvers/CAdjNSSolver.hpp index cd87e545876..9f1ada35c44 100644 --- a/SU2_CFD/include/solvers/CAdjNSSolver.hpp +++ b/SU2_CFD/include/solvers/CAdjNSSolver.hpp @@ -2,7 +2,7 @@ * \file CAdjNSSolver.hpp * \brief Headers of the CAdjNSSolver class * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CAdjTurbSolver.hpp b/SU2_CFD/include/solvers/CAdjTurbSolver.hpp index 0ec1eef7bc6..d5eee6c5d39 100644 --- a/SU2_CFD/include/solvers/CAdjTurbSolver.hpp +++ b/SU2_CFD/include/solvers/CAdjTurbSolver.hpp @@ -2,7 +2,7 @@ * \file CAdjTurbSolver.hpp * \brief Headers of the CAdjTurbSolver class * \author F. Palacios, A. Bueno. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CBaselineSolver.hpp b/SU2_CFD/include/solvers/CBaselineSolver.hpp index 4ec03b625f1..e2747f94af3 100644 --- a/SU2_CFD/include/solvers/CBaselineSolver.hpp +++ b/SU2_CFD/include/solvers/CBaselineSolver.hpp @@ -2,7 +2,7 @@ * \file CBaslineSolver.hpp * \brief Headers of the CBaselineSolver class * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp b/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp index a86cb01cd83..216efa3249d 100644 --- a/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp +++ b/SU2_CFD/include/solvers/CBaselineSolver_FEM.hpp @@ -2,7 +2,7 @@ * \file CBaslineSolver_FEM.hpp * \brief Headers of the CBaselineSolver class * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -31,7 +31,7 @@ * \class CBaselineSolver_FEM * \brief Main class for defining a baseline solution from a restart file for the DG-FEM solver output. * \author T. Economon. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CBaselineSolver_FEM final : public CSolver { protected: diff --git a/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp b/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp index 9983581cf55..abd8fcddfb0 100644 --- a/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp +++ b/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEASolver.hpp * \brief Headers of the CDiscAdjFEASolver class * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp b/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp index 548c850b9b2..20bb3ac28c5 100644 --- a/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp +++ b/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to compute the * the discrete adjoint of the linear-elastic mesh solver. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CDiscAdjSolver.hpp b/SU2_CFD/include/solvers/CDiscAdjSolver.hpp index 0ad2dfb2ad7..0b4488ba9f3 100644 --- a/SU2_CFD/include/solvers/CDiscAdjSolver.hpp +++ b/SU2_CFD/include/solvers/CDiscAdjSolver.hpp @@ -2,7 +2,7 @@ * \file CDiscAdjSolver.hpp * \brief Headers of the CDiscAdjSolver class * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CEulerSolver.hpp b/SU2_CFD/include/solvers/CEulerSolver.hpp index 71bffe48a90..eecc7a292a0 100644 --- a/SU2_CFD/include/solvers/CEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CEulerSolver.hpp @@ -2,7 +2,7 @@ * \file CEulerSolver.hpp * \brief Headers of the CEulerSolver class * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CFEASolver.hpp b/SU2_CFD/include/solvers/CFEASolver.hpp index faddf50838c..ed0aee60236 100644 --- a/SU2_CFD/include/solvers/CFEASolver.hpp +++ b/SU2_CFD/include/solvers/CFEASolver.hpp @@ -2,7 +2,7 @@ * \file CFEASolver.hpp * \brief Finite element solver for elasticity problems. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CFEASolverBase.hpp b/SU2_CFD/include/solvers/CFEASolverBase.hpp index 38279efc71f..6a94f8aaa8b 100644 --- a/SU2_CFD/include/solvers/CFEASolverBase.hpp +++ b/SU2_CFD/include/solvers/CFEASolverBase.hpp @@ -2,7 +2,7 @@ * \file CFEASolver.hpp * \brief Base class template for all FEA solvers using the SU2 internal finite elements. * \author T. Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp b/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp index 6e135c73147..87a30af9ce3 100644 --- a/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp +++ b/SU2_CFD/include/solvers/CFEM_DG_EulerSolver.hpp @@ -2,7 +2,7 @@ * \file CFEM_DG_EulerSolver.hpp * \brief Headers of the CFEM_DG_EulerSolver class * \author E. van der Weide, T. Economon, J. Alonso - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Main class for defining the Euler Discontinuous Galerkin finite element flow solver. * \ingroup Euler_Equations * \author E. van der Weide, T. Economon, J. Alonso - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEM_DG_EulerSolver : public CSolver { protected: diff --git a/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp b/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp index f1e162432ef..da9e533cbbb 100644 --- a/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp +++ b/SU2_CFD/include/solvers/CFEM_DG_NSSolver.hpp @@ -2,7 +2,7 @@ * \file CFEM_DG_NSSolver.hpp * \brief Headers of the CFEM_DG_NSSolver class * \author E. van der Weide, T. Economon, J. Alonso - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \brief Main class for defining the Navier-Stokes Discontinuous Galerkin finite element flow solver. * \ingroup Navier_Stokes_Equations * \author E. van der Weide, T. Economon, J. Alonso - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEM_DG_NSSolver final : public CFEM_DG_EulerSolver { private: diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp b/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp index 8cf92218c9e..1fa8f1fb8b0 100644 --- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp +++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp @@ -1,7 +1,7 @@ /*! * \file CFVMFlowSolverBase.hpp * \brief Base class template for all FVM flow solvers. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl index 01e2fa85f43..bab8f187cae 100644 --- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl +++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl @@ -1,7 +1,7 @@ /*! * \file CFVMFlowSolverBase.inl * \brief Base class template for all FVM flow solvers. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp b/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp index cccf68951d7..a594aef11e7 100644 --- a/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp +++ b/SU2_CFD/include/solvers/CGradientSmoothingSolver.hpp @@ -2,7 +2,7 @@ * \file CGradientSmoothingSolver.hpp * \brief SOlver class for Sobolev smoothing of sensitivities. * \author T. Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CHeatSolver.hpp b/SU2_CFD/include/solvers/CHeatSolver.hpp index b8d527261cc..2074d479a6a 100644 --- a/SU2_CFD/include/solvers/CHeatSolver.hpp +++ b/SU2_CFD/include/solvers/CHeatSolver.hpp @@ -2,7 +2,7 @@ * \file CHeatSolver.hpp * \brief Headers of the CHeatSolver class * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \class CHeatSolver * \brief Main class for defining the finite-volume heat solver. * \author O. Burghardt - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CHeatSolver final : public CScalarSolver { protected: diff --git a/SU2_CFD/include/solvers/CIncEulerSolver.hpp b/SU2_CFD/include/solvers/CIncEulerSolver.hpp index a74ffbbb304..818ffb6bdd2 100644 --- a/SU2_CFD/include/solvers/CIncEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CIncEulerSolver.hpp @@ -2,7 +2,7 @@ * \file CIncEulerSolver.hpp * \brief Headers of the CIncEulerSolver class * \author F. Palacios, T. Economon, T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CIncNSSolver.hpp b/SU2_CFD/include/solvers/CIncNSSolver.hpp index ec7b6931ae9..1c3a3588799 100644 --- a/SU2_CFD/include/solvers/CIncNSSolver.hpp +++ b/SU2_CFD/include/solvers/CIncNSSolver.hpp @@ -2,7 +2,7 @@ * \file CIncNSSolver.hpp * \brief Headers of the CIncNSSolver class * \author F. Palacios, T. Economon, T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CMeshSolver.hpp b/SU2_CFD/include/solvers/CMeshSolver.hpp index f4a2f41385c..d03a841f5e3 100644 --- a/SU2_CFD/include/solvers/CMeshSolver.hpp +++ b/SU2_CFD/include/solvers/CMeshSolver.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to compute the deformation of * the volumetric numerical grid using the linear elasticity solver. * \author Ruben Sanchez, based on CVolumetricMovement developments (F. Palacios, A. Bueno, T. Economon, S. Padron) - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp index df68dda2cb2..268b7a9bbc0 100644 --- a/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp +++ b/SU2_CFD/include/solvers/CNEMOEulerSolver.hpp @@ -2,7 +2,7 @@ * \file CNEMOEulerSolver.hpp * \brief Headers of the CNEMOEulerSolver class * \author S. R. Copeland, F. Palacios, W. Maier. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -36,7 +36,7 @@ * \brief Main class for defining the NEMO Euler's flow solver. * \ingroup Euler_Equations * \author S. R. Copeland, F. Palacios, W. Maier. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CNEMOEulerSolver : public CFVMFlowSolverBase { protected: diff --git a/SU2_CFD/include/solvers/CNEMONSSolver.hpp b/SU2_CFD/include/solvers/CNEMONSSolver.hpp index 50c8098c24e..4368c20c5cc 100644 --- a/SU2_CFD/include/solvers/CNEMONSSolver.hpp +++ b/SU2_CFD/include/solvers/CNEMONSSolver.hpp @@ -2,7 +2,7 @@ * \file CNEMONSSolver.hpp * \brief Headers of the CNEMONSSolver class * \author S. R. Copeland, F. Palacios, W. Maier. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CNSSolver.hpp b/SU2_CFD/include/solvers/CNSSolver.hpp index 8f368dfeb0c..1b1321c4fb6 100644 --- a/SU2_CFD/include/solvers/CNSSolver.hpp +++ b/SU2_CFD/include/solvers/CNSSolver.hpp @@ -2,7 +2,7 @@ * \file CNSSolver.hpp * \brief Headers of the CNSSolver class * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CRadP1Solver.hpp b/SU2_CFD/include/solvers/CRadP1Solver.hpp index 7df239b8aad..f1130481973 100644 --- a/SU2_CFD/include/solvers/CRadP1Solver.hpp +++ b/SU2_CFD/include/solvers/CRadP1Solver.hpp @@ -2,7 +2,7 @@ * \file CRadP1Solver.hpp * \brief Declaration and inlines of the class to compute a P1 radiation problem. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CRadSolver.hpp b/SU2_CFD/include/solvers/CRadSolver.hpp index 14ddd4cf3a3..3e41bbdb5d2 100644 --- a/SU2_CFD/include/solvers/CRadSolver.hpp +++ b/SU2_CFD/include/solvers/CRadSolver.hpp @@ -2,7 +2,7 @@ * \file CRadSolver.hpp * \brief Declaration and inlines of the class to compute a generic radiation solver. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CScalarSolver.hpp b/SU2_CFD/include/solvers/CScalarSolver.hpp index d2b2cf26197..fd217446b1e 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.hpp +++ b/SU2_CFD/include/solvers/CScalarSolver.hpp @@ -1,7 +1,7 @@ /*! * \file CScalarSolver.hpp * \brief Headers of the CScalarSolver class - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CScalarSolver.inl b/SU2_CFD/include/solvers/CScalarSolver.inl index b4f4486cfcc..0f4ab4baf57 100644 --- a/SU2_CFD/include/solvers/CScalarSolver.inl +++ b/SU2_CFD/include/solvers/CScalarSolver.inl @@ -1,7 +1,7 @@ /*! * \file CScalarSolver.inl * \brief Main subroutines of CScalarSolver class - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CSolver.hpp b/SU2_CFD/include/solvers/CSolver.hpp index 0829a41370f..f87fcf58c44 100644 --- a/SU2_CFD/include/solvers/CSolver.hpp +++ b/SU2_CFD/include/solvers/CSolver.hpp @@ -2,7 +2,7 @@ * \file CSolver.hpp * \brief Headers of the CSolver class which is inherited by all of the other solvers * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CSolverFactory.hpp b/SU2_CFD/include/solvers/CSolverFactory.hpp index 3c59100b8e8..bdf8300619f 100644 --- a/SU2_CFD/include/solvers/CSolverFactory.hpp +++ b/SU2_CFD/include/solvers/CSolverFactory.hpp @@ -2,7 +2,7 @@ * \file CSolverFactory.hpp * \brief Headers of the CSolverFactory class * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CSpeciesSolver.hpp b/SU2_CFD/include/solvers/CSpeciesSolver.hpp index 9f0db05628a..d4d751e3ff5 100644 --- a/SU2_CFD/include/solvers/CSpeciesSolver.hpp +++ b/SU2_CFD/include/solvers/CSpeciesSolver.hpp @@ -2,7 +2,7 @@ * \file CSpeciesSolver.hpp * \brief Headers of the CSpeciesSolver class * \author T. Kattmann. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CTemplateSolver.hpp b/SU2_CFD/include/solvers/CTemplateSolver.hpp index da46da62425..4e61f0d55a2 100644 --- a/SU2_CFD/include/solvers/CTemplateSolver.hpp +++ b/SU2_CFD/include/solvers/CTemplateSolver.hpp @@ -2,7 +2,7 @@ * \file CTemplateSolver.hpp * \brief Headers of the CTemplateSolver class * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CTransLMSolver.hpp b/SU2_CFD/include/solvers/CTransLMSolver.hpp index d09c587ecc3..039fb94aa0f 100644 --- a/SU2_CFD/include/solvers/CTransLMSolver.hpp +++ b/SU2_CFD/include/solvers/CTransLMSolver.hpp @@ -2,7 +2,7 @@ * \file CTransLMSolver.hpp * \brief Headers of the CTransLMSolver class * \author A. Aranake - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CTurbSASolver.hpp b/SU2_CFD/include/solvers/CTurbSASolver.hpp index 0f60ee431b3..9cf498c59aa 100644 --- a/SU2_CFD/include/solvers/CTurbSASolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSASolver.hpp @@ -2,7 +2,7 @@ * \file CTurbSASolver.hpp * \brief Headers of the CTurbSASolver class * \author A. Bueno. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp index 09623cab231..23b202a6c10 100644 --- a/SU2_CFD/include/solvers/CTurbSSTSolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSSTSolver.hpp @@ -2,7 +2,7 @@ * \file CTurbSSTSolver.hpp * \brief Headers of the CTurbSSTSolver class * \author A. Campos, F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/solvers/CTurbSolver.hpp b/SU2_CFD/include/solvers/CTurbSolver.hpp index 8ac15a3f594..9a0341a942f 100644 --- a/SU2_CFD/include/solvers/CTurbSolver.hpp +++ b/SU2_CFD/include/solvers/CTurbSolver.hpp @@ -2,7 +2,7 @@ * \file CTurbSolver.hpp * \brief Headers of the CTurbSolver class * \author A. Bueno. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/task_definition.hpp b/SU2_CFD/include/task_definition.hpp index 4e008c5a7c2..4706be540be 100644 --- a/SU2_CFD/include/task_definition.hpp +++ b/SU2_CFD/include/task_definition.hpp @@ -2,7 +2,7 @@ * \file task_definition.hpp * \brief Header of the task definition class for the SU2 solvers. * \author E. van der Weide, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -37,7 +37,7 @@ using namespace std; * \class CTaskDefinition * \brief Class for defining a task to be carried out * \author: E. van der Weide, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CTaskDefinition { diff --git a/SU2_CFD/include/task_definition.inl b/SU2_CFD/include/task_definition.inl index e44785a4ba8..0a50f212f49 100644 --- a/SU2_CFD/include/task_definition.inl +++ b/SU2_CFD/include/task_definition.inl @@ -2,7 +2,7 @@ * \file task_definition.inl * \brief In-Line subroutines of the task_definition.hpp file. * \author E. van der Weide, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CAdjEulerVariable.hpp b/SU2_CFD/include/variables/CAdjEulerVariable.hpp index a3d4c2a6eb3..9cd33a3d1ef 100644 --- a/SU2_CFD/include/variables/CAdjEulerVariable.hpp +++ b/SU2_CFD/include/variables/CAdjEulerVariable.hpp @@ -2,7 +2,7 @@ * \file CAdjEulerVariable.hpp * \brief Main class for defining the variables of the adjoint Euler solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CAdjNSVariable.hpp b/SU2_CFD/include/variables/CAdjNSVariable.hpp index b1618e7771c..7d0a81e0702 100644 --- a/SU2_CFD/include/variables/CAdjNSVariable.hpp +++ b/SU2_CFD/include/variables/CAdjNSVariable.hpp @@ -2,7 +2,7 @@ * \file CAdjNSVariable.hpp * \brief Main class for defining the variables of the adjoint Navier-Stokes solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CAdjTurbVariable.hpp b/SU2_CFD/include/variables/CAdjTurbVariable.hpp index 79adce81e38..9afb2c4550b 100644 --- a/SU2_CFD/include/variables/CAdjTurbVariable.hpp +++ b/SU2_CFD/include/variables/CAdjTurbVariable.hpp @@ -2,7 +2,7 @@ * \file CAdjTurbVariable.hpp * \brief Main class for defining the variables of the adjoint turbulence model. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CBaselineVariable.hpp b/SU2_CFD/include/variables/CBaselineVariable.hpp index 22ec936f1c9..68912d4b2a3 100644 --- a/SU2_CFD/include/variables/CBaselineVariable.hpp +++ b/SU2_CFD/include/variables/CBaselineVariable.hpp @@ -2,7 +2,7 @@ * \file CBaselineVariable.hpp * \brief Main class for defining the variables of a baseline solution from a restart file (for output). * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp b/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp index 526fc38029c..35f8738d951 100644 --- a/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp +++ b/SU2_CFD/include/variables/CDiscAdjFEABoundVariable.hpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEABoundVariable.hpp * \brief Main class for defining the variables of the adjoint FEA solver at the boundary. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -35,7 +35,7 @@ * \ingroup DiscAdj * \brief Main class for defining the variables on the FEA boundaries for adjoint applications. * \author R. Sanchez. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CDiscAdjFEABoundVariable final : public CDiscAdjVariable { private: diff --git a/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp b/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp index d8ccae68127..88aa26cf1a0 100644 --- a/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp +++ b/SU2_CFD/include/variables/CDiscAdjMeshBoundVariable.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class * to define the adjoint variables of the mesh movement. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CDiscAdjVariable.hpp b/SU2_CFD/include/variables/CDiscAdjVariable.hpp index 8d06fb51400..72ca67f9c24 100644 --- a/SU2_CFD/include/variables/CDiscAdjVariable.hpp +++ b/SU2_CFD/include/variables/CDiscAdjVariable.hpp @@ -2,7 +2,7 @@ * \file CDiscAdjVariable.hpp * \brief Main class for defining the variables of the adjoint solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CEulerVariable.hpp b/SU2_CFD/include/variables/CEulerVariable.hpp index 57a6be12863..25e992da2e1 100644 --- a/SU2_CFD/include/variables/CEulerVariable.hpp +++ b/SU2_CFD/include/variables/CEulerVariable.hpp @@ -2,7 +2,7 @@ * \file CEulerVariable.hpp * \brief Class for defining the variables of the compressible Euler solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CFEABoundVariable.hpp b/SU2_CFD/include/variables/CFEABoundVariable.hpp index ee960f67115..e04d40467c1 100644 --- a/SU2_CFD/include/variables/CFEABoundVariable.hpp +++ b/SU2_CFD/include/variables/CFEABoundVariable.hpp @@ -2,7 +2,7 @@ * \file CFEABoundVariable.hpp * \brief Class for defining the variables on the FEA boundaries for FSI applications. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -37,7 +37,7 @@ * A map is constructed so that variables can be referenced by iPoint instead of iVertex. * \ingroup Structural Finite Element Analysis Variables * \author R. Sanchez. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEABoundVariable final : public CFEAVariable { protected: diff --git a/SU2_CFD/include/variables/CFEAVariable.hpp b/SU2_CFD/include/variables/CFEAVariable.hpp index 2943089c9e0..6d3ea11a633 100644 --- a/SU2_CFD/include/variables/CFEAVariable.hpp +++ b/SU2_CFD/include/variables/CFEAVariable.hpp @@ -2,7 +2,7 @@ * \file CFEAVariable.hpp * \brief Class for defining the variables of the FEM structural problem. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -34,7 +34,7 @@ * \brief Class for defining the variables of the FEM structural problem. * \ingroup Structural Finite Element Analysis Variables * \author F. Palacios, R. Sanchez. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CFEAVariable : public CVariable { protected: diff --git a/SU2_CFD/include/variables/CFlowVariable.hpp b/SU2_CFD/include/variables/CFlowVariable.hpp index 52735e60d2e..a6937fcf586 100644 --- a/SU2_CFD/include/variables/CFlowVariable.hpp +++ b/SU2_CFD/include/variables/CFlowVariable.hpp @@ -1,7 +1,7 @@ /*! * \file CFlowVariable.hpp * \brief Class for defining the common variables of flow solvers. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CHeatVariable.hpp b/SU2_CFD/include/variables/CHeatVariable.hpp index 70f06255778..4bc2d0c1909 100644 --- a/SU2_CFD/include/variables/CHeatVariable.hpp +++ b/SU2_CFD/include/variables/CHeatVariable.hpp @@ -2,7 +2,7 @@ * \file CHeatVariable.hpp * \brief Class for defining the variables of the finite-volume heat equation solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -33,7 +33,7 @@ * \class CHeatVariable * \brief Class for defining the variables of the finite-volume heat equation solver. * \author O. Burghardt - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" */ class CHeatVariable final : public CScalarVariable { public: diff --git a/SU2_CFD/include/variables/CIncEulerVariable.hpp b/SU2_CFD/include/variables/CIncEulerVariable.hpp index 24f1034e5a7..61341177faa 100644 --- a/SU2_CFD/include/variables/CIncEulerVariable.hpp +++ b/SU2_CFD/include/variables/CIncEulerVariable.hpp @@ -2,7 +2,7 @@ * \file CIncEulerVariable.hpp * \brief Class for defining the variables of the incompressible Euler solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CIncNSVariable.hpp b/SU2_CFD/include/variables/CIncNSVariable.hpp index 7a9f1532522..9a561e1e70c 100644 --- a/SU2_CFD/include/variables/CIncNSVariable.hpp +++ b/SU2_CFD/include/variables/CIncNSVariable.hpp @@ -3,7 +3,7 @@ * \brief Class for defining the variables of the incompressible Navier-Stokes solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CMeshBoundVariable.hpp b/SU2_CFD/include/variables/CMeshBoundVariable.hpp index 5f6724f3937..b57ce56e6da 100644 --- a/SU2_CFD/include/variables/CMeshBoundVariable.hpp +++ b/SU2_CFD/include/variables/CMeshBoundVariable.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class * to define the variables of the mesh movement at the moving boundaries. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CMeshElement.hpp b/SU2_CFD/include/variables/CMeshElement.hpp index ca5d7fde708..c166356c2ce 100644 --- a/SU2_CFD/include/variables/CMeshElement.hpp +++ b/SU2_CFD/include/variables/CMeshElement.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class * to define the variables of the mesh movement. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CMeshVariable.hpp b/SU2_CFD/include/variables/CMeshVariable.hpp index 41d6721c10f..1c5c185c222 100644 --- a/SU2_CFD/include/variables/CMeshVariable.hpp +++ b/SU2_CFD/include/variables/CMeshVariable.hpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class * to define the variables of the mesh movement. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CNEMOEulerVariable.hpp b/SU2_CFD/include/variables/CNEMOEulerVariable.hpp index 422ce2b510b..d68d90529da 100644 --- a/SU2_CFD/include/variables/CNEMOEulerVariable.hpp +++ b/SU2_CFD/include/variables/CNEMOEulerVariable.hpp @@ -2,7 +2,7 @@ * \file CNEMOEulerVariable.hpp * \brief Class for defining the variables of the compressible NEMO Euler solver. * \author C. Garbacz, W. Maier, S.R. Copeland - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CNEMONSVariable.hpp b/SU2_CFD/include/variables/CNEMONSVariable.hpp index fbc074ebec0..4166590068f 100644 --- a/SU2_CFD/include/variables/CNEMONSVariable.hpp +++ b/SU2_CFD/include/variables/CNEMONSVariable.hpp @@ -2,7 +2,7 @@ * \file CNEMONSVariable.hpp * \brief Class for defining the variables of the compressible NEMO Navier-Stokes solver. * \author C. Garbacz, W. Maier, S.R. Copeland. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CNSVariable.hpp b/SU2_CFD/include/variables/CNSVariable.hpp index f23895750c7..116b06ad6d3 100644 --- a/SU2_CFD/include/variables/CNSVariable.hpp +++ b/SU2_CFD/include/variables/CNSVariable.hpp @@ -2,7 +2,7 @@ * \file CNSVariable.hpp * \brief Class for defining the variables of the compressible Navier-Stokes solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CPrimitiveIndices.hpp b/SU2_CFD/include/variables/CPrimitiveIndices.hpp index 71e454ba12e..c07643a7139 100644 --- a/SU2_CFD/include/variables/CPrimitiveIndices.hpp +++ b/SU2_CFD/include/variables/CPrimitiveIndices.hpp @@ -1,7 +1,7 @@ /*! * \file CPrimitiveIndices.hpp * \brief Abstract representation of flow primitive variable indices that tries to be efficient. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CRadP1Variable.hpp b/SU2_CFD/include/variables/CRadP1Variable.hpp index 69cbb3e65aa..0594e8e29f9 100644 --- a/SU2_CFD/include/variables/CRadP1Variable.hpp +++ b/SU2_CFD/include/variables/CRadP1Variable.hpp @@ -2,7 +2,7 @@ * \file CRadP1Variable.hpp * \brief Class for defining the variables of the P1 radiation model. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CRadVariable.hpp b/SU2_CFD/include/variables/CRadVariable.hpp index 3902effa804..d0c38df88c3 100644 --- a/SU2_CFD/include/variables/CRadVariable.hpp +++ b/SU2_CFD/include/variables/CRadVariable.hpp @@ -2,7 +2,7 @@ * \file CRadVariable.hpp * \brief Class for defining the variables of the radiation solver. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CScalarVariable.hpp b/SU2_CFD/include/variables/CScalarVariable.hpp index b1f2938a22a..f68041d74a1 100644 --- a/SU2_CFD/include/variables/CScalarVariable.hpp +++ b/SU2_CFD/include/variables/CScalarVariable.hpp @@ -2,7 +2,7 @@ * \file CScalarVariable.hpp * \brief Base class for defining the shared variables of scalar solvers. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp b/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp index c2a6aaef53e..ba4d4e1bb1c 100644 --- a/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp +++ b/SU2_CFD/include/variables/CSobolevSmoothingVariable.hpp @@ -2,7 +2,7 @@ * \file CSobolevSmoothingVariable.hpp * \brief Class for defining the variables of the gradient smoothing. * \author T.Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CSpeciesVariable.hpp b/SU2_CFD/include/variables/CSpeciesVariable.hpp index 76f9ce5276e..ac9b6fa4488 100644 --- a/SU2_CFD/include/variables/CSpeciesVariable.hpp +++ b/SU2_CFD/include/variables/CSpeciesVariable.hpp @@ -2,7 +2,7 @@ * \file CSpeciesVariable.hpp * \brief Base class for defining the variables of the species transport model. * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CTransLMVariable.hpp b/SU2_CFD/include/variables/CTransLMVariable.hpp index 28f3b0bc6e6..315e03fbba3 100644 --- a/SU2_CFD/include/variables/CTransLMVariable.hpp +++ b/SU2_CFD/include/variables/CTransLMVariable.hpp @@ -2,7 +2,7 @@ * \file CTransLMVariable.hpp * \brief Declaration of the variables of the transition model. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CTurbSAVariable.hpp b/SU2_CFD/include/variables/CTurbSAVariable.hpp index da375e32906..04794ff3622 100644 --- a/SU2_CFD/include/variables/CTurbSAVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSAVariable.hpp @@ -2,7 +2,7 @@ * \file CTurbSAVariable.hpp * \brief Declaration of the variables of the SA turbulence model. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CTurbSSTVariable.hpp b/SU2_CFD/include/variables/CTurbSSTVariable.hpp index 10686f086b4..9abf005f367 100644 --- a/SU2_CFD/include/variables/CTurbSSTVariable.hpp +++ b/SU2_CFD/include/variables/CTurbSSTVariable.hpp @@ -2,7 +2,7 @@ * \file CTurbSSTVariable.hpp * \brief Declaration of the variables of the SST turbulence model. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CTurbVariable.hpp b/SU2_CFD/include/variables/CTurbVariable.hpp index c2c748ddb4a..368fd330824 100644 --- a/SU2_CFD/include/variables/CTurbVariable.hpp +++ b/SU2_CFD/include/variables/CTurbVariable.hpp @@ -2,7 +2,7 @@ * \file CTurbVariable.hpp * \brief Base class for defining the variables of the turbulence model. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/include/variables/CVariable.hpp b/SU2_CFD/include/variables/CVariable.hpp index 8ead1616396..f80faebdd10 100644 --- a/SU2_CFD/include/variables/CVariable.hpp +++ b/SU2_CFD/include/variables/CVariable.hpp @@ -4,7 +4,7 @@ variables, function definitions in file CVariable.cpp. All variables are children of at least this class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/obj/Makefile.am b/SU2_CFD/obj/Makefile.am index 95c3f6dd4bd..6926cadc38d 100644 --- a/SU2_CFD/obj/Makefile.am +++ b/SU2_CFD/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_CFD # \author M. Colonno, T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_CFD/src/CMarkerProfileReaderFVM.cpp b/SU2_CFD/src/CMarkerProfileReaderFVM.cpp index 1424129d009..cf6090d15c7 100644 --- a/SU2_CFD/src/CMarkerProfileReaderFVM.cpp +++ b/SU2_CFD/src/CMarkerProfileReaderFVM.cpp @@ -2,7 +2,7 @@ * \file CMarkerProfileReaderFVM.cpp * \brief Class that handles the reading of marker profile files. * \author T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/SU2_CFD.cpp b/SU2_CFD/src/SU2_CFD.cpp index a0227c2922b..8737975e716 100644 --- a/SU2_CFD/src/SU2_CFD.cpp +++ b/SU2_CFD/src/SU2_CFD.cpp @@ -2,7 +2,7 @@ * \file SU2_CFD.cpp * \brief Main file of the SU2 Computational Fluid Dynamics code * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -47,7 +47,7 @@ int main(int argc, char *argv[]) { /*--- Command line parsing ---*/ - CLI::App app{"SU2 v7.5.0 \"Blackbird\", The Open-Source CFD Code"}; + CLI::App app{"SU2 v7.5.1 \"Blackbird\", The Open-Source CFD Code"}; app.add_flag("-d,--dryrun", dry_run, "Enable dry run mode.\n" "Only execute preprocessing steps using a dummy geometry."); app.add_option("-t,--threads", num_threads, "Number of OpenMP threads per MPI rank."); diff --git a/SU2_CFD/src/definition_structure.cpp b/SU2_CFD/src/definition_structure.cpp index 6603bf09807..9a56d219a89 100644 --- a/SU2_CFD/src/definition_structure.cpp +++ b/SU2_CFD/src/definition_structure.cpp @@ -2,7 +2,7 @@ * \file definition_structure.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp b/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp index f1175ebb6f5..f9f8efef934 100644 --- a/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CDiscAdjMultizoneDriver.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjMultizoneDriver.cpp * \brief The main subroutines for driving adjoint multi-zone problems * \author O. Burghardt, P. Gomes, T. Albring, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp b/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp index ca4c2319978..41262b913df 100644 --- a/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp +++ b/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp @@ -2,7 +2,7 @@ * \file driver_adjoint_singlezone.cpp * \brief The main subroutines for driving adjoint single-zone problems. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CDriver.cpp b/SU2_CFD/src/drivers/CDriver.cpp index 058472e820f..121cd94e9a5 100644 --- a/SU2_CFD/src/drivers/CDriver.cpp +++ b/SU2_CFD/src/drivers/CDriver.cpp @@ -2,7 +2,7 @@ * \file CDriver.cpp * \brief The main subroutines for driving single or multi-zone problems. * \author T. Economon, H. Kline, R. Sanchez, F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CDummyDriver.cpp b/SU2_CFD/src/drivers/CDummyDriver.cpp index cdd803f8de7..8f5d68ae15c 100644 --- a/SU2_CFD/src/drivers/CDummyDriver.cpp +++ b/SU2_CFD/src/drivers/CDummyDriver.cpp @@ -2,7 +2,7 @@ * \file CDummyDriver.cpp * \brief Dummy driver class for running the preprocessing without geometry preprocessing. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CMultizoneDriver.cpp b/SU2_CFD/src/drivers/CMultizoneDriver.cpp index 51f268aae8e..99c64c233f5 100644 --- a/SU2_CFD/src/drivers/CMultizoneDriver.cpp +++ b/SU2_CFD/src/drivers/CMultizoneDriver.cpp @@ -2,7 +2,7 @@ * \file driver_structure.cpp * \brief The main subroutines for driving multi-zone problems. * \author R. Sanchez, O. Burghardt - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/drivers/CSinglezoneDriver.cpp b/SU2_CFD/src/drivers/CSinglezoneDriver.cpp index affc29335d7..fe4bd854e1a 100644 --- a/SU2_CFD/src/drivers/CSinglezoneDriver.cpp +++ b/SU2_CFD/src/drivers/CSinglezoneDriver.cpp @@ -2,7 +2,7 @@ * \file driver_direct_singlezone.cpp * \brief The main subroutines for driving single-zone problems. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CCoolProp.cpp b/SU2_CFD/src/fluid/CCoolProp.cpp index 0fabb54d470..8fe0103964c 100644 --- a/SU2_CFD/src/fluid/CCoolProp.cpp +++ b/SU2_CFD/src/fluid/CCoolProp.cpp @@ -2,7 +2,7 @@ * \file CCoolProp.cpp * \brief Source of the fluid model from CoolProp. * \author P. Yan, G. Gori, A. Guardone - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CFluidModel.cpp b/SU2_CFD/src/fluid/CFluidModel.cpp index 27b739b49fa..15ab39b24e2 100644 --- a/SU2_CFD/src/fluid/CFluidModel.cpp +++ b/SU2_CFD/src/fluid/CFluidModel.cpp @@ -2,7 +2,7 @@ * \file CFluidModel.cpp * \brief Source of the fluid model base class containing thermo-physical subroutines. * \author S.Vitale, M.Pini, G.Gori, A.Guardone, P.Colonna, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CFluidScalar.cpp b/SU2_CFD/src/fluid/CFluidScalar.cpp index bbc49f8a93f..1d0700cea35 100644 --- a/SU2_CFD/src/fluid/CFluidScalar.cpp +++ b/SU2_CFD/src/fluid/CFluidScalar.cpp @@ -2,7 +2,7 @@ * \file CFluidScalar.cpp * \brief Defines the multicomponent incompressible Ideal Gas model for mixtures. * \author T. Economon, Mark Heimgartner, Cristopher Morales Ubal - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CIdealGas.cpp b/SU2_CFD/src/fluid/CIdealGas.cpp index 6703465ce22..2afc1b36e69 100644 --- a/SU2_CFD/src/fluid/CIdealGas.cpp +++ b/SU2_CFD/src/fluid/CIdealGas.cpp @@ -2,7 +2,7 @@ * \file CIdealGas.cpp * \brief Source of the ideal gas model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CMutationTCLib.cpp b/SU2_CFD/src/fluid/CMutationTCLib.cpp index 6a974c41226..e0ad74b04d1 100644 --- a/SU2_CFD/src/fluid/CMutationTCLib.cpp +++ b/SU2_CFD/src/fluid/CMutationTCLib.cpp @@ -2,7 +2,7 @@ * \file CMutationTCLib.cpp * \brief Source of the Mutation++ 2T nonequilibrium gas model. * \author C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CNEMOGas.cpp b/SU2_CFD/src/fluid/CNEMOGas.cpp index bb73a14f6cf..55319a34add 100644 --- a/SU2_CFD/src/fluid/CNEMOGas.cpp +++ b/SU2_CFD/src/fluid/CNEMOGas.cpp @@ -2,7 +2,7 @@ * \file CNEMOGas.cpp * \brief Source of the nonequilibrium gas model. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CPengRobinson.cpp b/SU2_CFD/src/fluid/CPengRobinson.cpp index 9beff8e3229..445854b55cb 100644 --- a/SU2_CFD/src/fluid/CPengRobinson.cpp +++ b/SU2_CFD/src/fluid/CPengRobinson.cpp @@ -2,7 +2,7 @@ * \file CPengRobinson.cpp * \brief Source of the Peng-Robinson model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CSU2TCLib.cpp b/SU2_CFD/src/fluid/CSU2TCLib.cpp index 68ef4987da1..7a1b81aaabf 100644 --- a/SU2_CFD/src/fluid/CSU2TCLib.cpp +++ b/SU2_CFD/src/fluid/CSU2TCLib.cpp @@ -2,7 +2,7 @@ * \file CSU2TCLib.cpp * \brief Source of user defined 2T nonequilibrium gas model. * \author C. Garbacz, W. Maier, S. R. Copeland - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp b/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp index 0dc6a136239..215f8c9a803 100644 --- a/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp +++ b/SU2_CFD/src/fluid/CVanDerWaalsGas.cpp @@ -2,7 +2,7 @@ * \file CVanDerWaalsGas.cpp * \brief Source of the Polytropic Van der Waals model. * \author S. Vitale, G. Gori, M. Pini, A. Guardone, P. Colonna - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CFEM_DG_Integration.cpp b/SU2_CFD/src/integration/CFEM_DG_Integration.cpp index a88b07ac28d..f653c254f94 100644 --- a/SU2_CFD/src/integration/CFEM_DG_Integration.cpp +++ b/SU2_CFD/src/integration/CFEM_DG_Integration.cpp @@ -2,7 +2,7 @@ * \file CFEM_DG_Integration.cpp * \brief Definition of time and space integration for the DG solver. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CIntegration.cpp b/SU2_CFD/src/integration/CIntegration.cpp index 172c81e93ba..347e5b4a4b3 100644 --- a/SU2_CFD/src/integration/CIntegration.cpp +++ b/SU2_CFD/src/integration/CIntegration.cpp @@ -2,7 +2,7 @@ * \file CIntegration.cpp * \brief Implementation of the base class for space and time integration. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CIntegrationFactory.cpp b/SU2_CFD/src/integration/CIntegrationFactory.cpp index 3dc2acf481b..d9fe95cfa40 100644 --- a/SU2_CFD/src/integration/CIntegrationFactory.cpp +++ b/SU2_CFD/src/integration/CIntegrationFactory.cpp @@ -2,7 +2,7 @@ * \file CIntegrationFactory.cpp * \brief Main subroutines for CIntegrationFactory . * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CMultiGridIntegration.cpp b/SU2_CFD/src/integration/CMultiGridIntegration.cpp index 8fc30f230ad..36c75cb525f 100644 --- a/SU2_CFD/src/integration/CMultiGridIntegration.cpp +++ b/SU2_CFD/src/integration/CMultiGridIntegration.cpp @@ -2,7 +2,7 @@ * \file CMultiGridIntegration.cpp * \brief Implementation of the multigrid integration class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CNewtonIntegration.cpp b/SU2_CFD/src/integration/CNewtonIntegration.cpp index 6bfcaa40288..78fd23b2d66 100644 --- a/SU2_CFD/src/integration/CNewtonIntegration.cpp +++ b/SU2_CFD/src/integration/CNewtonIntegration.cpp @@ -2,7 +2,7 @@ * \file CNewtonIntegration.cpp * \brief Newton-Krylov integration. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CSingleGridIntegration.cpp b/SU2_CFD/src/integration/CSingleGridIntegration.cpp index 19b02d83af8..e43b4518c26 100644 --- a/SU2_CFD/src/integration/CSingleGridIntegration.cpp +++ b/SU2_CFD/src/integration/CSingleGridIntegration.cpp @@ -2,7 +2,7 @@ * \file CSingleGridIntegration.cpp * \brief Single (fine) grid integration class implementation. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/integration/CStructuralIntegration.cpp b/SU2_CFD/src/integration/CStructuralIntegration.cpp index 1a3f8853359..1dd5573923c 100644 --- a/SU2_CFD/src/integration/CStructuralIntegration.cpp +++ b/SU2_CFD/src/integration/CStructuralIntegration.cpp @@ -2,7 +2,7 @@ * \file CStructuralIntegration.cpp * \brief Space and time integration for structural problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/CInterface.cpp b/SU2_CFD/src/interfaces/CInterface.cpp index 7031b3d57de..1507e004c25 100644 --- a/SU2_CFD/src/interfaces/CInterface.cpp +++ b/SU2_CFD/src/interfaces/CInterface.cpp @@ -2,7 +2,7 @@ * \file CInterface.cpp * \brief Main subroutines for MPI transfer of information between zones * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp b/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp index 8558d2b317f..31ca92974d4 100644 --- a/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp +++ b/SU2_CFD/src/interfaces/cfd/CConservativeVarsInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer conservative variables * from a generic zone into another one. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp b/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp index c86b3022b49..ab7de26be09 100644 --- a/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp +++ b/SU2_CFD/src/interfaces/cfd/CMixingPlaneInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer average variables * needed for MixingPlane computation from a generic zone into another one. * \author S. Vitale - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp b/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp index ee5fc955c2b..73a0144c9ee 100644 --- a/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp +++ b/SU2_CFD/src/interfaces/cfd/CSlidingInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer conservative variables * from a generic zone into another * \author G. Gori Politecnico di Milano - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp b/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp index 4e11392be6e..56fcea263e2 100644 --- a/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp +++ b/SU2_CFD/src/interfaces/cht/CConjugateHeatInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer temperature and heatflux * density for conjugate heat interfaces between structure and fluid zones. * \author O. Burghardt - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp b/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp index c7bcf2e1374..b8a48ae8fc4 100644 --- a/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp +++ b/SU2_CFD/src/interfaces/fsi/CDiscAdjFlowTractionInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer flow tractions * from a fluid zone into a structural zone in a discrete adjoint simulation. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp b/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp index dfba1c4d09c..bea9e316c0f 100644 --- a/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp +++ b/SU2_CFD/src/interfaces/fsi/CDisplacementsInterface.cpp @@ -2,7 +2,7 @@ * \file CDisplacementsInterface.cpp * \brief Main subroutines for transferring boundary displacements. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp b/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp index 867f3f61efa..d95bb5a9841 100644 --- a/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp +++ b/SU2_CFD/src/interfaces/fsi/CFlowTractionInterface.cpp @@ -3,7 +3,7 @@ * \brief Declaration and inlines of the class to transfer flow tractions * from a fluid zone into a structural zone. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CAdjFluidIteration.cpp b/SU2_CFD/src/iteration/CAdjFluidIteration.cpp index 1e7f73fd647..282223b46ad 100644 --- a/SU2_CFD/src/iteration/CAdjFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CAdjFluidIteration.cpp @@ -2,7 +2,7 @@ * \file CAdjFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp index be74db5f5c9..83090a045fb 100644 --- a/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp +++ b/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEAIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp index 90e1660c902..2776d3c19ab 100644 --- a/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CDiscAdjFluidIteration.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp index 226675ef13f..67c2f8fe863 100644 --- a/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp +++ b/SU2_CFD/src/iteration/CDiscAdjHeatIteration.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjHeatIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CFEAIteration.cpp b/SU2_CFD/src/iteration/CFEAIteration.cpp index a96e1b11172..2f560f05cf8 100644 --- a/SU2_CFD/src/iteration/CFEAIteration.cpp +++ b/SU2_CFD/src/iteration/CFEAIteration.cpp @@ -2,7 +2,7 @@ * \file CFEAIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CFEMFluidIteration.cpp b/SU2_CFD/src/iteration/CFEMFluidIteration.cpp index 6b8d2790869..8fb9b09c420 100644 --- a/SU2_CFD/src/iteration/CFEMFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFEMFluidIteration.cpp @@ -2,7 +2,7 @@ * \file CFEMFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CFluidIteration.cpp b/SU2_CFD/src/iteration/CFluidIteration.cpp index 89dca46d49b..db7a7a18be4 100644 --- a/SU2_CFD/src/iteration/CFluidIteration.cpp +++ b/SU2_CFD/src/iteration/CFluidIteration.cpp @@ -2,7 +2,7 @@ * \file CFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CHeatIteration.cpp b/SU2_CFD/src/iteration/CHeatIteration.cpp index 8fcebcc53ad..e90bcde5144 100644 --- a/SU2_CFD/src/iteration/CHeatIteration.cpp +++ b/SU2_CFD/src/iteration/CHeatIteration.cpp @@ -2,7 +2,7 @@ * \file CHeatIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CIteration.cpp b/SU2_CFD/src/iteration/CIteration.cpp index 859fddb34d0..337e24edaea 100644 --- a/SU2_CFD/src/iteration/CIteration.cpp +++ b/SU2_CFD/src/iteration/CIteration.cpp @@ -2,7 +2,7 @@ * \file iteration_structure.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CIterationFactory.cpp b/SU2_CFD/src/iteration/CIterationFactory.cpp index c6a336024fc..8e9fd4e86b8 100644 --- a/SU2_CFD/src/iteration/CIterationFactory.cpp +++ b/SU2_CFD/src/iteration/CIterationFactory.cpp @@ -2,7 +2,7 @@ * \file CAdjFluidIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/iteration/CTurboIteration.cpp b/SU2_CFD/src/iteration/CTurboIteration.cpp index 6fe31081604..464ae8186ea 100644 --- a/SU2_CFD/src/iteration/CTurboIteration.cpp +++ b/SU2_CFD/src/iteration/CTurboIteration.cpp @@ -2,7 +2,7 @@ * \file CTurboIteration.cpp * \brief Main subroutines used by SU2_CFD * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/limiters/CLimiterDetails.cpp b/SU2_CFD/src/limiters/CLimiterDetails.cpp index 096b51f8809..646139d2ff0 100644 --- a/SU2_CFD/src/limiters/CLimiterDetails.cpp +++ b/SU2_CFD/src/limiters/CLimiterDetails.cpp @@ -3,7 +3,7 @@ * \brief A class template that allows defining limiters via * specialization of particular details. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/CGradSmoothing.cpp b/SU2_CFD/src/numerics/CGradSmoothing.cpp index 84c3857bc76..84685c722ed 100644 --- a/SU2_CFD/src/numerics/CGradSmoothing.cpp +++ b/SU2_CFD/src/numerics/CGradSmoothing.cpp @@ -2,7 +2,7 @@ * \file CGradSmoothing.cpp * \brief Numerics for gradient smoothing problems. * \author T.Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/CNumerics.cpp b/SU2_CFD/src/numerics/CNumerics.cpp index b429101a189..12a83bf7daa 100644 --- a/SU2_CFD/src/numerics/CNumerics.cpp +++ b/SU2_CFD/src/numerics/CNumerics.cpp @@ -4,7 +4,7 @@ * Contains methods for common tasks, e.g. compute flux * Jacobians. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp b/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp index 1f4870b7269..fe2ab39173d 100644 --- a/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp +++ b/SU2_CFD/src/numerics/NEMO/CNEMONumerics.cpp @@ -4,7 +4,7 @@ * Contains methods for common tasks, e.g. compute flux * Jacobians. * \author S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp b/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp index e4cab310352..cc64e14d1e2 100644 --- a/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp +++ b/SU2_CFD/src/numerics/NEMO/NEMO_diffusion.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for discretization * of viscous fluxes in fluid flow NEMO problems. * \author S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp b/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp index e73844dd084..26a476f4672 100644 --- a/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp +++ b/SU2_CFD/src/numerics/NEMO/NEMO_sources.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for integration * of source terms in fluid flow NEMO problems. * \author C. Garbacz, W. Maier, S. Copeland. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp b/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp index 5d29543667a..386850c6531 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/ausm_slau.cpp @@ -2,7 +2,7 @@ * \file ausm_slau.cpp * \brief Implementations of the AUSM-family of schemes in NEMO. * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/lax.cpp b/SU2_CFD/src/numerics/NEMO/convection/lax.cpp index cdb41cf4ff5..482512d462b 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/lax.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/lax.cpp @@ -2,7 +2,7 @@ * \file lax.cpp * \brief Implementations of Lax centered scheme. * \author F. Palacios, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/msw.cpp b/SU2_CFD/src/numerics/NEMO/convection/msw.cpp index 2374f1dec38..5f9869f9126 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/msw.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/msw.cpp @@ -2,7 +2,7 @@ * \file msw.cpp * \brief Implementations of the modified Steger-Warming scheme. * \author ADL Stanford, S.R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/NEMO/convection/roe.cpp b/SU2_CFD/src/numerics/NEMO/convection/roe.cpp index 84d82232f0f..0adcdd8dfd1 100644 --- a/SU2_CFD/src/numerics/NEMO/convection/roe.cpp +++ b/SU2_CFD/src/numerics/NEMO/convection/roe.cpp @@ -2,7 +2,7 @@ * \file roe.cpp * \brief Implementations of Roe-type schemes in NEMO. * \author S. R. Copeland, W. Maier, C. Garbacz - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp b/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp index 1af3c4033b0..86074441ca1 100644 --- a/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp +++ b/SU2_CFD/src/numerics/continuous_adjoint/adj_convection.cpp @@ -2,7 +2,7 @@ * \file adj_convection.cpp * \brief Implementation of adjoint convection numerics classes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp b/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp index 2fdf7a42cdc..a2a450e457a 100644 --- a/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp +++ b/SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp @@ -2,7 +2,7 @@ * \file adj_diffusion.cpp * \brief Implementation of adjoint diffusion numerics classes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp b/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp index f50bcfb8a39..276321ff978 100644 --- a/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp +++ b/SU2_CFD/src/numerics/continuous_adjoint/adj_sources.cpp @@ -2,7 +2,7 @@ * \file adj_sources.cpp * \brief Implementation of adjoint source numerics classes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp b/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp index 6149042eca2..70fc75c3b9c 100644 --- a/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp +++ b/SU2_CFD/src/numerics/elasticity/CFEAElasticity.cpp @@ -2,7 +2,7 @@ * \file CFEAElasticity.cpp * \brief Base class for all elasticity problems. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp b/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp index 8518ea05662..a9ae91c1d12 100644 --- a/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp +++ b/SU2_CFD/src/numerics/elasticity/CFEALinearElasticity.cpp @@ -2,7 +2,7 @@ * \file CFEALinearElasticity.cpp * \brief Classes for linear elasticity problems. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp b/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp index 93321d9ee55..82829b1d510 100644 --- a/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp +++ b/SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp @@ -3,7 +3,7 @@ * \brief This file contains the routines for setting the tangent matrix and * residual of a FEM nonlinear elastic structural problem. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp b/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp index c8d4dadebe1..3443e02a424 100644 --- a/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp +++ b/SU2_CFD/src/numerics/elasticity/nonlinear_models.cpp @@ -2,7 +2,7 @@ * \file nonlinear_models.cpp * \brief Definition of nonlinear constitutive models. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp b/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp index e5a2e52569e..8cd12d5184f 100644 --- a/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp +++ b/SU2_CFD/src/numerics/flow/convection/ausm_slau.cpp @@ -2,7 +2,7 @@ * \file ausm_slau.cpp * \brief Implementations of the AUSM-family of schemes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/centered.cpp b/SU2_CFD/src/numerics/flow/convection/centered.cpp index 282e59ece80..62fb21fa4de 100644 --- a/SU2_CFD/src/numerics/flow/convection/centered.cpp +++ b/SU2_CFD/src/numerics/flow/convection/centered.cpp @@ -2,7 +2,7 @@ * \file centered.cpp * \brief Implementations of centered schemes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/cusp.cpp b/SU2_CFD/src/numerics/flow/convection/cusp.cpp index b55b7f52e52..030844cb352 100644 --- a/SU2_CFD/src/numerics/flow/convection/cusp.cpp +++ b/SU2_CFD/src/numerics/flow/convection/cusp.cpp @@ -2,7 +2,7 @@ * \file cusp.cpp * \brief Implementation of the CUSP scheme. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/fds.cpp b/SU2_CFD/src/numerics/flow/convection/fds.cpp index 10a32dc9a00..5277d3834e8 100644 --- a/SU2_CFD/src/numerics/flow/convection/fds.cpp +++ b/SU2_CFD/src/numerics/flow/convection/fds.cpp @@ -2,7 +2,7 @@ * \file fds.cpp * \brief Implementation of Flux-Difference-Splitting schemes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/fvs.cpp b/SU2_CFD/src/numerics/flow/convection/fvs.cpp index bd3ad628ed0..6e16b7dba1d 100644 --- a/SU2_CFD/src/numerics/flow/convection/fvs.cpp +++ b/SU2_CFD/src/numerics/flow/convection/fvs.cpp @@ -2,7 +2,7 @@ * \file fvs.cpp * \brief Implementations of Flux-Vector-Splitting schemes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/hllc.cpp b/SU2_CFD/src/numerics/flow/convection/hllc.cpp index ddbbac87835..6fa329f1221 100644 --- a/SU2_CFD/src/numerics/flow/convection/hllc.cpp +++ b/SU2_CFD/src/numerics/flow/convection/hllc.cpp @@ -2,7 +2,7 @@ * \file hllc.cpp * \brief Implementations of HLLC schemes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/convection/roe.cpp b/SU2_CFD/src/numerics/flow/convection/roe.cpp index 006cb6a0b2c..5dbce713115 100644 --- a/SU2_CFD/src/numerics/flow/convection/roe.cpp +++ b/SU2_CFD/src/numerics/flow/convection/roe.cpp @@ -2,7 +2,7 @@ * \file roe.cpp * \brief Implementations of Roe-type schemes. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp index 47c08a5dba1..20d49fa469f 100644 --- a/SU2_CFD/src/numerics/flow/flow_diffusion.cpp +++ b/SU2_CFD/src/numerics/flow/flow_diffusion.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for discretization * of viscous fluxes in fluid flow problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/flow/flow_sources.cpp b/SU2_CFD/src/numerics/flow/flow_sources.cpp index cd268c27ba1..2fb164f3d1f 100644 --- a/SU2_CFD/src/numerics/flow/flow_sources.cpp +++ b/SU2_CFD/src/numerics/flow/flow_sources.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for integration * of source terms in fluid flow problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/radiation.cpp b/SU2_CFD/src/numerics/radiation.cpp index 2ea033116c7..fcc036a0e9a 100644 --- a/SU2_CFD/src/numerics/radiation.cpp +++ b/SU2_CFD/src/numerics/radiation.cpp @@ -3,7 +3,7 @@ * \brief This file contains the implementation of the numerical * methods for radiation. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/scalar/scalar_sources.cpp b/SU2_CFD/src/numerics/scalar/scalar_sources.cpp index 843dfdb3a27..135cf32f568 100644 --- a/SU2_CFD/src/numerics/scalar/scalar_sources.cpp +++ b/SU2_CFD/src/numerics/scalar/scalar_sources.cpp @@ -1,7 +1,7 @@ /*! * \file scalar_sources.cpp * \brief Implementation of numerics classes for integration of scalar source-terms. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/species/species_sources.cpp b/SU2_CFD/src/numerics/species/species_sources.cpp index 44e968fdd67..06a26902b8a 100644 --- a/SU2_CFD/src/numerics/species/species_sources.cpp +++ b/SU2_CFD/src/numerics/species/species_sources.cpp @@ -3,7 +3,7 @@ * \brief Implementation of numerics classes for integration of * species transport source-terms. * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/numerics/template.cpp b/SU2_CFD/src/numerics/template.cpp index 8e940135d5b..d81bba8d32f 100644 --- a/SU2_CFD/src/numerics/template.cpp +++ b/SU2_CFD/src/numerics/template.cpp @@ -2,7 +2,7 @@ * \file template.cpp * \brief Empty implementation of numerics templates, see .hpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjElasticityOutput.cpp b/SU2_CFD/src/output/CAdjElasticityOutput.cpp index c01e8bb57c2..d0a1e00d0f8 100644 --- a/SU2_CFD/src/output/CAdjElasticityOutput.cpp +++ b/SU2_CFD/src/output/CAdjElasticityOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjElasticityOutput.cpp * \brief Main subroutines for elasticity discrete adjoint output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjFlowCompOutput.cpp b/SU2_CFD/src/output/CAdjFlowCompOutput.cpp index bb6a11e64f6..3f15fdf4910 100644 --- a/SU2_CFD/src/output/CAdjFlowCompOutput.cpp +++ b/SU2_CFD/src/output/CAdjFlowCompOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjFlowCompOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjFlowIncOutput.cpp b/SU2_CFD/src/output/CAdjFlowIncOutput.cpp index 5e44df33363..74dfbebcfd1 100644 --- a/SU2_CFD/src/output/CAdjFlowIncOutput.cpp +++ b/SU2_CFD/src/output/CAdjFlowIncOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjFlowIncOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjFlowOutput.cpp b/SU2_CFD/src/output/CAdjFlowOutput.cpp index 955a06eec0c..647fe42fcbd 100644 --- a/SU2_CFD/src/output/CAdjFlowOutput.cpp +++ b/SU2_CFD/src/output/CAdjFlowOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjFlowOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CAdjHeatOutput.cpp b/SU2_CFD/src/output/CAdjHeatOutput.cpp index 0dfc41ff62d..a908ee6e059 100644 --- a/SU2_CFD/src/output/CAdjHeatOutput.cpp +++ b/SU2_CFD/src/output/CAdjHeatOutput.cpp @@ -2,7 +2,7 @@ * \file CAdjHeatOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CBaselineOutput.cpp b/SU2_CFD/src/output/CBaselineOutput.cpp index 7213797afb4..167173fa183 100644 --- a/SU2_CFD/src/output/CBaselineOutput.cpp +++ b/SU2_CFD/src/output/CBaselineOutput.cpp @@ -2,7 +2,7 @@ * \file CBaselineOutput.cpp * \brief Main subroutines for flow discrete adjoint output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CElasticityOutput.cpp b/SU2_CFD/src/output/CElasticityOutput.cpp index c36e488744c..9bdf5d5eabf 100644 --- a/SU2_CFD/src/output/CElasticityOutput.cpp +++ b/SU2_CFD/src/output/CElasticityOutput.cpp @@ -2,7 +2,7 @@ * \file CElasticityOutput.cpp * \brief Main subroutines for FEA output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CFVMOutput.cpp b/SU2_CFD/src/output/CFVMOutput.cpp index 20de4d7abe6..554d6ae5e85 100644 --- a/SU2_CFD/src/output/CFVMOutput.cpp +++ b/SU2_CFD/src/output/CFVMOutput.cpp @@ -2,7 +2,7 @@ * \file CFVMOutput.cpp * \brief Main subroutines for Finite Volume Method output * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CFlowCompFEMOutput.cpp b/SU2_CFD/src/output/CFlowCompFEMOutput.cpp index be5c917ce11..50212107c17 100644 --- a/SU2_CFD/src/output/CFlowCompFEMOutput.cpp +++ b/SU2_CFD/src/output/CFlowCompFEMOutput.cpp @@ -2,7 +2,7 @@ * \file CFlowCompFEMOutput.cpp * \brief Main subroutines for compressible flow output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CFlowCompOutput.cpp b/SU2_CFD/src/output/CFlowCompOutput.cpp index 2806a546ed0..953c1d9015f 100644 --- a/SU2_CFD/src/output/CFlowCompOutput.cpp +++ b/SU2_CFD/src/output/CFlowCompOutput.cpp @@ -2,7 +2,7 @@ * \file CFlowCompOutput.cpp * \brief Main subroutines for compressible flow output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CFlowIncOutput.cpp b/SU2_CFD/src/output/CFlowIncOutput.cpp index 41d07cfc11e..ec2b2e108d2 100644 --- a/SU2_CFD/src/output/CFlowIncOutput.cpp +++ b/SU2_CFD/src/output/CFlowIncOutput.cpp @@ -2,7 +2,7 @@ * \file CFlowIncOutput.cpp * \brief Main subroutines for incompressible flow output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp index fea382e58c4..d24bedd03bf 100644 --- a/SU2_CFD/src/output/CFlowOutput.cpp +++ b/SU2_CFD/src/output/CFlowOutput.cpp @@ -2,7 +2,7 @@ * \file CFlowOutput.cpp * \brief Common functions for flow output. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * @@ -2248,7 +2248,7 @@ void CFlowOutput::WriteForcesBreakdown(const CConfig* config, const CSolver* flo file << "\n-------------------------------------------------------------------------\n"; file << "| ___ _ _ ___ |\n"; - file << "| / __| | | |_ ) Release 7.5.0 \"Blackbird\" |\n"; + file << "| / __| | | |_ ) Release 7.5.1 \"Blackbird\" |\n"; file << "| \\__ \\ |_| |/ / |\n"; file << "| |___/\\___//___| Suite (Computational Fluid Dynamics Code) |\n"; file << "| |\n"; diff --git a/SU2_CFD/src/output/CHeatOutput.cpp b/SU2_CFD/src/output/CHeatOutput.cpp index 395a185923f..6150f253480 100644 --- a/SU2_CFD/src/output/CHeatOutput.cpp +++ b/SU2_CFD/src/output/CHeatOutput.cpp @@ -2,7 +2,7 @@ * \file CHeatOutput.cpp * \brief Main subroutines for the heat solver output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CMeshOutput.cpp b/SU2_CFD/src/output/CMeshOutput.cpp index 304c7216424..b06c2441463 100644 --- a/SU2_CFD/src/output/CMeshOutput.cpp +++ b/SU2_CFD/src/output/CMeshOutput.cpp @@ -2,7 +2,7 @@ * \file CMeshOutput.cpp * \brief Main subroutines for the heat solver output * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CMultizoneOutput.cpp b/SU2_CFD/src/output/CMultizoneOutput.cpp index ed1c58fe070..f157fb39d74 100644 --- a/SU2_CFD/src/output/CMultizoneOutput.cpp +++ b/SU2_CFD/src/output/CMultizoneOutput.cpp @@ -2,7 +2,7 @@ * \file CMultizoneOutput.cpp * \brief Main subroutines for multizone output * \author R. Sanchez, T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp index 3c7ad35fdcb..e2c799e269f 100644 --- a/SU2_CFD/src/output/CNEMOCompOutput.cpp +++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp @@ -2,7 +2,7 @@ * \file CNEMOCompOutput.cpp * \brief Main subroutines for compressible flow output * \author W. Maier, R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/COutput.cpp b/SU2_CFD/src/output/COutput.cpp index 60a5d71dec0..9423831de01 100644 --- a/SU2_CFD/src/output/COutput.cpp +++ b/SU2_CFD/src/output/COutput.cpp @@ -2,7 +2,7 @@ * \file COutput.cpp * \brief Main subroutines for output solver information * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/COutputFactory.cpp b/SU2_CFD/src/output/COutputFactory.cpp index a4bb4636524..fe0de7c9397 100644 --- a/SU2_CFD/src/output/COutputFactory.cpp +++ b/SU2_CFD/src/output/COutputFactory.cpp @@ -2,7 +2,7 @@ * \file COutputFactory.cpp * \brief Main subroutines for output solver information * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp b/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp index be6e67753e4..4f1cfcb41cd 100644 --- a/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CCGNSFileWriter.cpp @@ -2,7 +2,7 @@ * \file CCGNSFileWriter.cpp * \brief Filewriter class for CGNS format. * \author G. Baldan - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp b/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp index 59e96dd0999..b1dfef3f5d2 100644 --- a/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CCSVFileWriter.cpp @@ -2,7 +2,7 @@ * \file CCSVFileWriter.cpp * \brief CSV Writer output class * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp index b44f3092119..0bb123b0c50 100644 --- a/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CFEMDataSorter.cpp @@ -2,7 +2,7 @@ * \file CFEMDataSorter.cpp * \brief Datasorter class for FEM solvers. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp index 986bd2c9449..fc7c0f6c811 100644 --- a/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CFVMDataSorter.cpp @@ -2,7 +2,7 @@ * \file CFVMDataSorter.cpp * \brief Datasorter class for FVM solvers. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp b/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp index 78eb54fb155..b11a4b24cde 100644 --- a/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CParallelDataSorter.cpp @@ -2,7 +2,7 @@ * \file CParallelDataSorter.cpp * \brief Datasorter base class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp index 9914f95a471..1a4f8c5d5cb 100644 --- a/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParallelFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParallelFileWriter.cpp * \brief Filewriter base class. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp index 9856f028bdf..aa22fb41f52 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewBinaryFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParaviewBinaryFileWriter.cpp * \brief Filewriter class for Paraview binary format. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp index 9c667c2f8c3..0b9d0ff41e0 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParaviewFileWriter.cpp * \brief Filewriter class for Paraview ASCII format. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp index 2ec8e64bd65..6e17ec84a01 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewVTMFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParaviewVTMFileWriter.cpp * \brief Filewriter class for Paraview binary format. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp b/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp index 88a89a4e81f..fb1572744e8 100644 --- a/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CParaviewXMLFileWriter.cpp @@ -2,7 +2,7 @@ * \file CParaviewXMLFileWriter.cpp * \brief Filewriter class for Paraview binary format. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp b/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp index f69e7272f0a..673e7727666 100644 --- a/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSTLFileWriter.cpp @@ -2,7 +2,7 @@ * \file CSTLFileWriter.cpp * \brief STL Writer output class * \author T. Kattmann, T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp b/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp index 5ccccb7669a..c782050d288 100644 --- a/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSU2BinaryFileWriter.cpp @@ -2,7 +2,7 @@ * \file CSU2BinaryFileWriter.cpp * \brief Filewriter class SU2 native binary format. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp b/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp index 3fb8e432c3f..abffd7d7a55 100644 --- a/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSU2FileWriter.cpp @@ -2,7 +2,7 @@ * \file CSU2FileWriter.cpp * \brief Filewriter class SU2 native ASCII (CSV) format. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp b/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp index c2c35328c74..6ffbfd63304 100644 --- a/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CSU2MeshFileWriter.cpp @@ -2,7 +2,7 @@ * \file CSU2MeshFileWriter.cpp * \brief Filewriter class SU2 native mesh format. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp index a5e9246c879..d8cdda2b214 100644 --- a/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CSurfaceFEMDataSorter.cpp @@ -2,7 +2,7 @@ * \file CSurfaceFEMDataSorter.cpp * \brief Datasorter for FEM surfaces. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp b/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp index 795c1907b26..7031c11190e 100644 --- a/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp +++ b/SU2_CFD/src/output/filewriter/CSurfaceFVMDataSorter.cpp @@ -2,7 +2,7 @@ * \file CSurfaceFVMDataSorter.cpp * \brief Datasorter for FVM surfaces. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp b/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp index 53e82a8af6b..1342cb73cbc 100644 --- a/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CTecplotBinaryFileWriter.cpp @@ -2,7 +2,7 @@ * \file CTecplotBinaryFileWriter.cpp * \brief Filewriter class for Tecplot binary format. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp b/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp index 813fbd90825..52fd61e6aa9 100644 --- a/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp +++ b/SU2_CFD/src/output/filewriter/CTecplotFileWriter.cpp @@ -2,7 +2,7 @@ * \file CTecplotFileWriter.cpp * \brief Filewriter class for Tecplot ASCII format. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/output_physics.cpp b/SU2_CFD/src/output/output_physics.cpp index d6c47fca957..47fc5203d35 100644 --- a/SU2_CFD/src/output/output_physics.cpp +++ b/SU2_CFD/src/output/output_physics.cpp @@ -2,7 +2,7 @@ * \file output_physics.cpp * \brief Main subroutines to compute physical output quantities such as CL, CD, entropy generation, mass flow, ecc... . * \author S. Vitale - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/output_structure_legacy.cpp b/SU2_CFD/src/output/output_structure_legacy.cpp index 062f5fbcbba..cdf6a468c74 100644 --- a/SU2_CFD/src/output/output_structure_legacy.cpp +++ b/SU2_CFD/src/output/output_structure_legacy.cpp @@ -2,7 +2,7 @@ * \file output_structure_legacy.cpp * \brief Main subroutines for output solver information * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/output/tools/CWindowingTools.cpp b/SU2_CFD/src/output/tools/CWindowingTools.cpp index 3785c416df5..1178fb06db4 100644 --- a/SU2_CFD/src/output/tools/CWindowingTools.cpp +++ b/SU2_CFD/src/output/tools/CWindowingTools.cpp @@ -2,7 +2,7 @@ * \file signal_processing_toolbox.cpp * \brief Signal processing tools * \author S. Schotthöfer - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/python_wrapper_structure.cpp b/SU2_CFD/src/python_wrapper_structure.cpp index ce93224bcde..32672e87eef 100644 --- a/SU2_CFD/src/python_wrapper_structure.cpp +++ b/SU2_CFD/src/python_wrapper_structure.cpp @@ -2,7 +2,7 @@ * \file python_wrapper_structure.cpp * \brief Driver subroutines that are used by the Python wrapper. Those routines are usually called from an external Python environment. * \author D. Thomas - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp index b48dc58019a..fde3afc43fa 100644 --- a/SU2_CFD/src/solvers/CAdjEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjEulerSolver.cpp @@ -2,7 +2,7 @@ * \file CAdjEulerSolver.cpp * \brief Main subroutines for solving Euler adjoint problems. * \author F. Palacios, T. Economon, H. Kline - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CAdjNSSolver.cpp b/SU2_CFD/src/solvers/CAdjNSSolver.cpp index cc86848a0a1..8ad4ef3e7cf 100644 --- a/SU2_CFD/src/solvers/CAdjNSSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjNSSolver.cpp @@ -2,7 +2,7 @@ * \file CAdjNSSolver.cpp * \brief Main subroutines for solving Navier-Stokes adjoint problems. * \author F. Palacios, T. Economon, H. Kline - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CAdjTurbSolver.cpp b/SU2_CFD/src/solvers/CAdjTurbSolver.cpp index 690088af82c..e6e9ad5724e 100644 --- a/SU2_CFD/src/solvers/CAdjTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CAdjTurbSolver.cpp @@ -2,7 +2,7 @@ * \file CAdjTurbVariable.cpp * \brief Main subroutines for solving turbulent adjoint problems. * \author F. Palacios, A. Bueno, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CBaselineSolver.cpp b/SU2_CFD/src/solvers/CBaselineSolver.cpp index b803f54aa33..03a305abc42 100644 --- a/SU2_CFD/src/solvers/CBaselineSolver.cpp +++ b/SU2_CFD/src/solvers/CBaselineSolver.cpp @@ -2,7 +2,7 @@ * \file CBaselineSolver.cpp * \brief Main subroutines for CBaselineSolver class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp b/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp index 3af40489ff7..a15877d0d4e 100644 --- a/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp +++ b/SU2_CFD/src/solvers/CBaselineSolver_FEM.cpp @@ -2,7 +2,7 @@ * \file CBaselineSolver_FEM.cpp * \brief Main subroutines for CBaselineSolver_FEM class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp b/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp index 62938ec4cd7..025cb20e82e 100644 --- a/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp +++ b/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEASolver.cpp * \brief Main subroutines for solving adjoint FEM elasticity problems. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp b/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp index 5cc8c5f50f4..d676990d8df 100644 --- a/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp +++ b/SU2_CFD/src/solvers/CDiscAdjMeshSolver.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjMeshSolver.cpp * \brief Main subroutines for solving the discrete adjoint mesh problem. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CDiscAdjSolver.cpp b/SU2_CFD/src/solvers/CDiscAdjSolver.cpp index 6e18321f203..29f42b3fc94 100644 --- a/SU2_CFD/src/solvers/CDiscAdjSolver.cpp +++ b/SU2_CFD/src/solvers/CDiscAdjSolver.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjSolver.cpp * \brief Main subroutines for solving the discrete adjoint problem. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp index 7b90afc25ec..f44f76817fa 100644 --- a/SU2_CFD/src/solvers/CEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CEulerSolver.cpp @@ -2,7 +2,7 @@ * \file CEulerSolver.cpp * \brief Main subroutines for solving Finite-Volume Euler flow problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CFEASolver.cpp b/SU2_CFD/src/solvers/CFEASolver.cpp index 54fb8e08b2d..69b93a180e3 100644 --- a/SU2_CFD/src/solvers/CFEASolver.cpp +++ b/SU2_CFD/src/solvers/CFEASolver.cpp @@ -2,7 +2,7 @@ * \file CFEASolver.cpp * \brief Main subroutines for solving direct FEM elasticity problems. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CFEASolverBase.cpp b/SU2_CFD/src/solvers/CFEASolverBase.cpp index db79085f8db..23bd6af4cb8 100644 --- a/SU2_CFD/src/solvers/CFEASolverBase.cpp +++ b/SU2_CFD/src/solvers/CFEASolverBase.cpp @@ -2,7 +2,7 @@ * \file CFEASolverBase.cpp * \brief Common class template for FEA solvers * \author T. Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp index e2e5f5286c4..7acc893e986 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_EulerSolver.cpp @@ -2,7 +2,7 @@ * \file CFEM_DG_EulerSolver.cpp * \brief Main subroutines for solving finite element Euler flow problems * \author J. Alonso, E. van der Weide, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp b/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp index 5de4066a07f..414983c6679 100644 --- a/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp +++ b/SU2_CFD/src/solvers/CFEM_DG_NSSolver.cpp @@ -2,7 +2,7 @@ * \file CFEM_DG_NSSolver.cpp * \brief Main subroutines for solving finite element Navier-Stokes flow problems * \author J. Alonso, E. van der Weide, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp b/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp index f297881a9f7..226d49962f0 100644 --- a/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp +++ b/SU2_CFD/src/solvers/CGradientSmoothingSolver.cpp @@ -2,7 +2,7 @@ * \file CGradientSmoothing.cpp * \brief Main solver routines for the gradient smoothing problem. * \author T. Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CHeatSolver.cpp b/SU2_CFD/src/solvers/CHeatSolver.cpp index 605fa3a85eb..a7a3b1e30d3 100644 --- a/SU2_CFD/src/solvers/CHeatSolver.cpp +++ b/SU2_CFD/src/solvers/CHeatSolver.cpp @@ -2,7 +2,7 @@ * \file CHeatSolver.cpp * \brief Main subroutines for solving the heat equation * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CIncEulerSolver.cpp b/SU2_CFD/src/solvers/CIncEulerSolver.cpp index 7e06737e359..1749ae096f2 100644 --- a/SU2_CFD/src/solvers/CIncEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CIncEulerSolver.cpp @@ -2,7 +2,7 @@ * \file CIncEulerSolver.cpp * \brief Main subroutines for solving incompressible flow (Euler, Navier-Stokes, etc.). * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CIncNSSolver.cpp b/SU2_CFD/src/solvers/CIncNSSolver.cpp index d2e1d7170e7..ea9fc7a1bdb 100644 --- a/SU2_CFD/src/solvers/CIncNSSolver.cpp +++ b/SU2_CFD/src/solvers/CIncNSSolver.cpp @@ -2,7 +2,7 @@ * \file CIncNSSolver.cpp * \brief Main subroutines for solving Navier-Stokes incompressible flow. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CMeshSolver.cpp b/SU2_CFD/src/solvers/CMeshSolver.cpp index 59ae0bee097..77470e620fb 100644 --- a/SU2_CFD/src/solvers/CMeshSolver.cpp +++ b/SU2_CFD/src/solvers/CMeshSolver.cpp @@ -2,7 +2,7 @@ * \file CMeshSolver.cpp * \brief Main subroutines to solve moving meshes using a pseudo-linear elastic approach. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp index c0a791351f2..dcca84abbeb 100644 --- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp @@ -2,7 +2,7 @@ * \file CNEMOEulerSolver.cpp * \brief Headers of the CNEMOEulerSolver class * \author S. R. Copeland, F. Palacios, W. Maier, C. Garbacz, J. Needels - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CNEMONSSolver.cpp b/SU2_CFD/src/solvers/CNEMONSSolver.cpp index 91c7e221709..98d960b76f1 100644 --- a/SU2_CFD/src/solvers/CNEMONSSolver.cpp +++ b/SU2_CFD/src/solvers/CNEMONSSolver.cpp @@ -2,7 +2,7 @@ * \file CNEMONSSolver.cpp * \brief Headers of the CNEMONSSolver class * \author S. R. Copeland, F. Palacios, W. Maier. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CNSSolver.cpp b/SU2_CFD/src/solvers/CNSSolver.cpp index b41479139d7..dcbedda2907 100644 --- a/SU2_CFD/src/solvers/CNSSolver.cpp +++ b/SU2_CFD/src/solvers/CNSSolver.cpp @@ -2,7 +2,7 @@ * \file CNSSolver.cpp * \brief Main subroutines for solving Finite-Volume Navier-Stokes flow problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CRadP1Solver.cpp b/SU2_CFD/src/solvers/CRadP1Solver.cpp index f87c71b3d1d..f25d41fa945 100644 --- a/SU2_CFD/src/solvers/CRadP1Solver.cpp +++ b/SU2_CFD/src/solvers/CRadP1Solver.cpp @@ -2,7 +2,7 @@ * \file CRadP1Solver.cpp * \brief Main subroutines for solving P1 radiation problems. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CRadSolver.cpp b/SU2_CFD/src/solvers/CRadSolver.cpp index 1cede6fe7fb..5b03fa966e0 100644 --- a/SU2_CFD/src/solvers/CRadSolver.cpp +++ b/SU2_CFD/src/solvers/CRadSolver.cpp @@ -2,7 +2,7 @@ * \file CRadP1Solver.cpp * \brief Main subroutines for solving generic radiation problems (P1, M1, discrete ordinates...) * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CSolver.cpp b/SU2_CFD/src/solvers/CSolver.cpp index 25a7afc482b..357b43dee86 100644 --- a/SU2_CFD/src/solvers/CSolver.cpp +++ b/SU2_CFD/src/solvers/CSolver.cpp @@ -2,7 +2,7 @@ * \file CSolver.cpp * \brief Main subroutines for CSolver class. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CSolverFactory.cpp b/SU2_CFD/src/solvers/CSolverFactory.cpp index 8f2bd971253..02843124a4f 100644 --- a/SU2_CFD/src/solvers/CSolverFactory.cpp +++ b/SU2_CFD/src/solvers/CSolverFactory.cpp @@ -2,7 +2,7 @@ * \file CSolverFactory.cpp * \brief Main subroutines for CSolverFactoryclass. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CSpeciesSolver.cpp b/SU2_CFD/src/solvers/CSpeciesSolver.cpp index c9241aa21de..690de424eee 100644 --- a/SU2_CFD/src/solvers/CSpeciesSolver.cpp +++ b/SU2_CFD/src/solvers/CSpeciesSolver.cpp @@ -2,7 +2,7 @@ * \file CSpeciesSolver.cpp * \brief Main subroutines of CSpeciesSolver class * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CTemplateSolver.cpp b/SU2_CFD/src/solvers/CTemplateSolver.cpp index ed43756962f..133e441cd03 100644 --- a/SU2_CFD/src/solvers/CTemplateSolver.cpp +++ b/SU2_CFD/src/solvers/CTemplateSolver.cpp @@ -2,7 +2,7 @@ * \file CTemplateSolver.cpp * \brief Subroutines to be implemented for any new solvers * \author F. Palacios - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CTransLMSolver.cpp b/SU2_CFD/src/solvers/CTransLMSolver.cpp index c6a4fa48ac0..209f07c87c8 100644 --- a/SU2_CFD/src/solvers/CTransLMSolver.cpp +++ b/SU2_CFD/src/solvers/CTransLMSolver.cpp @@ -2,7 +2,7 @@ * \file CTransLMSolver.cpp * \brief Main subroutines for Langtry-Menter Transition model solver. * \author A. Aranake, S. Kang. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CTurbSASolver.cpp b/SU2_CFD/src/solvers/CTurbSASolver.cpp index 54f81838d20..adb7ac7c009 100644 --- a/SU2_CFD/src/solvers/CTurbSASolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSASolver.cpp @@ -2,7 +2,7 @@ * \file CTurbSASolver.cpp * \brief Main subroutines of CTurbSASolver class * \author F. Palacios, A. Bueno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp index 1ef2d9222f8..f9fdd16dffb 100644 --- a/SU2_CFD/src/solvers/CTurbSSTSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSSTSolver.cpp @@ -2,7 +2,7 @@ * \file CTurbSSTSolver.cpp * \brief Main subroutines of CTurbSSTSolver class * \author F. Palacios, A. Bueno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/solvers/CTurbSolver.cpp b/SU2_CFD/src/solvers/CTurbSolver.cpp index de8ce030df1..d68c550d185 100644 --- a/SU2_CFD/src/solvers/CTurbSolver.cpp +++ b/SU2_CFD/src/solvers/CTurbSolver.cpp @@ -2,7 +2,7 @@ * \file CTurbSolver.cpp * \brief Main subroutines of CTurbSolver class * \author F. Palacios, A. Bueno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CAdjEulerVariable.cpp b/SU2_CFD/src/variables/CAdjEulerVariable.cpp index 7664ce0b047..b574543155b 100644 --- a/SU2_CFD/src/variables/CAdjEulerVariable.cpp +++ b/SU2_CFD/src/variables/CAdjEulerVariable.cpp @@ -2,7 +2,7 @@ * \file CAdjEulerVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CAdjNSVariable.cpp b/SU2_CFD/src/variables/CAdjNSVariable.cpp index 23bcee45269..f15985ddc67 100644 --- a/SU2_CFD/src/variables/CAdjNSVariable.cpp +++ b/SU2_CFD/src/variables/CAdjNSVariable.cpp @@ -2,7 +2,7 @@ * \file CAdjNSVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CAdjTurbVariable.cpp b/SU2_CFD/src/variables/CAdjTurbVariable.cpp index 73da0ab2374..73a170b57c0 100644 --- a/SU2_CFD/src/variables/CAdjTurbVariable.cpp +++ b/SU2_CFD/src/variables/CAdjTurbVariable.cpp @@ -2,7 +2,7 @@ * \file CAdjTurbVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CBaselineVariable.cpp b/SU2_CFD/src/variables/CBaselineVariable.cpp index 7c0d86e6886..4787d900518 100644 --- a/SU2_CFD/src/variables/CBaselineVariable.cpp +++ b/SU2_CFD/src/variables/CBaselineVariable.cpp @@ -2,7 +2,7 @@ * \file CBaselineVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp b/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp index 40fe64ebdd2..2dbe42cc2fc 100644 --- a/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp +++ b/SU2_CFD/src/variables/CDiscAdjFEABoundVariable.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjFEAVariable.cpp * \brief Definition of the variables for FEM adjoint elastic structural problems. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp b/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp index 21f786b72b7..1fd7a9bdc7d 100644 --- a/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp +++ b/SU2_CFD/src/variables/CDiscAdjMeshBoundVariable.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjMeshVariable.cpp * \brief Main subroutines for the discrete adjoint mesh variable structure. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CDiscAdjVariable.cpp b/SU2_CFD/src/variables/CDiscAdjVariable.cpp index 815f1e91153..a08a0cf88e0 100644 --- a/SU2_CFD/src/variables/CDiscAdjVariable.cpp +++ b/SU2_CFD/src/variables/CDiscAdjVariable.cpp @@ -2,7 +2,7 @@ * \file CDiscAdjVariable.cpp * \brief Main subroutines for the discrete adjoint variable structure. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CEulerVariable.cpp b/SU2_CFD/src/variables/CEulerVariable.cpp index cbd0d4d9d48..4a666042c96 100644 --- a/SU2_CFD/src/variables/CEulerVariable.cpp +++ b/SU2_CFD/src/variables/CEulerVariable.cpp @@ -2,7 +2,7 @@ * \file CEulerVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CFEABoundVariable.cpp b/SU2_CFD/src/variables/CFEABoundVariable.cpp index ce8b711d700..d61f6b2e524 100644 --- a/SU2_CFD/src/variables/CFEABoundVariable.cpp +++ b/SU2_CFD/src/variables/CFEABoundVariable.cpp @@ -2,7 +2,7 @@ * \file CFEABoundVariable.cpp * \brief Definition of the variables for FEM elastic structural problems. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CFEAVariable.cpp b/SU2_CFD/src/variables/CFEAVariable.cpp index 3ed473d7b32..a49a9d49c66 100644 --- a/SU2_CFD/src/variables/CFEAVariable.cpp +++ b/SU2_CFD/src/variables/CFEAVariable.cpp @@ -2,7 +2,7 @@ * \file CFEAVariable.cpp * \brief Definition of the variables for FEM elastic structural problems. * \author R. Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CFlowVariable.cpp b/SU2_CFD/src/variables/CFlowVariable.cpp index b01ef26db52..09bc5e0f889 100644 --- a/SU2_CFD/src/variables/CFlowVariable.cpp +++ b/SU2_CFD/src/variables/CFlowVariable.cpp @@ -1,7 +1,7 @@ /*! * \file CFlowVariable.cpp * \brief Definition of common solution fields for flow solvers. - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CHeatVariable.cpp b/SU2_CFD/src/variables/CHeatVariable.cpp index b0524a2c192..f87420cea98 100644 --- a/SU2_CFD/src/variables/CHeatVariable.cpp +++ b/SU2_CFD/src/variables/CHeatVariable.cpp @@ -2,7 +2,7 @@ * \file CHeatVariable.cpp * \brief Definition of the variables for heat equation problems. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CIncEulerVariable.cpp b/SU2_CFD/src/variables/CIncEulerVariable.cpp index 382c250810f..c1bc702e54a 100644 --- a/SU2_CFD/src/variables/CIncEulerVariable.cpp +++ b/SU2_CFD/src/variables/CIncEulerVariable.cpp @@ -2,7 +2,7 @@ * \file CIncEulerVariable.cpp * \brief Definition of the variable classes for incompressible flow. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CIncNSVariable.cpp b/SU2_CFD/src/variables/CIncNSVariable.cpp index bd7f16198ef..c000575c218 100644 --- a/SU2_CFD/src/variables/CIncNSVariable.cpp +++ b/SU2_CFD/src/variables/CIncNSVariable.cpp @@ -2,7 +2,7 @@ * \file CIncNSVariable.cpp * \brief Definition of the variable classes for incompressible flow. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CMeshBoundVariable.cpp b/SU2_CFD/src/variables/CMeshBoundVariable.cpp index 4f19cbbb8e5..6095b8c74d0 100644 --- a/SU2_CFD/src/variables/CMeshBoundVariable.cpp +++ b/SU2_CFD/src/variables/CMeshBoundVariable.cpp @@ -2,7 +2,7 @@ * \file CMeshBoundVariable.cpp * \brief Definition of the boundary variables for mesh motion using a pseudo-elastic approach. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CMeshElement.cpp b/SU2_CFD/src/variables/CMeshElement.cpp index 81ab82e97b9..f0ddf7ab66b 100644 --- a/SU2_CFD/src/variables/CMeshElement.cpp +++ b/SU2_CFD/src/variables/CMeshElement.cpp @@ -2,7 +2,7 @@ * \file CMeshElement.cpp * \brief Definition of the mesh elements for mesh deformation using a pseudo-elastic approach. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CMeshVariable.cpp b/SU2_CFD/src/variables/CMeshVariable.cpp index 7b39af70874..aebd29bbf2e 100644 --- a/SU2_CFD/src/variables/CMeshVariable.cpp +++ b/SU2_CFD/src/variables/CMeshVariable.cpp @@ -2,7 +2,7 @@ * \file CMeshVariable.cpp * \brief Definition of the variables for mesh motion using a pseudo-elastic approach. * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp index 76a0cab7faf..268219fec5a 100644 --- a/SU2_CFD/src/variables/CNEMOEulerVariable.cpp +++ b/SU2_CFD/src/variables/CNEMOEulerVariable.cpp @@ -2,7 +2,7 @@ * \file CNEMOEulerVariable.cpp * \brief Definition of the solution fields. * \author C. Garbacz, W. Maier, S.R. Copeland - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CNEMONSVariable.cpp b/SU2_CFD/src/variables/CNEMONSVariable.cpp index a9a779fa43e..d0f09b4bf65 100644 --- a/SU2_CFD/src/variables/CNEMONSVariable.cpp +++ b/SU2_CFD/src/variables/CNEMONSVariable.cpp @@ -2,7 +2,7 @@ * \file CNEMONSVariable.cpp * \brief Definition of the solution fields. * \author C. Garbacz, W. Maier, S.R. Copeland - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CNSVariable.cpp b/SU2_CFD/src/variables/CNSVariable.cpp index 6e342b996d6..ec278b27ae1 100644 --- a/SU2_CFD/src/variables/CNSVariable.cpp +++ b/SU2_CFD/src/variables/CNSVariable.cpp @@ -2,7 +2,7 @@ * \file CNSVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CRadP1Variable.cpp b/SU2_CFD/src/variables/CRadP1Variable.cpp index 561625c1531..7d8a3f7f43c 100644 --- a/SU2_CFD/src/variables/CRadP1Variable.cpp +++ b/SU2_CFD/src/variables/CRadP1Variable.cpp @@ -2,7 +2,7 @@ * \file CRadP1Variable.cpp * \brief Definition of the P1 model variables * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CRadVariable.cpp b/SU2_CFD/src/variables/CRadVariable.cpp index 78f62641b33..b50a054c41f 100644 --- a/SU2_CFD/src/variables/CRadVariable.cpp +++ b/SU2_CFD/src/variables/CRadVariable.cpp @@ -2,7 +2,7 @@ * \file CRadVariable.cpp * \brief Definition of the radiation variables * \author Ruben Sanchez - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CScalarVariable.cpp b/SU2_CFD/src/variables/CScalarVariable.cpp index 46f11d086f6..e516cfa7c2e 100644 --- a/SU2_CFD/src/variables/CScalarVariable.cpp +++ b/SU2_CFD/src/variables/CScalarVariable.cpp @@ -2,7 +2,7 @@ * \file CScalarVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp b/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp index d492e6afeed..523c1dd78a8 100644 --- a/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp +++ b/SU2_CFD/src/variables/CSobolevSmoothingVariable.cpp @@ -2,7 +2,7 @@ * \file CSobolevSmoothingVariable.cpp * \brief Definition of the variables for gradient smoothing problems. * \author T. Dick - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CSpeciesVariable.cpp b/SU2_CFD/src/variables/CSpeciesVariable.cpp index cbfdfe821be..67e07ca2c88 100644 --- a/SU2_CFD/src/variables/CSpeciesVariable.cpp +++ b/SU2_CFD/src/variables/CSpeciesVariable.cpp @@ -2,7 +2,7 @@ * \file CSpeciesVariable.cpp * \brief Definition of the solution fields. * \author T. Kattmann - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CTransLMVariable.cpp b/SU2_CFD/src/variables/CTransLMVariable.cpp index 2ec5a111cf0..31610502131 100644 --- a/SU2_CFD/src/variables/CTransLMVariable.cpp +++ b/SU2_CFD/src/variables/CTransLMVariable.cpp @@ -2,7 +2,7 @@ * \file CTransLMVariable.cpp * \brief Definition of the solution fields. * \author A. Aranake, S. Kang - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CTurbSAVariable.cpp b/SU2_CFD/src/variables/CTurbSAVariable.cpp index e09a5ce90b8..c49c261b46d 100644 --- a/SU2_CFD/src/variables/CTurbSAVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSAVariable.cpp @@ -2,7 +2,7 @@ * \file CTurbSAVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CTurbSSTVariable.cpp b/SU2_CFD/src/variables/CTurbSSTVariable.cpp index 51fc8280031..3a54562e438 100644 --- a/SU2_CFD/src/variables/CTurbSSTVariable.cpp +++ b/SU2_CFD/src/variables/CTurbSSTVariable.cpp @@ -2,7 +2,7 @@ * \file CTurbSSTVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CTurbVariable.cpp b/SU2_CFD/src/variables/CTurbVariable.cpp index 61646ee5e6e..9a139f8490f 100644 --- a/SU2_CFD/src/variables/CTurbVariable.cpp +++ b/SU2_CFD/src/variables/CTurbVariable.cpp @@ -2,7 +2,7 @@ * \file CTurbVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, A. Bueno - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_CFD/src/variables/CVariable.cpp b/SU2_CFD/src/variables/CVariable.cpp index f56454e8d0b..01d22d7e0af 100644 --- a/SU2_CFD/src/variables/CVariable.cpp +++ b/SU2_CFD/src/variables/CVariable.cpp @@ -2,7 +2,7 @@ * \file CVariable.cpp * \brief Definition of the solution fields. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_DEF/include/SU2_DEF.hpp b/SU2_DEF/include/SU2_DEF.hpp index d3ced987b54..395fcc804e5 100644 --- a/SU2_DEF/include/SU2_DEF.hpp +++ b/SU2_DEF/include/SU2_DEF.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_DEF. * The subroutines and functions are in the SU2_DEF.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_DEF/obj/Makefile.am b/SU2_DEF/obj/Makefile.am index b51a672dd46..0704502da65 100644 --- a/SU2_DEF/obj/Makefile.am +++ b/SU2_DEF/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_DEF # \author M. Colonno, T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_DEF/src/SU2_DEF.cpp b/SU2_DEF/src/SU2_DEF.cpp index a4498108482..77bee3b5fab 100644 --- a/SU2_DEF/src/SU2_DEF.cpp +++ b/SU2_DEF/src/SU2_DEF.cpp @@ -2,7 +2,7 @@ * \file SU2_DEF.cpp * \brief Main file of Mesh Deformation Code (SU2_DEF). * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_DOT/include/SU2_DOT.hpp b/SU2_DOT/include/SU2_DOT.hpp index 227e9cae702..0a0d9b2482b 100644 --- a/SU2_DOT/include/SU2_DOT.hpp +++ b/SU2_DOT/include/SU2_DOT.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_DOT. * The subroutines and functions are in the SU2_DOT.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_DOT/obj/Makefile.am b/SU2_DOT/obj/Makefile.am index 837a2312fb5..238b66fd3a4 100644 --- a/SU2_DOT/obj/Makefile.am +++ b/SU2_DOT/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_DOT # \author M. Colonno, T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_DOT/src/SU2_DOT.cpp b/SU2_DOT/src/SU2_DOT.cpp index becbac9c963..75e057d319d 100644 --- a/SU2_DOT/src/SU2_DOT.cpp +++ b/SU2_DOT/src/SU2_DOT.cpp @@ -2,7 +2,7 @@ * \file SU2_DOT.cpp * \brief Main file of the Gradient Projection Code (SU2_DOT). * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_GEO/include/SU2_GEO.hpp b/SU2_GEO/include/SU2_GEO.hpp index d59e3b05b37..9752149364e 100644 --- a/SU2_GEO/include/SU2_GEO.hpp +++ b/SU2_GEO/include/SU2_GEO.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_GEO. * The subroutines and functions are in the SU2_GEO.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_GEO/obj/Makefile.am b/SU2_GEO/obj/Makefile.am index d667c2b406e..16676446325 100644 --- a/SU2_GEO/obj/Makefile.am +++ b/SU2_GEO/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_GEO # \author M. Colonno, T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_GEO/src/SU2_GEO.cpp b/SU2_GEO/src/SU2_GEO.cpp index 4bbe383dc2c..ffe89dd510a 100644 --- a/SU2_GEO/src/SU2_GEO.cpp +++ b/SU2_GEO/src/SU2_GEO.cpp @@ -2,7 +2,7 @@ * \file SU2_GEO.cpp * \brief Main file of the Geometry Definition Code (SU2_GEO). * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_PY/FSI_tools/FSIInterface.py b/SU2_PY/FSI_tools/FSIInterface.py index 47306c79122..7e2f19403e2 100644 --- a/SU2_PY/FSI_tools/FSIInterface.py +++ b/SU2_PY/FSI_tools/FSIInterface.py @@ -3,7 +3,7 @@ ## \file FSIInterface.py # \brief FSI interface class that handles fluid/solid solvers synchronisation and communication. # \authors Nicola Fonzi, Vittorio Cavalieri based on the work of David Thomas -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/FSI_tools/FSI_config.py b/SU2_PY/FSI_tools/FSI_config.py index 5158ecdfeb3..2def017c750 100644 --- a/SU2_PY/FSI_tools/FSI_config.py +++ b/SU2_PY/FSI_tools/FSI_config.py @@ -3,7 +3,7 @@ ## \file FSI_config.py # \brief Python class for handling configuration file for FSI computation. # \authors Nicola Fonzi, Vittorio Cavalieri based on the work of David Thomas -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/Makefile.am b/SU2_PY/Makefile.am index 17727387f84..82985bf4202 100644 --- a/SU2_PY/Makefile.am +++ b/SU2_PY/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for the SU2 Python framework # \author M. Colonno, T. Economon, F. Palacios, T. Lukaczyk -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/OptimalPropeller.py b/SU2_PY/OptimalPropeller.py index 80844f85236..ef22e7db419 100644 --- a/SU2_PY/OptimalPropeller.py +++ b/SU2_PY/OptimalPropeller.py @@ -1,7 +1,7 @@ ## \file OptimalPropeller.py # \brief Python script for generating the ActuatorDisk.dat file. # \author E. Saetta, L. Russo, R. Tognaccini -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/eval/design.py b/SU2_PY/SU2/eval/design.py index d3bc255df05..82768dcd42f 100644 --- a/SU2_PY/SU2/eval/design.py +++ b/SU2_PY/SU2/eval/design.py @@ -3,7 +3,7 @@ ## \file design.py # \brief python package for designs # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/eval/functions.py b/SU2_PY/SU2/eval/functions.py index 56e64ce3740..78bb2f190a2 100644 --- a/SU2_PY/SU2/eval/functions.py +++ b/SU2_PY/SU2/eval/functions.py @@ -3,7 +3,7 @@ ## \file functions.py # \brief python package for functions # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/eval/gradients.py b/SU2_PY/SU2/eval/gradients.py index 62e4983618a..739001f24e4 100644 --- a/SU2_PY/SU2/eval/gradients.py +++ b/SU2_PY/SU2/eval/gradients.py @@ -3,7 +3,7 @@ ## \file gradients.py # \brief python package for gradients # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/config.py b/SU2_PY/SU2/io/config.py index 94ae60971eb..2376dcf0408 100755 --- a/SU2_PY/SU2/io/config.py +++ b/SU2_PY/SU2/io/config.py @@ -3,7 +3,7 @@ ## \file config.py # \brief python package for config # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/config_options.py b/SU2_PY/SU2/io/config_options.py index 049abcbf4c4..6423e8499d0 100644 --- a/SU2_PY/SU2/io/config_options.py +++ b/SU2_PY/SU2/io/config_options.py @@ -1,7 +1,7 @@ # \file config_options.py # \brief python package for config # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/data.py b/SU2_PY/SU2/io/data.py index c975caf2bff..ee667f0d18d 100644 --- a/SU2_PY/SU2/io/data.py +++ b/SU2_PY/SU2/io/data.py @@ -3,7 +3,7 @@ ## \file data.py # \brief python package for data utility functions # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/filelock.py b/SU2_PY/SU2/io/filelock.py index 4c2b3f1b6bd..87da207295f 100644 --- a/SU2_PY/SU2/io/filelock.py +++ b/SU2_PY/SU2/io/filelock.py @@ -3,7 +3,7 @@ ## \file filelock.py # \brief python package for filelocking # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/redirect.py b/SU2_PY/SU2/io/redirect.py index 3dc964968e5..9f2d4e4f4ac 100644 --- a/SU2_PY/SU2/io/redirect.py +++ b/SU2_PY/SU2/io/redirect.py @@ -3,7 +3,7 @@ ## \file redirect.py # \brief python package for file redirection # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/state.py b/SU2_PY/SU2/io/state.py index e2a1710f3aa..5350df9fdbc 100644 --- a/SU2_PY/SU2/io/state.py +++ b/SU2_PY/SU2/io/state.py @@ -3,7 +3,7 @@ ## \file state.py # \brief python package for state # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/io/tools.py b/SU2_PY/SU2/io/tools.py index 334002ea156..00a52e16cd2 100755 --- a/SU2_PY/SU2/io/tools.py +++ b/SU2_PY/SU2/io/tools.py @@ -3,7 +3,7 @@ ## \file tools.py # \brief file i/o functions # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/opt/project.py b/SU2_PY/SU2/opt/project.py index 16d1aa8133e..f8cd6cd218e 100644 --- a/SU2_PY/SU2/opt/project.py +++ b/SU2_PY/SU2/opt/project.py @@ -3,7 +3,7 @@ ## \file project.py # \brief package for optimization projects # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/opt/scipy_tools.py b/SU2_PY/SU2/opt/scipy_tools.py index 94d33e9d9ba..012d785e22d 100644 --- a/SU2_PY/SU2/opt/scipy_tools.py +++ b/SU2_PY/SU2/opt/scipy_tools.py @@ -3,7 +3,7 @@ ## \file scipy_tools.py # \brief tools for interfacing with scipy # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/adjoint.py b/SU2_PY/SU2/run/adjoint.py index 35f4106ba1f..42a18d7b14e 100644 --- a/SU2_PY/SU2/run/adjoint.py +++ b/SU2_PY/SU2/run/adjoint.py @@ -3,7 +3,7 @@ ## \file adjoint.py # \brief python package for running adjoint problems # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/deform.py b/SU2_PY/SU2/run/deform.py index 3a07d9c97c7..2c8de878a15 100644 --- a/SU2_PY/SU2/run/deform.py +++ b/SU2_PY/SU2/run/deform.py @@ -3,7 +3,7 @@ ## \file deform.py # \brief python package for deforming meshes # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/direct.py b/SU2_PY/SU2/run/direct.py index 47f3d28627a..6ce9dd050d9 100644 --- a/SU2_PY/SU2/run/direct.py +++ b/SU2_PY/SU2/run/direct.py @@ -3,7 +3,7 @@ ## \file direct.py # \brief python package for running direct solutions # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/geometry.py b/SU2_PY/SU2/run/geometry.py index 9dd9117088f..5180d6862b0 100644 --- a/SU2_PY/SU2/run/geometry.py +++ b/SU2_PY/SU2/run/geometry.py @@ -3,7 +3,7 @@ ## \file geometry.py # \brief python package for running geometry analyses # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/interface.py b/SU2_PY/SU2/run/interface.py index fd0f3829517..cf9df54768f 100644 --- a/SU2_PY/SU2/run/interface.py +++ b/SU2_PY/SU2/run/interface.py @@ -3,7 +3,7 @@ ## \file interface.py # \brief python package interfacing with the SU2 suite # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/merge.py b/SU2_PY/SU2/run/merge.py index eff5e7878a8..e520df3b440 100644 --- a/SU2_PY/SU2/run/merge.py +++ b/SU2_PY/SU2/run/merge.py @@ -1,7 +1,7 @@ ## \file merge.py # \brief python package for merging meshes # \author T. Economon, T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/run/projection.py b/SU2_PY/SU2/run/projection.py index baef91c8cdd..6b4ced709bf 100644 --- a/SU2_PY/SU2/run/projection.py +++ b/SU2_PY/SU2/run/projection.py @@ -3,7 +3,7 @@ ## \file projection.py # \brief python package for running gradient projection # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/util/filter_adjoint.py b/SU2_PY/SU2/util/filter_adjoint.py index d8c9ad3dbb2..b59283535dd 100644 --- a/SU2_PY/SU2/util/filter_adjoint.py +++ b/SU2_PY/SU2/util/filter_adjoint.py @@ -3,7 +3,7 @@ ## \file filter_adjoint.py # \brief Applies various filters to the adjoint surface sensitivities of an airfoil # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/util/plot.py b/SU2_PY/SU2/util/plot.py index bc0632ed7f4..d07a510f37d 100644 --- a/SU2_PY/SU2/util/plot.py +++ b/SU2_PY/SU2/util/plot.py @@ -3,7 +3,7 @@ ## \file plot.py # \brief python package for plotting # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/util/polarSweepLib.py b/SU2_PY/SU2/util/polarSweepLib.py index 8aa482c89ea..7d79f1b3dde 100755 --- a/SU2_PY/SU2/util/polarSweepLib.py +++ b/SU2_PY/SU2/util/polarSweepLib.py @@ -2,7 +2,7 @@ # \file polarSweepLib.py # \brief Functions library for compute_polar.py script. # \author E Arad -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2/util/which.py b/SU2_PY/SU2/util/which.py index a6f1c6c6470..512c7e954e1 100644 --- a/SU2_PY/SU2/util/which.py +++ b/SU2_PY/SU2/util/which.py @@ -3,7 +3,7 @@ ## \file which.py # \brief looks for where a program is # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2_CFD.py b/SU2_PY/SU2_CFD.py index a977b396aec..22e58169db8 100755 --- a/SU2_PY/SU2_CFD.py +++ b/SU2_PY/SU2_CFD.py @@ -3,7 +3,7 @@ ## \file SU2_CFD.py # \brief Python script to launch SU2_CFD through the Python Wrapper. # \author David Thomas -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/SU2_Nastran/pysu2_nastran.py b/SU2_PY/SU2_Nastran/pysu2_nastran.py index 73dfb8c2df6..216bc22740f 100644 --- a/SU2_PY/SU2_Nastran/pysu2_nastran.py +++ b/SU2_PY/SU2_Nastran/pysu2_nastran.py @@ -3,7 +3,7 @@ ## \file pysu2_nastran.py # \brief Structural solver using Nastran models # \authors Nicola Fonzi, Vittorio Cavalieri, based on the work of David Thomas -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/change_version_number.py b/SU2_PY/change_version_number.py index 324c46ac692..e08811e006b 100755 --- a/SU2_PY/change_version_number.py +++ b/SU2_PY/change_version_number.py @@ -3,7 +3,7 @@ ## \file change_version_number.py # \brief Python script for updating the version number of the SU2 suite. # \author A. Aranake -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -42,8 +42,8 @@ if not options.version: parser.error("new version number must be provided with -v option") -oldvers = '7.5.0 "Blackbird"' -oldvers_q= r'7.5.0 \"Blackbird\"' +oldvers = '7.5.1 "Blackbird"' +oldvers_q= r'7.5.1 \"Blackbird\"' newvers = str(options.version) + ' "' + str(options.releasename) + '"' newvers_q= str(options.version) + ' \\"' + str(options.releasename) + '\\"' #oldvers = 'Copyright 2012-2023, SU2' diff --git a/SU2_PY/compute_multipoint.py b/SU2_PY/compute_multipoint.py index fbaadbfc0c5..d4e41067a3d 100755 --- a/SU2_PY/compute_multipoint.py +++ b/SU2_PY/compute_multipoint.py @@ -3,7 +3,7 @@ ## \file Compute_multipoint.py # \brief Python script for performing a multipoint design. # \author Indiana Stokes -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/compute_polar.py b/SU2_PY/compute_polar.py index 5e592aee4f3..af8562caaf7 100755 --- a/SU2_PY/compute_polar.py +++ b/SU2_PY/compute_polar.py @@ -3,7 +3,7 @@ ## \file Compute_polar.py # \brief Python script for performing polar sweep. # \author E Arad (based on T. Lukaczyk and F. Palacios script) -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/compute_stability.py b/SU2_PY/compute_stability.py index be1256a6f67..d2284274df0 100755 --- a/SU2_PY/compute_stability.py +++ b/SU2_PY/compute_stability.py @@ -3,7 +3,7 @@ ## \file compute_stability.py # \brief Python script for performing the shape optimization. # \author T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/compute_uncertainty.py b/SU2_PY/compute_uncertainty.py index 11f907d7d3c..3d2f0905aeb 100755 --- a/SU2_PY/compute_uncertainty.py +++ b/SU2_PY/compute_uncertainty.py @@ -3,7 +3,7 @@ ## \file compute_uncertainty.py # \brief Python script for performing model-form UQ for SST turbulence model # \author J. Mukhopadhaya -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/config_gui.py b/SU2_PY/config_gui.py index a2d947f9ab9..3cf13878c7a 100755 --- a/SU2_PY/config_gui.py +++ b/SU2_PY/config_gui.py @@ -3,7 +3,7 @@ ## \file config_gui.py # \brief _____________. # \author A. Aranake -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/continuous_adjoint.py b/SU2_PY/continuous_adjoint.py index 929c620fa3b..071f4b9a4ea 100755 --- a/SU2_PY/continuous_adjoint.py +++ b/SU2_PY/continuous_adjoint.py @@ -3,7 +3,7 @@ ## \file continuous_adjoint.py # \brief Python script for continuous adjoint computation using the SU2 suite. # \author F. Palacios, T. Economon, T. Lukaczyk -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/convert_to_csv.py b/SU2_PY/convert_to_csv.py index 8be6a36d0c4..c3811b6627e 100755 --- a/SU2_PY/convert_to_csv.py +++ b/SU2_PY/convert_to_csv.py @@ -3,7 +3,7 @@ ## \file convert_to_csv.py # \brief This script converts SU2 ASCII restart files generated with a version prior v7 to the CSV format # \author T. Albring -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/direct_differentiation.py b/SU2_PY/direct_differentiation.py index 7f2fe9908d2..c885a58eaec 100755 --- a/SU2_PY/direct_differentiation.py +++ b/SU2_PY/direct_differentiation.py @@ -3,7 +3,7 @@ ## \file direct_differentiation.py # \brief Python script for doing the direct differentiation computation using the SU2 suite. # \author F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/discrete_adjoint.py b/SU2_PY/discrete_adjoint.py index 9c5d8245c3f..816e3a1d68c 100755 --- a/SU2_PY/discrete_adjoint.py +++ b/SU2_PY/discrete_adjoint.py @@ -3,7 +3,7 @@ ## \file discrete_adjoint.py # \brief Python script for doing the discrete adjoint computation using the SU2 suite. # \author F. Palacios, T. Economon, T. Lukaczyk -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/finite_differences.py b/SU2_PY/finite_differences.py index 9cd21e29e99..6777d50e068 100755 --- a/SU2_PY/finite_differences.py +++ b/SU2_PY/finite_differences.py @@ -3,7 +3,7 @@ ## \file finite_differences.py # \brief Python script for doing the finite differences computation using the SU2 suite. # \author F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/fsi_computation.py b/SU2_PY/fsi_computation.py index 69625796592..0735485a18f 100644 --- a/SU2_PY/fsi_computation.py +++ b/SU2_PY/fsi_computation.py @@ -3,7 +3,7 @@ ## \file fsi_computation.py # \brief Python wrapper code for FSI computation by coupling a third-party structural solver to SU2. # \authors Nicola Fonzi, Vittorio Cavalieri based on the work of David Thomas -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/merge_solution.py b/SU2_PY/merge_solution.py index efe1ca7e04b..e7a0c3954e5 100755 --- a/SU2_PY/merge_solution.py +++ b/SU2_PY/merge_solution.py @@ -3,7 +3,7 @@ ## \file merge_solution.py # \brief Python script for merging of the solution files. # \author F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/mesh_deformation.py b/SU2_PY/mesh_deformation.py index 78a7e39cee7..37eecb19544 100755 --- a/SU2_PY/mesh_deformation.py +++ b/SU2_PY/mesh_deformation.py @@ -3,7 +3,7 @@ ## \file mesh_deformation.py # \brief Python script for doing the parallel deformation using SU2_DEF. # \author F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/package_tests.py b/SU2_PY/package_tests.py index ebe16f16b03..b15f475b408 100755 --- a/SU2_PY/package_tests.py +++ b/SU2_PY/package_tests.py @@ -3,7 +3,7 @@ ## \file package_tests.py # \brief _____________. # \author T. Lukaczyk -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/parallel_computation.py b/SU2_PY/parallel_computation.py index 3714c093cc6..001ce0c5eba 100755 --- a/SU2_PY/parallel_computation.py +++ b/SU2_PY/parallel_computation.py @@ -3,7 +3,7 @@ ## \file parallel_computation.py # \brief Python script for doing the continuous adjoint computation using the SU2 suite. # \author T. Economon, T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/parallel_computation_fsi.py b/SU2_PY/parallel_computation_fsi.py index 739dfd3995c..e0983038149 100755 --- a/SU2_PY/parallel_computation_fsi.py +++ b/SU2_PY/parallel_computation_fsi.py @@ -3,7 +3,7 @@ ## \file parallel_computation_fsi.py # \brief Python script for running FSI simulations using the SU2 suite. # \author T. Economon, T. Lukaczyk, F. Palacios, H. Kline, R. Sanchez -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/parse_config.py b/SU2_PY/parse_config.py index 94ead9ffce7..66d386d68f2 100755 --- a/SU2_PY/parse_config.py +++ b/SU2_PY/parse_config.py @@ -3,7 +3,7 @@ ## \file parse_config.py # \brief Builds a worksheet of all SU2.cpp options # \author A. Aranake, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/profiling.py b/SU2_PY/profiling.py index 4e4828b0560..d257257f520 100755 --- a/SU2_PY/profiling.py +++ b/SU2_PY/profiling.py @@ -3,7 +3,7 @@ ## \file profiling.py # \brief Python script for postprocessing the SU2 custom profiling (profiling.csv) # \author T. Economon -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/pySU2/Makefile.am b/SU2_PY/pySU2/Makefile.am index 7bcddb3489e..febedbc98b6 100644 --- a/SU2_PY/pySU2/Makefile.am +++ b/SU2_PY/pySU2/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for the SU2 Python wrapper. # \author D. Thomas -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/pySU2/pySU2.i b/SU2_PY/pySU2/pySU2.i index a7431611e15..69384d70f3d 100644 --- a/SU2_PY/pySU2/pySU2.i +++ b/SU2_PY/pySU2/pySU2.i @@ -4,7 +4,7 @@ # \file pySU2.i # \brief Configuration file for the Swig compilation of the Python wrapper. # \author D. Thomas -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/pySU2/pySU2ad.i b/SU2_PY/pySU2/pySU2ad.i index e4f816b5cc9..fe329e7ab8b 100644 --- a/SU2_PY/pySU2/pySU2ad.i +++ b/SU2_PY/pySU2/pySU2ad.i @@ -4,7 +4,7 @@ # \file pySU2ad.i # \brief Configuration file for the Swig compilation of the Python wrapper. # \author D. Thomas, R. Sanchez -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/set_ffd_design_var.py b/SU2_PY/set_ffd_design_var.py index 5cf9d6fdfbf..d9cef1d8387 100755 --- a/SU2_PY/set_ffd_design_var.py +++ b/SU2_PY/set_ffd_design_var.py @@ -3,7 +3,7 @@ ## \file set_ffd_design_var.py # \brief Python script for automatically generating a list of FFD variables. # \author T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/shape_optimization.py b/SU2_PY/shape_optimization.py index 19bbdb7f693..34397c4e708 100755 --- a/SU2_PY/shape_optimization.py +++ b/SU2_PY/shape_optimization.py @@ -3,7 +3,7 @@ ## \file shape_optimization.py # \brief Python script for performing the shape optimization. # \author T. Economon, T. Lukaczyk, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # @@ -63,7 +63,7 @@ def main(): sys.stdout.write('\n-------------------------------------------------------------------------\n') sys.stdout.write('| ___ _ _ ___ |\n') - sys.stdout.write('| / __| | | |_ ) Release 7.5.0 \"Blackbird\" |\n') + sys.stdout.write('| / __| | | |_ ) Release 7.5.1 \"Blackbird\" |\n') sys.stdout.write('| \\__ \\ |_| |/ / |\n') sys.stdout.write('| |___/\\___//___| Aerodynamic Shape Optimization Script |\n') sys.stdout.write('| |\n') diff --git a/SU2_PY/topology_optimization.py b/SU2_PY/topology_optimization.py index bc49cfe6d25..c8b211c93e6 100755 --- a/SU2_PY/topology_optimization.py +++ b/SU2_PY/topology_optimization.py @@ -2,7 +2,7 @@ ## \file topology_optimization.py # \brief Python script to drive SU2 in topology optimization. -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_PY/updateHistoryMap.py b/SU2_PY/updateHistoryMap.py index c13a252414a..8f4dca9972e 100644 --- a/SU2_PY/updateHistoryMap.py +++ b/SU2_PY/updateHistoryMap.py @@ -3,7 +3,7 @@ ## \file updateHistoryMap.py # \brief Python script for updating the historyMap.py file. # \author T. Albring -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_SOL/include/SU2_SOL.hpp b/SU2_SOL/include/SU2_SOL.hpp index 6caa6f858ec..8be627e7f17 100644 --- a/SU2_SOL/include/SU2_SOL.hpp +++ b/SU2_SOL/include/SU2_SOL.hpp @@ -3,7 +3,7 @@ * \brief Headers of the main subroutines of the code SU2_SOL. * The subroutines and functions are in the SU2_SOL.cpp file. * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/SU2_SOL/obj/Makefile.am b/SU2_SOL/obj/Makefile.am index f83376420d6..980499b9a53 100644 --- a/SU2_SOL/obj/Makefile.am +++ b/SU2_SOL/obj/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for SU2_SOL # \author M. Colonno, T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/SU2_SOL/src/SU2_SOL.cpp b/SU2_SOL/src/SU2_SOL.cpp index 15d5c4b0d21..cf71364744e 100644 --- a/SU2_SOL/src/SU2_SOL.cpp +++ b/SU2_SOL/src/SU2_SOL.cpp @@ -2,7 +2,7 @@ * \file SU2_SOL.cpp * \brief Main file for the solution export/conversion code (SU2_SOL). * \author F. Palacios, T. Economon - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/TestCases/TestCase.py b/TestCases/TestCase.py index a1e5accd968..e1b8f70cacb 100644 --- a/TestCases/TestCase.py +++ b/TestCases/TestCase.py @@ -3,7 +3,7 @@ ## \file TestCase.py # \brief Python class for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/aeroelastic/aeroelastic_NACA64A010.cfg b/TestCases/aeroelastic/aeroelastic_NACA64A010.cfg index bf98f82f088..944406b2c93 100644 --- a/TestCases/aeroelastic/aeroelastic_NACA64A010.cfg +++ b/TestCases/aeroelastic/aeroelastic_NACA64A010.cfg @@ -5,7 +5,7 @@ % Author: Santiago Padron % % Institution: Stanford University % % Date: 07-09-15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/axisymmetric_rans/air_nozzle/air_nozzle_restart.cfg b/TestCases/axisymmetric_rans/air_nozzle/air_nozzle_restart.cfg index b5ef5f46717..0ba7296c7ef 100644 --- a/TestCases/axisymmetric_rans/air_nozzle/air_nozzle_restart.cfg +++ b/TestCases/axisymmetric_rans/air_nozzle/air_nozzle_restart.cfg @@ -4,7 +4,7 @@ % Case description: Axisymmetric supersonic converging-diverging air nozzle % % Author: Florian Dittmann % % Date: 2021.12.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/cont_adj_euler/naca0012/inv_NACA0012.cfg b/TestCases/cont_adj_euler/naca0012/inv_NACA0012.cfg index fc0e4fe97bf..faac3cd114f 100644 --- a/TestCases/cont_adj_euler/naca0012/inv_NACA0012.cfg +++ b/TestCases/cont_adj_euler/naca0012/inv_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_euler/naca0012/inv_NACA0012_FD.cfg b/TestCases/cont_adj_euler/naca0012/inv_NACA0012_FD.cfg index 782221988e0..7be820a3240 100644 --- a/TestCases/cont_adj_euler/naca0012/inv_NACA0012_FD.cfg +++ b/TestCases/cont_adj_euler/naca0012/inv_NACA0012_FD.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_euler/naca0012/inv_NACA0012_discadj.cfg b/TestCases/cont_adj_euler/naca0012/inv_NACA0012_discadj.cfg index 55835cfbedb..49bda853bcd 100644 --- a/TestCases/cont_adj_euler/naca0012/inv_NACA0012_discadj.cfg +++ b/TestCases/cont_adj_euler/naca0012/inv_NACA0012_discadj.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_euler/oneram6/inv_ONERAM6.cfg b/TestCases/cont_adj_euler/oneram6/inv_ONERAM6.cfg index 0014082c1ff..d1d287831e9 100644 --- a/TestCases/cont_adj_euler/oneram6/inv_ONERAM6.cfg +++ b/TestCases/cont_adj_euler/oneram6/inv_ONERAM6.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2015.08.25 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_euler/wedge/inv_wedge_ROE.cfg b/TestCases/cont_adj_euler/wedge/inv_wedge_ROE.cfg index bfe12dc6acd..a3f3e9e2ecb 100644 --- a/TestCases/cont_adj_euler/wedge/inv_wedge_ROE.cfg +++ b/TestCases/cont_adj_euler/wedge/inv_wedge_ROE.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_euler/wedge/inv_wedge_ROE_multiobj.cfg b/TestCases/cont_adj_euler/wedge/inv_wedge_ROE_multiobj.cfg index d64c99e4559..40c8ba5ccee 100644 --- a/TestCases/cont_adj_euler/wedge/inv_wedge_ROE_multiobj.cfg +++ b/TestCases/cont_adj_euler/wedge/inv_wedge_ROE_multiobj.cfg @@ -6,7 +6,7 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_navierstokes/cylinder/lam_cylinder.cfg b/TestCases/cont_adj_navierstokes/cylinder/lam_cylinder.cfg index 9ca74a9381b..067f9fd25bc 100644 --- a/TestCases/cont_adj_navierstokes/cylinder/lam_cylinder.cfg +++ b/TestCases/cont_adj_navierstokes/cylinder/lam_cylinder.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_navierstokes/naca0012_sub/lam_NACA0012.cfg b/TestCases/cont_adj_navierstokes/naca0012_sub/lam_NACA0012.cfg index b6717b1454d..7c0ac2cf859 100644 --- a/TestCases/cont_adj_navierstokes/naca0012_sub/lam_NACA0012.cfg +++ b/TestCases/cont_adj_navierstokes/naca0012_sub/lam_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Jul 18th, 2014 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_navierstokes/naca0012_trans/lam_NACA0012.cfg b/TestCases/cont_adj_navierstokes/naca0012_trans/lam_NACA0012.cfg index 69b13f82505..919e841ad46 100644 --- a/TestCases/cont_adj_navierstokes/naca0012_trans/lam_NACA0012.cfg +++ b/TestCases/cont_adj_navierstokes/naca0012_trans/lam_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Jul 18th, 2014 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_rans/naca0012/turb_nasa.cfg b/TestCases/cont_adj_rans/naca0012/turb_nasa.cfg index 0a289d40e06..7b30c1faadc 100644 --- a/TestCases/cont_adj_rans/naca0012/turb_nasa.cfg +++ b/TestCases/cont_adj_rans/naca0012/turb_nasa.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_rans/naca0012/turb_nasa_binary.cfg b/TestCases/cont_adj_rans/naca0012/turb_nasa_binary.cfg index 2da4c41af3e..f1eca8847fa 100644 --- a/TestCases/cont_adj_rans/naca0012/turb_nasa_binary.cfg +++ b/TestCases/cont_adj_rans/naca0012/turb_nasa_binary.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_rans/oneram6/turb_ONERAM6.cfg b/TestCases/cont_adj_rans/oneram6/turb_ONERAM6.cfg index 5a4fe311f45..706099e9e7b 100644 --- a/TestCases/cont_adj_rans/oneram6/turb_ONERAM6.cfg +++ b/TestCases/cont_adj_rans/oneram6/turb_ONERAM6.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/cont_adj_rans/rae2822/turb_SA_RAE2822.cfg b/TestCases/cont_adj_rans/rae2822/turb_SA_RAE2822.cfg index bb5b60a1b78..acb177feb6d 100644 --- a/TestCases/cont_adj_rans/rae2822/turb_SA_RAE2822.cfg +++ b/TestCases/cont_adj_rans/rae2822/turb_SA_RAE2822.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/control_surface/inv_ONERAM6_moving.cfg b/TestCases/control_surface/inv_ONERAM6_moving.cfg index 5b2387101c8..bb09bb3f21b 100644 --- a/TestCases/control_surface/inv_ONERAM6_moving.cfg +++ b/TestCases/control_surface/inv_ONERAM6_moving.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 09.07.2011 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/control_surface/inv_ONERAM6_setting.cfg b/TestCases/control_surface/inv_ONERAM6_setting.cfg index ab9f9b8e35c..1cbf9a9bfbc 100644 --- a/TestCases/control_surface/inv_ONERAM6_setting.cfg +++ b/TestCases/control_surface/inv_ONERAM6_setting.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 09.07.2011 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/coupled_cht/comp_2d/cht_2d_3cylinders.cfg b/TestCases/coupled_cht/comp_2d/cht_2d_3cylinders.cfg index 195ba2dcd9f..01bdcc333fa 100644 --- a/TestCases/coupled_cht/comp_2d/cht_2d_3cylinders.cfg +++ b/TestCases/coupled_cht/comp_2d/cht_2d_3cylinders.cfg @@ -5,7 +5,7 @@ % Author: O. Burghardt % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 6, 2020 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/coupled_cht/disc_adj_incomp_2d/cht_2d_3cylinders.cfg b/TestCases/coupled_cht/disc_adj_incomp_2d/cht_2d_3cylinders.cfg index 002f8283853..38eb52af3e8 100644 --- a/TestCases/coupled_cht/disc_adj_incomp_2d/cht_2d_3cylinders.cfg +++ b/TestCases/coupled_cht/disc_adj_incomp_2d/cht_2d_3cylinders.cfg @@ -5,7 +5,7 @@ % Author: O. Burghardt, T. Economon % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: August 8, 2019 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/coupled_cht/incomp_2d/cht_2d_3cylinders.cfg b/TestCases/coupled_cht/incomp_2d/cht_2d_3cylinders.cfg index cb4f1982f9f..0db56062790 100644 --- a/TestCases/coupled_cht/incomp_2d/cht_2d_3cylinders.cfg +++ b/TestCases/coupled_cht/incomp_2d/cht_2d_3cylinders.cfg @@ -5,7 +5,7 @@ % Author: O. Burghardt, T. Economon % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: August 8, 2019 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/coupled_cht/incomp_2d_unsteady/cht_2d_3cylinders.cfg b/TestCases/coupled_cht/incomp_2d_unsteady/cht_2d_3cylinders.cfg index edb3c23823f..bb06f67b7ee 100644 --- a/TestCases/coupled_cht/incomp_2d_unsteady/cht_2d_3cylinders.cfg +++ b/TestCases/coupled_cht/incomp_2d_unsteady/cht_2d_3cylinders.cfg @@ -5,7 +5,7 @@ % Author: O. Burghardt, T. Economon % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: August 8, 2019 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/ddes/flatplate/ddes_flatplate.cfg b/TestCases/ddes/flatplate/ddes_flatplate.cfg index cfbf729eacf..2e6c36b00a5 100644 --- a/TestCases/ddes/flatplate/ddes_flatplate.cfg +++ b/TestCases/ddes/flatplate/ddes_flatplate.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/brick_hex/def_brick_hex.cfg b/TestCases/deformation/brick_hex/def_brick_hex.cfg index 4864a6bcf25..788b7289a06 100755 --- a/TestCases/deformation/brick_hex/def_brick_hex.cfg +++ b/TestCases/deformation/brick_hex/def_brick_hex.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/brick_hex_rans/def_brick_hex_rans.cfg b/TestCases/deformation/brick_hex_rans/def_brick_hex_rans.cfg index 49720c93729..b84e80b680d 100755 --- a/TestCases/deformation/brick_hex_rans/def_brick_hex_rans.cfg +++ b/TestCases/deformation/brick_hex_rans/def_brick_hex_rans.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/brick_prism/def_brick_prism.cfg b/TestCases/deformation/brick_prism/def_brick_prism.cfg index 2d50bb38399..3f7d78b7d49 100755 --- a/TestCases/deformation/brick_prism/def_brick_prism.cfg +++ b/TestCases/deformation/brick_prism/def_brick_prism.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/brick_prism_rans/def_brick_prism_rans.cfg b/TestCases/deformation/brick_prism_rans/def_brick_prism_rans.cfg index f2707e4f519..bfd58255343 100755 --- a/TestCases/deformation/brick_prism_rans/def_brick_prism_rans.cfg +++ b/TestCases/deformation/brick_prism_rans/def_brick_prism_rans.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/brick_pyra/def_brick_pyra.cfg b/TestCases/deformation/brick_pyra/def_brick_pyra.cfg index 82a1e35e3c9..0deda077948 100755 --- a/TestCases/deformation/brick_pyra/def_brick_pyra.cfg +++ b/TestCases/deformation/brick_pyra/def_brick_pyra.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/brick_tets/def_brick_tets.cfg b/TestCases/deformation/brick_tets/def_brick_tets.cfg index e0b62d50675..20a95629777 100755 --- a/TestCases/deformation/brick_tets/def_brick_tets.cfg +++ b/TestCases/deformation/brick_tets/def_brick_tets.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.31 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/cylindrical_ffd/def_cylindrical.cfg b/TestCases/deformation/cylindrical_ffd/def_cylindrical.cfg index 6a9f1e04da3..26f700d59e4 100644 --- a/TestCases/deformation/cylindrical_ffd/def_cylindrical.cfg +++ b/TestCases/deformation/cylindrical_ffd/def_cylindrical.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/intersection_prevention/def_intersect.cfg b/TestCases/deformation/intersection_prevention/def_intersect.cfg index 39375b4b679..8cc980b6792 100644 --- a/TestCases/deformation/intersection_prevention/def_intersect.cfg +++ b/TestCases/deformation/intersection_prevention/def_intersect.cfg @@ -15,7 +15,7 @@ % Institution: % % Technische Universiteit Eindhoven % % Date: 2021.01.08 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ------------- DIRECT, ADJOINT, AND LINEARIZED PROBLEM DEFINITION ------------% diff --git a/TestCases/deformation/naca0012/def_NACA0012.cfg b/TestCases/deformation/naca0012/def_NACA0012.cfg index d6e316a1d29..73834aa2ee6 100644 --- a/TestCases/deformation/naca0012/def_NACA0012.cfg +++ b/TestCases/deformation/naca0012/def_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/naca0012/surface_file_NACA0012.cfg b/TestCases/deformation/naca0012/surface_file_NACA0012.cfg index 7ebeb30173c..18a61153927 100644 --- a/TestCases/deformation/naca0012/surface_file_NACA0012.cfg +++ b/TestCases/deformation/naca0012/surface_file_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/naca4412/def_NACA4412.cfg b/TestCases/deformation/naca4412/def_NACA4412.cfg index e1905e3f3ff..6ad7b0cc33b 100644 --- a/TestCases/deformation/naca4412/def_NACA4412.cfg +++ b/TestCases/deformation/naca4412/def_NACA4412.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.05.06 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/rae2822/def_RAE2822.cfg b/TestCases/deformation/rae2822/def_RAE2822.cfg index e71b485970c..831a14a2ee6 100644 --- a/TestCases/deformation/rae2822/def_RAE2822.cfg +++ b/TestCases/deformation/rae2822/def_RAE2822.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/spherical_ffd/def_spherical.cfg b/TestCases/deformation/spherical_ffd/def_spherical.cfg index 8960ae42f06..d8ee5fdb74d 100644 --- a/TestCases/deformation/spherical_ffd/def_spherical.cfg +++ b/TestCases/deformation/spherical_ffd/def_spherical.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/deformation/spherical_ffd/def_spherical_bspline.cfg b/TestCases/deformation/spherical_ffd/def_spherical_bspline.cfg index db9825dd3ef..2a1d1285d64 100644 --- a/TestCases/deformation/spherical_ffd/def_spherical_bspline.cfg +++ b/TestCases/deformation/spherical_ffd/def_spherical_bspline.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_euler/arina2k/Arina2KRS.cfg b/TestCases/disc_adj_euler/arina2k/Arina2KRS.cfg index c6646926676..0adc1f99fef 100644 --- a/TestCases/disc_adj_euler/arina2k/Arina2KRS.cfg +++ b/TestCases/disc_adj_euler/arina2k/Arina2KRS.cfg @@ -6,7 +6,7 @@ % Author: Jairo Paes Cavalcante Filho [Based on T. Economon & M. Pini work] % % Institution: University of São Paulo % % Date: 8-JUL-2018 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_euler/cylinder3D/inv_cylinder3D.cfg b/TestCases/disc_adj_euler/cylinder3D/inv_cylinder3D.cfg index c91b61acab8..6490cb0e66a 100644 --- a/TestCases/disc_adj_euler/cylinder3D/inv_cylinder3D.cfg +++ b/TestCases/disc_adj_euler/cylinder3D/inv_cylinder3D.cfg @@ -5,7 +5,7 @@ % Author: ___________________________________________________________________ % % Institution: ______________________________________________________________ % % Date: __________ % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_euler/oneram6/inv_ONERAM6.cfg b/TestCases/disc_adj_euler/oneram6/inv_ONERAM6.cfg index 0443e598253..2d587524e59 100644 --- a/TestCases/disc_adj_euler/oneram6/inv_ONERAM6.cfg +++ b/TestCases/disc_adj_euler/oneram6/inv_ONERAM6.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios, Heather Kline % % Institution: Stanford University % % Date: 01.17.2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_fea/configAD_fem.cfg b/TestCases/disc_adj_fea/configAD_fem.cfg index f5150911716..328e37ebb6b 100644 --- a/TestCases/disc_adj_fea/configAD_fem.cfg +++ b/TestCases/disc_adj_fea/configAD_fem.cfg @@ -4,7 +4,7 @@ % Author: R.Sanchez % % Institution: Imperial College London % % Date: 2017.11.29 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= ELASTICITY diff --git a/TestCases/disc_adj_fsi/configFEA.cfg b/TestCases/disc_adj_fsi/configFEA.cfg index 4d321bef7c7..12d8a8e5db1 100644 --- a/TestCases/disc_adj_fsi/configFEA.cfg +++ b/TestCases/disc_adj_fsi/configFEA.cfg @@ -4,7 +4,7 @@ % Author: R.Sanchez % % Institution: Imperial College London % % Date: 2017.11.29 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= ELASTICITY diff --git a/TestCases/disc_adj_fsi/configFlow.cfg b/TestCases/disc_adj_fsi/configFlow.cfg index 81c78d40b39..d0269c61ab0 100644 --- a/TestCases/disc_adj_fsi/configFlow.cfg +++ b/TestCases/disc_adj_fsi/configFlow.cfg @@ -4,7 +4,7 @@ % Author: R.Sanchez % % Institution: Imperial College London % % Date: 2017.11.29 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= NAVIER_STOKES diff --git a/TestCases/disc_adj_heat/disc_adj_heat.cfg b/TestCases/disc_adj_heat/disc_adj_heat.cfg index 26a502096de..a2509c72d08 100644 --- a/TestCases/disc_adj_heat/disc_adj_heat.cfg +++ b/TestCases/disc_adj_heat/disc_adj_heat.cfg @@ -6,7 +6,7 @@ % Author: Ole Burghardt % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: November 26th, 2018 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_heat/primal.cfg b/TestCases/disc_adj_heat/primal.cfg index d755d41a951..4fb1d63fbd4 100644 --- a/TestCases/disc_adj_heat/primal.cfg +++ b/TestCases/disc_adj_heat/primal.cfg @@ -5,7 +5,7 @@ % Author: Ole Burghardt % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: November 26th, 2018 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_incomp_euler/naca0012/incomp_NACA0012_disc.cfg b/TestCases/disc_adj_incomp_euler/naca0012/incomp_NACA0012_disc.cfg index 112157c7428..879ca518d47 100644 --- a/TestCases/disc_adj_incomp_euler/naca0012/incomp_NACA0012_disc.cfg +++ b/TestCases/disc_adj_incomp_euler/naca0012/incomp_NACA0012_disc.cfg @@ -4,7 +4,7 @@ % Case description: Subsonic incompressible inviscid flow around a NACA0012 % % Author: Thomas D. Economon % % Date: 2018.10.30 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_incomp_navierstokes/cylinder/heated_cylinder.cfg b/TestCases/disc_adj_incomp_navierstokes/cylinder/heated_cylinder.cfg index 7fd8587c5c9..d61038a3126 100644 --- a/TestCases/disc_adj_incomp_navierstokes/cylinder/heated_cylinder.cfg +++ b/TestCases/disc_adj_incomp_navierstokes/cylinder/heated_cylinder.cfg @@ -4,7 +4,7 @@ % Case description: Steady incompressible laminar flow past a heated cylinder % % Author: Thomas D. Economon % % Date: 2018.06.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sa.cfg b/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sa.cfg index c9a9e489edc..82523aefc64 100755 --- a/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sa.cfg +++ b/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sa.cfg @@ -5,7 +5,7 @@ % http://turbmodels.larc.nasa.gov/naca0012_val_sa.html % % Author: Thomas D. Economon & Francisco Palacios % % Date: 2018.06.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sst.cfg b/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sst.cfg index b3172cd2ed1..cca9e34bef1 100755 --- a/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sst.cfg +++ b/TestCases/disc_adj_incomp_rans/naca0012/turb_naca0012_sst.cfg @@ -5,7 +5,7 @@ % http://turbmodels.larc.nasa.gov/naca0012_val_sst.html % % Author: Thomas D. Economon & Francisco Palacios % % Date: 2018.06.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_rans/cylinder/cylinder.cfg b/TestCases/disc_adj_rans/cylinder/cylinder.cfg index b1e82ab0372..1d3980c9769 100644 --- a/TestCases/disc_adj_rans/cylinder/cylinder.cfg +++ b/TestCases/disc_adj_rans/cylinder/cylinder.cfg @@ -5,7 +5,7 @@ % Author: Tim Albring % % Institution: TU Kaiserslautern % % Date: 2016.06.14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_rans/cylinder/cylinder_Windowing.cfg b/TestCases/disc_adj_rans/cylinder/cylinder_Windowing.cfg index b2278676f04..dcf0e520307 100644 --- a/TestCases/disc_adj_rans/cylinder/cylinder_Windowing.cfg +++ b/TestCases/disc_adj_rans/cylinder/cylinder_Windowing.cfg @@ -5,7 +5,7 @@ % Author: Tim Albring % % Institution: TU Kaiserslautern % % Date: 2016.06.14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_rans/cylinder/cylinder_Windowing_AD.cfg b/TestCases/disc_adj_rans/cylinder/cylinder_Windowing_AD.cfg index 94291557ed8..afb023abc94 100644 --- a/TestCases/disc_adj_rans/cylinder/cylinder_Windowing_AD.cfg +++ b/TestCases/disc_adj_rans/cylinder/cylinder_Windowing_AD.cfg @@ -5,7 +5,7 @@ % Author: Tim Albring % % Institution: TU Kaiserslautern % % Date: 2016.06.14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_rans/cylinder_DT_1ST/cylinder.cfg b/TestCases/disc_adj_rans/cylinder_DT_1ST/cylinder.cfg index 07d40ece13b..1d27a5a3022 100644 --- a/TestCases/disc_adj_rans/cylinder_DT_1ST/cylinder.cfg +++ b/TestCases/disc_adj_rans/cylinder_DT_1ST/cylinder.cfg @@ -5,7 +5,7 @@ % Author: Tim Albring % % Institution: TU Kaiserslautern % % Date: 2016.06.14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_rans/naca0012/naca0012.cfg b/TestCases/disc_adj_rans/naca0012/naca0012.cfg index 1a4132396b0..26318392aff 100644 --- a/TestCases/disc_adj_rans/naca0012/naca0012.cfg +++ b/TestCases/disc_adj_rans/naca0012/naca0012.cfg @@ -5,7 +5,7 @@ % Author: Steffen Schotthöfer % % Institution: TU Kaiserslautern % % Date: Mar 16, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sa.cfg b/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sa.cfg index 5429a5e2bc0..f8f151f9777 100644 --- a/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sa.cfg +++ b/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sa.cfg @@ -6,7 +6,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sst.cfg b/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sst.cfg index af09bdb7fff..c9aff3eeea5 100644 --- a/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sst.cfg +++ b/TestCases/disc_adj_rans/naca0012/turb_NACA0012_sst.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/disc_adj_turbomachinery/transonic_stator_2D/transonic_stator.cfg b/TestCases/disc_adj_turbomachinery/transonic_stator_2D/transonic_stator.cfg index 2337d51dafd..459e7763771 100644 --- a/TestCases/disc_adj_turbomachinery/transonic_stator_2D/transonic_stator.cfg +++ b/TestCases/disc_adj_turbomachinery/transonic_stator_2D/transonic_stator.cfg @@ -5,7 +5,7 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: 2017.03.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/euler/CRM/inv_CRM_JST.cfg b/TestCases/euler/CRM/inv_CRM_JST.cfg index 8a321cf5a94..b7e48db4b5f 100644 --- a/TestCases/euler/CRM/inv_CRM_JST.cfg +++ b/TestCases/euler/CRM/inv_CRM_JST.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/euler/biparabolic/BIPARABOLIC.cfg b/TestCases/euler/biparabolic/BIPARABOLIC.cfg index 0db5bc08be8..86368ceaa21 100644 --- a/TestCases/euler/biparabolic/BIPARABOLIC.cfg +++ b/TestCases/euler/biparabolic/BIPARABOLIC.cfg @@ -5,7 +5,7 @@ % Author: Trent W. Lukaczyk % % Institution: Stanford University % % Date: 2012.08.16 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/euler/bluntbody/blunt.cfg b/TestCases/euler/bluntbody/blunt.cfg index 855a95d700b..dbb4926dc28 100644 --- a/TestCases/euler/bluntbody/blunt.cfg +++ b/TestCases/euler/bluntbody/blunt.cfg @@ -5,7 +5,7 @@ % Author: Amit Sachdeva % % Institution: ADSG-VSSC % % Date: 2019.01.23 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/euler/channel/inv_channel.cfg b/TestCases/euler/channel/inv_channel.cfg index 7140461e2f0..279bbacdf65 100644 --- a/TestCases/euler/channel/inv_channel.cfg +++ b/TestCases/euler/channel/inv_channel.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.09.29 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/euler/channel/inv_channel_RK.cfg b/TestCases/euler/channel/inv_channel_RK.cfg index 9041a7d4c42..6a4b2731bdb 100644 --- a/TestCases/euler/channel/inv_channel_RK.cfg +++ b/TestCases/euler/channel/inv_channel_RK.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/euler/naca0012/inv_NACA0012.cfg b/TestCases/euler/naca0012/inv_NACA0012.cfg index ddf59229ab3..607879da57d 100644 --- a/TestCases/euler/naca0012/inv_NACA0012.cfg +++ b/TestCases/euler/naca0012/inv_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/euler/naca0012/inv_NACA0012_Roe.cfg b/TestCases/euler/naca0012/inv_NACA0012_Roe.cfg index c4ac9f21203..cb5098afa2c 100644 --- a/TestCases/euler/naca0012/inv_NACA0012_Roe.cfg +++ b/TestCases/euler/naca0012/inv_NACA0012_Roe.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/euler/oneram6/inv_ONERAM6.cfg b/TestCases/euler/oneram6/inv_ONERAM6.cfg index e777e3d2bc4..ec5e0f93aa0 100644 --- a/TestCases/euler/oneram6/inv_ONERAM6.cfg +++ b/TestCases/euler/oneram6/inv_ONERAM6.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2015.08.25 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/euler/wedge/inv_wedge_HLLC.cfg b/TestCases/euler/wedge/inv_wedge_HLLC.cfg index d9662291509..453ae608577 100644 --- a/TestCases/euler/wedge/inv_wedge_HLLC.cfg +++ b/TestCases/euler/wedge/inv_wedge_HLLC.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.10.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/fea_fsi/Airfoil_RBF/config.cfg b/TestCases/fea_fsi/Airfoil_RBF/config.cfg index 73cfd069047..eebdfa3d60d 100755 --- a/TestCases/fea_fsi/Airfoil_RBF/config.cfg +++ b/TestCases/fea_fsi/Airfoil_RBF/config.cfg @@ -3,7 +3,7 @@ % Case description: 2D airfoil FSI with radial basis function interp. % % Institution: Imperial College London % % Date: 2015.08.12 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER = MULTIPHYSICS diff --git a/TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg b/TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg index 7c1d9e0d70e..51966af7064 100644 --- a/TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg +++ b/TestCases/fea_fsi/Airfoil_RBF/configFEA.cfg @@ -2,7 +2,7 @@ % SU2 configuration file % % Case description: 2D airfoil FSI with radial basis function interp. % % Institution: Imperial College London % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Interface options ---------------------------------------------------- % diff --git a/TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg b/TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg index d307f30dd64..9ff342e7b3a 100644 --- a/TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg +++ b/TestCases/fea_fsi/Airfoil_RBF/configFlow.cfg @@ -2,7 +2,7 @@ % SU2 configuration file % % Case description: 2D airfoil FSI with radial basis function interp. % % Institution: Imperial College London % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Interface options ---------------------------------------------------- % diff --git a/TestCases/fea_fsi/DynBeam_2d/configBeam_2d.cfg b/TestCases/fea_fsi/DynBeam_2d/configBeam_2d.cfg index 2f422131d9e..c4181d6339d 100644 --- a/TestCases/fea_fsi/DynBeam_2d/configBeam_2d.cfg +++ b/TestCases/fea_fsi/DynBeam_2d/configBeam_2d.cfg @@ -4,7 +4,7 @@ % Author: Ruben Sanchez Fernandez % % Institution: Imperial College London % % Date: 2016.02.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= ELASTICITY diff --git a/TestCases/fea_fsi/MixElemsKnowles/config.cfg b/TestCases/fea_fsi/MixElemsKnowles/config.cfg index a4150bbc044..94e5328e4b9 100644 --- a/TestCases/fea_fsi/MixElemsKnowles/config.cfg +++ b/TestCases/fea_fsi/MixElemsKnowles/config.cfg @@ -4,7 +4,7 @@ % Case description: Tip-loaded 3D cantilever beam, mix of element types, % % nonlinear elasticity with Knowles material model. % % Institution: Imperial College London % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/fea_fsi/SquareCyl_Beam/config.cfg b/TestCases/fea_fsi/SquareCyl_Beam/config.cfg index c8986a27105..ab740fe4255 100644 --- a/TestCases/fea_fsi/SquareCyl_Beam/config.cfg +++ b/TestCases/fea_fsi/SquareCyl_Beam/config.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez Fernandez % % Institution: Imperial College London % % Date: 2016.06.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/fea_fsi/StatBeam_3d/configBeam_3d.cfg b/TestCases/fea_fsi/StatBeam_3d/configBeam_3d.cfg index 926495e2602..1aee4275ed5 100644 --- a/TestCases/fea_fsi/StatBeam_3d/configBeam_3d.cfg +++ b/TestCases/fea_fsi/StatBeam_3d/configBeam_3d.cfg @@ -4,7 +4,7 @@ % Author: Ruben Sanchez Fernandez % % Institution: Imperial College London % % Date: 2016.02.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SOLVER= ELASTICITY diff --git a/TestCases/fea_topology/config.cfg b/TestCases/fea_topology/config.cfg index ad1e25dae7a..cf12a17353a 100644 --- a/TestCases/fea_topology/config.cfg +++ b/TestCases/fea_topology/config.cfg @@ -2,7 +2,7 @@ % SU2 configuration file % % Case description: 4 by 1 cantilever optim. for stiff. @ 50% material % % Institution: Imperial College London % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Optimization diff --git a/TestCases/fixed_cl/naca0012/inv_NACA0012.cfg b/TestCases/fixed_cl/naca0012/inv_NACA0012.cfg index 6bd807aa5e2..8d7b8c46ae7 100644 --- a/TestCases/fixed_cl/naca0012/inv_NACA0012.cfg +++ b/TestCases/fixed_cl/naca0012/inv_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/fixed_cl/naca0012/inv_NACA0012_ContAdj.cfg b/TestCases/fixed_cl/naca0012/inv_NACA0012_ContAdj.cfg index a48b39230c5..df4c8cb355d 100644 --- a/TestCases/fixed_cl/naca0012/inv_NACA0012_ContAdj.cfg +++ b/TestCases/fixed_cl/naca0012/inv_NACA0012_ContAdj.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/grad_smooth/naca0012/inv_NACA0012_gradsmooth.cfg b/TestCases/grad_smooth/naca0012/inv_NACA0012_gradsmooth.cfg index 7bcc4043e92..902aeab7030 100644 --- a/TestCases/grad_smooth/naca0012/inv_NACA0012_gradsmooth.cfg +++ b/TestCases/grad_smooth/naca0012/inv_NACA0012_gradsmooth.cfg @@ -4,7 +4,7 @@ % Case description: Sobolev smoothing for gradient on the NACA 0012 airfoil % % Author: Thomas Dick (TU Kaiserslautern) % % Date: 11.11.2021 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/grad_smooth/oneram6/ONERAM6_gradsmooth.cfg b/TestCases/grad_smooth/oneram6/ONERAM6_gradsmooth.cfg index a6360efc1ba..0b720e65c58 100644 --- a/TestCases/grad_smooth/oneram6/ONERAM6_gradsmooth.cfg +++ b/TestCases/grad_smooth/oneram6/ONERAM6_gradsmooth.cfg @@ -4,7 +4,7 @@ % Case description: Sobolev smoothing for gradient on the ONERA M6 wing % % Author: Thomas Dick (TU Kaiserslautern) % % Date: 11.11.2021 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/gust/inv_gust_NACA0012.cfg b/TestCases/gust/inv_gust_NACA0012.cfg index cd689f7afad..4cf8daa5f62 100644 --- a/TestCases/gust/inv_gust_NACA0012.cfg +++ b/TestCases/gust/inv_gust_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Santiago Padron % % Institution: Stanford University % % Date: 06-26-2015 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/harmonic_balance/HB.cfg b/TestCases/harmonic_balance/HB.cfg index b124ef012b4..a8cc80f3495 100644 --- a/TestCases/harmonic_balance/HB.cfg +++ b/TestCases/harmonic_balance/HB.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.20.09 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/harmonic_balance/hb_rans_preconditioning/davis.cfg b/TestCases/harmonic_balance/hb_rans_preconditioning/davis.cfg index 279b7d9d046..9ab79f61443 100644 --- a/TestCases/harmonic_balance/hb_rans_preconditioning/davis.cfg +++ b/TestCases/harmonic_balance/hb_rans_preconditioning/davis.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2016.20.09 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/NACA0012_3D_Hybrid_4thOrder/fem_NACA0012.cfg b/TestCases/hom_euler/NACA0012_3D_Hybrid_4thOrder/fem_NACA0012.cfg index 13f2b44354d..c3f156a8aa3 100644 --- a/TestCases/hom_euler/NACA0012_3D_Hybrid_4thOrder/fem_NACA0012.cfg +++ b/TestCases/hom_euler/NACA0012_3D_Hybrid_4thOrder/fem_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012.cfg b/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012.cfg index 87d1acf4338..2ad8def0d80 100644 --- a/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012.cfg +++ b/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012_reg.cfg b/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012_reg.cfg index f340cedd490..6cdbad80c93 100644 --- a/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012_reg.cfg +++ b/TestCases/hom_euler/NACA0012_5thOrder/fem_NACA0012_reg.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/Sphere_4thOrder_Hexa/fem_Sphere.cfg b/TestCases/hom_euler/Sphere_4thOrder_Hexa/fem_Sphere.cfg index 0984ff6b139..367294e3daf 100644 --- a/TestCases/hom_euler/Sphere_4thOrder_Hexa/fem_Sphere.cfg +++ b/TestCases/hom_euler/Sphere_4thOrder_Hexa/fem_Sphere.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/Sphere_4thOrder_Tet/fem_Sphere.cfg b/TestCases/hom_euler/Sphere_4thOrder_Tet/fem_Sphere.cfg index 495aab30a6a..75bbfae2904 100644 --- a/TestCases/hom_euler/Sphere_4thOrder_Tet/fem_Sphere.cfg +++ b/TestCases/hom_euler/Sphere_4thOrder_Tet/fem_Sphere.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel.cfg index 384960cd63c..64fb4339e6f 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel_Farfield.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel_Farfield.cfg index 64811ea7125..cfbfa411984 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel_Farfield.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly1/fem_SubsonicChannel_Farfield.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel.cfg index 72873ff0d2b..6671d3b91c2 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel_Farfield.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel_Farfield.cfg index 73bc5b5b02b..3eb44dab96a 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel_Farfield.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly2/fem_SubsonicChannel_Farfield.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel.cfg index 3c9f10b0afc..0107f92a250 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel_Farfield.cfg b/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel_Farfield.cfg index 88c753a0bf2..4a129d7a239 100644 --- a/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel_Farfield.cfg +++ b/TestCases/hom_euler/SubsonicChannel/nPoly4/fem_SubsonicChannel_Farfield.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_navierstokes/CylinderViscous/nPoly3/fem_Cylinder_reg.cfg b/TestCases/hom_navierstokes/CylinderViscous/nPoly3/fem_Cylinder_reg.cfg index 6af8bc91e95..c8495d99c34 100644 --- a/TestCases/hom_navierstokes/CylinderViscous/nPoly3/fem_Cylinder_reg.cfg +++ b/TestCases/hom_navierstokes/CylinderViscous/nPoly3/fem_Cylinder_reg.cfg @@ -5,7 +5,7 @@ % Author: Edwin van der Weide % % Institution: University of Twente % % Date: 2016.07.15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_navierstokes/FlatPlate/nPoly4/lam_flatplate_reg.cfg b/TestCases/hom_navierstokes/FlatPlate/nPoly4/lam_flatplate_reg.cfg index f06e96808a9..39f8ddc2f72 100644 --- a/TestCases/hom_navierstokes/FlatPlate/nPoly4/lam_flatplate_reg.cfg +++ b/TestCases/hom_navierstokes/FlatPlate/nPoly4/lam_flatplate_reg.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.09.30 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg.cfg b/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg.cfg index 77f351ca468..d8daab40b6d 100644 --- a/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg.cfg +++ b/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg.cfg @@ -5,7 +5,7 @@ % Author: Edwin van der Weide % % Institution: University of Twente % % Date: 2016.07.15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg_ADER.cfg b/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg_ADER.cfg index 6ad166bb421..8f88fd7ff3a 100644 --- a/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg_ADER.cfg +++ b/TestCases/hom_navierstokes/SphereViscous/nPoly3_QuadDominant/fem_Sphere_reg_ADER.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder.cfg b/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder.cfg index 156556b8f5f..a121fcb53cb 100644 --- a/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder.cfg +++ b/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder_ADER.cfg b/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder_ADER.cfg index f46bd2a6935..19c4b24d69a 100644 --- a/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder_ADER.cfg +++ b/TestCases/hom_navierstokes/UnsteadyCylinder/nPoly4/fem_unst_cylinder_ADER.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/hybrid_regression.py b/TestCases/hybrid_regression.py index d44211d0708..4e2094b56f6 100644 --- a/TestCases/hybrid_regression.py +++ b/TestCases/hybrid_regression.py @@ -3,7 +3,7 @@ ## \file hybrid_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/hybrid_regression_AD.py b/TestCases/hybrid_regression_AD.py index 71ecb184fce..65e3ab57b24 100644 --- a/TestCases/hybrid_regression_AD.py +++ b/TestCases/hybrid_regression_AD.py @@ -3,7 +3,7 @@ ## \file hybrid_regression_AD.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/incomp_euler/naca0012/incomp_NACA0012.cfg b/TestCases/incomp_euler/naca0012/incomp_NACA0012.cfg index 8c7ffe8925c..398e621ca92 100644 --- a/TestCases/incomp_euler/naca0012/incomp_NACA0012.cfg +++ b/TestCases/incomp_euler/naca0012/incomp_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 09/18/2011 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/incomp_euler/nozzle/inv_nozzle.cfg b/TestCases/incomp_euler/nozzle/inv_nozzle.cfg index ec0ea824baf..b29e9bfdc51 100644 --- a/TestCases/incomp_euler/nozzle/inv_nozzle.cfg +++ b/TestCases/incomp_euler/nozzle/inv_nozzle.cfg @@ -4,7 +4,7 @@ % Case description: Inv. inc. nozzle with pressure inlet and mass flow outlet % % Author: Thomas D. Economon % % Date: 2018.11.30 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/incomp_navierstokes/buoyancy_cavity/lam_buoyancy_cavity.cfg b/TestCases/incomp_navierstokes/buoyancy_cavity/lam_buoyancy_cavity.cfg index 04fdbd4a5f2..578b8127f81 100644 --- a/TestCases/incomp_navierstokes/buoyancy_cavity/lam_buoyancy_cavity.cfg +++ b/TestCases/incomp_navierstokes/buoyancy_cavity/lam_buoyancy_cavity.cfg @@ -4,7 +4,7 @@ % Case description: Buoyancy-driven flow inside a cavity % % Author: Thomas D. Economon % % Date: 2018.06.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/incomp_navierstokes/cylinder/incomp_cylinder.cfg b/TestCases/incomp_navierstokes/cylinder/incomp_cylinder.cfg index 43008838809..f292836c8e7 100644 --- a/TestCases/incomp_navierstokes/cylinder/incomp_cylinder.cfg +++ b/TestCases/incomp_navierstokes/cylinder/incomp_cylinder.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 2012.03.14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/incomp_navierstokes/cylinder/poly_cylinder.cfg b/TestCases/incomp_navierstokes/cylinder/poly_cylinder.cfg index 67168dd50f6..24bfb194c01 100644 --- a/TestCases/incomp_navierstokes/cylinder/poly_cylinder.cfg +++ b/TestCases/incomp_navierstokes/cylinder/poly_cylinder.cfg @@ -5,7 +5,7 @@ % custom fluid using polynomial fluid models. % % Author: Thomas D. Economon % % Date: 2018.12.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg index f022d02a736..5005fbaccef 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/BC_HeatTransfer.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg index 914d10383f8..fb41015dfb7 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/DA_configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg index d9bb6ed2dd0..42aea7ba914 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/FD_configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg index 6f866eadaf6..d2cc26c56f6 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configFluid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg index db829877167..3803a89e9b6 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg index 377699c079f..8c4a3a1ded4 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_2d/configSolid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configFluid.cfg index cfa54a86b52..b8d003a4eca 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configFluid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configFluid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 07.06.2019 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configMaster.cfg index 5325519c672..6fcbc300a41 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg index 5f7f7a90b3d..6c78fb026ed 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/chtPinArray_3d/configSolid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 07.06.2019 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configFluid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configFluid.cfg index 051efb7f9fd..c640520534e 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configFluid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configFluid.cfg @@ -4,7 +4,7 @@ % Case description: Unit Cell flow around pin array (fluid) % % Author: T. Kattmann % % Date: 2022.02.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configMaster.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configMaster.cfg index d5329424e79..71fb7a2d777 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configMaster.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configMaster.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: None % % Date: 2022.02.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configSolid.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configSolid.cfg index b0c3c4eb25f..3802e0318e9 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configSolid.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/dp-adjoint_chtPinArray_2d/configSolid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: None % % Date: 2022.02.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg index bb4f244001c..b0b2366cf45 100644 --- a/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg +++ b/TestCases/incomp_navierstokes/streamwise_periodic/pipeSlice_3d/sp_pipeSlice_3d_dp_hf_tp.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Robert Bosch GmbH % % Date: 2020.12.14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/incomp_rans/naca0012/naca0012.cfg b/TestCases/incomp_rans/naca0012/naca0012.cfg index 625c4407cbf..7798637c2c4 100644 --- a/TestCases/incomp_rans/naca0012/naca0012.cfg +++ b/TestCases/incomp_rans/naca0012/naca0012.cfg @@ -6,7 +6,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg index 8e9e7920c08..d5f52a64047 100644 --- a/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg +++ b/TestCases/incomp_rans/naca0012/naca0012_SST_SUST.cfg @@ -6,7 +6,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/incomp_rans/rough_flatplate/rough_flatplate_incomp.cfg b/TestCases/incomp_rans/rough_flatplate/rough_flatplate_incomp.cfg index 4e174b80541..af9ecc8f023 100644 --- a/TestCases/incomp_rans/rough_flatplate/rough_flatplate_incomp.cfg +++ b/TestCases/incomp_rans/rough_flatplate/rough_flatplate_incomp.cfg @@ -5,7 +5,7 @@ % pressure gradient % % Author: Akshay Koodly % % Date: 2020.07.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/mms/dg_ringleb/ringleb_dg.cfg b/TestCases/mms/dg_ringleb/ringleb_dg.cfg index 6f3e431e1b3..4d9d5108678 100644 --- a/TestCases/mms/dg_ringleb/ringleb_dg.cfg +++ b/TestCases/mms/dg_ringleb/ringleb_dg.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/mms/fvm_incomp_euler/inv_mms_jst.cfg b/TestCases/mms/fvm_incomp_euler/inv_mms_jst.cfg index 64a58e3e80e..47f57c8a91a 100755 --- a/TestCases/mms/fvm_incomp_euler/inv_mms_jst.cfg +++ b/TestCases/mms/fvm_incomp_euler/inv_mms_jst.cfg @@ -4,7 +4,7 @@ % Case description: Incompressible inviscid MMS test case % % Author: Thomas D. Economon % % Date: 2019.04.09 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/mms/fvm_incomp_navierstokes/lam_mms_fds.cfg b/TestCases/mms/fvm_incomp_navierstokes/lam_mms_fds.cfg index 48da7ebb28d..4bac9270cdc 100755 --- a/TestCases/mms/fvm_incomp_navierstokes/lam_mms_fds.cfg +++ b/TestCases/mms/fvm_incomp_navierstokes/lam_mms_fds.cfg @@ -4,7 +4,7 @@ % Case description: Incompressible laminar MMS test case % % Author: Thomas D. Economon % % Date: 2019.04.09 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/mms/fvm_navierstokes/lam_mms_roe.cfg b/TestCases/mms/fvm_navierstokes/lam_mms_roe.cfg index c1185747e5a..0dfab26bf2f 100755 --- a/TestCases/mms/fvm_navierstokes/lam_mms_roe.cfg +++ b/TestCases/mms/fvm_navierstokes/lam_mms_roe.cfg @@ -4,7 +4,7 @@ % Case description: Compressible laminar MMS test case % % Author: Thomas D. Economon % % Date: 2019.04.09 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/moving_wall/cavity/lam_cavity.cfg b/TestCases/moving_wall/cavity/lam_cavity.cfg index 40b5b348d09..31a541946d6 100644 --- a/TestCases/moving_wall/cavity/lam_cavity.cfg +++ b/TestCases/moving_wall/cavity/lam_cavity.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.10.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/moving_wall/spinning_cylinder/spinning_cylinder.cfg b/TestCases/moving_wall/spinning_cylinder/spinning_cylinder.cfg index 6b16de3a5a0..194a46064dd 100644 --- a/TestCases/moving_wall/spinning_cylinder/spinning_cylinder.cfg +++ b/TestCases/moving_wall/spinning_cylinder/spinning_cylinder.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.08.21 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/multiple_ffd/naca0012/inv_NACA0012_ffd.cfg b/TestCases/multiple_ffd/naca0012/inv_NACA0012_ffd.cfg index 63ac0e6024d..8ddf2fd572f 100644 --- a/TestCases/multiple_ffd/naca0012/inv_NACA0012_ffd.cfg +++ b/TestCases/multiple_ffd/naca0012/inv_NACA0012_ffd.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios, Charanya Venkatesan-Crome % % Institution: Stanford University % % Date: 2018.07.23 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/navierstokes/cylinder/cylinder_lowmach.cfg b/TestCases/navierstokes/cylinder/cylinder_lowmach.cfg index a975b7403e2..942f29e8248 100644 --- a/TestCases/navierstokes/cylinder/cylinder_lowmach.cfg +++ b/TestCases/navierstokes/cylinder/cylinder_lowmach.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.09.30 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/navierstokes/cylinder/lam_cylinder.cfg b/TestCases/navierstokes/cylinder/lam_cylinder.cfg index e6629d4fc99..e69570d421e 100644 --- a/TestCases/navierstokes/cylinder/lam_cylinder.cfg +++ b/TestCases/navierstokes/cylinder/lam_cylinder.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.09.30 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/navierstokes/flatplate/lam_flatplate.cfg b/TestCases/navierstokes/flatplate/lam_flatplate.cfg index 18435bf9caa..fe83f857a37 100644 --- a/TestCases/navierstokes/flatplate/lam_flatplate.cfg +++ b/TestCases/navierstokes/flatplate/lam_flatplate.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.09.30 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/navierstokes/flatplate/lam_flatplate_unst.cfg b/TestCases/navierstokes/flatplate/lam_flatplate_unst.cfg index 46285433567..26bae83a2f8 100644 --- a/TestCases/navierstokes/flatplate/lam_flatplate_unst.cfg +++ b/TestCases/navierstokes/flatplate/lam_flatplate_unst.cfg @@ -2,7 +2,7 @@ % % % SU2 configuration file % % Case description: Test interp. restart, and auto time-step for dual-time % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/navierstokes/naca0012/lam_NACA0012.cfg b/TestCases/navierstokes/naca0012/lam_NACA0012.cfg index e30de09d1c0..f64c2ff3956 100644 --- a/TestCases/navierstokes/naca0012/lam_NACA0012.cfg +++ b/TestCases/navierstokes/naca0012/lam_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Sep 28, 2012 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/navierstokes/poiseuille/lam_poiseuille.cfg b/TestCases/navierstokes/poiseuille/lam_poiseuille.cfg index 51d0e0baccf..73459ec133e 100644 --- a/TestCases/navierstokes/poiseuille/lam_poiseuille.cfg +++ b/TestCases/navierstokes/poiseuille/lam_poiseuille.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2017.02.27 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/navierstokes/poiseuille/profile_poiseuille.cfg b/TestCases/navierstokes/poiseuille/profile_poiseuille.cfg index ee36e6794ff..2bc398301d7 100644 --- a/TestCases/navierstokes/poiseuille/profile_poiseuille.cfg +++ b/TestCases/navierstokes/poiseuille/profile_poiseuille.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Robert Bosch LLC % % Date: 2018.03.19 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nicf/LS89/turb_SA_PR.cfg b/TestCases/nicf/LS89/turb_SA_PR.cfg index 682d1ba26a8..4897151ae09 100644 --- a/TestCases/nicf/LS89/turb_SA_PR.cfg +++ b/TestCases/nicf/LS89/turb_SA_PR.cfg @@ -5,7 +5,7 @@ % Author: M. Pini, S. Vitale % % Institution: Delft University of Technology % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nicf/LS89/turb_SST_PR.cfg b/TestCases/nicf/LS89/turb_SST_PR.cfg index a611ef7e427..e5d6ad55fb1 100644 --- a/TestCases/nicf/LS89/turb_SST_PR.cfg +++ b/TestCases/nicf/LS89/turb_SST_PR.cfg @@ -5,7 +5,7 @@ % Author: M. Pini, S. Vitale % % Institution: Delft University of Technology % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nicf/edge/edge_PPR.cfg b/TestCases/nicf/edge/edge_PPR.cfg index 8ce5f2a50b4..1da2049b479 100644 --- a/TestCases/nicf/edge/edge_PPR.cfg +++ b/TestCases/nicf/edge/edge_PPR.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.09.29 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nicf/edge/edge_VW.cfg b/TestCases/nicf/edge/edge_VW.cfg index 44e1f5c7c69..48513627b34 100644 --- a/TestCases/nicf/edge/edge_VW.cfg +++ b/TestCases/nicf/edge/edge_VW.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2012.09.29 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/invwedge/invwedge_ausm.cfg b/TestCases/nonequilibrium/invwedge/invwedge_ausm.cfg index f202170a6c9..2a549afcf4e 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_ausm.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_ausm.cfg @@ -5,7 +5,7 @@ % Author: C. Garbacz % % Institution: Strathclyde University % % Date: 2020.11.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg b/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg index 277f4e44eae..d0c09a92926 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_ausmplusup2.cfg @@ -2,7 +2,7 @@ % % % SU2 configuration file % % Case description: Mach 5 inviscid flow over a 10deg wedge- AUSM+-Up2 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg b/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg index b979502e8c6..0ca7867ae3d 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_lax.cfg @@ -2,7 +2,7 @@ % % % SU2 configuration file % % Case description: Mach 5 inviscid flow over a 10deg wedge-LAX % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/invwedge/invwedge_msw.cfg b/TestCases/nonequilibrium/invwedge/invwedge_msw.cfg index f7c37404d2b..73585488a5f 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_msw.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_msw.cfg @@ -2,7 +2,7 @@ % % % SU2 configuration file % % Case description: Mach 5 inviscid flow over a 10deg wedge-MSW % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/invwedge/invwedge_roe.cfg b/TestCases/nonequilibrium/invwedge/invwedge_roe.cfg index cc05d60edcb..6f871316deb 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_roe.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_roe.cfg @@ -2,7 +2,7 @@ % % % SU2 configuration file % % Case description: Mach 5 inviscid flow over a 10deg wedge-ROE % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg b/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg index 707af980723..44efe8a4c61 100644 --- a/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg +++ b/TestCases/nonequilibrium/invwedge/invwedge_ss_inlet.cfg @@ -5,7 +5,7 @@ % Author: J. Needels % % Institution: Stanford University % % Date: 2022.1.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/thermalbath/finitechemistry/thermalbath.cfg b/TestCases/nonequilibrium/thermalbath/finitechemistry/thermalbath.cfg index 9169529de25..171b4ba1140 100644 --- a/TestCases/nonequilibrium/thermalbath/finitechemistry/thermalbath.cfg +++ b/TestCases/nonequilibrium/thermalbath/finitechemistry/thermalbath.cfg @@ -7,7 +7,7 @@ % Author: C. Garbacz % % Institution: Strathclyde University % % Date: 2019.04.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/thermalbath/frozen/thermalbath_frozen.cfg b/TestCases/nonequilibrium/thermalbath/frozen/thermalbath_frozen.cfg index 0d6aff1f891..c2f0cf8e9aa 100644 --- a/TestCases/nonequilibrium/thermalbath/frozen/thermalbath_frozen.cfg +++ b/TestCases/nonequilibrium/thermalbath/frozen/thermalbath_frozen.cfg @@ -6,7 +6,7 @@ % Author: C. Garbacz % % Institution: Strathclyde University % % Date: 2019.04.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/viscous/axi_visccone.cfg b/TestCases/nonequilibrium/viscous/axi_visccone.cfg index b2f76f8a785..e9ea9d6d366 100644 --- a/TestCases/nonequilibrium/viscous/axi_visccone.cfg +++ b/TestCases/nonequilibrium/viscous/axi_visccone.cfg @@ -4,7 +4,7 @@ % Case description: Mach 5 viscous flow over a 10deg axisymmetric cone % % Author: C. Garbacz % % Institution: Strathclyde University % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/viscous/partial_cat.cfg b/TestCases/nonequilibrium/viscous/partial_cat.cfg index b0b37728fdc..a9677444f83 100644 --- a/TestCases/nonequilibrium/viscous/partial_cat.cfg +++ b/TestCases/nonequilibrium/viscous/partial_cat.cfg @@ -5,7 +5,7 @@ % catalytic walls - gamma model, effeciency = 0.2 % % Author: J. Needels % % Institution: Stanford University % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/viscous/super_cat.cfg b/TestCases/nonequilibrium/viscous/super_cat.cfg index b11a8b8d8cc..cde3c619d0b 100644 --- a/TestCases/nonequilibrium/viscous/super_cat.cfg +++ b/TestCases/nonequilibrium/viscous/super_cat.cfg @@ -5,7 +5,7 @@ % catalytic walls - gamma model, effeciency = 0.2 % % Author: J. Needels % % Institution: Stanford University % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/nonequilibrium/viscwedge_mpp/viscwedge_mpp.cfg b/TestCases/nonequilibrium/viscwedge_mpp/viscwedge_mpp.cfg index a62a1a4d87d..fb0b3169eb9 100644 --- a/TestCases/nonequilibrium/viscwedge_mpp/viscwedge_mpp.cfg +++ b/TestCases/nonequilibrium/viscwedge_mpp/viscwedge_mpp.cfg @@ -5,7 +5,7 @@ % Author: C. Garbacz % % Institution: Strathclyde University % % Date: 2020.11.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/equivalentarea_naca64206/NACA64206.cfg b/TestCases/optimization_euler/equivalentarea_naca64206/NACA64206.cfg index a7d2293ae9c..0f61123ecba 100644 --- a/TestCases/optimization_euler/equivalentarea_naca64206/NACA64206.cfg +++ b/TestCases/optimization_euler/equivalentarea_naca64206/NACA64206.cfg @@ -5,7 +5,7 @@ % Author: Yuki Utsumi % % Institution: Individual % % Date: 2021.08.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_2surf_1obj.cfg b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_2surf_1obj.cfg index 0d7fd536f46..d00a1493bc2 100644 --- a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_2surf_1obj.cfg +++ b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_2surf_1obj.cfg @@ -7,7 +7,7 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj.cfg b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj.cfg index 5622aba2fa2..a87cfdbdc3a 100644 --- a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj.cfg +++ b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj.cfg @@ -8,7 +8,7 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_1surf.cfg b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_1surf.cfg index 32dae495b59..07f45eb5b0f 100644 --- a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_1surf.cfg +++ b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_1surf.cfg @@ -8,7 +8,7 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_combo.cfg b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_combo.cfg index d08e451eae9..462d3935872 100644 --- a/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_combo.cfg +++ b/TestCases/optimization_euler/multiobjective_wedge/inv_wedge_ROE_multiobj_combo.cfg @@ -10,7 +10,7 @@ % Author: H.L. Kline, modified from inviscid wedge by Thomas D. Economon % % Institution: Stanford University % % Date: 2018.01.07 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/multipoint_naca0012/inv_NACA0012_multipoint.cfg b/TestCases/optimization_euler/multipoint_naca0012/inv_NACA0012_multipoint.cfg index 55767d72add..0774fc5c5e3 100644 --- a/TestCases/optimization_euler/multipoint_naca0012/inv_NACA0012_multipoint.cfg +++ b/TestCases/optimization_euler/multipoint_naca0012/inv_NACA0012_multipoint.cfg @@ -5,7 +5,7 @@ % Author: Indiana Stokes % % Institution: % % Date: 2017.07.03 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/pitching_naca64a010/pitching_NACA64A010.cfg b/TestCases/optimization_euler/pitching_naca64a010/pitching_NACA64A010.cfg index a30740c45d2..d8aab437132 100644 --- a/TestCases/optimization_euler/pitching_naca64a010/pitching_NACA64A010.cfg +++ b/TestCases/optimization_euler/pitching_naca64a010/pitching_NACA64A010.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/pitching_oneram6/pitching_ONERAM6.cfg b/TestCases/optimization_euler/pitching_oneram6/pitching_ONERAM6.cfg index ea1a5ae6944..5ef926bb5d8 100644 --- a/TestCases/optimization_euler/pitching_oneram6/pitching_ONERAM6.cfg +++ b/TestCases/optimization_euler/pitching_oneram6/pitching_ONERAM6.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 09.07.2011 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/rotating_naca0012/rotating_NACA0012.cfg b/TestCases/optimization_euler/rotating_naca0012/rotating_NACA0012.cfg index 61766480053..4464ff2da1c 100644 --- a/TestCases/optimization_euler/rotating_naca0012/rotating_NACA0012.cfg +++ b/TestCases/optimization_euler/rotating_naca0012/rotating_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.03.06 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/steady_inverse_design/inv_NACA0012.cfg b/TestCases/optimization_euler/steady_inverse_design/inv_NACA0012.cfg index 40ecbf09e0d..1095bbd5948 100644 --- a/TestCases/optimization_euler/steady_inverse_design/inv_NACA0012.cfg +++ b/TestCases/optimization_euler/steady_inverse_design/inv_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_adv.cfg b/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_adv.cfg index 5772c607061..78250835802 100644 --- a/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_adv.cfg +++ b/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_adv.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 2013.09.29 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_basic.cfg b/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_basic.cfg index 94742fdab2e..933786afaa1 100644 --- a/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_basic.cfg +++ b/TestCases/optimization_euler/steady_naca0012/inv_NACA0012_basic.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 2013.09.29 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_adv.cfg b/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_adv.cfg index e5c307044e0..a0c55da8aed 100644 --- a/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_adv.cfg +++ b/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_adv.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios, Heather Kline % % Institution: Stanford University % % Date: 01.17.2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_basic.cfg b/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_basic.cfg index 6b9afd7130d..b2dd3ee5e0f 100644 --- a/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_basic.cfg +++ b/TestCases/optimization_euler/steady_oneram6/inv_ONERAM6_basic.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios, Heather Kline % % Institution: Stanford University % % Date: 01.17.2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_rans/naca0012/naca0012.cfg b/TestCases/optimization_rans/naca0012/naca0012.cfg index 6499f73ec75..ffa7267f40c 100644 --- a/TestCases/optimization_rans/naca0012/naca0012.cfg +++ b/TestCases/optimization_rans/naca0012/naca0012.cfg @@ -5,7 +5,7 @@ % Author: Steffen Schotthöfer % % Institution: TU Kaiserslautern % % Date: Mar 16, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_rans/pitching_naca64a010/turb_NACA64A010.cfg b/TestCases/optimization_rans/pitching_naca64a010/turb_NACA64A010.cfg index 031f9cd0ce4..854a28c9699 100644 --- a/TestCases/optimization_rans/pitching_naca64a010/turb_NACA64A010.cfg +++ b/TestCases/optimization_rans/pitching_naca64a010/turb_NACA64A010.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_rans/pitching_oneram6/turb_ONERAM6.cfg b/TestCases/optimization_rans/pitching_oneram6/turb_ONERAM6.cfg index 748adfcd216..d943deff183 100644 --- a/TestCases/optimization_rans/pitching_oneram6/turb_ONERAM6.cfg +++ b/TestCases/optimization_rans/pitching_oneram6/turb_ONERAM6.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_rans/steady_oneram6/turb_ONERAM6.cfg b/TestCases/optimization_rans/steady_oneram6/turb_ONERAM6.cfg index d8e8f30e129..259e678ec14 100644 --- a/TestCases/optimization_rans/steady_oneram6/turb_ONERAM6.cfg +++ b/TestCases/optimization_rans/steady_oneram6/turb_ONERAM6.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/optimization_rans/steady_rae2822/turb_SA_RAE2822.cfg b/TestCases/optimization_rans/steady_rae2822/turb_SA_RAE2822.cfg index a6344ee4b2d..3e3baaa6fc9 100644 --- a/TestCases/optimization_rans/steady_rae2822/turb_SA_RAE2822.cfg +++ b/TestCases/optimization_rans/steady_rae2822/turb_SA_RAE2822.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 6cc412f48b1..e0fad895d88 100644 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -3,7 +3,7 @@ ## \file parallel_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/parallel_regression_AD.py b/TestCases/parallel_regression_AD.py index 997f24d4d55..16051fe71fc 100644 --- a/TestCases/parallel_regression_AD.py +++ b/TestCases/parallel_regression_AD.py @@ -3,7 +3,7 @@ ## \file parallel_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/pastix_support/config.cfg b/TestCases/pastix_support/config.cfg index adc8c4a3fd2..7c19a368716 100644 --- a/TestCases/pastix_support/config.cfg +++ b/TestCases/pastix_support/config.cfg @@ -2,7 +2,7 @@ % SU2 configuration file % % PaStiX options (http://pastix.gforge.inria.fr/files/README-txt.html) % % Institution: Imperial College London % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Intro: diff --git a/TestCases/pastix_support/readme.txt b/TestCases/pastix_support/readme.txt index 034388e5314..96736aeba43 100644 --- a/TestCases/pastix_support/readme.txt +++ b/TestCases/pastix_support/readme.txt @@ -2,7 +2,7 @@ % SU2 configuration file % % PaStiX support build instructions. % % Institution: Imperial College London % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % 1 - Download diff --git a/TestCases/polar/naca0012/inv_NACA0012.cfg b/TestCases/polar/naca0012/inv_NACA0012.cfg index c0529986d6a..663f763adfa 100644 --- a/TestCases/polar/naca0012/inv_NACA0012.cfg +++ b/TestCases/polar/naca0012/inv_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.11 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py b/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py index b1ebb0aa6f6..49d0194410a 100755 --- a/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py +++ b/TestCases/py_wrapper/disc_adj_fea/flow_load_sens/run_adjoint.py @@ -3,7 +3,7 @@ ## \file run_adjoint.py # \brief Python script to launch SU2_CFD_AD and compute the sensitivity of the FEA problem respect to flow loads. # \author Ruben Sanchez -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py b/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py index 6033451b06e..8a236c4ba6a 100755 --- a/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py +++ b/TestCases/py_wrapper/disc_adj_flow/mesh_disp_sens/run_adjoint.py @@ -3,7 +3,7 @@ ## \file run_adjoint.py # \brief Python script to launch SU2_CFD_AD # \author Ruben Sanchez -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/py_wrapper/flatPlate_rigidMotion/flatPlate_rigidMotion_Conf.cfg b/TestCases/py_wrapper/flatPlate_rigidMotion/flatPlate_rigidMotion_Conf.cfg index b95f06f8bee..175e61c56a5 100644 --- a/TestCases/py_wrapper/flatPlate_rigidMotion/flatPlate_rigidMotion_Conf.cfg +++ b/TestCases/py_wrapper/flatPlate_rigidMotion/flatPlate_rigidMotion_Conf.cfg @@ -5,7 +5,7 @@ % Author: ___________________________________________________________________ % % Institution: ______________________________________________________________ % % Date: __________ % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py b/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py index 210b095601c..da2ecb28433 100755 --- a/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py +++ b/TestCases/py_wrapper/flatPlate_rigidMotion/launch_flatPlate_rigidMotion.py @@ -3,7 +3,7 @@ ## \file flatPlate_rigidMotion.py # \brief Python script to launch SU2_CFD with customized unsteady boundary conditions using the Python wrapper. # \author David Thomas -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py b/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py index 3b0ad6efc59..34007a95eb8 100755 --- a/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py +++ b/TestCases/py_wrapper/flatPlate_unsteady_CHT/launch_unsteady_CHT_FlatPlate.py @@ -3,7 +3,7 @@ ## \file launch_unsteady_CHT_FlatPlate.py # \brief Python script to launch SU2_CFD with customized unsteady boundary conditions using the Python wrapper. # \author David Thomas -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/py_wrapper/flatPlate_unsteady_CHT/unsteady_CHT_FlatPlate_Conf.cfg b/TestCases/py_wrapper/flatPlate_unsteady_CHT/unsteady_CHT_FlatPlate_Conf.cfg index a893d1f65bc..481b6bea1d4 100644 --- a/TestCases/py_wrapper/flatPlate_unsteady_CHT/unsteady_CHT_FlatPlate_Conf.cfg +++ b/TestCases/py_wrapper/flatPlate_unsteady_CHT/unsteady_CHT_FlatPlate_Conf.cfg @@ -5,7 +5,7 @@ % Author: David THOMAS % % Institution: University of Liège % % Date: 12/12/2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/radiation/p1adjoint/configp1adjoint.cfg b/TestCases/radiation/p1adjoint/configp1adjoint.cfg index 50f7a8d57df..cb7178a2aee 100644 --- a/TestCases/radiation/p1adjoint/configp1adjoint.cfg +++ b/TestCases/radiation/p1adjoint/configp1adjoint.cfg @@ -4,7 +4,7 @@ % Case description: Coupled CFD-RHT adjoint problem % % Author: Ruben Sanchez (TU Kaiserslautern) % % Date: 2020-02-13 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/radiation/p1model/configp1.cfg b/TestCases/radiation/p1model/configp1.cfg index 420953e2e05..f03ab47fe66 100644 --- a/TestCases/radiation/p1model/configp1.cfg +++ b/TestCases/radiation/p1model/configp1.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: 2019-01-29 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg b/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg index aedbc71c2c7..8fc5c9737e7 100644 --- a/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg +++ b/TestCases/rans/actuatordisk_variable_load/propeller_variable_load.cfg @@ -8,7 +8,7 @@ % Comments: Grid file and propeller data courtesy of Mauro Minervino, % % Centro Italiano Ricerche Aerospaziali (CIRA) % % Date: 07/08/2020 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/flatplate/turb_SA_flatplate.cfg b/TestCases/rans/flatplate/turb_SA_flatplate.cfg index 09608b4bed8..eed7ca2f152 100644 --- a/TestCases/rans/flatplate/turb_SA_flatplate.cfg +++ b/TestCases/rans/flatplate/turb_SA_flatplate.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/flatplate/turb_SA_flatplate_species.cfg b/TestCases/rans/flatplate/turb_SA_flatplate_species.cfg index b92b30b0e6b..e09fe245164 100644 --- a/TestCases/rans/flatplate/turb_SA_flatplate_species.cfg +++ b/TestCases/rans/flatplate/turb_SA_flatplate_species.cfg @@ -6,7 +6,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechmniek B.V. % % Date: 2021.11.30 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/flatplate/turb_SST_flatplate.cfg b/TestCases/rans/flatplate/turb_SST_flatplate.cfg index b2a905a9628..0758224d3d2 100644 --- a/TestCases/rans/flatplate/turb_SST_flatplate.cfg +++ b/TestCases/rans/flatplate/turb_SST_flatplate.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.10 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sa.cfg b/TestCases/rans/naca0012/turb_NACA0012_sa.cfg index 165d3252ef0..aceafbc305c 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sa.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sa.cfg @@ -6,7 +6,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst.cfg index b7621b6de30..5bf963e82aa 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg index 932af7b0d51..42e5ae174c0 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_1994-KLm.cfg @@ -3,7 +3,7 @@ % SU2 configuration file % % Case description: 2D NACA 0012 Airfoil Validation Case (compressible) % % SST-1994-KLm implementation % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg index 2f41d396a3f..c0909cb317e 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_2003-Vm.cfg @@ -3,7 +3,7 @@ % SU2 configuration file % % Case description: 2D NACA 0012 Airfoil Validation Case (compressible) % % SST-2003-Vm implementation % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg index ac0e45ba793..c37bee5d16a 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_2003m.cfg @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % % SU2 configuration file, NACA0012 RANS SST-2003m % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_expliciteuler.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_expliciteuler.cfg index 80442e62c3e..e0043632254 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_expliciteuler.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_expliciteuler.cfg @@ -5,7 +5,7 @@ % Author: Max Aehle % % Institution: TU Kaiserslautern % % Date: Nov 17th, 2021 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_fixedvalues.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_fixedvalues.cfg index 0754a8c889e..e461badd1e7 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_fixedvalues.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_fixedvalues.cfg @@ -5,7 +5,7 @@ % Author: Max Aehle % % Institution: TU Kaiserslautern % % Date: Mar 17th, 2021 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_multigrid_restart.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_multigrid_restart.cfg index 12908d73bb7..294e470fc32 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_multigrid_restart.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_multigrid_restart.cfg @@ -6,7 +6,7 @@ % Author: David E. Manosalvas % % Institution: Stanford University % % Date: 02.14.2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg index 93e0d01e582..96f1c5a672e 100644 --- a/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg +++ b/TestCases/rans/naca0012/turb_NACA0012_sst_sust.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/oneram6/turb_ONERAM6.cfg b/TestCases/rans/oneram6/turb_ONERAM6.cfg index acdf3f83ee4..ebf2c93d89a 100644 --- a/TestCases/rans/oneram6/turb_ONERAM6.cfg +++ b/TestCases/rans/oneram6/turb_ONERAM6.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/oneram6/turb_ONERAM6_nk.cfg b/TestCases/rans/oneram6/turb_ONERAM6_nk.cfg index f1267512326..acd93ebaff7 100644 --- a/TestCases/rans/oneram6/turb_ONERAM6_nk.cfg +++ b/TestCases/rans/oneram6/turb_ONERAM6_nk.cfg @@ -2,7 +2,7 @@ % % % SU2 configuration file % % Case description: Turbulent flow, ONERA M6, Newton-Krylov solver % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg b/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg index 4bfe6dfbdf5..bb084427e36 100644 --- a/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg +++ b/TestCases/rans/oneram6/turb_ONERAM6_vc.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2014.06.14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/propeller/propeller.cfg b/TestCases/rans/propeller/propeller.cfg index 85c5de1b563..2bf449c916a 100644 --- a/TestCases/rans/propeller/propeller.cfg +++ b/TestCases/rans/propeller/propeller.cfg @@ -5,7 +5,7 @@ % Author: % % Institution: % % Date: % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/rae2822/turb_SA_RAE2822.cfg b/TestCases/rans/rae2822/turb_SA_RAE2822.cfg index 4096f45b8fd..33c811fc61f 100644 --- a/TestCases/rans/rae2822/turb_SA_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SA_RAE2822.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/rae2822/turb_SST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_RAE2822.cfg index 29fe503e3d7..6ff0416c4ab 100644 --- a/TestCases/rans/rae2822/turb_SST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_RAE2822.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg index 90cd5e7eea6..6c25dd63049 100644 --- a/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg +++ b/TestCases/rans/rae2822/turb_SST_SUST_RAE2822.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/restart_directdiff_naca/naca0012.cfg b/TestCases/rans/restart_directdiff_naca/naca0012.cfg index eb05427dce4..35d4d38bec5 100644 --- a/TestCases/rans/restart_directdiff_naca/naca0012.cfg +++ b/TestCases/rans/restart_directdiff_naca/naca0012.cfg @@ -5,7 +5,7 @@ % Author: Steffen Schotthöfer % % Institution: TU Kaiserslautern % % Date: Mar 16, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/s809/trans_s809.cfg b/TestCases/rans/s809/trans_s809.cfg index ae025dbee38..60ef01253e6 100644 --- a/TestCases/rans/s809/trans_s809.cfg +++ b/TestCases/rans/s809/trans_s809.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/s809/turb_S809.cfg b/TestCases/rans/s809/turb_S809.cfg index 85ee14df6b4..cef80f37f0d 100644 --- a/TestCases/rans/s809/turb_S809.cfg +++ b/TestCases/rans/s809/turb_S809.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios % % Institution: Stanford University % % Date: 5/15/2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans/vki_turbine/turb_vki.cfg b/TestCases/rans/vki_turbine/turb_vki.cfg index 29623e5d410..94a68ccacd1 100644 --- a/TestCases/rans/vki_turbine/turb_vki.cfg +++ b/TestCases/rans/vki_turbine/turb_vki.cfg @@ -5,7 +5,7 @@ % Author: Francisco Palacios, Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq.cfg index 4f673d95938..07cff339ab3 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg index cec5aba98aa..e4a2d92ae6f 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_1c.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg index 64e099c2e79..e3ed070d761 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_2c.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg index 549a4d13c11..9a09a1d30b6 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_3c.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg index 67f7e5b1386..d3a0ab603c9 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c1.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg index bc626d93cd5..2dc0002cf58 100644 --- a/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg +++ b/TestCases/rans_uq/naca0012/turb_NACA0012_uq_p1c2.cfg @@ -6,7 +6,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Feb 18th, 2013 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rotating/caradonna_tung/rot_caradonna_tung.cfg b/TestCases/rotating/caradonna_tung/rot_caradonna_tung.cfg index 57c1c1c7039..1ab945c73a6 100644 --- a/TestCases/rotating/caradonna_tung/rot_caradonna_tung.cfg +++ b/TestCases/rotating/caradonna_tung/rot_caradonna_tung.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2020.05.24 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/rotating/naca0012/rot_NACA0012.cfg b/TestCases/rotating/naca0012/rot_NACA0012.cfg index 7774c3ef13e..26c1ad79747 100644 --- a/TestCases/rotating/naca0012/rot_NACA0012.cfg +++ b/TestCases/rotating/naca0012/rot_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2020.06.06 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 012240f4ee6..fdd27f140ae 100644 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -3,7 +3,7 @@ ## \file serial_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/serial_regression_AD.py b/TestCases/serial_regression_AD.py index 265b7087337..edebb37e0d1 100644 --- a/TestCases/serial_regression_AD.py +++ b/TestCases/serial_regression_AD.py @@ -3,7 +3,7 @@ ## \file serial_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/sliding_interface/bars_SST_2D/bars.cfg b/TestCases/sliding_interface/bars_SST_2D/bars.cfg index cdb2d470575..02c1183f074 100644 --- a/TestCases/sliding_interface/bars_SST_2D/bars.cfg +++ b/TestCases/sliding_interface/bars_SST_2D/bars.cfg @@ -5,7 +5,7 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/bars_SST_2D/zone_1.cfg b/TestCases/sliding_interface/bars_SST_2D/zone_1.cfg index 3de2ca36a38..c1a65e2f854 100644 --- a/TestCases/sliding_interface/bars_SST_2D/zone_1.cfg +++ b/TestCases/sliding_interface/bars_SST_2D/zone_1.cfg @@ -5,7 +5,7 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/bars_SST_2D/zone_2.cfg b/TestCases/sliding_interface/bars_SST_2D/zone_2.cfg index 58725b92dae..85af3fd372d 100644 --- a/TestCases/sliding_interface/bars_SST_2D/zone_2.cfg +++ b/TestCases/sliding_interface/bars_SST_2D/zone_2.cfg @@ -5,7 +5,7 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/bars_SST_2D/zone_3.cfg b/TestCases/sliding_interface/bars_SST_2D/zone_3.cfg index e9d4b6f7b3a..bd7e75c4d8d 100644 --- a/TestCases/sliding_interface/bars_SST_2D/zone_3.cfg +++ b/TestCases/sliding_interface/bars_SST_2D/zone_3.cfg @@ -5,7 +5,7 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/channel_2D/channel_2D_NN.cfg b/TestCases/sliding_interface/channel_2D/channel_2D_NN.cfg index 60987ed20f6..e546995168e 100644 --- a/TestCases/sliding_interface/channel_2D/channel_2D_NN.cfg +++ b/TestCases/sliding_interface/channel_2D/channel_2D_NN.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/channel_2D/channel_2D_WA.cfg b/TestCases/sliding_interface/channel_2D/channel_2D_WA.cfg index be0e1b72874..7c38f87366c 100644 --- a/TestCases/sliding_interface/channel_2D/channel_2D_WA.cfg +++ b/TestCases/sliding_interface/channel_2D/channel_2D_WA.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/channel_2D/zone_2.cfg b/TestCases/sliding_interface/channel_2D/zone_2.cfg index 5ab308f0356..81fd7b5a632 100644 --- a/TestCases/sliding_interface/channel_2D/zone_2.cfg +++ b/TestCases/sliding_interface/channel_2D/zone_2.cfg @@ -5,7 +5,7 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/channel_2D/zone_3.cfg b/TestCases/sliding_interface/channel_2D/zone_3.cfg index e9d4b6f7b3a..bd7e75c4d8d 100644 --- a/TestCases/sliding_interface/channel_2D/zone_3.cfg +++ b/TestCases/sliding_interface/channel_2D/zone_3.cfg @@ -5,7 +5,7 @@ % Author: A. Rubino % % Institution: Delft University of Technology % % Date: Feb 27th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/channel_3D/channel_3D_NN.cfg b/TestCases/sliding_interface/channel_3D/channel_3D_NN.cfg index cf9ff738a0d..ff4f2a2c47f 100644 --- a/TestCases/sliding_interface/channel_3D/channel_3D_NN.cfg +++ b/TestCases/sliding_interface/channel_3D/channel_3D_NN.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/channel_3D/channel_3D_WA.cfg b/TestCases/sliding_interface/channel_3D/channel_3D_WA.cfg index 946a457c9c0..c45d7e5b6ab 100644 --- a/TestCases/sliding_interface/channel_3D/channel_3D_WA.cfg +++ b/TestCases/sliding_interface/channel_3D/channel_3D_WA.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/channel_3D/zone_1.cfg b/TestCases/sliding_interface/channel_3D/zone_1.cfg index 18fd4b6f495..58bf4da96e9 100644 --- a/TestCases/sliding_interface/channel_3D/zone_1.cfg +++ b/TestCases/sliding_interface/channel_3D/zone_1.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/channel_3D/zone_2.cfg b/TestCases/sliding_interface/channel_3D/zone_2.cfg index 236b5b474bf..63c195e9d21 100644 --- a/TestCases/sliding_interface/channel_3D/zone_2.cfg +++ b/TestCases/sliding_interface/channel_3D/zone_2.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/channel_3D/zone_3.cfg b/TestCases/sliding_interface/channel_3D/zone_3.cfg index 36437956c6e..27e586baa60 100644 --- a/TestCases/sliding_interface/channel_3D/zone_3.cfg +++ b/TestCases/sliding_interface/channel_3D/zone_3.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/incompressible_steady/config.cfg b/TestCases/sliding_interface/incompressible_steady/config.cfg index 54886c165ad..0abe97efa10 100644 --- a/TestCases/sliding_interface/incompressible_steady/config.cfg +++ b/TestCases/sliding_interface/incompressible_steady/config.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/incompressible_steady/configCircle.cfg b/TestCases/sliding_interface/incompressible_steady/configCircle.cfg index 32fbfdae307..82943af7b81 100644 --- a/TestCases/sliding_interface/incompressible_steady/configCircle.cfg +++ b/TestCases/sliding_interface/incompressible_steady/configCircle.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/incompressible_steady/configOut.cfg b/TestCases/sliding_interface/incompressible_steady/configOut.cfg index ad23d8924ca..d19fb2e702c 100644 --- a/TestCases/sliding_interface/incompressible_steady/configOut.cfg +++ b/TestCases/sliding_interface/incompressible_steady/configOut.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/incompressible_unsteady/config.cfg b/TestCases/sliding_interface/incompressible_unsteady/config.cfg index 59c3d2330af..4c3221eff70 100644 --- a/TestCases/sliding_interface/incompressible_unsteady/config.cfg +++ b/TestCases/sliding_interface/incompressible_unsteady/config.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/incompressible_unsteady/configCircle.cfg b/TestCases/sliding_interface/incompressible_unsteady/configCircle.cfg index 8d35dbd81b1..9bc21717854 100644 --- a/TestCases/sliding_interface/incompressible_unsteady/configCircle.cfg +++ b/TestCases/sliding_interface/incompressible_unsteady/configCircle.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/incompressible_unsteady/configOut.cfg b/TestCases/sliding_interface/incompressible_unsteady/configOut.cfg index d7a7eb33d4a..29941635096 100644 --- a/TestCases/sliding_interface/incompressible_unsteady/configOut.cfg +++ b/TestCases/sliding_interface/incompressible_unsteady/configOut.cfg @@ -5,7 +5,7 @@ % Author: Ruben Sanchez % % Institution: Chair for Scientific Computing, TU Kaiserslautern % % Date: January 28th, 2018 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/pipe/pipe_NN.cfg b/TestCases/sliding_interface/pipe/pipe_NN.cfg index 2662bd093d2..3913e6b54d9 100644 --- a/TestCases/sliding_interface/pipe/pipe_NN.cfg +++ b/TestCases/sliding_interface/pipe/pipe_NN.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/pipe/pipe_WA.cfg b/TestCases/sliding_interface/pipe/pipe_WA.cfg index 00427123748..f7ec3b6e11d 100644 --- a/TestCases/sliding_interface/pipe/pipe_WA.cfg +++ b/TestCases/sliding_interface/pipe/pipe_WA.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/pipe/zone_1.cfg b/TestCases/sliding_interface/pipe/zone_1.cfg index b9ec892d924..a5e3c809779 100644 --- a/TestCases/sliding_interface/pipe/zone_1.cfg +++ b/TestCases/sliding_interface/pipe/zone_1.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/pipe/zone_2.cfg b/TestCases/sliding_interface/pipe/zone_2.cfg index 984f550bf93..eecb43bb74d 100644 --- a/TestCases/sliding_interface/pipe/zone_2.cfg +++ b/TestCases/sliding_interface/pipe/zone_2.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/pipe/zone_3.cfg b/TestCases/sliding_interface/pipe/zone_3.cfg index b93def50e39..e820acd1080 100644 --- a/TestCases/sliding_interface/pipe/zone_3.cfg +++ b/TestCases/sliding_interface/pipe/zone_3.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/pipe/zone_4.cfg b/TestCases/sliding_interface/pipe/zone_4.cfg index 1c678c8131f..fcb17f1306e 100644 --- a/TestCases/sliding_interface/pipe/zone_4.cfg +++ b/TestCases/sliding_interface/pipe/zone_4.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/pipe/zone_5.cfg b/TestCases/sliding_interface/pipe/zone_5.cfg index 984f550bf93..eecb43bb74d 100644 --- a/TestCases/sliding_interface/pipe/zone_5.cfg +++ b/TestCases/sliding_interface/pipe/zone_5.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_NN.cfg b/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_NN.cfg index 36c0b729f9b..d87a7ca0380 100644 --- a/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_NN.cfg +++ b/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_NN.cfg @@ -5,7 +5,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_WA.cfg b/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_WA.cfg index c6e279dd3c1..4175de10251 100644 --- a/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_WA.cfg +++ b/TestCases/sliding_interface/rotating_cylinders/rot_cylinders_WA.cfg @@ -5,7 +5,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/single_stage/single_stage_NN.cfg b/TestCases/sliding_interface/single_stage/single_stage_NN.cfg index 38bfc466e59..27cd9e3f2ac 100644 --- a/TestCases/sliding_interface/single_stage/single_stage_NN.cfg +++ b/TestCases/sliding_interface/single_stage/single_stage_NN.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/single_stage/single_stage_WA.cfg b/TestCases/sliding_interface/single_stage/single_stage_WA.cfg index e49e091be7c..db325d42231 100644 --- a/TestCases/sliding_interface/single_stage/single_stage_WA.cfg +++ b/TestCases/sliding_interface/single_stage/single_stage_WA.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/single_stage/zone_1.cfg b/TestCases/sliding_interface/single_stage/zone_1.cfg index e1f1b675868..d9e3562d2f8 100644 --- a/TestCases/sliding_interface/single_stage/zone_1.cfg +++ b/TestCases/sliding_interface/single_stage/zone_1.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/single_stage/zone_2.cfg b/TestCases/sliding_interface/single_stage/zone_2.cfg index 374c65aaf88..a1f8e39705f 100644 --- a/TestCases/sliding_interface/single_stage/zone_2.cfg +++ b/TestCases/sliding_interface/single_stage/zone_2.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_NN.cfg b/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_NN.cfg index 67e13407e3d..63142b86007 100644 --- a/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_NN.cfg +++ b/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_NN.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_WA.cfg b/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_WA.cfg index eeb8ad5166a..5c5a27cdef5 100644 --- a/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_WA.cfg +++ b/TestCases/sliding_interface/supersonic_vortex_shedding/sup_vor_shed_WA.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/supersonic_vortex_shedding/zone_1.cfg b/TestCases/sliding_interface/supersonic_vortex_shedding/zone_1.cfg index 143b120749b..eaec56b6f9d 100644 --- a/TestCases/sliding_interface/supersonic_vortex_shedding/zone_1.cfg +++ b/TestCases/sliding_interface/supersonic_vortex_shedding/zone_1.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/supersonic_vortex_shedding/zone_2.cfg b/TestCases/sliding_interface/supersonic_vortex_shedding/zone_2.cfg index f36feacbaf3..66b6fc00f87 100644 --- a/TestCases/sliding_interface/supersonic_vortex_shedding/zone_2.cfg +++ b/TestCases/sliding_interface/supersonic_vortex_shedding/zone_2.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/uniform_flow/uniform_NN.cfg b/TestCases/sliding_interface/uniform_flow/uniform_NN.cfg index 437c6e59710..a6235e7dfae 100644 --- a/TestCases/sliding_interface/uniform_flow/uniform_NN.cfg +++ b/TestCases/sliding_interface/uniform_flow/uniform_NN.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/uniform_flow/uniform_WA.cfg b/TestCases/sliding_interface/uniform_flow/uniform_WA.cfg index 151d70c9d31..55a7a8c2fe4 100644 --- a/TestCases/sliding_interface/uniform_flow/uniform_WA.cfg +++ b/TestCases/sliding_interface/uniform_flow/uniform_WA.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/sliding_interface/uniform_flow/zone_1.cfg b/TestCases/sliding_interface/uniform_flow/zone_1.cfg index f6ee9f723a3..2caae2c2b18 100644 --- a/TestCases/sliding_interface/uniform_flow/zone_1.cfg +++ b/TestCases/sliding_interface/uniform_flow/zone_1.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/sliding_interface/uniform_flow/zone_2.cfg b/TestCases/sliding_interface/uniform_flow/zone_2.cfg index 41be07d38ed..60da4c4a95d 100644 --- a/TestCases/sliding_interface/uniform_flow/zone_2.cfg +++ b/TestCases/sliding_interface/uniform_flow/zone_2.cfg @@ -6,7 +6,7 @@ % Author: G. Gori % % Institution: Politecnico di Milano % % Date: Oct 5th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/solid_heat_conduction/periodic_pins/configSolid.cfg b/TestCases/solid_heat_conduction/periodic_pins/configSolid.cfg index 7c712870421..2db8bed2736 100644 --- a/TestCases/solid_heat_conduction/periodic_pins/configSolid.cfg +++ b/TestCases/solid_heat_conduction/periodic_pins/configSolid.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021.09.27 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/species_transport/multizone/configMaster.cfg b/TestCases/species_transport/multizone/configMaster.cfg index 141133ddb96..4f4f1ca2cae 100644 --- a/TestCases/species_transport/multizone/configMaster.cfg +++ b/TestCases/species_transport/multizone/configMaster.cfg @@ -5,7 +5,7 @@ % Author: N. Beishuizen % % Institution: Technische Universiteit Eindhoven % % Date: November 1, 2022 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/species_transport/passive_transport_validation/passive_transport.cfg b/TestCases/species_transport/passive_transport_validation/passive_transport.cfg index 2ee2aded9d2..09c870157d6 100644 --- a/TestCases/species_transport/passive_transport_validation/passive_transport.cfg +++ b/TestCases/species_transport/passive_transport_validation/passive_transport.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V % % Date: 2021.10.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/DAspecies3_primitiveVenturi.cfg b/TestCases/species_transport/venturi_primitive_3species/DAspecies3_primitiveVenturi.cfg index 7d2b486798e..f7c31afcc12 100644 --- a/TestCases/species_transport/venturi_primitive_3species/DAspecies3_primitiveVenturi.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/DAspecies3_primitiveVenturi.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021/10/14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi.cfg index e35c8080a35..6a223174a54 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021/10/14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_boundedscalar.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_boundedscalar.cfg index 17019cef8b9..b38b3390754 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_boundedscalar.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_boundedscalar.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021/10/14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel.cfg index b28ffaafaff..7b022511d86 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel.cfg @@ -7,7 +7,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/06/15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg index e4908b58a25..7bef8d8c329 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_TURBULENT_MARKERS.cfg @@ -8,7 +8,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/12/05 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_boundedscalar.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_boundedscalar.cfg index 9e215bf1871..8a4c8d6a40d 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_boundedscalar.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_boundedscalar.cfg @@ -7,7 +7,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/06/15 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg index 087cc340b77..e208b15fa59 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2.cfg @@ -8,7 +8,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/09/12 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg index 9371a65af33..d941f96705f 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_heatcapacity_H2_ND.cfg @@ -9,7 +9,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/10/12 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_viscosity.cfg b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_viscosity.cfg index 6101b0fb652..3be5d7a6962 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_viscosity.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species2_primitiveVenturi_mixingmodel_viscosity.cfg @@ -7,7 +7,7 @@ % Author: Cristopher Morales Ubal % % Institution: Eindhoven University of Technology % % Date: 2022/06/27 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi.cfg b/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi.cfg index 6f6cdea604b..7237f760404 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi.cfg @@ -5,7 +5,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021/10/14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi_inletFile.cfg b/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi_inletFile.cfg index a36f4447503..6de6854f3ee 100644 --- a/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi_inletFile.cfg +++ b/TestCases/species_transport/venturi_primitive_3species/species3_primitiveVenturi_inletFile.cfg @@ -6,7 +6,7 @@ % Author: T. Kattmann % % Institution: Bosch Thermotechniek B.V. % % Date: 2021/10/14 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/transition/E387_Airfoil/transitional_BC_model_ConfigFile.cfg b/TestCases/transition/E387_Airfoil/transitional_BC_model_ConfigFile.cfg index 80c94d0f3a1..c721656a127 100644 --- a/TestCases/transition/E387_Airfoil/transitional_BC_model_ConfigFile.cfg +++ b/TestCases/transition/E387_Airfoil/transitional_BC_model_ConfigFile.cfg @@ -6,7 +6,7 @@ % Institution: TOBB University of Economics and Technology % % TAI-TUSAS Turkish Aerospace Industries % % Date: Oct 10th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/transition/Schubauer_Klebanoff/transitional_BC_model_ConfigFile.cfg b/TestCases/transition/Schubauer_Klebanoff/transitional_BC_model_ConfigFile.cfg index 32cb81910fa..9a3769a39b4 100644 --- a/TestCases/transition/Schubauer_Klebanoff/transitional_BC_model_ConfigFile.cfg +++ b/TestCases/transition/Schubauer_Klebanoff/transitional_BC_model_ConfigFile.cfg @@ -6,7 +6,7 @@ % Institution: TOBB University of Economics and Technology % % TAI-TUSAS Turkish Aerospace Industries % % Date: Oct 10th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/transition/T3A_FlatPlate/transitional_BC_model_ConfigFile.cfg b/TestCases/transition/T3A_FlatPlate/transitional_BC_model_ConfigFile.cfg index 42b8775f6b6..ca01fc108d8 100644 --- a/TestCases/transition/T3A_FlatPlate/transitional_BC_model_ConfigFile.cfg +++ b/TestCases/transition/T3A_FlatPlate/transitional_BC_model_ConfigFile.cfg @@ -6,7 +6,7 @@ % Institution: TOBB University of Economics and Technology % % TAI-TUSAS Turkish Aerospace Industries % % Date: Oct 10th, 2016 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/turbomachinery/APU_turbocharger/Jones_restart.cfg b/TestCases/turbomachinery/APU_turbocharger/Jones_restart.cfg index 5f0ae291a78..8a4c24a0850 100755 --- a/TestCases/turbomachinery/APU_turbocharger/Jones_restart.cfg +++ b/TestCases/turbomachinery/APU_turbocharger/Jones_restart.cfg @@ -5,7 +5,7 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Jun 28th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/turbomachinery/axial_stage_2D/Axial_stage2D.cfg b/TestCases/turbomachinery/axial_stage_2D/Axial_stage2D.cfg index eadd07d2631..38c0a560488 100755 --- a/TestCases/turbomachinery/axial_stage_2D/Axial_stage2D.cfg +++ b/TestCases/turbomachinery/axial_stage_2D/Axial_stage2D.cfg @@ -5,7 +5,7 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Feb 28th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/turbomachinery/axial_stage_2D/zone_1.cfg b/TestCases/turbomachinery/axial_stage_2D/zone_1.cfg index a73d2ae7007..5104dbd1dd7 100644 --- a/TestCases/turbomachinery/axial_stage_2D/zone_1.cfg +++ b/TestCases/turbomachinery/axial_stage_2D/zone_1.cfg @@ -5,7 +5,7 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Feb 28th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/turbomachinery/axial_stage_2D/zone_2.cfg b/TestCases/turbomachinery/axial_stage_2D/zone_2.cfg index d699eb5acf9..f8e8677c2d2 100644 --- a/TestCases/turbomachinery/axial_stage_2D/zone_2.cfg +++ b/TestCases/turbomachinery/axial_stage_2D/zone_2.cfg @@ -5,7 +5,7 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Feb 28th, 2017 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/turbomachinery/centrifugal_blade/centrifugal_blade.cfg b/TestCases/turbomachinery/centrifugal_blade/centrifugal_blade.cfg index 73e924ce3d8..c50f217363e 100755 --- a/TestCases/turbomachinery/centrifugal_blade/centrifugal_blade.cfg +++ b/TestCases/turbomachinery/centrifugal_blade/centrifugal_blade.cfg @@ -5,7 +5,7 @@ % Author:S. Vitale % % Institution: Delft University of Technology % % Date: Oct 26th, 2015 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/turbomachinery/centrifugal_stage/centrifugal_stage.cfg b/TestCases/turbomachinery/centrifugal_stage/centrifugal_stage.cfg index 3455bdb6af1..8c4f5ebc038 100755 --- a/TestCases/turbomachinery/centrifugal_stage/centrifugal_stage.cfg +++ b/TestCases/turbomachinery/centrifugal_stage/centrifugal_stage.cfg @@ -5,7 +5,7 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: Oct 28th, 2015 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/turbomachinery/transonic_stator_2D/transonic_stator_restart.cfg b/TestCases/turbomachinery/transonic_stator_2D/transonic_stator_restart.cfg index 73dcf2bddf7..34f5e0d12a9 100644 --- a/TestCases/turbomachinery/transonic_stator_2D/transonic_stator_restart.cfg +++ b/TestCases/turbomachinery/transonic_stator_2D/transonic_stator_restart.cfg @@ -5,7 +5,7 @@ % Author: S. Vitale % % Institution: Delft University of Technology % % Date: 2017.03.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/tutorials.py b/TestCases/tutorials.py index a71651a30a7..e256a94c71f 100644 --- a/TestCases/tutorials.py +++ b/TestCases/tutorials.py @@ -3,7 +3,7 @@ ## \file parallel_regression.py # \brief Python script for automated regression testing of SU2 examples # \author A. Aranake, A. Campos, T. Economon, T. Lukaczyk, S. Padron -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/unsteady/pitching_naca64a010_euler/pitching_NACA64A010.cfg b/TestCases/unsteady/pitching_naca64a010_euler/pitching_NACA64A010.cfg index edfa9294482..90f3e25f814 100644 --- a/TestCases/unsteady/pitching_naca64a010_euler/pitching_NACA64A010.cfg +++ b/TestCases/unsteady/pitching_naca64a010_euler/pitching_NACA64A010.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/unsteady/pitching_naca64a010_rans/turb_NACA64A010.cfg b/TestCases/unsteady/pitching_naca64a010_rans/turb_NACA64A010.cfg index 40beee82d23..ac34070b960 100644 --- a/TestCases/unsteady/pitching_naca64a010_rans/turb_NACA64A010.cfg +++ b/TestCases/unsteady/pitching_naca64a010_rans/turb_NACA64A010.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2011.11.02 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/unsteady/plunging_naca0012/plunging_NACA0012.cfg b/TestCases/unsteady/plunging_naca0012/plunging_NACA0012.cfg index d98298bac01..c43c14882e5 100644 --- a/TestCases/unsteady/plunging_naca0012/plunging_NACA0012.cfg +++ b/TestCases/unsteady/plunging_naca0012/plunging_NACA0012.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: Jun 12, 2014 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/unsteady/square_cylinder/turb_square.cfg b/TestCases/unsteady/square_cylinder/turb_square.cfg index 453e477376c..da3ca2f261f 100644 --- a/TestCases/unsteady/square_cylinder/turb_square.cfg +++ b/TestCases/unsteady/square_cylinder/turb_square.cfg @@ -5,7 +5,7 @@ % Author: Thomas D. Economon % % Institution: Stanford University % % Date: 2013.02.25 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/TestCases/user_defined_functions/lam_flatplate.cfg b/TestCases/user_defined_functions/lam_flatplate.cfg index 664d0815a49..c2544a6851e 100644 --- a/TestCases/user_defined_functions/lam_flatplate.cfg +++ b/TestCases/user_defined_functions/lam_flatplate.cfg @@ -4,7 +4,7 @@ % Case description: Test custom outputs and objective function. % % Author: P. Gomes % % Date: 5th Jan 2022 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/vandv.py b/TestCases/vandv.py index 7877d1ac872..15056dd64e3 100644 --- a/TestCases/vandv.py +++ b/TestCases/vandv.py @@ -6,7 +6,7 @@ # - Use the SU2 --dry_run mode for configs of large tests. # - Restart from converged results for medium problems. # - Run small cases (<20s) to convergence. -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/TestCases/wallfunctions/flatplate/compressible_SA/turb_SA_flatplate.cfg b/TestCases/wallfunctions/flatplate/compressible_SA/turb_SA_flatplate.cfg index c57cfc0343d..8d1932d0170 100644 --- a/TestCases/wallfunctions/flatplate/compressible_SA/turb_SA_flatplate.cfg +++ b/TestCases/wallfunctions/flatplate/compressible_SA/turb_SA_flatplate.cfg @@ -6,7 +6,7 @@ % Author: Nijso Beishuizen, T. Kattmann % % Institution: Bosch Thermotechnology % % Date: 2021.09.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/wallfunctions/flatplate/compressible_SST/turb_SST_flatplate.cfg b/TestCases/wallfunctions/flatplate/compressible_SST/turb_SST_flatplate.cfg index bfc2b2d0748..258e11c6081 100644 --- a/TestCases/wallfunctions/flatplate/compressible_SST/turb_SST_flatplate.cfg +++ b/TestCases/wallfunctions/flatplate/compressible_SST/turb_SST_flatplate.cfg @@ -6,7 +6,7 @@ % Author: Nijso Beishuizen, T. Kattmann % % Institution: Bosch Thermotechnology % % Date: 2021.09.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/wallfunctions/flatplate/incompressible_SA/turb_SA_flatplate.cfg b/TestCases/wallfunctions/flatplate/incompressible_SA/turb_SA_flatplate.cfg index 85c4be8e24d..00ec3704293 100644 --- a/TestCases/wallfunctions/flatplate/incompressible_SA/turb_SA_flatplate.cfg +++ b/TestCases/wallfunctions/flatplate/incompressible_SA/turb_SA_flatplate.cfg @@ -6,7 +6,7 @@ % Author: Nijso Beishuizen, T. Kattmann % % Institution: Bosch Thermotechnology % % Date: 2021.09.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/TestCases/wallfunctions/flatplate/incompressible_SST/turb_SST_flatplate.cfg b/TestCases/wallfunctions/flatplate/incompressible_SST/turb_SST_flatplate.cfg index ae875576c6c..aa0e928ac5e 100644 --- a/TestCases/wallfunctions/flatplate/incompressible_SST/turb_SST_flatplate.cfg +++ b/TestCases/wallfunctions/flatplate/incompressible_SST/turb_SST_flatplate.cfg @@ -6,7 +6,7 @@ % Author: Nijso Beishuizen, T. Kattmann % % Institution: Bosch Thermotechnology % % Date: 2021.09.01 % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % diff --git a/UnitTests/Common/containers/CLookupTable_tests.cpp b/UnitTests/Common/containers/CLookupTable_tests.cpp index 335705dfc8c..658e7951392 100644 --- a/UnitTests/Common/containers/CLookupTable_tests.cpp +++ b/UnitTests/Common/containers/CLookupTable_tests.cpp @@ -2,7 +2,7 @@ * \file CLookupTable_tests.cpp * \brief Unit tests for the lookup table. * \author N. Beishuizen - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/geometry/CGeometry_test.cpp b/UnitTests/Common/geometry/CGeometry_test.cpp index a6997b8b1f0..be8992699c1 100644 --- a/UnitTests/Common/geometry/CGeometry_test.cpp +++ b/UnitTests/Common/geometry/CGeometry_test.cpp @@ -2,7 +2,7 @@ * \file CGeometry_tests.cpp * \brief Unit tests for CGeometry. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp b/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp index 6742feb356f..a0eb34f1a22 100644 --- a/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp +++ b/UnitTests/Common/geometry/dual_grid/CDualGrid_tests.cpp @@ -2,7 +2,7 @@ * \file CDualGrid_tests.cpp * \brief Unit tests for the dual grid classes * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp b/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp index 51ea8a40618..e8282665a60 100644 --- a/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp +++ b/UnitTests/Common/geometry/primal_grid/CPrimalGrid_tests.cpp @@ -2,7 +2,7 @@ * \file CPrimalGrid_tests.cpp * \brief Unit tests for the primal grid classes * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/simple_ad_test.cpp b/UnitTests/Common/simple_ad_test.cpp index 48c689c58ae..3fc3dc0da29 100644 --- a/UnitTests/Common/simple_ad_test.cpp +++ b/UnitTests/Common/simple_ad_test.cpp @@ -4,7 +4,7 @@ * basic functionality, this also serves as a regression test * to make sure that AD works within unit testing. * \author C. Pederson - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/simple_directdiff_test.cpp b/UnitTests/Common/simple_directdiff_test.cpp index 374ab0d9086..8cc0772d624 100644 --- a/UnitTests/Common/simple_directdiff_test.cpp +++ b/UnitTests/Common/simple_directdiff_test.cpp @@ -4,7 +4,7 @@ * basic functionality, this also serves as a regression test * to make sure that DD works within unit testing. * \author C. Pederson - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp b/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp index a006ae9613e..379c653d7ae 100644 --- a/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp +++ b/UnitTests/Common/toolboxes/C1DInterpolation_tests.cpp @@ -2,7 +2,7 @@ * \file C1DInterpolation_tests.cpp * \brief Unit tests for splines and what not. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp b/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp index 4051cc2ba11..d27e55cfd20 100644 --- a/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp +++ b/UnitTests/Common/toolboxes/CQuasiNewtonInvLeastSquares_tests.cpp @@ -3,7 +3,7 @@ * \brief Unit tests for the CQuasiNewtonInvLeastSquares class. * Which should find the root of a n-d linear problem in n+1 iterations. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/toolboxes/ndflattener_tests.cpp b/UnitTests/Common/toolboxes/ndflattener_tests.cpp index e71c54fd825..7393443db59 100644 --- a/UnitTests/Common/toolboxes/ndflattener_tests.cpp +++ b/UnitTests/Common/toolboxes/ndflattener_tests.cpp @@ -2,7 +2,7 @@ * \file ndflattener_tests.cpp * \brief Unit tests for NdFlattener template classes. * \author M. Aehle - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/Common/vectorization.cpp b/UnitTests/Common/vectorization.cpp index 65c69e8083f..b061caedcbd 100644 --- a/UnitTests/Common/vectorization.cpp +++ b/UnitTests/Common/vectorization.cpp @@ -2,7 +2,7 @@ * \file vectorization.cpp * \brief Unit tests for the SIMD type and associated expression templates. * \author P. Gomes - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/SU2_CFD/gradients.cpp b/UnitTests/SU2_CFD/gradients.cpp index 84f444f0cbd..1f3b5ab0499 100644 --- a/UnitTests/SU2_CFD/gradients.cpp +++ b/UnitTests/SU2_CFD/gradients.cpp @@ -2,7 +2,7 @@ * \file gradients.cpp * \brief Unit tests for gradient calculation. * \author P. Gomes, T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp b/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp index ca92394cab5..8287627dc20 100644 --- a/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp +++ b/UnitTests/SU2_CFD/numerics/CNumerics_tests.cpp @@ -2,7 +2,7 @@ * \file CNumerics_tests.cpp * \brief Unit tests for the numerics classes. * \author C. Pederson - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/SU2_CFD/windowing.cpp b/UnitTests/SU2_CFD/windowing.cpp index dab5ed25d86..c711c6f74db 100644 --- a/UnitTests/SU2_CFD/windowing.cpp +++ b/UnitTests/SU2_CFD/windowing.cpp @@ -2,7 +2,7 @@ * \file windowing.cpp * \brief Unit tests for windowed time-averaging. * \author C. Bauer - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/UnitQuadTestCase.hpp b/UnitTests/UnitQuadTestCase.hpp index 17a71dec9cb..4c78fec4e18 100644 --- a/UnitTests/UnitQuadTestCase.hpp +++ b/UnitTests/UnitQuadTestCase.hpp @@ -2,7 +2,7 @@ * \file UnitQuadTestCase.hpp * \brief Simple unit quad test to be used in unit tests. * \author T. Albring - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/UnitTests/test_driver.cpp b/UnitTests/test_driver.cpp index 12709c94ec4..b38ba907c8f 100644 --- a/UnitTests/test_driver.cpp +++ b/UnitTests/test_driver.cpp @@ -2,7 +2,7 @@ * \file test_driver.cpp * \brief The main entry point for unit tests (the main()). * \author C. Pederson - * \version 7.5.0 "Blackbird" + * \version 7.5.1 "Blackbird" * * SU2 Project Website: https://su2code.github.io * diff --git a/config_template.cfg b/config_template.cfg index 127d8a445be..0463ce3357f 100644 --- a/config_template.cfg +++ b/config_template.cfg @@ -5,7 +5,7 @@ % Author: ___________________________________________________________________ % % Institution: ______________________________________________________________ % % Date: __________ % -% File Version 7.5.0 "Blackbird" % +% File Version 7.5.1 "Blackbird" % % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/externals/Makefile.am b/externals/Makefile.am index 7127ca2ac35..24bfed9615f 100644 --- a/externals/Makefile.am +++ b/externals/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for external libraries # \author B. Kirk, T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/externals/tecio/Makefile.am b/externals/tecio/Makefile.am index 2bb3e420183..fbea331dd6c 100644 --- a/externals/tecio/Makefile.am +++ b/externals/tecio/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Makefile for external libraries # \author B. Kirk, T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/legacy/Makefile.am b/legacy/Makefile.am index 40870a1140c..f99a9542973 100644 --- a/legacy/Makefile.am +++ b/legacy/Makefile.am @@ -3,7 +3,7 @@ # \file Makefile.am # \brief Global makefile for the SU2 project # \author M. Colonno, T. Economon, F. Palacios -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/legacy/configure.ac b/legacy/configure.ac index d723498c3a3..23ea882a7e3 100644 --- a/legacy/configure.ac +++ b/legacy/configure.ac @@ -3,7 +3,7 @@ # \file configure.ac # \brief Main file for configuring the autoconf/automake build process # \author M. Colonno, T. Economon, F. Palacios, B. Kirk -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/legacy/preconfigure.py b/legacy/preconfigure.py index 32eaafb8778..6bf254ff4cb 100755 --- a/legacy/preconfigure.py +++ b/legacy/preconfigure.py @@ -3,7 +3,7 @@ ## \file configure.py # \brief An extended configuration script. # \author T. Albring -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/meson.build b/meson.build index 883383a7741..ca86992ea88 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('SU2', 'c', 'cpp', - version: '7.5.0 "Blackbird"', + version: '7.5.1 "Blackbird"', license: 'LGPL2', default_options: ['buildtype=release', 'warning_level=0', @@ -287,7 +287,7 @@ endif message('''------------------------------------------------------------------------- | ___ _ _ ___ | - | / __| | | |_ ) Release 7.5.0 "Blackbird" | + | / __| | | |_ ) Release 7.5.1 "Blackbird" | | \__ \ |_| |/ / | | |___/\___//___| Meson Configuration Summary | | | diff --git a/meson.py b/meson.py index 42c96277271..dbeb6bfebef 100755 --- a/meson.py +++ b/meson.py @@ -3,7 +3,7 @@ ## \file meson.py # \brief An extended meson script for setting up the environment and running meson # \author T. Albring -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/meson_scripts/init.py b/meson_scripts/init.py index cc6a20b28e9..a5e024a1b20 100755 --- a/meson_scripts/init.py +++ b/meson_scripts/init.py @@ -4,7 +4,7 @@ # \brief Initializes necessary dependencies for SU2 either using git or it # fetches zip files. # \author T. Albring -# \version 7.5.0 "Blackbird" +# \version 7.5.1 "Blackbird" # # SU2 Project Website: https://su2code.github.io # diff --git a/su2omp.syntax.json b/su2omp.syntax.json index df235b1312f..dc853982da1 100644 --- a/su2omp.syntax.json +++ b/su2omp.syntax.json @@ -4,7 +4,7 @@ "\\file su2omp.syntax.json", "\\brief Definitions for the OpDiLib syntax checker", "\\author J. Blühdorn", - "\\version 7.5.0 \"Blackbird\"", + "\\version 7.5.1 \"Blackbird\"", "SU2 Project Website: https://su2code.github.io",