Skip to content

Commit 21a7224

Browse files
authored
Merge branch 'develop' into feature_invalidGridPrevention
2 parents 743d0d9 + 1261014 commit 21a7224

833 files changed

Lines changed: 7433 additions & 3656 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.

Common/doc/docmain.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
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.0.6 "Blackbird"
5+
* \version 7.0.7 "Blackbird"
66
*
77
* The current SU2 release has been coordinated by the
88
* SU2 International Developers Society <www.su2devsociety.org>
@@ -33,7 +33,7 @@
3333
*/
3434

3535
/*!
36-
* \mainpage SU2 version 7.0.6 "Blackbird"
36+
* \mainpage SU2 version 7.0.7 "Blackbird"
3737
* SU2 suite is an open-source collection of C++ based software tools
3838
* to perform PDE analysis and PDE constrained optimization problems. The toolset is designed with
3939
* computational fluid dynamics and aerodynamic shape optimization in mind, but is extensible to

Common/include/CConfig.hpp

Lines changed: 28 additions & 8 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.0.6 "Blackbird"
6+
* \version 7.0.7 "Blackbird"
77
*
88
* SU2 Project Website: https://su2code.github.io
99
*
@@ -43,8 +43,8 @@
4343
#include <map>
4444
#include <assert.h>
4545

46-
#include "./option_structure.hpp"
47-
#include "./toolboxes/C2DContainer.hpp"
46+
#include "option_structure.hpp"
47+
#include "containers/container_decorators.hpp"
4848

4949
#ifdef HAVE_CGNS
5050
#include "cgnslib.h"
@@ -425,6 +425,7 @@ class CConfig {
425425
su2double *RK_Alpha_Step; /*!< \brief Runge-Kutta beta coefficients. */
426426

427427
unsigned short nQuasiNewtonSamples; /*!< \brief Number of samples used in quasi-Newton solution methods. */
428+
bool UseVectorization; /*!< \brief Whether to use vectorized numerics schemes. */
428429

