feat(cpp-object-oriented-modular-refactoring): step 18 - load-hierarchy
This commit is contained in:
@@ -285,23 +285,23 @@ TEST(InpDomainMapping, MapsEverySupportedKeywordAndLegacyDeck) {
|
||||
EXPECT_EQ(domain.BeamElements()[0U].material_index, 0U);
|
||||
EXPECT_EQ(domain.BeamElements()[0U].section_index, 0U);
|
||||
|
||||
ASSERT_EQ(domain.Steps().size(), 1U);
|
||||
ASSERT_EQ(domain.Steps().Size(), 1U);
|
||||
const auto& step = domain.Steps()[0];
|
||||
EXPECT_EQ(step.name, "Step-1");
|
||||
EXPECT_DOUBLE_EQ(step.initial_increment, 0.25);
|
||||
EXPECT_DOUBLE_EQ(step.time_period, 1.5);
|
||||
EXPECT_DOUBLE_EQ(step.minimum_increment, 0.01);
|
||||
EXPECT_DOUBLE_EQ(step.maximum_increment, 1.5);
|
||||
ASSERT_EQ(step.boundaries.size(), 2U);
|
||||
EXPECT_EQ(step.boundaries[0].target, "rootassembly");
|
||||
EXPECT_EQ(step.boundaries[0].first_dof, 1);
|
||||
EXPECT_DOUBLE_EQ(step.boundaries[0].value, 0.125);
|
||||
EXPECT_EQ(step.boundaries[1].last_dof, 2);
|
||||
EXPECT_DOUBLE_EQ(step.boundaries[1].value, 0.0);
|
||||
ASSERT_EQ(step.loads.size(), 1U);
|
||||
EXPECT_EQ(step.loads[0].target, "RootAssembly");
|
||||
EXPECT_EQ(step.loads[0].dof, 6);
|
||||
EXPECT_DOUBLE_EQ(step.loads[0].magnitude, -12.5);
|
||||
EXPECT_EQ(step.Name(), "Step-1");
|
||||
EXPECT_DOUBLE_EQ(step.InitialIncrement(), 0.25);
|
||||
EXPECT_DOUBLE_EQ(step.TimePeriod(), 1.5);
|
||||
EXPECT_DOUBLE_EQ(step.MinimumIncrement(), 0.01);
|
||||
EXPECT_DOUBLE_EQ(step.MaximumIncrement(), 1.5);
|
||||
ASSERT_EQ(step.Boundaries().size(), 2U);
|
||||
EXPECT_EQ(step.Boundaries()[0].target, "rootassembly");
|
||||
EXPECT_EQ(step.Boundaries()[0].first_dof, 1);
|
||||
EXPECT_DOUBLE_EQ(step.Boundaries()[0].value, 0.125);
|
||||
EXPECT_EQ(step.Boundaries()[1].last_dof, 2);
|
||||
EXPECT_DOUBLE_EQ(step.Boundaries()[1].value, 0.0);
|
||||
ASSERT_EQ(step.ConcentratedLoads().Size(), 1U);
|
||||
EXPECT_EQ(step.ConcentratedLoads()[0U].Target().target_name_or_label,
|
||||
"RootAssembly");
|
||||
EXPECT_DOUBLE_EQ(step.ConcentratedLoads()[0U].GlobalComponents()[5U], -12.5);
|
||||
EXPECT_EQ(domain.Warnings().size(), 8U);
|
||||
|
||||
const auto legacy_path = RepositoryRoot() / "reference" / "cantilever beam" /
|
||||
@@ -316,7 +316,7 @@ TEST(InpDomainMapping, MapsEverySupportedKeywordAndLegacyDeck) {
|
||||
EXPECT_EQ(legacy.Value().Elements().Size(), 10U);
|
||||
EXPECT_EQ(legacy.Value().Materials().Size(), 1U);
|
||||
EXPECT_EQ(legacy.Value().Sections().Size(), 1U);
|
||||
EXPECT_EQ(legacy.Value().Steps().size(), 1U);
|
||||
EXPECT_EQ(legacy.Value().Steps().Size(), 1U);
|
||||
EXPECT_EQ(legacy.Value().Warnings().size(), 7U);
|
||||
EXPECT_EQ(ReadExactBytes(legacy_path), bytes_before);
|
||||
EXPECT_EQ(std::filesystem::last_write_time(legacy_path), timestamp_before);
|
||||
@@ -410,17 +410,24 @@ OnlySecond, 2, 5.
|
||||
EXPECT_EQ(domain.ElementSets()[2].element_indices,
|
||||
(std::vector<fesa::EntityIndex>{1U}));
|
||||
|
||||
ASSERT_EQ(domain.Steps().size(), 1U);
|
||||
EXPECT_EQ(domain.Steps()[0].boundaries[0].target, "OnlySecond");
|
||||
EXPECT_EQ(domain.Steps()[0].loads[0].target, "OnlySecond");
|
||||
ASSERT_EQ(domain.Steps().Size(), 1U);
|
||||
EXPECT_EQ(domain.Steps()[0].Boundaries()[0].target, "OnlySecond");
|
||||
EXPECT_EQ(
|
||||
domain.Steps()[0].ConcentratedLoads()[0U].Target().target_name_or_label,
|
||||
"OnlySecond");
|
||||
|
||||
auto direct =
|
||||
MapText("direct-node-labels",
|
||||
ReplaceOnce(ReplaceOnce(MinimalDeck(), "Root, 1, 6", "1, 1, 6"),
|
||||
"Tip, 2, -1.", "2, 2, -1."));
|
||||
ASSERT_TRUE(direct.HasValue());
|
||||
EXPECT_EQ(direct.Value().Steps()[0].boundaries[0].target, "1");
|
||||
EXPECT_EQ(direct.Value().Steps()[0].loads[0].target, "2");
|
||||
EXPECT_EQ(direct.Value().Steps()[0].Boundaries()[0].target, "1");
|
||||
EXPECT_EQ(direct.Value()
|
||||
.Steps()[0]
|
||||
.ConcentratedLoads()[0U]
|
||||
.Target()
|
||||
.target_name_or_label,
|
||||
"2");
|
||||
|
||||
auto above_thresholds = MapText(
|
||||
"above-geometry-thresholds",
|
||||
@@ -543,11 +550,11 @@ TEST(InpDomainMapping, NoOpAllowlistWarnsWithoutSemanticEffect) {
|
||||
plain.Value().NodeSets().size());
|
||||
EXPECT_EQ(with_no_ops.Value().ElementSets().size(),
|
||||
plain.Value().ElementSets().size());
|
||||
EXPECT_EQ(with_no_ops.Value().Steps().size(), plain.Value().Steps().size());
|
||||
EXPECT_EQ(with_no_ops.Value().Steps()[0].boundaries.size(),
|
||||
plain.Value().Steps()[0].boundaries.size());
|
||||
EXPECT_EQ(with_no_ops.Value().Steps()[0].loads.size(),
|
||||
plain.Value().Steps()[0].loads.size());
|
||||
EXPECT_EQ(with_no_ops.Value().Steps().Size(), plain.Value().Steps().Size());
|
||||
EXPECT_EQ(with_no_ops.Value().Steps()[0].Boundaries().size(),
|
||||
plain.Value().Steps()[0].Boundaries().size());
|
||||
EXPECT_EQ(with_no_ops.Value().Steps()[0].Loads().size(),
|
||||
plain.Value().Steps()[0].Loads().size());
|
||||
}
|
||||
|
||||
// MITC4-MAP-001
|
||||
@@ -605,11 +612,12 @@ TEST(InpDomainMapping, MapsS4AndS4rThroughOneMitc4Identity) {
|
||||
EXPECT_EQ(domain.ShellNodeInitialFrames()[0].tangent_b,
|
||||
(std::array<double, 3>{0.0, 1.0, 0.0}));
|
||||
|
||||
ASSERT_EQ(domain.Steps().size(), 1U);
|
||||
ASSERT_EQ(domain.Steps()[0].boundaries.size(), 1U);
|
||||
EXPECT_EQ(domain.Steps()[0].boundaries[0].last_dof, 6);
|
||||
ASSERT_EQ(domain.Steps()[0].loads.size(), 1U);
|
||||
EXPECT_EQ(domain.Steps()[0].loads[0].dof, 6);
|
||||
ASSERT_EQ(domain.Steps().Size(), 1U);
|
||||
ASSERT_EQ(domain.Steps()[0].Boundaries().size(), 1U);
|
||||
EXPECT_EQ(domain.Steps()[0].Boundaries()[0].last_dof, 6);
|
||||
ASSERT_EQ(domain.Steps()[0].ConcentratedLoads().Size(), 1U);
|
||||
EXPECT_DOUBLE_EQ(
|
||||
domain.Steps()[0].ConcentratedLoads()[0U].GlobalComponents()[5U], 1.0);
|
||||
}
|
||||
|
||||
// MITC4-MAP-002
|
||||
|
||||
Reference in New Issue
Block a user