32 lines
925 B
C++
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_
|