feat(cpp-object-oriented-modular-refactoring): step 19 - boundary-condition-policy

This commit is contained in:
KOKO\Mimi
2026-08-16 11:23:20 +09:00
parent f26e0a61a8
commit 64a43948ef
27 changed files with 919 additions and 365 deletions
+7 -5
View File
@@ -108,7 +108,7 @@ struct RawStep {
SourceLocation location;
bool has_static{false};
std::array<double, 4> static_values{};
std::vector<BoundaryCondition> boundaries;
std::vector<PrescribedDisplacementDefinition> boundaries;
std::vector<NodalLoad> loads;
};
@@ -1202,8 +1202,9 @@ class MappingContext {
material.elastic_location = block.data[0].location;
}
void ParseBoundary(const KeywordBlock& block,
std::vector<BoundaryCondition>& destination) {
void ParseBoundary(
const KeywordBlock& block,
std::vector<PrescribedDisplacementDefinition>& destination) {
if (!ValidateParameters(block, {}) || block.data.empty()) {
if (!failure_) {
InputFailure("invalid-data-arity", block.location, block.canonical_name,
@@ -2086,7 +2087,8 @@ class MappingContext {
}
void FinalizeStep() {
std::vector<BoundaryCondition> boundaries = model_boundaries_;
std::vector<PrescribedDisplacementDefinition> boundaries =
model_boundaries_;
boundaries.insert(boundaries.end(), step_.boundaries.begin(),
step_.boundaries.end());
const SourceTargetIndex target_index = BuildSourceTargetIndex();
@@ -2138,7 +2140,7 @@ class MappingContext {
std::vector<RawInstance> instances_;
std::vector<RawAssemblySet> assembly_sets_;
std::vector<RawMaterial> materials_;
std::vector<BoundaryCondition> model_boundaries_;
std::vector<PrescribedDisplacementDefinition> model_boundaries_;
RawStep step_{};
std::vector<std::map<std::int64_t, std::pair<EntityIndex, EntityIndex>>>
part_section_assignments_;