Integrate Refactor solver sources and dual MSVC CMake builds
This commit is contained in:
@@ -30,7 +30,8 @@ class LoadAssembler {
|
||||
double step_time = 0.0);
|
||||
|
||||
/// @brief Forms Ff-Kfc*dc in stable free/constrained order.
|
||||
/// @note This operation neither factorizes nor invokes a solver.
|
||||
/// @note Compatibility facade delegates to EssentialConstraintPolicy; this
|
||||
/// operation neither factorizes nor invokes a solver.
|
||||
static Result<Vector> EffectiveFreeRhs(const Vector& full_load,
|
||||
const SparseMatrix& kfc,
|
||||
const Vector& prescribed_values,
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
#define FESA_ASSEMBLY_THERMAL_ASSEMBLER_H_
|
||||
|
||||
#include <array>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
#include "fesa/analysis/analysis_model.h"
|
||||
#include "fesa/assembly/parallel_for.h"
|
||||
#include "fesa/elements/element_capabilities.h"
|
||||
#include "fesa/elements/thermal_shell.h"
|
||||
#include "fesa/fem/dof_manager.h"
|
||||
#include "fesa/math/sparse_matrix.h"
|
||||
@@ -50,6 +52,8 @@ class ThermalAssembly final {
|
||||
const std::vector<EntityIndex>& ElementOrder() const noexcept;
|
||||
/// @brief Returns checked kernels in stable active element order.
|
||||
const std::vector<ThermalShell>& Kernels() const noexcept;
|
||||
/// @brief Returns typed views bound after the final kernel buffer is placed.
|
||||
const std::vector<std::unique_ptr<ThermalElement>>& Elements() const noexcept;
|
||||
/// @brief Returns node-major twenty-entry full DOF scatters in kernel order.
|
||||
const std::vector<std::array<std::size_t, 20>>& Scatters() const noexcept;
|
||||
/// @brief Checks source Domain identity and the complete supplied equation
|
||||
@@ -79,7 +83,10 @@ class ThermalAssembly final {
|
||||
SparseMatrix capacity_error_;
|
||||
Vector input_error_;
|
||||
std::vector<EntityIndex> element_order_;
|
||||
// Never resized after construction. Moving the owning vector transfers its
|
||||
// buffer, so bound references survive ThermalAssembly moves.
|
||||
std::vector<ThermalShell> kernels_;
|
||||
std::vector<std::unique_ptr<ThermalElement>> elements_;
|
||||
std::vector<std::array<std::size_t, 20>> scatters_;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user