test: onboard quad02 reaction reference

This commit is contained in:
NINI
2026-05-05 23:56:27 +09:00
parent 9741671f70
commit c47557885d
15 changed files with 597 additions and 24 deletions
+17
View File
@@ -91,6 +91,11 @@ int main() {
check(required_columns.front() == "Node Label", "CSV node label column changed");
check(required_columns.back() == "UR-UR3", "CSV rotation column changed");
const auto required_reaction_columns = fesa::reactionCsvRequiredColumns();
check(required_reaction_columns.size() == 7, "required reaction CSV column count changed");
check(required_reaction_columns.front() == "Node Label", "reaction CSV node label column changed");
check(required_reaction_columns.back() == "RM-RM3", "reaction CSV moment column changed");
const auto missing_header = fesa::loadDisplacementCsvFromString("Node Label,U-U1,U-U2,U-U3,UR-UR1,UR-UR2\n"
"1,0,0,0,0,0\n",
"missing-header.csv");
@@ -112,9 +117,21 @@ int main() {
const auto comparison = fesa::compareDisplacements(u_field, expected, {1.0e-12, 1.0e-12, 1.0});
check(comparison.pass, "displacement comparator no longer matches by node id");
fesa::CsvReactionTable expected_reactions;
expected_reactions.rows[1] = {1, {0, 0, 3.0, 0, 0, 0}};
expected_reactions.rows[2] = {2, {0, 0, 0, 0, 0, 0}};
expected_reactions.rows[3] = {3, {0, 0, 0, 0, 0, 0}};
expected_reactions.rows[4] = {4, {0, 0, 0, 0, 0, 0}};
const auto reaction_comparison = fesa::compareReactions(rf_field, expected_reactions, {1.0e-12, 1.0e-12, 1.0});
check(reaction_comparison.pass, "reaction comparator no longer matches by node id");
const auto quad02 = fesa::loadDisplacementCsv(sourceRoot() + "/references/quad_02_displacements.csv");
check(!fesa::hasError(quad02.diagnostics), "quad_02 displacement CSV no longer loads");
check(quad02.rows.size() == 121, "quad_02 displacement CSV row count changed");
const auto quad02_reactions = fesa::loadReactionCsv(sourceRoot() + "/references/quad_02_reactionforces.csv");
check(!fesa::hasError(quad02_reactions.diagnostics), "quad_02 reaction CSV no longer loads");
check(quad02_reactions.rows.size() == 121, "quad_02 reaction CSV row count changed");
return 0;
}