Files
FESADev/include/fesa/elements/thermal_shell.h
T

29 lines
843 B
C++

#ifndef FESA_ELEMENTS_THERMAL_SHELL_H_
#define FESA_ELEMENTS_THERMAL_SHELL_H_
#include <array>
#include <cstddef>
#include "fesa/math/matrix.h"
#include "fesa/math/vector3.h"
namespace fesa {
/// @brief Local Q4 times two-segment P2 transient-heat shell kernel.
class ThermalShell final {
public:
ThermalShell(std::array<std::size_t, 4> node_indices,
std::array<Vector3, 4> coordinates, double conductivity,
double density, double specific_heat, double thickness);
const std::array<std::size_t, 4>& NodeIndices() const noexcept;
const Matrix& Conductivity() const noexcept;
const Matrix& Capacity() const noexcept;
private:
std::array<std::size_t, 4> node_indices_;
Matrix conductivity_{20U, 20U};
Matrix capacity_{20U, 20U};
};
} // namespace fesa
#endif // FESA_ELEMENTS_THERMAL_SHELL_H_