feat(linear-static-3d-euler-beam): step 21 - load-assembly

This commit is contained in:
KOKO\Mimi
2026-08-09 20:34:48 +09:00
parent be5f4eb86d
commit d30ba7a34d
6 changed files with 845 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
#pragma once
#include "fesa/analysis/analysis_model.hpp"
#include "fesa/fem/dof_manager.hpp"
#include "fesa/math/sparse_matrix.hpp"
#include "fesa/math/vector.hpp"
namespace fesa {
// Assembles only semantic nodal CLOAD records and forms the eliminated free
// right-hand side; stiffness factorization remains an analysis responsibility.
class LoadAssembler {
public:
static Result<Vector> assembleFullNodalLoad(
const AnalysisModel& model,
const DofManager& dofs);
static Result<Vector> effectiveFreeRhs(
const Vector& fullLoad,
const SparseMatrix& kfc,
const Vector& prescribedValues,
const DofManager& dofs);
};
} // namespace fesa