Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 17 additions & 1 deletion SU2_CFD/include/drivers/CDriverBase.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,13 @@ class CDriverBase {
* \return Value of the output.
*/
inline passivedouble GetOutputValue(const std::string& output_name) const {
return SU2_TYPE::GetValue(output_container[MESH_0]->GetHistoryFieldValue(output_name));
const auto& list = output_container[MESH_0]->GetHistoryOutputList();
for (const auto& val : list) {
if (val == output_name) {
return SU2_TYPE::GetValue(output_container[MESH_0]->GetHistoryFieldValue(output_name));
}
}
return 0.0;
}

/*!
Expand All @@ -133,6 +139,11 @@ class CDriverBase {
*/
inline passivedouble GetMarkerMonitoringOutputValue(const std::string& output_name,
const std::string& marker_monitoring) const {
const auto& list = output_container[MESH_0]->GetHistoryOutputPerSurfaceList();
bool found = false;
for (const auto& val : list) { if (val == output_name) { found = true; break; } }
if (!found) return 0.0;

for (auto iMarker = 0u; iMarker < main_config->GetnMarker_Monitoring(); ++iMarker) {
if (marker_monitoring == main_config->GetMarker_Monitoring_TagBound(iMarker))
return SU2_TYPE::GetValue(output_container[MESH_0]->GetHistoryFieldValuePerSurface(output_name, iMarker));
Expand All @@ -147,6 +158,11 @@ class CDriverBase {
*/
inline passivedouble GetMarkerAnalyzeOutputValue(const std::string& output_name,
const std::string& marker_analyze) const {
const auto& list = output_container[MESH_0]->GetHistoryOutputPerSurfaceList();
bool found = false;
for (const auto& val : list) { if (val == output_name) { found = true; break; } }
if (!found) return 0.0;

for (auto iMarker = 0u; iMarker < main_config->GetnMarker_Analyze(); ++iMarker) {
if (marker_analyze == main_config->GetMarker_Analyze_TagBound(iMarker))
return SU2_TYPE::GetValue(output_container[MESH_0]->GetHistoryFieldValuePerSurface(output_name, iMarker));
Expand Down
2 changes: 1 addition & 1 deletion SU2_CFD/include/output/COutput.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,7 @@ class COutput {
su2double GetHistoryFieldValue(const string& name) const {
auto it = historyOutput_Map.find(name);
if (it != historyOutput_Map.end()) return it->second.value;
SU2_MPI::Error("Cannot find output field with name " + name, CURRENT_FUNCTION);
std::cout << "Warning: History field " << name << " not found." << std::endl;
return 0;
}

Expand Down