feat(thermal): add local shell kernel and time grid
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
#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_
|
||||
Reference in New Issue
Block a user