Skip to content

Commit 42d1571

Browse files
authored
Merge pull request #1590 from su2code/develop
Update master
2 parents 72b2fa9 + 328a1b7 commit 42d1571

962 files changed

Lines changed: 8243 additions & 4632 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/regression.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,10 @@ jobs:
6060
strategy:
6161
fail-fast: false
6262
matrix:
63-
testscript: ['tutorials.py', 'parallel_regression.py', 'parallel_regression_AD.py', 'serial_regression.py', 'serial_regression_AD.py', 'hybrid_regression.py', 'hybrid_regression_AD.py']
63+
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']
6464
include:
65+
- testscript: 'vandv.py'
66+
tag: MPI
6567
- testscript: 'tutorials.py'
6668
tag: MPI
6769
- testscript: 'parallel_regression.py'

AUTHORS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,15 @@ Andrew Wendorff
5454
Aniket C. Aranake
5555
Antonio Rubino
5656
Arne Bachmann
57+
Arne Voß
5758
Beckett Y. Zhou
5859
Benjamin S. Kirk
5960
Brendan Tracey
6061
Brian Munguía
6162
Carsten Othmer
6263
Catarina Garbacz
6364
Charanya Venkatesan-Crome
65+
Christian Bauer
6466
Clark Pederson
6567
Daumantas Kavolis
6668
Dave Taflin
@@ -90,6 +92,7 @@ JonathanSmith1936
9092
Kedar Naik
9193
LaSerpe
9294
Lennaert Tol
95+
Lisa Kusch
9396
Matteo Pini
9497
Max Aehle
9598
Max Le

