Skip to content

Commit 0a9acb3

Browse files
committed
Merge branch 'develop' into feature_pysu2_fsi_adjoint
2 parents b7f8abb + b49318e commit 0a9acb3

File tree

1,064 files changed

+4396
-3083
lines changed

Some content is hidden

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

1,064 files changed

+4396
-3083
lines changed

.github/workflows/regression.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- config_set: ReverseMPI
3131
flags: '-Denable-autodiff=true -Denable-normal=false -Denable-pywrapper=true -Denable-tests=true --warnlevel=3 --werror'
3232
- config_set: ForwardMPI
33-
flags: '-Denable-directdiff=true -Denable-normal=false -Denable-tests=true --warnlevel=3 --werror'
33+
flags: '-Denable-directdiff=true -Denable-normal=false -Denable-tests=true -Denable-mlpcpp=true --warnlevel=3 --werror'
3434
- config_set: BaseNoMPI
3535
flags: '-Denable-pywrapper=true -Denable-openblas=true -Dwith-mpi=disabled -Denable-mlpcpp=true -Denable-tests=true --warnlevel=3 --werror'
3636
- config_set: ReverseNoMPI

Common/include/CConfig.hpp

Lines changed: 18 additions & 151 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
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 8.1.0 "Harrier"
6+
* \version 8.2.0 "Harrier"
77
*
88
* SU2 Project Website: https://su2code.github.io
99
*
1010
* The SU2 Project is maintained by the SU2 Foundation
1111
* (http://su2foundation.org)
1212
*
13-
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
13+
* Copyright 2012-2025, SU2 Contributors (cf. AUTHORS.md)
1414
*
1515
* SU2 is free software; you can redistribute it and/or
1616
* modify it under the terms of the GNU Lesser General Public
@@ -535,9 +535,8 @@ class CConfig {
535535
Kind_TimeIntScheme_Heat, /*!< \brief Time integration for the wave equations. */
536536
Kind_TimeStep_Heat, /*!< \brief Time stepping method for the (fvm) heat equation. */
537537
n_Datadriven_files;
538-
ENUM_DATADRIVEN_METHOD Kind_DataDriven_Method; /*!< \brief Method used for datset regression in data-driven fluid models. */
539538

540-
su2double DataDriven_Relaxation_Factor; /*!< \brief Relaxation factor for Newton solvers in data-driven fluid models. */
539+
DataDrivenFluid_ParsedOptions datadriven_ParsedOptions; /*!< \brief Options for data-driven fluid analysis. */
541540

542541
STRUCT_TIME_INT Kind_TimeIntScheme_FEA; /*!< \brief Time integration for the FEA equations. */
543542
STRUCT_SPACE_ITE Kind_SpaceIteScheme_FEA; /*!< \brief Iterative scheme for nonlinear structural analysis. */
@@ -821,8 +820,7 @@ class CConfig {
821820
SurfAdjCoeff_FileName, /*!< \brief Output file with the adjoint variables on the surface. */
822821
SurfSens_FileName, /*!< \brief Output file for the sensitivity on the surface (discrete adjoint). */
823822
VolSens_FileName, /*!< \brief Output file for the sensitivity in the volume (discrete adjoint). */
824-
ObjFunc_Hess_FileName, /*!< \brief Hessian approximation obtained by the Sobolev smoothing solver. */
825-
*DataDriven_Method_FileNames; /*!< \brief Dataset information for data-driven fluid models. */
823+
ObjFunc_Hess_FileName; /*!< \brief Hessian approximation obtained by the Sobolev smoothing solver. */
826824

827825
bool
828826
Wrt_Performance, /*!< \brief Write the performance summary at the end of a calculation. */
@@ -1240,28 +1238,7 @@ class CConfig {
12401238
unsigned short nSpecies_Init; /*!< \brief Number of entries of SPECIES_INIT */
12411239

12421240
/*--- Additional flamelet solver options ---*/
1243-
///TODO: Add python wrapper initialization option
1244-
FLAMELET_INIT_TYPE flame_init_type = FLAMELET_INIT_TYPE::NONE; /*!< \brief Method for solution ignition for flamelet problems. */
1245-
std::array<su2double,8> flame_init; /*!< \brief Flame front initialization parameters. */
1246-
std::array<su2double,6> spark_init; /*!< \brief Spark ignition initialization parameters. */
1247-
su2double* spark_reaction_rates; /*!< \brief Source terms for flamelet spark ignition option. */
1248-
unsigned short nspark; /*!< \brief Number of source terms for spark initialization. */
1249-
bool preferential_diffusion = false; /*!< \brief Preferential diffusion physics for flamelet solver.*/
1250-
1251-
/*--- lookup table ---*/
1252-
unsigned short n_scalars = 0; /*!< \brief Number of transported scalars for flamelet LUT approach. */
1253-
unsigned short n_lookups = 0; /*!< \brief Number of lookup variables, for visualization only. */
1254-
unsigned short n_table_sources = 0; /*!< \brief Number of transported scalar source terms for LUT. */
1255-
unsigned short n_user_scalars = 0; /*!< \brief Number of user defined (auxiliary) scalar transport equations. */
1256-
unsigned short n_user_sources = 0; /*!< \brief Number of source terms for user defined (auxiliary) scalar transport equations. */
1257-
unsigned short n_control_vars = 0; /*!< \brief Number of controlling variables (independent variables) for the LUT. */
1258-
1259-
string* controlling_variable_names;
1260-
string* cv_source_names;
1261-
vector<string> table_scalar_names; /*!< \brief Names of transported scalar variables. */
1262-
string* lookup_names; /*!< \brief Names of passive look-up variables. */
1263-
string* user_scalar_names; /*!< \brief Names of the user defined (auxiliary) transported scalars .*/
1264-
string* user_source_names; /*!< \brief Names of the source terms for the user defined transported scalars. */
1241+
FluidFlamelet_ParsedOptions flamelet_ParsedOptions; /*!< \brief Additional flamelet solver options */
12651242

12661243
/*!
12671244
* \brief Set the default values of config options not set in the config file using another config object.
@@ -2170,106 +2147,6 @@ class CConfig {
21702147
*/
21712148
bool GetSpecies_StrongBC() const { return Species_StrongBC; }
21722149

2173-
/*!
2174-
* \brief Get the flame initialization.
2175-
* (x1,x2,x3) = flame offset/spark center location.
2176-
* (x4,x5,x6) = flame normal, separating unburnt from burnt or
2177-
* spark radius, spark start iteration, spark duration.
2178-
* (x7) = flame thickness, the length from unburnt to burnt conditions.
2179-
* (x8) = flame burnt thickness, the length to stay at burnt conditions.
2180-
* \return Ignition initialization parameters for the flamelet model.
2181-
*/
2182-
const su2double* GetFlameInit() const {
2183-
switch (flame_init_type)
2184-
{
2185-
case FLAMELET_INIT_TYPE::FLAME_FRONT:
2186-
return flame_init.data();
2187-
break;
2188-
case FLAMELET_INIT_TYPE::SPARK:
2189-
return spark_init.data();
2190-
break;
2191-
default:
2192-
return nullptr;
2193-
break;
2194-
}
2195-
}
2196-
2197-
/*!
2198-
* \brief Get species net reaction rates applied during spark ignition.
2199-
*/
2200-
const su2double* GetSpark() const {
2201-
return spark_reaction_rates;
2202-
}
2203-
2204-
/*!
2205-
* \brief Preferential diffusion combustion problem.
2206-
*/
2207-
bool GetPreferentialDiffusion() const { return preferential_diffusion; }
2208-
2209-
/*!
2210-
* \brief Define preferential diffusion combustion problem.
2211-
*/
2212-
inline void SetPreferentialDiffusion(bool input) { preferential_diffusion = input; }
2213-
2214-
/*!
2215-
* \brief Get the number of control variables for flamelet model.
2216-
*/
2217-
unsigned short GetNControlVars() const { return n_control_vars; }
2218-
2219-
/*!
2220-
* \brief Get the number of total transported scalars for flamelet model.
2221-
*/
2222-
unsigned short GetNScalars() const { return n_scalars; }
2223-
2224-
/*!
2225-
* \brief Get the number of user scalars for flamelet model.
2226-
*/
2227-
unsigned short GetNUserScalars() const { return n_user_scalars; }
2228-
2229-
/*!
2230-
* \brief Get the name of a specific controlling variable.
2231-
*/
2232-
const string& GetControllingVariableName(unsigned short i_cv) const {
2233-
return controlling_variable_names[i_cv];
2234-
}
2235-
2236-
/*!
2237-
* \brief Get the name of the source term variable for a specific controlling variable.
2238-
*/
2239-
const string& GetControllingVariableSourceName(unsigned short i_cv) const {
2240-
return cv_source_names[i_cv];
2241-
}
2242-
/*!
2243-
* \brief Get the name of the user scalar.
2244-
*/
2245-
const string& GetUserScalarName(unsigned short i_user_scalar) const {
2246-
static const std::string none = "NONE";
2247-
if (n_user_scalars > 0) return user_scalar_names[i_user_scalar]; else return none;
2248-
}
2249-
2250-
/*!
2251-
* \brief Get the name of the user scalar source term.
2252-
*/
2253-
const string& GetUserSourceName(unsigned short i_user_source) const {
2254-
static const std::string none = "NONE";
2255-
if (n_user_sources > 0) return user_source_names[i_user_source]; else return none;
2256-
}
2257-
2258-
/*!
2259-
* \brief Get the ignition method used for combustion problems.
2260-
*/
2261-
FLAMELET_INIT_TYPE GetFlameletInitType() const { return flame_init_type; }
2262-
2263-
/*!
2264-
* \brief Get the number of transported scalars for combustion.
2265-
*/
2266-
unsigned short GetNLookups() const { return n_lookups; }
2267-
2268-
/*!
2269-
* \brief Get the name of the variable that we want to retrieve from the lookup table.
2270-
*/
2271-
const string& GetLookupName(unsigned short i_lookup) const { return lookup_names[i_lookup]; }
2272-
22732150
/*!
22742151
* \brief Get the Young's modulus of elasticity.
22752152
* \return Value of the Young's modulus of elasticity.
@@ -3971,29 +3848,6 @@ class CConfig {
39713848
*/
39723849
unsigned short GetKind_FluidModel(void) const { return Kind_FluidModel; }
39733850

3974-
/*!
3975-
* \brief Datadriven method for EoS evaluation.
3976-
*/
3977-
ENUM_DATADRIVEN_METHOD GetKind_DataDriven_Method(void) const { return Kind_DataDriven_Method; }
3978-
3979-
/*!
3980-
* \brief Get name of the input file for the data-driven fluid model interpolation method.
3981-
* \return Name of the input file for the interpolation method.
3982-
*/
3983-
const string* GetDataDriven_FileNames(void) const { return DataDriven_Method_FileNames; }
3984-
3985-
/*!
3986-
* \brief Get number of listed look-up table or multi-layer perceptron input files.
3987-
* \return Number of listed data-driven method input files.
3988-
*/
3989-
unsigned short GetNDataDriven_Files(void) const { return n_Datadriven_files; }
3990-
3991-
/*!
3992-
* \brief Get Newton solver relaxation factor for data-driven fluid models.
3993-
* \return Newton solver relaxation factor.
3994-
*/
3995-
su2double GetRelaxation_DataDriven(void) const { return DataDriven_Relaxation_Factor; }
3996-
39973851
/*!
39983852
* \brief Returns the name of the fluid we are using in CoolProp.
39993853
*/
@@ -9946,4 +9800,17 @@ class CConfig {
99469800
*/
99479801
LM_ParsedOptions GetLMParsedOptions() const { return lmParsedOptions; }
99489802

9803+
9804+
/*!
9805+
* \brief Get parsed option data structure for data-driven fluid model.
9806+
* \return option data structure for data-driven fluid model.
9807+
*/
9808+
const DataDrivenFluid_ParsedOptions& GetDataDrivenParsedOptions() const { return datadriven_ParsedOptions; }
9809+
9810+
/*!
9811+
* \brief Get parsed option data structure for the flamelet fluid model.
9812+
* \return option data structure for the flamelet fluid model.
9813+
*/
9814+
const FluidFlamelet_ParsedOptions& GetFlameletParsedOptions() const { return flamelet_ParsedOptions; }
9815+
99499816
};

Common/include/adt/CADTBaseClass.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
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 8.1.0 "Harrier"
5+
* \version 8.2.0 "Harrier"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*
99
* The SU2 Project is maintained by the SU2 Foundation
1010
* (http://su2foundation.org)
1111
*
12-
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
12+
* Copyright 2012-2025, SU2 Contributors (cf. AUTHORS.md)
1313
*
1414
* SU2 is free software; you can redistribute it and/or
1515
* modify it under the terms of the GNU Lesser General Public

Common/include/adt/CADTComparePointClass.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
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 8.1.0 "Harrier"
5+
* \version 8.2.0 "Harrier"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*
99
* The SU2 Project is maintained by the SU2 Foundation
1010
* (http://su2foundation.org)
1111
*
12-
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
12+
* Copyright 2012-2025, SU2 Contributors (cf. AUTHORS.md)
1313
*
1414
* SU2 is free software; you can redistribute it and/or
1515
* modify it under the terms of the GNU Lesser General Public

Common/include/adt/CADTElemClass.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
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 8.1.0 "Harrier"
5+
* \version 8.2.0 "Harrier"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*
99
* The SU2 Project is maintained by the SU2 Foundation
1010
* (http://su2foundation.org)
1111
*
12-
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
12+
* Copyright 2012-2025, SU2 Contributors (cf. AUTHORS.md)
1313
*
1414
* SU2 is free software; you can redistribute it and/or
1515
* modify it under the terms of the GNU Lesser General Public
@@ -36,7 +36,7 @@
3636
* \ingroup ADT
3737
* \brief Class for storing an ADT of (linear) elements in an arbitrary number of dimensions.
3838
* \author E. van der Weide
39-
* \version 8.1.0 "Harrier"
39+
* \version 8.2.0 "Harrier"
4040
*/
4141
class CADTElemClass : public CADTBaseClass {
4242
private:

Common/include/adt/CADTNodeClass.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
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 8.1.0 "Harrier"
5+
* \version 8.2.0 "Harrier"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*
99
* The SU2 Project is maintained by the SU2 Foundation
1010
* (http://su2foundation.org)
1111
*
12-
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
12+
* Copyright 2012-2025, SU2 Contributors (cf. AUTHORS.md)
1313
*
1414
* SU2 is free software; you can redistribute it and/or
1515
* modify it under the terms of the GNU Lesser General Public

Common/include/adt/CADTPointsOnlyClass.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
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 8.1.0 "Harrier"
5+
* \version 8.2.0 "Harrier"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*
99
* The SU2 Project is maintained by the SU2 Foundation
1010
* (http://su2foundation.org)
1111
*
12-
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
12+
* Copyright 2012-2025, SU2 Contributors (cf. AUTHORS.md)
1313
*
1414
* SU2 is free software; you can redistribute it and/or
1515
* modify it under the terms of the GNU Lesser General Public

Common/include/adt/CBBoxTargetClass.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
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 8.1.0 "Harrier"
6+
* \version 8.2.0 "Harrier"
77
*
88
* SU2 Project Website: https://su2code.github.io
99
*
1010
* The SU2 Project is maintained by the SU2 Foundation
1111
* (http://su2foundation.org)
1212
*
13-
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
13+
* Copyright 2012-2025, SU2 Contributors (cf. AUTHORS.md)
1414
*
1515
* SU2 is free software; you can redistribute it and/or
1616
* modify it under the terms of the GNU Lesser General Public
@@ -35,7 +35,7 @@
3535
* \brief Class for storing the information of a possible bounding box candidate
3636
during a minimum distance search.
3737
* \author E. van der Weide
38-
* \version 8.1.0 "Harrier"
38+
* \version 8.2.0 "Harrier"
3939
*/
4040
struct CBBoxTargetClass {
4141
unsigned long boundingBoxID; /*!< \brief Corresponding bounding box ID. */

Common/include/basic_types/ad_structure.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
* \file ad_structure.hpp
33
* \brief Main routines for the algorithmic differentiation (AD) structure.
44
* \author T. Albring, J. Blühdorn
5-
* \version 8.1.0 "Harrier"
5+
* \version 8.2.0 "Harrier"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*
99
* The SU2 Project is maintained by the SU2 Foundation
1010
* (http://su2foundation.org)
1111
*
12-
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
12+
* Copyright 2012-2025, SU2 Contributors (cf. AUTHORS.md)
1313
*
1414
* SU2 is free software; you can redistribute it and/or
1515
* modify it under the terms of the GNU Lesser General Public

Common/include/basic_types/datatype_structure.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
* \file datatype_structure.hpp
33
* \brief Headers for generalized datatypes, defines an interface for AD types.
44
* \author T. Albring
5-
* \version 8.1.0 "Harrier"
5+
* \version 8.2.0 "Harrier"
66
*
77
* SU2 Project Website: https://su2code.github.io
88
*
99
* The SU2 Project is maintained by the SU2 Foundation
1010
* (http://su2foundation.org)
1111
*
12-
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
12+
* Copyright 2012-2025, SU2 Contributors (cf. AUTHORS.md)
1313
*
1414
* SU2 is free software; you can redistribute it and/or
1515
* modify it under the terms of the GNU Lesser General Public

0 commit comments

Comments
 (0)