feat(elements): implement certified full-integration Hex8 kernel

This commit is contained in:
KOKO\Mimi
2026-10-09 01:03:43 +09:00
parent df0388ae2f
commit 9088af7b32
8 changed files with 1337 additions and 2 deletions
@@ -0,0 +1,31 @@
#ifndef FESA_RESULTS_SOLID_RESULT_RECORDS_H_
#define FESA_RESULTS_SOLID_RESULT_RECORDS_H_
#include <array>
#include <vector>
#include "fesa/core/source_identity.h"
namespace fesa {
/// @brief Stores one unaveraged global solid integration-point result.
/// @note Tensor order is [11,22,33,12,13,23], with tensor shear strain.
struct SolidIntegrationPointRow {
EntityIndex element;
int integration_point;
std::array<double, 3> natural_coordinates;
std::array<double, 3> reference_coordinates;
std::array<double, 6> cauchy_stress;
// Infinitesimal strain for linear response; reference Green strain for TL.
std::array<double, 6> strain;
};
/// @brief Keeps eight physical solid rows and their reference-volume energy.
struct SolidElementResultRows {
std::vector<SolidIntegrationPointRow> rows;
double physical_strain_energy{0.0};
};
} // namespace fesa
#endif // FESA_RESULTS_SOLID_RESULT_RECORDS_H_