Files
FESADev/include/fesa/results/solid_result_records.h
T

32 lines
925 B
C++

#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_