Skip to content

Commit 975f08b

Browse files
committed
add save freq config option
1 parent 29f27b9 commit 975f08b

3 files changed

Lines changed: 12 additions & 2 deletions

File tree

Common/include/CConfig.hpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1127,7 +1127,8 @@ class CConfig {
11271127
bool libROM; /*!< \brief Toggle saving to libROM. */
11281128
string libROMbase_FileName; /*!< \brief Base filename for libROM file saving. */
11291129
POD_KIND POD_Basis_Gen; /*!< \brief Type of POD basis generation (static or incremental). */
1130-
unsigned short maxBasisDim; /*!< \brief Maximum number of POD basis dimensions. */
1130+
unsigned short maxBasisDim, /*!< \brief Maximum number of POD basis dimensions. */
1131+
rom_save_freq; /*!< \brief Frequency of unsteady time steps to save. */
11311132

11321133
/* other NEMO configure options*/
11331134
unsigned short nSpecies, /*!< \brief No of species present in flow */
@@ -9322,4 +9323,9 @@ class CConfig {
93229323
*/
93239324
unsigned short GetMax_BasisDim(void) const { return maxBasisDim; }
93249325

9326+
/*!
9327+
* \brief Get frequency of unsteady time steps to save (default: 1).
9328+
* \return Save frequency for unsteady time steps.
9329+
*/
9330+
unsigned short GetRom_SaveFreq(void) const { return rom_save_freq; }
93259331
};

Common/src/CConfig.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2794,6 +2794,9 @@ void CConfig::SetConfig_Options() {
27942794
/*!\brief MAX_BASIS_DIM \n DESCRIPTION: Maximum number of basis vectors.*/
27952795
addUnsignedShortOption("MAX_BASIS_DIM", maxBasisDim, 100);
27962796

2797+
/*!\brief MAX_BASIS_DIM \n DESCRIPTION: Maximum number of basis vectors.*/
2798+
addUnsignedShortOption("ROM_SAVE_FREQ", rom_save_freq, 1);
2799+
27972800
/* END_CONFIG_OPTIONS */
27982801

27992802
}

SU2_CFD/src/solvers/CSolver.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4217,6 +4217,7 @@ void CSolver::SavelibROM(CSolver** solver, CGeometry *geometry, CConfig *config,
42174217
const unsigned long TimeIter = config->GetTimeIter();
42184218
const unsigned long nTimeIter = config->GetnTime_Iter();
42194219
const int maxBasisDim = config->GetMax_BasisDim();
4220+
const int save_freq = config->GetRom_SaveFreq();
42204221
int dim = int(nPointDomain * nVar);
42214222
bool incremental = false;
42224223

@@ -4261,7 +4262,7 @@ void CSolver::SavelibROM(CSolver** solver, CGeometry *geometry, CConfig *config,
42614262
f.close();
42624263
}
42634264

4264-
if (unsteady) {
4265+
if (unsteady && (TimeIter % save_freq == 0)) {
42654266
// give solution and time steps to libROM:
42664267
double dt = config->GetDelta_UnstTime();
42674268
double t = config->GetCurrent_UnstTime();

0 commit comments

Comments
 (0)