429430
unsigned short nMGLevels; /*!< \brief Number of multigrid levels (coarse levels). */
430431
unsigned short nCFL; /*!< \brief Number of CFL, one for each multigrid level. */
@@ -597,10 +598,10 @@ class CConfig {
597598
*Kappa_AdjFlow, /*!< \brief Numerical dissipation coefficients for the adjoint flow equations. */
598599
*Kappa_Heat; /*!< \brief Numerical dissipation coefficients for the (fvm) heat equation. */
599600
su2double* FFD_Axis; /*!< \brief Numerical dissipation coefficients for the adjoint equations. */
600-
su2double Kappa_1st_AdjFlow, /*!< \brief JST 1st order dissipation coefficient for adjoint flow equations (coarse multigrid levels). */
601+
su2double Kappa_1st_AdjFlow, /*!< \brief Lax 1st order dissipation coefficient for adjoint flow equations (coarse multigrid levels). */
601602
Kappa_2nd_AdjFlow, /*!< \brief JST 2nd order dissipation coefficient for adjoint flow equations. */
602603
Kappa_4th_AdjFlow, /*!< \brief JST 4th order dissipation coefficient for adjoint flow equations. */
603-
Kappa_1st_Flow, /*!< \brief JST 1st order dissipation coefficient for flow equations (coarse multigrid levels). */
604+
Kappa_1st_Flow, /*!< \brief Lax 1st order dissipation coefficient for flow equations (coarse multigrid levels). */
604605
Kappa_2nd_Flow, /*!< \brief JST 2nd order dissipation coefficient for flow equations. */
605606
Kappa_4th_Flow, /*!< \brief JST 4th order dissipation coefficient for flow equations. */
606607
Kappa_2nd_Heat, /*!< \brief 2nd order dissipation coefficient for heat equation. */
@@ -1083,6 +1084,8 @@ class CConfig {
10831084
default_jst_adj_coeff[2], /*!< \brief Default artificial dissipation (adjoint) array for the COption class. */
10841085
default_ad_coeff_heat[2], /*!< \brief Default artificial dissipation (heat) array for the COption class. */
10851086
default_obj_coeff[5], /*!< \brief Default objective array for the COption class. */
1087+
default_mesh_box_length[3], /*!< \brief Default mesh box length for the COption class. */
1088+
default_mesh_box_offset[3], /*!< \brief Default mesh box offset for the COption class. */
10861089
default_geo_loc[2], /*!< \brief Default SU2_GEO section locations array for the COption class. */
10871090
default_distortion[2], /*!< \brief Default SU2_GEO section locations array for the COption class. */
10881091
default_ea_lim[3], /*!< \brief Default equivalent area limit array for the COption class. */
@@ -1165,10 +1168,12 @@ class CConfig {
11651168
su2double *Gas_Composition, /*!< \brief Initial mass fractions of flow [dimensionless] */
11661169
pnorm_heat; /*!< \brief pnorm for heat-flux. */
11671170
bool frozen, /*!< \brief Flag for determining if mixture is frozen. */
1168-
ionization; /*!< \brief Flag for determining if free electron gas is in the mixture. */
1171+
ionization, /*!< \brief Flag for determining if free electron gas is in the mixture. */
1172+
vt_transfer_res_limit, /*!< \brief Flag for determining if residual limiting for source term VT-transfer is used. */
1173+
monoatomic; /*!< \brief Flag for monoatomic mixture. */
11691174
string GasModel, /*!< \brief Gas Model. */
11701175
*Wall_Catalytic; /*!< \brief Pointer to catalytic walls. */
1171-
1176+
11721177
/*!
11731178
* \brief Set the default values of config options not set in the config file using another config object.
11741179
* \param config - Config object to use the default values from.
@@ -4118,6 +4123,11 @@ class CConfig {
41184123
*/
41194124
unsigned short GetnQuasiNewtonSamples(void) const { return nQuasiNewtonSamples; }
41204125

4126+
/*!
4127+
* \brief Get whether to use vectorized numerics (if available).
4128+
*/
4129+
bool GetUseVectorization(void) const { return UseVectorization; }
4130+
41214131
/*!
41224132
* \brief Get the relaxation coefficient of the linear solver for the implicit formulation.
41234133
* \return relaxation coefficient of the linear solver for the implicit formulation.
@@ -4513,7 +4523,7 @@ class CConfig {
45134523
* during the computation.
45144524
* \return Kind of center convective numerical scheme for the flow equations.
45154525
*/
4516-
unsigned short GetKind_Centered_Flow(void) const { return Kind_Centered_Flow; }
4526+
ENUM_CENTERED GetKind_Centered_Flow(void) const { return static_cast<ENUM_CENTERED>(Kind_Centered_Flow); }
45174527

45184528
/*!
45194529
* \brief Get the kind of center convective numerical scheme for the plasma equations.
@@ -5268,6 +5278,16 @@ class CConfig {
52685278
*/
52695279
bool GetIonization(void) const { return ionization; }
52705280

5281+
/*!
5282+
* \brief Indicates whether the VT source residual is limited.
5283+
*/
5284+
bool GetVTTransferResidualLimiting(void) const { return vt_transfer_res_limit; }
5285+
5286+
/*!
5287+
* \brief Indicates if mixture is monoatomic.
5288+
*/
5289+
bool GetMonoatomic(void) const { return monoatomic; }
5290+
52715291
/*!
52725292
* \brief Information about computing and plotting the equivalent area distribution.
52735293
* \return <code>TRUE</code> or <code>FALSE</code> depending if we are computing the equivalent area.

Common/include/CMultiGridQueue.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* \brief Header of the multigrid queue class for the FVM solver.
44
* The subroutines and functions are in the <i>CMultiGridQueue.cpp</i> file.
55
* \author F. Palacios
6-
* \version 7.0.6 "Blackbird"
6+
* \version 7.0.7 "Blackbird"
77
*
88
* SU2 Project Website: https://su2code.github.io
99
*
@@ -29,7 +29,7 @@
2929
#pragma once
3030

3131
#include <vector>
32-
#include "toolboxes/CFastFindAndEraseQueue.hpp"
32+
#include "containers/CFastFindAndEraseQueue.hpp"
3333
#include "geometry/CGeometry.hpp"
3434

3535
using namespace std;

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.0.6 "Blackbird"
5+
* \version 7.0.7 "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.0.6 "Blackbird"
5+
* \version 7.0.7 "Blackbird"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*

Common/include/adt/CADTElemClass.hpp

Lines changed: 2 additions & 2 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.0.6 "Blackbird"
5+
* \version 7.0.7 "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.0.6 "Blackbird"
38+
* \version 7.0.7 "Blackbird"
3939
*/
4040
class CADTElemClass : public CADTBaseClass {
4141
private:

Common/include/adt/CADTNodeClass.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* \file CADTNodeClass.hpp
33
* \brief Class for storing the information needed in a node of an ADT.
44
* \author E. van der Weide
5-
* \version 7.0.6 "Blackbird"
5+
* \version 7.0.7 "Blackbird"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*

Common/include/adt/CADTPointsOnlyClass.hpp

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

Common/include/adt/CBBoxTargetClass.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* \brief Class for storing the information of a possible bounding box candidate
44
during a minimum distance search.
55
* \author E. van der Weide
6-
* \version 7.0.6 "Blackbird"
6+
* \version 7.0.7 "Blackbird"
77
*
88
* SU2 Project Website: https://su2code.github.io
99
*
@@ -34,7 +34,7 @@
3434
* \brief Class for storing the information of a possible bounding box candidate
3535
during a minimum distance search.
3636
* \author E. van der Weide
37-
* \version 7.0.6 "Blackbird"
37+
* \version 7.0.7 "Blackbird"
3838
*/
3939
struct CBBoxTargetClass {
4040

Common/include/basic_types/ad_structure.hpp

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* \file ad_structure.hpp
33
* \brief Main routines for the algorithmic differentiation (AD) structure.
44
* \author T. Albring
5-
* \version 7.0.6 "Blackbird"
5+
* \version 7.0.7 "Blackbird"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*
@@ -353,8 +353,7 @@ namespace AD{
353353
/*--- Base case for parameter pack expansion. ---*/
354354
FORCEINLINE void SetPreaccIn() {}
355355

356-
template<class T, class... Ts,
357-
typename std::enable_if<std::is_same<T,su2double>::value,bool>::type = 0>
356+
template<class T, class... Ts, su2enable_if<std::is_same<T,su2double>::value> = 0>
358357
FORCEINLINE void SetPreaccIn(const T& data, Ts&&... moreData) {
359358
if (!PreaccActive) return;
360359
if (data.isActive())
@@ -385,6 +384,18 @@ namespace AD{
385384
}
386385
}
387386

387+
template<class T>
388+
FORCEINLINE void SetPreaccIn(const T& data, const int size_x, const int size_y, const int size_z) {
389+
if (!PreaccActive) return;
390+
for (int i = 0; i < size_x; i++) {
391+
for (int j = 0; j < size_y; j++) {
392+
for (int k = 0; k < size_z; k++) {
393+
if (data[i][j][k].isActive()) PreaccHelper.addInput(data[i][j][k]);
394+
}
395+
}
396+
}
397+
}
398+
388399
FORCEINLINE void StartPreacc() {
389400
if (globalTape.isActive() && PreaccEnabled) {
390401
PreaccHelper.start();
@@ -395,8 +406,7 @@ namespace AD{
395406
/*--- Base case for parameter pack expansion. ---*/
396407
FORCEINLINE void SetPreaccOut() {}
397408

398-
template<class T, class... Ts,
399-
typename std::enable_if<std::is_same<T,su2double>::value,bool>::type = 0>
409+
template<class T, class... Ts, su2enable_if<std::is_same<T,su2double>::value> = 0>
400410
FORCEINLINE void SetPreaccOut(T& data, Ts&&... moreData) {
401411
if (!PreaccActive) return;
402412
if (data.isActive())

0 commit comments

Comments
 (0)