Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
423003d
Fixing config preprocessing output
talbring Oct 8, 2019
51741ed
Added message after finishing meson configuration
talbring Oct 8, 2019
4af087b
Added message after finishing meson configuration
talbring Oct 8, 2019
cfc8984
Fixing FFD box output
talbring Oct 4, 2019
61bc0ec
Fixing sha tag check in init.py
talbring Oct 10, 2019
492c800
fixing heat flux computation
talbring Oct 10, 2019
b3028e5
Merge branch 'develop' of github.com:su2code/SU2 into various_fixes
talbring Oct 10, 2019
9577134
Delete duplicated solver call in discrete adjoint fluid iteration.
oleburghardt Oct 11, 2019
dd1c390
Merge branch 'develop' of https://github.com/su2code/SU2 into various…
oleburghardt Oct 11, 2019
f1c4ecf
Bugfix conjugate heat interface.
oleburghardt Oct 11, 2019
38717ea
Move history output inside inner loop of disc adj multizone driver.
oleburghardt Oct 11, 2019
d5dd87b
Merge branch 'various_fixes' of github.com:su2code/SU2 into various_f…
talbring Oct 11, 2019
0cdebc6
Fixing multizone output
talbring Oct 11, 2019
c5a6a8c
Adapting test case values after heatflux fix
talbring Oct 11, 2019
bf2f6ef
Change error msg if SU2 was compiled without tecio, but tecplot binar…
TobiKattmann Oct 11, 2019
06de3d9
:memo: Add @talbring as a contributor
talbring Oct 14, 2019
b6c11d7
Merge branch 'various_fixes' of github.com:su2code/SU2 into various_f…
talbring Oct 14, 2019
64cfef9
Fixing tecio error
talbring Oct 14, 2019
79c6cc6
Reverting contributor stuff for now
talbring Oct 14, 2019
c9bc080
Set old adjoint solution for the multiphysics case to fix (inner) RMS…
oleburghardt Oct 14, 2019
9a84680
Merge branch 'various_fixes' of github.com:su2code/SU2 into various_f…
talbring Oct 14, 2019
7862624
Fix Automake makefile.
TobiKattmann Oct 14, 2019
cd3e7a2
disable aligned allocation on MAC
pcarruscag Oct 15, 2019
af52ffd
fix bug in allocation of inverse diagonal for ILU(k!=0)
pcarruscag Oct 15, 2019
83dd6ad
Fixing transfer coefficient computation
talbring Oct 16, 2019
1022820
Small fixes
talbring Oct 16, 2019
c3b357d
Merge branch 'various_fixes' of github.com:su2code/SU2 into various_f…
talbring Oct 16, 2019
f8fe2eb
Fixing tecplot binary output
talbring Oct 16, 2019
de9608a
Changed openmpi to mpich
talbring Oct 18, 2019
b2f2a8a
Update .travis.yml
talbring Oct 21, 2019
0806153
Update .travis.yml
talbring Oct 21, 2019
accc59c
Update .travis.yml
talbring Oct 21, 2019
b1c2940
Update .travis.yml
talbring Oct 21, 2019
382bac4
Update .travis.yml
talbring Oct 22, 2019
403ff3a
Update .travis.yml
talbring Oct 22, 2019
85009bd
Update .travis.yml
talbring Oct 22, 2019
9335963
Reverting travis yml
talbring Oct 22, 2019
4b14803
Little typo in output for Disc.Adj. BGS_ADJ[OINT]_DISSIPATION fixed. …
TobiKattmann Oct 22, 2019
c7c40da
merge options DEFORM_LINEAR_SOLVER_ITER and DEFORM_LINEAR_ITER in fav…
pcarruscag Oct 23, 2019
9b2b221
Merge branch 'develop' into various_fixes
pcarruscag Oct 23, 2019
010f135
remove duplicate option in cfg, change tutorials branch in travis
pcarruscag Oct 24, 2019
fd92e1a
fix compiler warnings in interpolation_structure.cpp
pcarruscag Oct 24, 2019
1cbe242
Add nonphysical point output field
talbring Oct 24, 2019
5f132b8
Improving names for new variables and routines for multiphysics discr…
oleburghardt Oct 25, 2019
cfac92f
Removing unnecessary if-case for OldSolution in discrete adjoint (mer…
oleburghardt Oct 25, 2019
fbdda81
Merge branch 'various_fixes' of https://github.com/su2code/SU2 into v…
oleburghardt Oct 25, 2019
ef13abb
Erase a trailing whitespace and remove few commented code lines.
TobiKattmann Oct 27, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ before_script:
- cp -R ./TestData/* ./TestCases/

# Get the tutorial cases
- git clone --depth=1 -b develop https://github.com/su2code/su2code.github.io ./Tutorials
- git clone --depth=1 -b cleanup_linsol_options https://github.com/su2code/su2code.github.io ./Tutorials

# Enter the SU2/TestCases/ directory, which is now ready to run
- cd TestCases/
Expand Down
11 changes: 3 additions & 8 deletions Common/include/ad_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,9 @@ namespace AD{
/*!
* \brief Registers the variable as an input and saves internal data (indices). I.e. as a leaf of the computational graph.
* \param[in] data - The variable to be registered as input.
* \param[in] push_index - boolean whether we also want to push the index.
*/
void RegisterInput(su2double &data);

/*!
* \brief Registers the variable as an input. I.e. as a leaf of the computational graph.
* \param[in] data - The variable to be registered as input.
*/
void RegisterInput_intIndexBased(su2double &data);
void RegisterInput(su2double &data, bool push_index = true);

/*!
* \brief Registers the variable as an output. I.e. as the root of the computational graph.
Expand Down Expand Up @@ -246,7 +241,7 @@ namespace AD{
* \param[in] data - variable whose gradient information will be extracted.
* \param[in] index - where obtained gradient information will be stored.
*/
void SetAdjIndex(int &index, const su2double &data);
void SetIndex(int &index, const su2double &data);

/*!
* \brief Pushes back the current tape position to the tape position's vector.
Expand Down
18 changes: 9 additions & 9 deletions Common/include/ad_structure.inl
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,12 @@ namespace AD{

extern codi::PreaccumulationHelper<su2double> PreaccHelper;

inline void RegisterInput(su2double &data) {AD::globalTape.registerInput(data);
inputValues.push_back(data.getGradientData());}

inline void RegisterInput_intIndexBased(su2double &data) {AD::globalTape.registerInput(data);}
inline void RegisterInput(su2double &data, bool push_index) {
AD::globalTape.registerInput(data);
if (push_index) {
inputValues.push_back(data.getGradientData());
}
}

inline void RegisterOutput(su2double& data) {AD::globalTape.registerOutput(data);}

Expand Down Expand Up @@ -116,7 +118,7 @@ namespace AD{
}
}

inline void SetAdjIndex(int &index, const su2double &data) {
inline void SetIndex(int &index, const su2double &data) {
index = data.getGradientData();
}

Expand Down Expand Up @@ -269,9 +271,7 @@ namespace AD{

/*--- Default implementation if reverse mode is disabled ---*/

inline void RegisterInput(su2double &data) {}

inline void RegisterInput_intIndexBased(su2double &data) {}
inline void RegisterInput(su2double &data, bool push_index) {}

inline void RegisterOutput(su2double& data) {}

Expand All @@ -289,7 +289,7 @@ namespace AD{

inline void ComputeAdjoint(unsigned short enter, unsigned short leave) {}

inline void SetAdjIndex(int &index, const su2double &data) {}
inline void SetIndex(int &index, const su2double &data) {}

inline void SetDerivative(int index, const double val) {}

Expand Down
9 changes: 1 addition & 8 deletions Common/include/config_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -585,8 +585,7 @@ class CConfig {

su2double Min_Beta_RoeTurkel, /*!< \brief Minimum value of Beta for the Roe-Turkel low Mach preconditioner. */
Max_Beta_RoeTurkel; /*!< \brief Maximum value of Beta for the Roe-Turkel low Mach preconditioner. */
unsigned long GridDef_Nonlinear_Iter, /*!< \brief Number of nonlinear increments for grid deformation. */
GridDef_Linear_Iter; /*!< \brief Number of linear smoothing iterations for grid deformation. */
unsigned long GridDef_Nonlinear_Iter; /*!< \brief Number of nonlinear increments for grid deformation. */
unsigned short Deform_Stiffness_Type; /*!< \brief Type of element stiffness imposed for FEA mesh deformation. */
bool Deform_Mesh; /*!< \brief Determines whether the mesh will be deformed. */
bool Deform_Output; /*!< \brief Print the residuals during mesh deformation to the console. */
Expand Down Expand Up @@ -4166,12 +4165,6 @@ class CConfig {
*/
su2double GetCFLRedCoeff_AdjTurb(void);

/*!
* \brief Get the number of linear smoothing iterations for mesh deformation.
* \return Number of linear smoothing iterations for mesh deformation.
*/
unsigned long GetGridDef_Linear_Iter(void);

/*!
* \brief Get the number of nonlinear increments for mesh deformation.
* \return Number of nonlinear increments for mesh deformation.
Expand Down
2 changes: 0 additions & 2 deletions Common/include/config_structure.inl
Original file line number Diff line number Diff line change
Expand Up @@ -1046,8 +1046,6 @@ inline unsigned short CConfig::GetAdjTurb_Linear_Iter(void) { return AdjTurb_Lin

inline su2double CConfig::GetCFLRedCoeff_AdjTurb(void) { return CFLRedCoeff_AdjTurb; }

inline unsigned long CConfig::GetGridDef_Linear_Iter(void) { return GridDef_Linear_Iter; }

inline unsigned long CConfig::GetGridDef_Nonlinear_Iter(void) { return GridDef_Nonlinear_Iter; }

inline bool CConfig::GetDeform_Mesh(void) { return Deform_Mesh; }
Expand Down
10 changes: 5 additions & 5 deletions Common/include/dual_grid_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -176,8 +176,8 @@ class CPoint : public CDualGrid {
unsigned short nNeighbor; /*!< \brief Number of neighbors. */
bool Flip_Orientation; /*!< \brief Flip the orientation of the normal. */
su2double MaxLength; /*!< \brief The maximum cell-center to cell-center length. */
int *Input_AdjIndices, /*!< \brief Indices of Coord variables in the adjoint vector. */
*Output_AdjIndices; /*!< \brief Indices of Coord variables in the adjoint vector after having been updated. */
int *AD_InputIndex, /*!< \brief Indices of Coord variables in the adjoint vector. */
*AD_OutputIndex; /*!< \brief Indices of Coord variables in the adjoint vector after having been updated. */

public:

Expand Down Expand Up @@ -297,7 +297,7 @@ class CPoint : public CDualGrid {
* \brief Set the adjoint vector indices of Coord vector.
* \param[in] input - Save them to the input or output indices vector.
*/
void SetAdjIndices(bool input);
void SetIndex(bool input);

/*!
* \brief Set the adjoint values of the (geometric) coordinates.
Expand Down Expand Up @@ -814,7 +814,7 @@ class CPoint : public CDualGrid {
* \brief Set the adjoint values of the coordinates.
* \param[in] adj_sol - The adjoint values of the coordinates.
*/
void SetAdjointCoord_intIndexBased(su2double *adj_coor);
void SetAdjointCoord_LocalIndex(su2double *adj_coor);

/*!
* \brief Get the adjoint values of the coordinates.
Expand All @@ -826,7 +826,7 @@ class CPoint : public CDualGrid {
* \brief Get the adjoint values of the coordinates.
* \param[in] adj_sol - The adjoint values of the coordinates.
*/
void GetAdjointCoord_intIndexBased(su2double *adj_coor);
void GetAdjointCoord_LocalIndex(su2double *adj_coor);

};

Expand Down
8 changes: 4 additions & 4 deletions Common/include/dual_grid_structure.inl
Original file line number Diff line number Diff line change
Expand Up @@ -267,19 +267,19 @@ inline void CPoint::SetAdjointCoord(su2double *adj_coor){
SU2_TYPE::SetDerivative(Coord[iDim], SU2_TYPE::GetValue(adj_coor[iDim]));
}

inline void CPoint::SetAdjointCoord_intIndexBased(su2double *adj_coor){
inline void CPoint::SetAdjointCoord_LocalIndex(su2double *adj_coor){
for (unsigned short iDim = 0; iDim < nDim; iDim++)
AD::SetDerivative(Output_AdjIndices[iDim], SU2_TYPE::GetValue(adj_coor[iDim]));
AD::SetDerivative(AD_OutputIndex[iDim], SU2_TYPE::GetValue(adj_coor[iDim]));
}

inline void CPoint::GetAdjointCoord(su2double *adj_coor){
for (unsigned short iDim = 0; iDim < nDim; iDim++)
adj_coor[iDim] = SU2_TYPE::GetDerivative(Coord[iDim]);
}

inline void CPoint::GetAdjointCoord_intIndexBased(su2double *adj_coor){
inline void CPoint::GetAdjointCoord_LocalIndex(su2double *adj_coor){
for (unsigned short iDim = 0; iDim < nDim; iDim++)
adj_coor[iDim] = AD::GetDerivative(Input_AdjIndices[iDim]);
adj_coor[iDim] = AD::GetDerivative(AD_InputIndex[iDim]);
}

inline unsigned short CEdge::GetnNodes() { return 2; }
Expand Down
5 changes: 3 additions & 2 deletions Common/include/interpolation_structure.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,16 @@ class CInterpolator {
*Buffer_Send_nVertex_Donor,/*!\brief Buffer to send number of vertices on the local processor*/
*Buffer_Send_nFace_Donor,/*!\brief Buffer to send number of faces on the local processor*/
*Buffer_Send_nFaceNodes_Donor,/*!\brief Buffer to send the number of nodes assocated with faces per processor*/
*Buffer_Receive_GlobalPoint, /*!\brief Buffer to receive global point indices*/
*Buffer_Send_GlobalPoint,/*!\brief Buffer to send global point indices*/
*Buffer_Send_FaceIndex,/*!\brief Buffer to send indices pointing to the node indices that define the faces*/
*Buffer_Receive_FaceIndex,/*!\brief Buffer to receive indices pointing to the node indices that define the faces*/
*Buffer_Send_FaceNodes,/*!\brief Buffer to send indices pointing to the location of node information in other buffers, defining faces*/
*Buffer_Receive_FaceNodes,/*!\brief Buffer to receive indices pointing to the location of node information in other buffers, defining faces*/
*Buffer_Send_FaceProc,/*!\brief Buffer to send processor which stores the node indicated in Buffer_Receive_FaceNodes*/
*Buffer_Receive_FaceProc;/*!\brief Buffer to receive processor which stores the node indicated in Buffer_Receive_FaceNodes*/

long *Buffer_Send_GlobalPoint,/*!\brief Buffer to send global point indices*/
*Buffer_Receive_GlobalPoint; /*!\brief Buffer to receive global point indices*/

su2double *Buffer_Send_Coord,/*!\brief Buffer to send coordinate values*/
*Buffer_Send_Normal,/*!\brief Buffer to send normal vector values */
*Buffer_Receive_Coord,/*!\brief Buffer to receive coordinate values*/
Expand Down
25 changes: 17 additions & 8 deletions Common/include/toolboxes/C2DContainer.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ class AccessorImpl
alignas(AlignSize) Scalar_t m_data[StaticRows*StaticCols];

/*!
* Static size specializations use this do-nothing macro.
* Static size specializations use this do-nothing allocation macro.
*/
#define DUMMY_ALLOCATOR \
void m_allocate(size_t sz, Index_t rows, Index_t cols) noexcept {}
Expand All @@ -90,18 +90,27 @@ class AccessorImpl
* runtime internal value that depend on the number of rows/columns.
* What values need setting depends on the specialization as not all have
* members for e.g. number of rows and cols (static size optimization).
* \note Aligned dynamic allocation is disabled for compilation on MAC.
*/
#define REAL_ALLOCATOR(EXTRA) \
#ifndef __APPLE__
Copy link
Member

@pcarruscag pcarruscag Oct 15, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addresses the problem reported by @economon in #753

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This now build on Mac, but I now see issues with the assert() calls on the first access of one of these containers at the start of the solver

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@economon I need more details, I do not have a Mac to go test this myself.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here's what I am seeing in Xcode (trace on left and assertion failure at bottom). Just let me know what else I can provide to help with this...

Screen Shot 2019-10-16 at 12 12 50 AM

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Humm, is this after you updated #790? (I think I recognise the function name) If so that probably means the data is not being allocated. Push your changes and I can have a look directly in #790.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do note that asserts are disabled when building with ninja unless buildtype=debug.
You may want to define NDEBUG for your optimized builds in Xcode as the cost of those checks is not negligible.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted. I typically only build in serial debug mode in Xcode and keep a separate build at the command line in release mode w/ MPI, but I can add flags for this.

Btw, I also noticed that the new C2DContainer class has the assignment operator overloaded to perform a deep copy. Is it possible to do a shallow copy, i.e., just set the pointer of an existing initialized container to an existing one without allocating memory?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With what is implemented it is not possible. If the objective is avoiding the double allocation of gradients, I would suggest using a VectorOfMatrix& that is set to primitive gradient when no allocation is needed, otherwise a different VectorOfMatrix object is resized and the the reference is set to that instead. This way there are no ownership problems (who frees the pointer and so on). References need an initializer but that can be either of the other containers.
If it's for a different purpose I can think of something.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aok, let me give that a try (yes it is for the gradients). #790 is looking good after merging everything, will be pushing the cleaned version shortly

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the choice of initializer does affect the solution, btw. Looks like the reconstruction gradient vector should use the auxiliary vector's initializer for correctness...

#define REAL_ALLOCATOR(EXTRA) \
static_assert(AlignSize % alignof(Scalar_t)==0, \
"AlignSize is not a multiple of the type's alignment spec."); \
"AlignSize is not a multiple of the type's alignment spec."); \
\
void m_allocate(size_t sz, Index_t rows, Index_t cols) noexcept { \
EXTRA; \
if(AlignSize==0) \
m_data = static_cast<Scalar_t*>(malloc(sz)); \
else \
m_data = static_cast<Scalar_t*>(aligned_alloc(AlignSize,sz)); \
EXTRA; \
if(AlignSize==0) \
m_data = static_cast<Scalar_t*>(malloc(sz)); \
else \
m_data = static_cast<Scalar_t*>(aligned_alloc(AlignSize,sz)); \
}
#else
#define REAL_ALLOCATOR(EXTRA) \
void m_allocate(size_t sz, Index_t rows, Index_t cols) noexcept { \
EXTRA; \
m_data = static_cast<Scalar_t*>(malloc(sz)); \
}
#endif

DUMMY_ALLOCATOR

Expand Down
62 changes: 37 additions & 25 deletions Common/src/config_structure.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1996,8 +1996,6 @@ void CConfig::SetConfig_Options() {
addBoolOption("DEFORM_CONSOLE_OUTPUT", Deform_Output, false);
/* DESCRIPTION: Number of nonlinear deformation iterations (surface deformation increments) */
addUnsignedLongOption("DEFORM_NONLINEAR_ITER", GridDef_Nonlinear_Iter, 1);
/* DESCRIPTION: Number of smoothing iterations for FEA mesh deformation */
addUnsignedLongOption("DEFORM_LINEAR_ITER", GridDef_Linear_Iter, 1000);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got rid of this option in favor of the equivalent and more descriptive DEFORM_LINEAR_SOLVER_ITER

/* DESCRIPTION: Deform coefficient (-1.0 to 0.5) */
addDoubleOption("DEFORM_COEFF", Deform_Coeff, 1E6);
/* DESCRIPTION: Deform limit in m or inches */
Expand Down Expand Up @@ -2895,7 +2893,7 @@ void CConfig::SetPostprocessing(unsigned short val_software, unsigned short val_
}

/*--- Set the default output files ---*/
if (nVolumeOutputFiles == 0){
if (!OptionIsSet("OUTPUT_FILES")){
nVolumeOutputFiles = 3;
VolumeOutputFiles = new unsigned short[nVolumeOutputFiles];
VolumeOutputFiles[0] = RESTART_BINARY;
Expand All @@ -2916,12 +2914,14 @@ void CConfig::SetPostprocessing(unsigned short val_software, unsigned short val_
SU2_MPI::Error("A turbulence model must be specified with KIND_TURB_MODEL if SOLVER= INC_RANS", CURRENT_FUNCTION);
}

//#ifndef HAVE_TECIO
// if (Output_FileFormat == TECPLOT_BINARY) {
// cout << "Tecplot binary file requested but SU2 was built without TecIO support." << "\n";
// Output_FileFormat = TECPLOT;
// }
//#endif
#ifndef HAVE_TECIO
for (unsigned short iVolumeFile = 0; iVolumeFile < nVolumeOutputFiles; iVolumeFile++){
if (VolumeOutputFiles[iVolumeFile] == TECPLOT_BINARY ||
VolumeOutputFiles[iVolumeFile] == SURFACE_TECPLOT_BINARY) {
SU2_MPI::Error(string("Tecplot binary file requested in option OUTPUT_FILES but SU2 was built without TecIO support.\n"), CURRENT_FUNCTION);
}
}
#endif

/*--- Set the boolean Wall_Functions equal to true if there is a
definition for the wall founctions ---*/
Expand Down Expand Up @@ -6243,8 +6243,15 @@ void CConfig::SetOutput(unsigned short val_software, unsigned short val_izone) {
cout << endl <<"------------------ Convergence Criteria ( Zone " << iZone << " ) ---------------------" << endl;

cout << "Maximum number of solver subiterations: " << nInnerIter <<"."<< endl;
cout << "Maximum number of physical time-steps: " << nTimeIter <<"."<< endl;
if (Multizone_Problem)
cout << "Maximum number of solver outer iterations: " << nOuterIter <<"."<< endl;
if (Time_Domain)
cout << "Maximum number of physical time-steps: " << nTimeIter <<"."<< endl;

cout << "Begin convergence monitoring at iteration " << StartConv_Iter << "." << endl;
cout << "Residual minimum value: 1e" << MinLogResidual << "." << endl;
cout << "Cauchy series min. value: " << Cauchy_Eps << "." << endl;
cout << "Number of Cauchy elements: " << Cauchy_Elems << "." << endl;
}

if (val_software == SU2_MSH) {
Expand Down Expand Up @@ -6282,18 +6289,25 @@ void CConfig::SetOutput(unsigned short val_software, unsigned short val_izone) {

if (val_software == SU2_CFD) {

cout << "Writing a solution file every " << Wrt_Sol_Freq <<" iterations."<< endl;
cout << "Writing the convergence history every " << Wrt_Con_Freq <<" iterations."<< endl;
if ((TimeMarching == DT_STEPPING_1ST) || (TimeMarching == DT_STEPPING_2ND)) {
cout << "Writing the dual time flow solution every " << Wrt_Sol_Freq_DualTime <<" iterations."<< endl;
cout << "Writing the dual time convergence history every " << Wrt_Con_Freq_DualTime <<" iterations."<< endl;
cout << "Writing solution files every " << VolumeWrtFreq <<" iterations."<< endl;
cout << "Writing the convergence history file every " << HistoryWrtFreq[2] <<" inner iterations."<< endl;
if (Multizone_Problem){
cout << "Writing the convergence history file every " << HistoryWrtFreq[1] <<" outer iterations."<< endl;
}
if (Time_Domain) {
cout << "Writing the convergence history file every " << HistoryWrtFreq[0] <<" time iterations."<< endl;
}
cout << "Writing the screen convergence history every " << ScreenWrtFreq[2] <<" inner iterations."<< endl;
if (Multizone_Problem){
cout << "Writing the screen convergence history every " << ScreenWrtFreq[1] <<" outer iterations."<< endl;
}
if (Time_Domain) {
cout << "Writing the screen convergence history every " << ScreenWrtFreq[0] <<" time iterations."<< endl;
}

switch (Tab_FileFormat) {
case PARAVIEW: cout << "The output file format is Paraview ASCII legacy (.vtk)." << endl; break;
case PARAVIEW_BINARY: cout << "The output file format is Paraview binary legacy (.vtk)." << endl; break;
case TECPLOT: cout << "The output file format is Tecplot ASCII (.dat)." << endl; break;
case TECPLOT_BINARY: cout << "The output file format is Tecplot binary (.plt)." << endl; break;
case TAB_CSV: cout << "The tabular file format is CSV (.csv)." << endl; break;
case TAB_TECPLOT: cout << "The tabular file format is Tecplot (.dat)." << endl; break;
}

cout << "Convergence history file name: " << Conv_FileName << "." << endl;
Expand All @@ -6302,7 +6316,7 @@ void CConfig::SetOutput(unsigned short val_software, unsigned short val_izone) {


if (!ContinuousAdjoint && !DiscreteAdjoint) {
cout << "Surface coefficients file name: " << SurfCoeff_FileName << "." << endl;
cout << "Surface file name: " << SurfCoeff_FileName << "." << endl;
cout << "Volume file name: " << Volume_FileName << "." << endl;
cout << "Restart file name: " << Restart_FileName << "." << endl;
}
Expand All @@ -6311,17 +6325,15 @@ void CConfig::SetOutput(unsigned short val_software, unsigned short val_izone) {
cout << "Adjoint solution file name: " << Solution_AdjFileName << "." << endl;
cout << "Restart adjoint file name: " << Restart_AdjFileName << "." << endl;
cout << "Adjoint variables file name: " << Adj_FileName << "." << endl;
cout << "Surface adjoint coefficients file name: " << SurfAdjCoeff_FileName << "." << endl;
cout << "Surface adjoint file name: " << SurfAdjCoeff_FileName << "." << endl;
}

}

if (val_software == SU2_SOL) {
switch (Tab_FileFormat) {
case PARAVIEW: cout << "The output file format is Paraview ASCII legacy (.vtk)." << endl; break;
case PARAVIEW_BINARY: cout << "The output file format is Paraview binary legacy (.vtk)." << endl; break;
case TECPLOT: cout << "The output file format is Tecplot ASCII (.dat)." << endl; break;
case TECPLOT_BINARY: cout << "The output file format is Tecplot binary (.plt)." << endl; break;
case TAB_CSV: cout << "The tabular file format is CSV (.csv)." << endl; break;
case TAB_TECPLOT: cout << "The tabular file format is Tecplot (.dat)." << endl; break;
}
cout << "Flow variables file name: " << Volume_FileName << "." << endl;
}
Expand Down
Loading