feat(nonlinear-static-newton-raphson): step 11 - equilibrium-projection-and-reference-gate
This commit is contained in:
@@ -534,6 +534,31 @@ TEST(NonlinearHdf5ResultsWriter, ProjectsRotationalReactionToSpatialMoment) {
|
||||
EXPECT_GT(quadratic, 0.0);
|
||||
}
|
||||
|
||||
// NSNR-HDF5-014.
|
||||
TEST(NonlinearHdf5ResultsWriter, WritesSchemaV1GlobalBalanceErrorLocation) {
|
||||
TempDirectory directory{"global-balance-location"};
|
||||
auto fixture = MakeFixture(directory.Path() / "global-balance.inp");
|
||||
const auto output = directory.Path() / "global-balance_results.h5";
|
||||
|
||||
fesa::NonlinearHdf5ResultsWriter writer;
|
||||
ASSERT_TRUE(writer.Write(output, *fixture.domain, fixture.state, {}).IsOk());
|
||||
|
||||
const auto file = OpenFile(output);
|
||||
const auto equilibrium = OpenDataset(
|
||||
file.Get(), "/steps/Step-1/frames/1/global/equilibrium");
|
||||
EXPECT_EQ(DatasetDimensions(file.Get(),
|
||||
"/steps/Step-1/frames/1/global/equilibrium"),
|
||||
std::vector<hsize_t>({6U}));
|
||||
EXPECT_EQ(ReadStringAttribute(equilibrium.Get(), "component_names"),
|
||||
"FORCE_1,FORCE_2,FORCE_3,MOMENT_1,MOMENT_2,MOMENT_3");
|
||||
EXPECT_EQ(ReadStringAttribute(equilibrium.Get(), "location"),
|
||||
"global-balance-error");
|
||||
Hdf5Handle metadata{H5Gopen2(file.Get(), "/metadata", H5P_DEFAULT),
|
||||
H5Gclose};
|
||||
ASSERT_GE(metadata.Get(), 0);
|
||||
EXPECT_EQ(ReadUint64Attribute(metadata.Get(), "schema_version"), 1U);
|
||||
}
|
||||
|
||||
// NSNR-HDF5-012 and NSNR-HDF5-013.
|
||||
TEST(NonlinearHdf5ResultsWriter, StoresSortedDiagnosticsThroughBackendNeutralBoundary) {
|
||||
static_assert(std::is_base_of_v<fesa::NonlinearResultsWriter,
|
||||
|
||||
Reference in New Issue
Block a user