Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix bugs detected by the address sanitizer #2212

Merged
merged 23 commits into from
Feb 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
58c4692
Virtual destructor for CMeshReaderFVM
Feb 14, 2024
540d423
Fix memory leaks related to ActDisk
Feb 14, 2024
c4f94f2
Fix memory leak related to CSolver::Res_Conv_j
Feb 14, 2024
b77c0c6
Fix memory leaks related to CAdjEulerSolver::DonorAdjVar
Feb 14, 2024
44e75c5
Fix memory leaks related to CAdjEulerSolver::DonorGlobalIndex
Feb 14, 2024
e97da26
Fix memory leak related to CAvgGrad_AdjFlow::Mean_GradPhi
Feb 14, 2024
1118886
Fix 540d4239
Feb 14, 2024
ac74223
Fix memory leak related to CSolver::Vector_i, Vector_j
Feb 14, 2024
40d0fe8
Reset upon AD finalization for proper deallocation.
jblueh Feb 14, 2024
1cd38e1
Remove unused (and leaked) CDiscAdjFEAIteration::fem_iteration.
jblueh Feb 14, 2024
a37d83f
Fix semicolon.
jblueh Feb 14, 2024
7763f5c
Fix memory leak regarding CFEANonlinearElasticity::ke_DE_i.
jblueh Feb 14, 2024
4119f46
Replace Restart_Vars and Restart_Data by vectors.
jblueh Feb 14, 2024
ed6beac
Explicitly shrink vectors to free memory.
jblueh Feb 14, 2024
094f369
Fix.
jblueh Feb 14, 2024
19ab7ff
Reset vectors by move-assigning an empty vector.
jblueh Feb 15, 2024
73c59fb
Remove unnecessary semicolon
maxaehle Feb 15, 2024
fc23554
Separate marker lists for MARKER_ACTDISK_BEM_CG, ..._AXIS
maxaehle Feb 15, 2024
545843f
Store CIteration::TurbomachineryStagePerformance via shared_ptr
Feb 15, 2024
4c3253c
Merge remote-tracking branch 'github/fix_addresssanitizer_findings' i…
maxaehle Feb 15, 2024
85436ea
Fix formatting.
jblueh Feb 16, 2024
bb8553c
Merge branch 'develop' into fix_addresssanitizer_findings
jblueh Feb 16, 2024
150d1b3
Merge branch 'develop' into fix_addresssanitizer_findings
jblueh Feb 16, 2024
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
12 changes: 8 additions & 4 deletions Common/include/CConfig.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -183,8 +183,10 @@ class CConfig {
nMarker_NearFieldBound, /*!< \brief Number of near field boundary markers. */
nMarker_ActDiskInlet, /*!< \brief Number of actuator disk inlet markers. */
nMarker_ActDiskOutlet, /*!< \brief Number of actuator disk outlet markers. */
nMarker_ActDiskBemInlet, /*!< \brief Number of actuator disk BEM inlet markers. */
nMarker_ActDiskBemOutlet, /*!< \brief Number of actuator disk BEM outlet markers. */
nMarker_ActDiskBemInlet_CG, /*!< \brief Number of actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_CG. */
nMarker_ActDiskBemOutlet_CG, /*!< \brief Number of actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_CG. */
nMarker_ActDiskBemInlet_Axis, /*!< \brief Number of actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
nMarker_ActDiskBemOutlet_Axis, /*!< \brief Number of actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
nMarker_Deform_Mesh_Sym_Plane, /*!< \brief Number of markers with symmetric deformation */
nMarker_Deform_Mesh, /*!< \brief Number of deformable markers at the boundary. */
nMarker_Fluid_Load, /*!< \brief Number of markers in which the flow load is computed/employed. */
Expand Down Expand Up @@ -241,8 +243,10 @@ class CConfig {
*Marker_CHTInterface, /*!< \brief Conjugate heat transfer interface markers. */
*Marker_ActDiskInlet, /*!< \brief Actuator disk inlet markers. */
*Marker_ActDiskOutlet, /*!< \brief Actuator disk outlet markers. */
*Marker_ActDiskBemInlet, /*!< \brief Actuator disk BEM inlet markers. */
*Marker_ActDiskBemOutlet, /*!< \brief Actuator disk BEM outlet markers. */
*Marker_ActDiskBemInlet_CG, /*!< \brief Actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_CG. */
*Marker_ActDiskBemOutlet_CG, /*!< \brief Actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_CG. */
*Marker_ActDiskBemInlet_Axis, /*!< \brief Actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
*Marker_ActDiskBemOutlet_Axis, /*!< \brief Actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
*Marker_Inlet, /*!< \brief Inlet flow markers. */
*Marker_Inlet_Species, /*!< \brief Inlet species markers. */
*Marker_Inlet_Turb, /*!< \brief Inlet turbulent markers. */
Expand Down
2 changes: 1 addition & 1 deletion Common/include/geometry/meshreader/CBoxMeshReaderFVM.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,5 +76,5 @@ class CBoxMeshReaderFVM : public CMeshReaderFVM {
/*!
* \brief Destructor of the CBoxMeshReaderFVM class.
*/
~CBoxMeshReaderFVM(void);
~CBoxMeshReaderFVM(void) override;
};
2 changes: 1 addition & 1 deletion Common/include/geometry/meshreader/CCGNSMeshReaderFVM.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,5 +148,5 @@ class CCGNSMeshReaderFVM : public CMeshReaderFVM {
/*!
* \brief Destructor of the CCGNSMeshReaderFVM class.
*/
~CCGNSMeshReaderFVM(void);
~CCGNSMeshReaderFVM(void) override;
};
2 changes: 2 additions & 0 deletions Common/include/geometry/meshreader/CMeshReaderFVM.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,8 @@ class CMeshReaderFVM {
*/
CMeshReaderFVM(const CConfig* val_config, unsigned short val_iZone, unsigned short val_nZone);

virtual ~CMeshReaderFVM() = default;

/*!
* \brief Get the physical dimension of the problem (2 or 3).
* \returns Physical dimension of the problem.
Expand Down
17 changes: 16 additions & 1 deletion Common/include/option_structure.inl
Original file line number Diff line number Diff line change
Expand Up @@ -1696,7 +1696,22 @@ class COptionActDisk : public COptionBase {
this->name = name;
}

~COptionActDisk() override{};
~COptionActDisk() override {
for (int i = 0; i < this->inlet_size; i++) {
if (this->press_jump) delete[] this->press_jump[i];
if (this->temp_jump) delete[] this->temp_jump[i];
if (this->omega) delete[] this->omega[i];
}
delete[] press_jump;
delete[] temp_jump;
delete[] omega;

delete[] marker_inlet;
delete[] marker_outlet;

SetDefault();
}

string SetValue(const vector<string>& option_value) override {
COptionBase::SetValue(option_value);
const int mod_num = 8;
Expand Down
40 changes: 31 additions & 9 deletions Common/src/CConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1535,12 +1535,12 @@ void CConfig::SetConfig_Options() {

/*!\brief MARKER_ACTDISK_BEM_CG\n DESCRIPTION: Actuator disk CG for blade element momentum (BEM) method. \ingroup Config*/
addActDiskBemOption("MARKER_ACTDISK_BEM_CG",
nMarker_ActDiskBemInlet, nMarker_ActDiskBemOutlet, Marker_ActDiskBemInlet, Marker_ActDiskBemOutlet,
nMarker_ActDiskBemInlet_CG, nMarker_ActDiskBemOutlet_CG, Marker_ActDiskBemInlet_CG, Marker_ActDiskBemOutlet_CG,
ActDiskBem_CG[0], ActDiskBem_CG[1], ActDiskBem_CG[2]);

/*!\brief MARKER_ACTDISK_BEM_AXIS\n DESCRIPTION: Actuator disk axis for blade element momentum (BEM) method. \ingroup Config*/
addActDiskBemOption("MARKER_ACTDISK_BEM_AXIS",
nMarker_ActDiskBemInlet, nMarker_ActDiskBemOutlet, Marker_ActDiskBemInlet, Marker_ActDiskBemOutlet,
nMarker_ActDiskBemInlet_Axis, nMarker_ActDiskBemOutlet_Axis, Marker_ActDiskBemInlet_Axis, Marker_ActDiskBemOutlet_Axis,
ActDiskBem_Axis[0], ActDiskBem_Axis[1], ActDiskBem_Axis[2]);

/*!\brief ACTDISK_FILENAME \n DESCRIPTION: Input file for a specified actuator disk (w/ extension) \n DEFAULT: actdiskinput.dat \ingroup Config*/
Expand Down Expand Up @@ -3589,6 +3589,28 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i
|| (Kind_ActDisk == POWER))
ActDisk_Jump = RATIO;

if(Marker_ActDiskBemInlet_CG && Marker_ActDiskBemInlet_Axis){
if(nMarker_ActDiskBemInlet_CG != nMarker_ActDiskBemInlet_Axis){
SU2_MPI::Error("Marker lists supplied to MARKER_ACTDISK_BEM_CG and MARKER_ACTDISK_BEM_AXIS must be identical.", CURRENT_FUNCTION);
}
for(iMarker=0; iMarker<nMarker_ActDiskBemInlet_CG; iMarker++){
if(Marker_ActDiskBemInlet_CG[iMarker]!=Marker_ActDiskBemInlet_Axis[iMarker]){
SU2_MPI::Error("Marker lists supplied to MARKER_ACTDISK_BEM_CG and MARKER_ACTDISK_BEM_AXIS must be identical.", CURRENT_FUNCTION);
}
}
}

if(Marker_ActDiskBemOutlet_CG && Marker_ActDiskBemOutlet_Axis){
if(nMarker_ActDiskBemOutlet_CG != nMarker_ActDiskBemOutlet_Axis){
SU2_MPI::Error("Marker lists supplied to MARKER_ACTDISK_BEM_CG and MARKER_ACTDISK_BEM_AXIS must be identical.", CURRENT_FUNCTION);
}
for(iMarker=0; iMarker<nMarker_ActDiskBemOutlet_CG; iMarker++){
if(Marker_ActDiskBemOutlet_CG[iMarker]!=Marker_ActDiskBemOutlet_Axis[iMarker]){
SU2_MPI::Error("Marker lists supplied to MARKER_ACTDISK_BEM_CG and MARKER_ACTDISK_BEM_AXIS must be identical.", CURRENT_FUNCTION);
}
}
}

/*--- Error-catching and automatic array adjustments for objective, marker, and weights arrays --- */

/*--- If Kind_Obj has not been specified, these arrays need to take a default --*/
Expand Down Expand Up @@ -5559,7 +5581,7 @@ void CConfig::SetMarkers(SU2_COMPONENT val_software) {
nMarker_Custom + nMarker_Damper + nMarker_Fluid_Load +
nMarker_Clamped + nMarker_Load_Dir + nMarker_Disp_Dir +
nMarker_ActDiskInlet + nMarker_ActDiskOutlet +
nMarker_ActDiskBemInlet + nMarker_ActDiskBemOutlet +
nMarker_ActDiskBemInlet_CG + nMarker_ActDiskBemOutlet_CG +
nMarker_ZoneInterface;

/*--- Add the possible send/receive domains ---*/
Expand Down Expand Up @@ -8693,17 +8715,17 @@ su2double CConfig::GetActDisk_Omega(const string& val_marker, unsigned short val

su2double CConfig::GetActDiskBem_CG(unsigned short iDim, string val_marker, unsigned short val_value) const {
unsigned short iMarker_ActDisk;
for (iMarker_ActDisk = 0; iMarker_ActDisk < nMarker_ActDiskBemInlet; iMarker_ActDisk++)
if ((Marker_ActDiskBemInlet[iMarker_ActDisk] == val_marker) ||
(Marker_ActDiskBemOutlet[iMarker_ActDisk] == val_marker)) break;
for (iMarker_ActDisk = 0; iMarker_ActDisk < nMarker_ActDiskBemInlet_CG; iMarker_ActDisk++)
if ((Marker_ActDiskBemInlet_CG[iMarker_ActDisk] == val_marker) ||
(Marker_ActDiskBemOutlet_CG[iMarker_ActDisk] == val_marker)) break;
return ActDiskBem_CG[iDim][iMarker_ActDisk][val_value];
}

su2double CConfig::GetActDiskBem_Axis(unsigned short iDim, string val_marker, unsigned short val_value) const {
unsigned short iMarker_ActDisk;
for (iMarker_ActDisk = 0; iMarker_ActDisk < nMarker_ActDiskBemInlet; iMarker_ActDisk++)
if ((Marker_ActDiskBemInlet[iMarker_ActDisk] == val_marker) ||
(Marker_ActDiskBemOutlet[iMarker_ActDisk] == val_marker)) break;
for (iMarker_ActDisk = 0; iMarker_ActDisk < nMarker_ActDiskBemInlet_Axis; iMarker_ActDisk++)
if ((Marker_ActDiskBemInlet_Axis[iMarker_ActDisk] == val_marker) ||
(Marker_ActDiskBemOutlet_Axis[iMarker_ActDisk] == val_marker)) break;
return ActDiskBem_Axis[iDim][iMarker_ActDisk][val_value];
}

Expand Down
3 changes: 2 additions & 1 deletion Common/src/basic_types/ad_structure.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,5 +57,6 @@ void Initialize() {
#endif
}

void Finalize() {}
void Finalize() { AD::Reset(); }

} // namespace AD
1 change: 0 additions & 1 deletion SU2_CFD/include/iteration/CDiscAdjFEAIteration.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ class CFEAIteration;
*/
class CDiscAdjFEAIteration final : public CIteration {
private:
CFEAIteration* fem_iteration; /*!< \brief Pointer to the primal iteration class. */
unsigned short CurrentRecording; /*!< \brief Stores the current status of the recording. */

/*!
Expand Down
2 changes: 1 addition & 1 deletion SU2_CFD/include/iteration/CIteration.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ class CIteration {
StopTime{0.0}, UsedTime{0.0};

std::shared_ptr<CTurboOutput> TurbomachineryPerformance; /*!< \brief turbo performance calculator. */
CTurbomachineryStagePerformance* TurbomachineryStagePerformance; /*!< \brief turbo stage performance calculator. */
std::shared_ptr<CTurbomachineryStagePerformance> TurbomachineryStagePerformance; /*!< \brief turbo stage performance calculator. */

public:
/*!
Expand Down
4 changes: 2 additions & 2 deletions SU2_CFD/include/output/CFlowCompOutput.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,15 +109,15 @@ class CFlowCompOutput final: public CFlowOutput {
* \param[in] TurboPerf - Turboperformance class
* \param[in] config - Definition of the particular problem
*/
void SetTurboMultiZonePerformance_Output(CTurbomachineryStagePerformance* TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) override;
void SetTurboMultiZonePerformance_Output(std::shared_ptr<CTurbomachineryStagePerformance> TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) override;

/*!
* \brief Loads the turboperformacne history data
* \param[in] TurboStagePerf - Stage turboperformance class
* \param[in] TurboPerf - Turboperformance class
* \param[in] config - Definition of the particular problem
*/
void LoadTurboHistoryData(CTurbomachineryStagePerformance* TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) override;
void LoadTurboHistoryData(std::shared_ptr<CTurbomachineryStagePerformance> TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) override;

/*!
* \brief Write the kinematic and thermodynamic variables at each spanwise division
Expand Down
6 changes: 3 additions & 3 deletions SU2_CFD/include/output/COutput.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ class COutput {
* \param[in] val_iInst - Index of the instance layer
*/
void SetHistoryOutput(CGeometry ****geometry, CSolver *****solver_container, CConfig **config,
CTurbomachineryStagePerformance* TurboStagePerf,
std::shared_ptr<CTurbomachineryStagePerformance> TurboStagePerf,
std::shared_ptr<CTurboOutput> TurboPerf, unsigned short val_iZone,
unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter, unsigned short val_iInst);

Expand Down Expand Up @@ -973,15 +973,15 @@ class COutput {
* \param[in] TurboPerf - Turboperformance class
* \param[in] config - Definition of the particular problem
*/
inline virtual void SetTurboMultiZonePerformance_Output(CTurbomachineryStagePerformance* TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) {}
inline virtual void SetTurboMultiZonePerformance_Output(std::shared_ptr<CTurbomachineryStagePerformance> TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) {}

/*!
* \brief Loads the turboperformacne history data
* \param[in] TurboStagePerf - Stage turboperformance class
* \param[in] TurboPerf - Turboperformance class
* \param[in] config - Definition of the particular problem
*/
inline virtual void LoadTurboHistoryData(CTurbomachineryStagePerformance* TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) {}
inline virtual void LoadTurboHistoryData(std::shared_ptr<CTurbomachineryStagePerformance> TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) {}

/*!
* \brief Write the kinematic and thermodynamic variables at each spanwise division
Expand Down
10 changes: 5 additions & 5 deletions SU2_CFD/include/solvers/CAdjEulerSolver.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@ class CAdjEulerSolver : public CSolver {
*Sens_Press, /*!< \brief Pressure sensitivity coefficient for each boundary. */
*Sens_Temp, /*!< \brief Temperature sensitivity coefficient for each boundary. */
*Sens_BPress, /*!< \brief Back pressure sensitivity coefficient for each boundary. */
**CSensitivity, /*!< \brief Shape sensitivity coefficient for each boundary and vertex. */
***DonorAdjVar; /*!< \brief Value of the donor variables at each boundary. */
**CSensitivity; /*!< \brief Shape sensitivity coefficient for each boundary and vertex. */
vector<vector<vector<su2double>>> DonorAdjVar; /*!< \brief Value of the donor variables at each boundary. */
su2double Total_Sens_Mach; /*!< \brief Total mach sensitivity coefficient for all the boundaries. */
su2double Total_Sens_AoA; /*!< \brief Total angle of attack sensitivity coefficient for all the boundaries. */
su2double Total_Sens_Geo; /*!< \brief Total shape sensitivity coefficient for all the boundaries. */
Expand All @@ -63,7 +63,7 @@ class CAdjEulerSolver : public CSolver {
su2double Gamma_Minus_One; /*!< \brief Fluids's Gamma - 1.0 . */
su2double *FlowPrimVar_i, /*!< \brief Store the flow solution at point i. */
*FlowPrimVar_j; /*!< \brief Store the flow solution at point j. */
unsigned long **DonorGlobalIndex; /*!< \brief Value of the donor global index. */
vector<vector<unsigned long>> DonorGlobalIndex; /*!< \brief Value of the donor global index. */

su2double pnorm,
Area_Monitored; /*!< \brief Store the total area of the monitored outflow surface (used for normalization in continuous adjoint outflow conditions) */
Expand Down Expand Up @@ -219,8 +219,8 @@ class CAdjEulerSolver : public CSolver {
* \param[in] val_vertex - Vertex of the marker <i>val_marker</i> where the coefficient is evaluated.
* \return Value of the pressure coefficient.
*/
inline su2double *GetDonorAdjVar(unsigned short val_marker, unsigned long val_vertex) const {
return DonorAdjVar[val_marker][val_vertex];
inline const su2double* GetDonorAdjVar(unsigned short val_marker, unsigned long val_vertex) const {
return DonorAdjVar[val_marker][val_vertex].data();
}

/*!
Expand Down
6 changes: 2 additions & 4 deletions SU2_CFD/include/solvers/CFVMFlowSolverBase.inl
Original file line number Diff line number Diff line change
Expand Up @@ -979,10 +979,8 @@ void CFVMFlowSolverBase<V, R>::LoadRestart_impl(CGeometry **geometry, CSolver **
{
/*--- Delete the class memory that is used to load the restart. ---*/

delete [] Restart_Vars;
Restart_Vars = nullptr;
delete [] Restart_Data;
Restart_Data = nullptr;
Restart_Vars = decltype(Restart_Vars){};
Restart_Data = decltype(Restart_Data){};
}
END_SU2_OMP_SAFE_GLOBAL_ACCESS
}
Expand Down
8 changes: 4 additions & 4 deletions SU2_CFD/include/solvers/CSolver.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,10 +133,10 @@ class CSolver {
su2activevector iPoint_UndLapl; /*!< \brief Auxiliary variable for the undivided Laplacians. */
su2activevector jPoint_UndLapl; /*!< \brief Auxiliary variable for the undivided Laplacians. */

int *Restart_Vars; /*!< \brief Auxiliary structure for holding the number of variables and points in a restart. */
int Restart_ExtIter; /*!< \brief Auxiliary structure for holding the external iteration offset from a restart. */
passivedouble *Restart_Data; /*!< \brief Auxiliary structure for holding the data values from a restart. */
unsigned short nOutputVariables; /*!< \brief Number of variables to write. */
vector<int> Restart_Vars; /*!< \brief Auxiliary structure for holding the number of variables and points in a restart. */
int Restart_ExtIter; /*!< \brief Auxiliary structure for holding the external iteration offset from a restart. */
vector<passivedouble> Restart_Data; /*!< \brief Auxiliary structure for holding the data values from a restart. */
unsigned short nOutputVariables; /*!< \brief Number of variables to write. */

unsigned long nMarker; /*!< \brief Total number of markers using the grid information. */
vector<unsigned long> nVertex; /*!< \brief Store nVertex at each marker for deallocation */
Expand Down
6 changes: 2 additions & 4 deletions SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,9 @@
#include "../../include/solvers/CFEASolver.hpp"
#include "../../include/output/COutput.hpp"

CDiscAdjFEAIteration::CDiscAdjFEAIteration(const CConfig *config) : CIteration(config), CurrentRecording(NONE) {
fem_iteration = new CFEAIteration(config);
}
CDiscAdjFEAIteration::CDiscAdjFEAIteration(const CConfig *config) : CIteration(config), CurrentRecording(NONE) {}

CDiscAdjFEAIteration::~CDiscAdjFEAIteration() = default;
CDiscAdjFEAIteration::~CDiscAdjFEAIteration() {}

void CDiscAdjFEAIteration::Preprocess(COutput* output, CIntegration**** integration, CGeometry**** geometry,
CSolver***** solver, CNumerics****** numerics, CConfig** config,
Expand Down
2 changes: 1 addition & 1 deletion SU2_CFD/src/iteration/CTurboIteration.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,5 +62,5 @@ void CTurboIteration::Postprocess(COutput* output, CIntegration**** integration,

void CTurboIteration::InitTurboPerformance(CGeometry* geometry, CConfig** config, CFluidModel* fluid) {
TurbomachineryPerformance = std::make_shared<CTurboOutput>(config, *geometry, *fluid);
TurbomachineryStagePerformance = new CTurbomachineryStagePerformance(*fluid);
TurbomachineryStagePerformance = std::make_shared<CTurbomachineryStagePerformance>(*fluid);
}
1 change: 1 addition & 0 deletions SU2_CFD/src/numerics/continuous_adjoint/adj_diffusion.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ CAvgGrad_AdjFlow::~CAvgGrad_AdjFlow() {
delete [] Mean_GradPsiE;
for (unsigned short iDim = 0; iDim < nDim; iDim++)
delete [] Mean_GradPhi[iDim];
delete [] Mean_GradPhi;
}

void CAvgGrad_AdjFlow::ComputeResidual(su2double *val_residual_i, su2double *val_residual_j,
Expand Down
3 changes: 3 additions & 0 deletions SU2_CFD/src/numerics/elasticity/CFEANonlinearElasticity.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,9 @@ CFEANonlinearElasticity::~CFEANonlinearElasticity() {
delete [] EField_Ref_Mod;
delete [] EField_Curr_Unit;

if (maxwell_stress) {
delete [] ke_DE_i;
}
}


Expand Down
4 changes: 2 additions & 2 deletions SU2_CFD/src/output/CFlowCompOutput.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -545,7 +545,7 @@ void CFlowCompOutput::SetTurboPerformance_Output(std::shared_ptr<CTurboOutput> T
cout<<TurboInOutTable.str();
}

void CFlowCompOutput::SetTurboMultiZonePerformance_Output(CTurbomachineryStagePerformance* TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) {
void CFlowCompOutput::SetTurboMultiZonePerformance_Output(std::shared_ptr<CTurbomachineryStagePerformance> TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) {

stringstream TurboMZPerf;

Expand Down Expand Up @@ -575,7 +575,7 @@ void CFlowCompOutput::SetTurboMultiZonePerformance_Output(CTurbomachineryStagePe

}

void CFlowCompOutput::LoadTurboHistoryData(CTurbomachineryStagePerformance* TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) {
void CFlowCompOutput::LoadTurboHistoryData(std::shared_ptr<CTurbomachineryStagePerformance> TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, CConfig *config) {
auto BladePerformance = TurboPerf->GetBladesPerformances();
for (unsigned short iZone = 0; iZone <= config->GetnZone()-1; iZone++) {
auto nSpan = config->GetnSpan_iZones(iZone);
Expand Down
2 changes: 1 addition & 1 deletion SU2_CFD/src/output/COutput.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ void COutput::SetHistoryOutput(CGeometry *geometry,

}

void COutput::SetHistoryOutput(CGeometry ****geometry, CSolver *****solver, CConfig **config, CTurbomachineryStagePerformance* TurboStagePerf, std::shared_ptr<CTurboOutput> TurboPerf, unsigned short val_iZone, unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter, unsigned short val_iInst){
void COutput::SetHistoryOutput(CGeometry ****geometry, CSolver *****solver, CConfig **config, std::shared_ptr<CTurbomachineryStagePerformance>(TurboStagePerf), std::shared_ptr<CTurboOutput> TurboPerf, unsigned short val_iZone, unsigned long TimeIter, unsigned long OuterIter, unsigned long InnerIter, unsigned short val_iInst){

unsigned long Iter= InnerIter;

Expand Down
Loading
Loading