test: onboard quad 02 phase1 reference
This commit is contained in:
@@ -150,6 +150,26 @@ FESA_TEST(quad01_reference_input_remains_unsupported) {
|
||||
fesa::containsDiagnostic(parsed.diagnostics, "FESA-PARSE-UNSUPPORTED-ELEMENT"));
|
||||
}
|
||||
|
||||
FESA_TEST(quad02_original_reference_input_remains_unsupported) {
|
||||
fesa::AbaqusInputParser parser;
|
||||
auto parsed = parser.parseFile(sourceRoot() + "/references/quad_02.inp");
|
||||
FESA_CHECK(!parsed.ok());
|
||||
FESA_CHECK(fesa::containsDiagnostic(parsed.diagnostics, "FESA-PARSE-UNSUPPORTED-KEYWORD"));
|
||||
}
|
||||
|
||||
FESA_TEST(quad02_phase1_normalized_input_uses_supported_subset) {
|
||||
fesa::AbaqusInputParser parser;
|
||||
auto parsed = parser.parseFile(sourceRoot() + "/references/quad_02_phase1.inp");
|
||||
FESA_CHECK(parsed.ok());
|
||||
FESA_CHECK(parsed.domain.nodes.size() == 121);
|
||||
FESA_CHECK(parsed.domain.elements.size() == 100);
|
||||
FESA_CHECK(parsed.domain.node_sets.at("fixed_boundary").node_ids.size() == 40);
|
||||
FESA_CHECK(parsed.domain.node_sets.at("load_node").node_ids.size() == 1);
|
||||
FESA_CHECK(parsed.domain.element_sets.at("all_elements").element_ids.size() == 100);
|
||||
FESA_CHECK(parsed.domain.materials.at("material_1").elastic_modulus == 7.0e10);
|
||||
FESA_CHECK(parsed.domain.shell_sections.front().thickness == 1.0);
|
||||
}
|
||||
|
||||
FESA_TEST(domain_validation_reports_missing_property_and_targets) {
|
||||
fesa::Domain domain;
|
||||
domain.nodes[1] = {1, {0, 0, 0}};
|
||||
@@ -223,6 +243,14 @@ FESA_TEST(displacement_csv_loader_accepts_quad01_format) {
|
||||
FESA_CHECK(table.rows.count(1) == 1);
|
||||
}
|
||||
|
||||
FESA_TEST(displacement_csv_loader_accepts_quad02_format) {
|
||||
auto table = fesa::loadDisplacementCsv(sourceRoot() + "/references/quad_02_displacements.csv");
|
||||
FESA_CHECK(!fesa::hasError(table.diagnostics));
|
||||
FESA_CHECK(table.rows.size() == 121);
|
||||
FESA_CHECK(table.rows.count(2) == 1);
|
||||
FESA_CHECK(table.rows.at(2).values[2] < 0.0);
|
||||
}
|
||||
|
||||
FESA_TEST(displacement_comparator_matches_by_node_id_not_row_order) {
|
||||
fesa::FieldOutput actual;
|
||||
actual.name = "U";
|
||||
|
||||
Reference in New Issue
Block a user