Common/doc/docmain.hpp

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,14 @@
22
* \file docmain.hpp
33
* \brief This file contains documentation for Doxygen and does not have any significance with respect to C++.
44
* \author F. Palacios
5-
* \version 7.3.0 "Blackbird"
5+
* \version 7.3.1 "Blackbird"
66
*
7-
* The current SU2 release has been coordinated by the
8-
* SU2 International Developers Society <www.su2devsociety.org>
9-
* with selected contributions from the open-source community.
10-
* - Prof. Juan J. Alonso's group at Stanford University.
11-
* - Prof. Piero Colonna's group at Delft University of Technology.
12-
* - Prof. Nicolas R. Gauger's group at Kaiserslautern University of Technology.
13-
* - Prof. Alberto Guardone's group at Polytechnic University of Milan.
14-
* - Prof. Rafael Palacios' group at Imperial College London.
15-
* - Prof. Edwin van der Weide's group at the University of Twente.
16-
* - Prof. Vincent Terrapon's group at the University of Liege.
7+
* SU2 Project Website: https://su2code.github.io
178
*
18-
* Copyright 2012-2021, Francisco D. Palacios, Thomas D. Economon,
19-
* Tim Albring, and the SU2 contributors.
9+
* The SU2 Project is maintained by the SU2 Foundation
10+
* (http://su2foundation.org)
11+
*
12+
* Copyright 2012-2022, SU2 Contributors (cf. AUTHORS.md)
2013
*
2114
* SU2 is free software; you can redistribute it and/or
2215
* modify it under the terms of the GNU Lesser General Public
@@ -33,7 +26,7 @@
3326
*/
3427

3528
/*!
36-
* \mainpage SU2 version 7.3.0 "Blackbird"
29+
* \mainpage SU2 version 7.3.1 "Blackbird"
3730
* SU2 suite is an open-source collection of C++ based software tools
3831
* to perform PDE analysis and PDE constrained optimization problems. The toolset is designed with
3932
* computational fluid dynamics and aerodynamic shape optimization in mind, but is extensible to

Common/include/CConfig.hpp

Lines changed: 44 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* \brief All the information about the definition of the physical problem.
44
* The subroutines and functions are in the <i>CConfig.cpp</i> file.
55
* \author F. Palacios, T. Economon, B. Tracey
6-
* \version 7.3.0 "Blackbird"
6+
* \version 7.3.1 "Blackbird"
77
*
88
* SU2 Project Website: https://su2code.github.io
99
*
@@ -148,7 +148,6 @@ class CConfig {
148148
su2double CL_Target; /*!< \brief Fixed Cl mode Target Cl. */
149149
TIME_MARCHING TimeMarching; /*!< \brief Steady or unsteady (time stepping or dual time stepping) computation. */
150150
unsigned short Dynamic_Analysis; /*!< \brief Static or dynamic structural analysis. */
151-
unsigned short nStartUpIter; /*!< \brief Start up iterations using the fine grid. */
152151
su2double FixAzimuthalLine; /*!< \brief Fix an azimuthal line due to misalignments of the nearfield. */
153152
su2double **DV_Value; /*!< \brief Previous value of the design variable. */
154153
su2double Venkat_LimiterCoeff; /*!< \brief Limiter coefficient */
@@ -388,10 +387,6 @@ class CConfig {
388387
su2double **Periodic_RotCenter; /*!< \brief Rotational center for each periodic boundary. */
389388
su2double **Periodic_RotAngles; /*!< \brief Rotation angles for each periodic boundary. */
390389
su2double **Periodic_Translation; /*!< \brief Translation vector for each periodic boundary. */
391-
unsigned short nPeriodic_Index; /*!< \brief Number of SEND_RECEIVE periodic transformations. */
392-
su2double **Periodic_Center; /*!< \brief Rotational center for each SEND_RECEIVE boundary. */
393-
su2double **Periodic_Rotation; /*!< \brief Rotation angles for each SEND_RECEIVE boundary. */
394-
su2double **Periodic_Translate; /*!< \brief Translation vector for each SEND_RECEIVE boundary. */
395390
string *Marker_CfgFile_TagBound; /*!< \brief Global index for markers using config file. */
396391
unsigned short *Marker_All_KindBC, /*!< \brief Global index for boundaries using grid information. */
397392
*Marker_CfgFile_KindBC; /*!< \brief Global index for boundaries using config file. */
@@ -490,6 +485,12 @@ class CConfig {
490485
DIFFUSIVITYMODEL Kind_Diffusivity_Model; /*!< \brief Kind of the mass diffusivity Model */
491486
FREESTREAM_OPTION Kind_FreeStreamOption; /*!< \brief Kind of free stream option to choose if initializing with density or temperature */
492487
MAIN_SOLVER Kind_Solver; /*!< \brief Kind of solver: Euler, NS, Continuous adjoint, etc. */
488+
LIMITER Kind_SlopeLimit, /*!< \brief Global slope limiter. */
489+
Kind_SlopeLimit_Flow, /*!< \brief Slope limiter for flow equations.*/
490+
Kind_SlopeLimit_Turb, /*!< \brief Slope limiter for the turbulence equation.*/
491+
Kind_SlopeLimit_AdjTurb, /*!< \brief Slope limiter for the adjoint turbulent equation.*/
492+
Kind_SlopeLimit_AdjFlow, /*!< \brief Slope limiter for the adjoint equation.*/
493+
Kind_SlopeLimit_Species; /*!< \brief Slope limiter for the species equation.*/
493494
unsigned short Kind_FluidModel, /*!< \brief Kind of the Fluid Model: Ideal, van der Waals, etc. */
494495
Kind_InitOption, /*!< \brief Kind of Init option to choose if initializing with Reynolds number or with thermodynamic conditions */
495496
Kind_GridMovement, /*!< \brief Kind of the static mesh movement. */
@@ -505,12 +506,6 @@ class CConfig {
505506
Kind_AdjTurb_Linear_Prec, /*!< \brief Preconditioner of the turbulent adjoint linear solver. */
506507
Kind_DiscAdj_Linear_Solver, /*!< \brief Linear solver for the discrete adjoint system. */
507508
Kind_DiscAdj_Linear_Prec, /*!< \brief Preconditioner of the discrete adjoint linear solver. */
508-
Kind_SlopeLimit, /*!< \brief Global slope limiter. */
509-
Kind_SlopeLimit_Flow, /*!< \brief Slope limiter for flow equations.*/
510-
Kind_SlopeLimit_Turb, /*!< \brief Slope limiter for the turbulence equation.*/
511-
Kind_SlopeLimit_AdjTurb, /*!< \brief Slope limiter for the adjoint turbulent equation.*/
512-
Kind_SlopeLimit_AdjFlow, /*!< \brief Slope limiter for the adjoint equation.*/
513-
Kind_SlopeLimit_Species, /*!< \brief Slope limiter for the species equation.*/
514509
Kind_TimeNumScheme, /*!< \brief Global explicit or implicit time integration. */
515510
Kind_TimeIntScheme_Flow, /*!< \brief Time integration for the flow equations. */
516511
Kind_TimeIntScheme_FEM_Flow, /*!< \brief Time integration for the flow equations. */
@@ -1124,9 +1119,10 @@ class CConfig {
11241119

11251120
unsigned long HistoryWrtFreq[3], /*!< \brief Array containing history writing frequencies for timer iter, outer iter, inner iter */
11261121
ScreenWrtFreq[3]; /*!< \brief Array containing screen writing frequencies for timer iter, outer iter, inner iter */
1127-
unsigned long VolumeWrtFreq; /*!< \brief Writing frequency for solution files. */
11281122
OUTPUT_TYPE* VolumeOutputFiles; /*!< \brief File formats to output */
1129-
unsigned short nVolumeOutputFiles; /*!< \brief Number of File formats to output */
1123+
unsigned short nVolumeOutputFiles=0;/*!< \brief Number of File formats to output */
1124+
unsigned short nVolumeOutputFrequencies; /*!< \brief Number of frequencies for the volume outputs */
1125+
unsigned long *VolumeOutputFrequencies; /*!< \brief list containing the writing frequencies */
11301126

11311127
bool Multizone_Mesh; /*!< \brief Determines if the mesh contains multiple zones. */
11321128
bool SinglezoneDriver; /*!< \brief Determines if the single-zone driver is used. (TEMPORARY) */
@@ -1261,6 +1257,8 @@ class CConfig {
12611257

12621258
void addUShortListOption(const string name, unsigned short & size, unsigned short * & option_field);
12631259

1260+
void addULongListOption(const string name, unsigned short & size, unsigned long * & option_field);
1261+
12641262
void addStringListOption(const string name, unsigned short & num_marker, string* & option_field);
12651263

12661264
void addConvectOption(const string name, unsigned short & space_field, unsigned short & centered_field, unsigned short & upwind_field);
@@ -1658,31 +1656,31 @@ class CConfig {
16581656
su2double GetHeat_Flux_Ref(void) const { return Heat_Flux_Ref; }
16591657

16601658
/*!
1661-
* \brief Get the value of the frestream temperature.
1659+
* \brief Get the value of the freestream temperature.
16621660
* \return Freestream temperature.
16631661
*/
16641662
su2double GetTemperature_FreeStream(void) const { return Temperature_FreeStream; }
16651663
/*!
1666-
* \brief Get the value of the frestream vibrational-electronic temperature.
1667-
* \return Freestream temperature.
1664+
* \brief Get the value of the freestream vibrational-electronic temperature.
1665+
* \return Freestream vibe-el temperature.
16681666
*/
16691667
su2double GetTemperature_ve_FreeStream(void) const { return Temperature_ve_FreeStream; }
16701668

16711669
/*!
1672-
* \brief Get the value of the frestream temperature.
1673-
* \return Freestream temperature.
1670+
* \brief Get the value of the freestream energy.
1671+
* \return Freestream energy.
16741672
*/
16751673
su2double GetEnergy_FreeStream(void) const { return Energy_FreeStream; }
16761674

16771675
/*!
1678-
* \brief Get the value of the frestream temperature.
1679-
* \return Freestream temperature.
1676+
* \brief Get the value of the freestream viscosity.
1677+
* \return Freestream viscosity.
16801678
*/
16811679
su2double GetViscosity_FreeStream(void) const { return Viscosity_FreeStream; }
16821680

16831681
/*!
1684-
* \brief Get the value of the frestream temperature.
1685-
* \return Freestream temperature.
1682+
* \brief Get the value of the freestream density.
1683+
* \return Freestream density.
16861684
*/
16871685
su2double GetDensity_FreeStream(void) const { return Density_FreeStream; }
16881686

@@ -1760,8 +1758,8 @@ class CConfig {
17601758
su2double GetPressure_Ref(void) const { return Pressure_Ref; }
17611759

17621760
/*!
1763-
* \brief Get the value of the reference pressure for non-dimensionalization.
1764-
* \return Reference pressure for non-dimensionalization.
1761+
* \brief Get the value of the reference energy for non-dimensionalization.
1762+
* \return Reference energy for non-dimensionalization.
17651763
*/
17661764
su2double GetEnergy_Ref(void) const { return Energy_Ref; }
17671765

@@ -1977,12 +1975,6 @@ class CConfig {
19771975
*/
19781976
su2double GetLength_Reynolds(void) const { return Length_Reynolds; }
19791977

1980-
/*!
1981-
* \brief Get the start up iterations using the fine grid, this works only for multigrid problems.
1982-
* \return Start up iterations using the fine grid.
1983-
*/
1984-
unsigned short GetnStartUpIter(void) const { return nStartUpIter; }
1985-
19861978
/*!
19871979
* \brief Get the reference area for non dimensional coefficient computation. If the value from the
19881980
* is 0 then, the code will compute the reference area using the projection of the shape into
@@ -2302,7 +2294,7 @@ class CConfig {
23022294
* \param[in] val_kind_fem - If FEM, what kind of FEM discretization.
23032295
*/
23042296
void SetKind_ConvNumScheme(unsigned short val_kind_convnumscheme, unsigned short val_kind_centered,
2305-
unsigned short val_kind_upwind, unsigned short val_kind_slopelimit,
2297+
unsigned short val_kind_upwind, LIMITER val_kind_slopelimit,
23062298
bool val_muscl, unsigned short val_kind_fem);
23072299

23082300
/*!
@@ -4571,37 +4563,37 @@ class CConfig {
45714563
* \brief Get the method for limiting the spatial gradients.
45724564
* \return Method for limiting the spatial gradients.
45734565
*/
4574-
unsigned short GetKind_SlopeLimit(void) const { return Kind_SlopeLimit; }
4566+
LIMITER GetKind_SlopeLimit(void) const { return Kind_SlopeLimit; }
45754567

45764568
/*!
45774569
* \brief Get the method for limiting the spatial gradients.
45784570
* \return Method for limiting the spatial gradients solving the flow equations.
45794571
*/
4580-
unsigned short GetKind_SlopeLimit_Flow(void) const { return Kind_SlopeLimit_Flow; }
4572+
LIMITER GetKind_SlopeLimit_Flow(void) const { return Kind_SlopeLimit_Flow; }
45814573

45824574
/*!
45834575
* \brief Get the method for limiting the spatial gradients.
45844576
* \return Method for limiting the spatial gradients solving the turbulent equation.
45854577
*/
4586-
unsigned short GetKind_SlopeLimit_Turb(void) const { return Kind_SlopeLimit_Turb; }
4578+
LIMITER GetKind_SlopeLimit_Turb(void) const { return Kind_SlopeLimit_Turb; }
45874579

45884580
/*!
45894581
* \brief Get the method for limiting the spatial gradients.
45904582
* \return Method for limiting the spatial gradients solving the species equation.
45914583
*/
4592-
unsigned short GetKind_SlopeLimit_Species() const { return Kind_SlopeLimit_Species; }
4584+
LIMITER GetKind_SlopeLimit_Species() const { return Kind_SlopeLimit_Species; }
45934585

45944586
/*!
45954587
* \brief Get the method for limiting the spatial gradients.
45964588
* \return Method for limiting the spatial gradients solving the adjoint turbulent equation.
45974589
*/
4598-
unsigned short GetKind_SlopeLimit_AdjTurb(void) const { return Kind_SlopeLimit_AdjTurb; }
4590+
LIMITER GetKind_SlopeLimit_AdjTurb(void) const { return Kind_SlopeLimit_AdjTurb; }
45994591

46004592
/*!
46014593
* \brief Get the method for limiting the spatial gradients.
46024594
* \return Method for limiting the spatial gradients solving the adjoint flow equation.
46034595
*/
4604-
unsigned short GetKind_SlopeLimit_AdjFlow(void) const { return Kind_SlopeLimit_AdjFlow; }
4596+
LIMITER GetKind_SlopeLimit_AdjFlow(void) const { return Kind_SlopeLimit_AdjFlow; }
46054597

46064598
/*!
46074599
* \brief Value of the calibrated constant for the Lax method (center scheme).
@@ -5989,6 +5981,11 @@ class CConfig {
59895981
*/
59905982
su2double GetStreamwise_Periodic_PressureDrop(void) const { return Streamwise_Periodic_PressureDrop; }
59915983

5984+
/*!
5985+
* \brief Set the value of the pressure delta from which body force vector is computed. Necessary for Restart metadata.
5986+
*/
5987+
void SetStreamwise_Periodic_PressureDrop(su2double Streamwise_Periodic_PressureDrop_) { Streamwise_Periodic_PressureDrop = Streamwise_Periodic_PressureDrop_; }
5988+
59925989
/*!
59935990
* \brief Get the value of the massflow from which body force vector is computed.
59945991
* \return Massflow for body force computation.
@@ -6604,13 +6601,6 @@ class CConfig {
66046601
*/
66056602
const su2double* GetInlet_Velocity(string val_index) const;
66066603

6607-
/*!
6608-
* \brief Get the mass fraction vector at a supersonic inlet boundary.
6609-
* \param[in] val_index - Index corresponding to the inlet boundary.
6610-
* \return The inlet mass fraction vector - NEMO only.
6611-
*/
6612-
const su2double* GetInlet_MassFrac(string val_index) const;
6613-
66146604
/*!
66156605
* \brief Get the total pressure at an inlet boundary.
66166606
* \param[in] val_index - Index corresponding to the inlet boundary.
@@ -6640,8 +6630,8 @@ class CConfig {
66406630
su2double GetExhaust_Pressure_Target(string val_index) const;
66416631

66426632
/*!
6643-
* \brief Value of the CFL reduction in LevelSet problems.
6644-
* \return Value of the CFL reduction in LevelSet problems.
6633+
* \brief Value of the CFL reduction in turbulence problems.
6634+
* \return Value of the CFL reduction in turbulence problems.
66456635
*/
66466636
su2double GetCFLRedCoeff_Turb(void) const { return CFLRedCoeff_Turb; }
66476637

@@ -8139,11 +8129,6 @@ class CConfig {
81398129
*/
81408130
void SetConfig_Options();
81418131

8142-
/*!
8143-
* \brief Set the config options.
8144-
*/
8145-
void SetRunTime_Options(void);
8146-
81478132
/*!
81488133
* \brief Set the config file parsing.
81498134
*/
@@ -9099,7 +9084,7 @@ class CConfig {
90999084
* \brief Check if values passed to the BC_HeatFlux-Routine are already integrated.
91009085
* \return YES if the passed values is the integrated heat flux over the marker's surface.
91019086
*/
9102-
bool GetIntegrated_HeatFlux(void) const { return Integrated_HeatFlux; }
9087+
bool GetIntegrated_HeatFlux() const { return Integrated_HeatFlux; }
91039088

91049089
/*!
91059090
* \brief Get Compute Average.
@@ -9456,11 +9441,6 @@ class CConfig {
94569441
*/
94579442
void SetScreen_Wrt_Freq(unsigned short iter, unsigned long nIter) { ScreenWrtFreq[iter] = nIter; }
94589443

9459-
/*!
9460-
* \brief GetScreen_Wrt_Freq_Inner
9461-
*/
9462-
unsigned long GetVolume_Wrt_Freq() const { return VolumeWrtFreq; }
9463-
94649444
/*!
94659445
* \brief GetVolumeOutputFiles
94669446
*/
@@ -9471,6 +9451,12 @@ class CConfig {
94719451
*/
94729452
unsigned short GetnVolumeOutputFiles() const { return nVolumeOutputFiles; }
94739453

9454+
/*!
9455+
* \brief GetVolumeOutputFrequency
9456+
* \param[in] iFile: index of file number for which the writing frequency needs to be returned.
9457+
*/
9458+
unsigned long GetVolumeOutputFrequency(unsigned short iFile) const { return VolumeOutputFrequencies[iFile]; }
9459+
94749460
/*!
94759461
* \brief Get the desired factorization frequency for PaStiX
94769462
* \return Number of calls to 'Build' that trigger re-factorization.

Common/include/adt/CADTBaseClass.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* \file CADTBaseClass.hpp
33
* \brief Base class for storing an ADT in an arbitrary number of dimensions.
44
* \author E. van der Weide
5-
* \version 7.3.0 "Blackbird"
5+
* \version 7.3.1 "Blackbird"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*

Common/include/adt/CADTComparePointClass.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* \file CADTComparePointClass.hpp
33
* \brief subroutines for comparing two points in an alternating digital tree (ADT).
44
* \author E. van der Weide
5-
* \version 7.3.0 "Blackbird"
5+
* \version 7.3.1 "Blackbird"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*

Common/include/adt/CADTElemClass.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* \file CADTElemClass.hpp
33
* \brief Class for storing an ADT of (linear) elements in an arbitrary number of dimensions.
44
* \author E. van der Weide
5-
* \version 7.3.0 "Blackbird"
5+
* \version 7.3.1 "Blackbird"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*
@@ -35,7 +35,7 @@
3535
* \class CADTElemClass
3636
* \brief Class for storing an ADT of (linear) elements in an arbitrary number of dimensions.
3737
* \author E. van der Weide
38-
* \version 7.3.0 "Blackbird"
38+
* \version 7.3.1 "Blackbird"
3939
*/
4040
class CADTElemClass : public CADTBaseClass {
4141
private:
@@ -97,7 +97,7 @@ class CADTElemClass : public CADTBaseClass {
9797
* \param[out] rankID Rank on which element containing the coordinate is stored.
9898
* \param[out] parCoor Parametric coordinates of coor inside the element,
9999
which contains the coordinate.
100-
* \param[out] weightsInterpol Interpolation weigts of of coor inside the element,
100+
* \param[out] weightsInterpol Interpolation weights of coor inside the element,
101101
which contains the coordinate.
102102
* \return True if an element is found, false if not.
103103
*/

0 commit comments

Comments
 (0)