feat: add eigen2 frequency pipeline and fail-closed validation

Implement MITC4 mass, constrained whitening, MKL FEAST, modal HDF5, and deterministic Value comparison. MSVC Debug builds; 394 of 395 tests pass. Original-model all-c residual and the documented S3 static contract conflict remain unresolved; this is an implementation checkpoint, not feature acceptance.
This commit is contained in:
KOKO\Mimi
2026-09-09 03:14:30 +09:00
parent e74ac247db
commit 22c9d4435c
39 changed files with 7240 additions and 541 deletions
+13
View File
@@ -6,6 +6,7 @@ add_executable(
unit/analysis/analysis_test.cpp
unit/analysis/analysis_model_test.cpp
unit/analysis/analysis_state_test.cpp
unit/analysis/eigen_reduction_test.cpp
unit/analysis/nonlinear_analysis_state_test.cpp
unit/analysis/nonlinear_static_control_test.cpp
unit/analysis/newton_iteration_log_test.cpp
@@ -24,6 +25,7 @@ add_executable(
unit/elements/euler_beam_3d_test.cpp
unit/elements/finite_rotation_test.cpp
unit/elements/mitc4_shell_test.cpp
unit/elements/mitc4_shell_mass_contract_test.cpp
unit/elements/nonlinear_mitc4_shell_test.cpp
unit/elements/nonlinear_mitc4_shell_tangent_test.cpp
unit/fem/dof_manager_test.cpp
@@ -34,10 +36,12 @@ add_executable(
unit/math/vector_test.cpp
unit/io/abaqus/domain_mapping_components_test.cpp
unit/io/abaqus/domain_mapper_test.cpp
unit/io/abaqus/eigen_domain_test.cpp
unit/io/abaqus/input_reader_test.cpp
unit/io/abaqus/input_syntax_test.cpp
unit/io/abaqus/shell_surface_pressure_domain_test.cpp
unit/io/hdf5/hdf5_results_writer_test.cpp
unit/io/hdf5/eigen_hdf5_results_writer_test.cpp
unit/io/hdf5/nonlinear_hdf5_results_writer_test.cpp
unit/io/hdf5/hdf5_writer_components_test.cpp
unit/loads/load_test.cpp
@@ -52,6 +56,7 @@ add_executable(
unit/results/result_recovery_components_test.cpp
unit/results/result_recovery_test.cpp
unit/results/results_writer_test.cpp
unit/solvers/eigen/mkl_feast_eigen_solver_test.cpp
unit/solvers/linear/linear_solver_test.cpp
unit/solvers/linear/mkl_pardiso_solver_test.cpp
unit/solvers/linear/tangent_solver_test.cpp
@@ -75,10 +80,12 @@ target_link_libraries(
add_executable(
fesa_integration_tests
integration/analysis/linear_static_analysis_test.cpp
integration/analysis/linear_frequency_procedure_test.cpp
integration/analysis/shell_surface_pressure_linear_test.cpp
integration/analysis/shell_surface_pressure_nonlinear_test.cpp
integration/analysis/nonlinear_static_procedure_test.cpp
integration/app/fesa_application_test.cpp
integration/app/eigen_application_test.cpp
integration/app/shell_surface_pressure_application_test.cpp
)
@@ -93,6 +100,9 @@ target_link_libraries(
add_executable(
fesa_reference_tests
reference/reference_tolerance_policy.cpp
reference/eigen_reference_comparison.cpp
reference/eigen_reference_comparison_test.cpp
reference/eigen_reference_cases_test.cpp
reference/reference_tolerance_policy_test.cpp
reference/reference_comparison.cpp
reference/reference_comparison_test.cpp
@@ -178,18 +188,21 @@ endif()
gtest_discover_tests(
fesa_unit_tests
DISCOVERY_MODE PRE_TEST
PROPERTIES
LABELS "linear-static-3d-euler-beam;unit"
)
gtest_discover_tests(
fesa_integration_tests
DISCOVERY_MODE PRE_TEST
PROPERTIES
LABELS "linear-static-3d-euler-beam;integration"
)
gtest_discover_tests(
fesa_reference_tests
DISCOVERY_MODE PRE_TEST
PROPERTIES
LABELS "linear-static-3d-euler-beam;reference"
)