Integrate Refactor solver sources and dual MSVC CMake builds

This commit is contained in:
KOKO\Mimi
2026-10-18 02:10:51 +09:00
parent 7ee32e5837
commit 12d51480de
218 changed files with 17842 additions and 9689 deletions
+3 -10
View File
@@ -6,10 +6,13 @@
#include <cstddef>
#include <string>
#include <utility>
#include "math/vector3_operations.h"
namespace fesa {
namespace {
using math_internal::WeightedSum;
constexpr std::size_t kNodeCount = 4U;
constexpr std::size_t kDofsPerNode = 6U;
constexpr std::size_t kDofCount = kNodeCount * kDofsPerNode;
@@ -54,16 +57,6 @@ ShapeData ShapeAt(const double xi, const double eta) noexcept {
0.25 * (1.0 + xi), 0.25 * (1.0 - xi)}}};
}
/// @brief Evaluates one tangent or area vector from shape coefficients.
Vector3 WeightedSum(const std::array<double, kNodeCount>& weights,
const std::array<Vector3, kNodeCount>& coordinates) {
Vector3 result{};
for (std::size_t node = 0U; node < kNodeCount; ++node) {
result = result + weights[node] * coordinates[node];
}
return result;
}
/// @brief Evaluates finite bilinear surface data at one natural point.
bool EvaluateGeometry(const std::array<Vector3, kNodeCount>& coordinates,
const double xi, const double eta,