Add MITC4 drilling diagnostics output and comparison contract
This commit is contained in:
@@ -26,6 +26,8 @@
|
||||
|
||||
#include "reference_tolerance_policy.h"
|
||||
|
||||
#include "mitc4_drilling_reader.h"
|
||||
|
||||
namespace fesa::test {
|
||||
namespace {
|
||||
|
||||
@@ -573,6 +575,7 @@ std::vector<double> ReadDisplacement(const hid_t file,
|
||||
}
|
||||
|
||||
struct Hdf5Projection {
|
||||
std::optional<Mitc4DrillingDiagnosticsReport> drilling_diagnostics;
|
||||
std::vector<WideRow> rows;
|
||||
std::string source_element_type;
|
||||
std::string internal_formulation;
|
||||
@@ -619,7 +622,7 @@ Hdf5Projection ReadHdf5(const Mitc4ReferenceCase& reference_case) {
|
||||
values.begin() + static_cast<std::ptrdiff_t>(row * kComponents.size()),
|
||||
kComponents.size(), rows[row].values.begin());
|
||||
}
|
||||
return {std::move(rows), reference_case.expected_source_element_type,
|
||||
return {ReadMitc4DrillingReport(file.Get()), std::move(rows), reference_case.expected_source_element_type,
|
||||
kInternalFormulation, kIntegrationRule};
|
||||
}
|
||||
|
||||
@@ -739,6 +742,7 @@ Result<Mitc4ComparisonReport> Mitc4ReferenceComparison::Compare(
|
||||
}
|
||||
|
||||
Mitc4ComparisonReport report{};
|
||||
report.drilling_diagnostics = std::move(hdf5.drilling_diagnostics);
|
||||
report.case_id = reference_case.case_id;
|
||||
report.source_element_type = std::move(hdf5.source_element_type);
|
||||
report.internal_formulation = std::move(hdf5.internal_formulation);
|
||||
@@ -889,7 +893,9 @@ Status Mitc4ReferenceComparison::WriteDeterministicJson(
|
||||
}
|
||||
stream.imbue(std::locale::classic());
|
||||
stream << std::setprecision(std::numeric_limits<double>::max_digits10);
|
||||
stream << "{\"case_id\":\"" << JsonEscape(report.case_id)
|
||||
stream << "{\"drilling_diagnostics\":";
|
||||
WriteDrillingDiagnosticsJson(stream, report.drilling_diagnostics);
|
||||
stream << ",\"case_id\":\"" << JsonEscape(report.case_id)
|
||||
<< "\",\"source_element_type\":\""
|
||||
<< JsonEscape(report.source_element_type)
|
||||
<< "\",\"internal_formulation\":\""
|
||||
|
||||
Reference in New Issue
Block a user