From 0cfe96606381232d6db1696fe399efeabad0bb76 Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Sun, 9 Nov 2025 09:33:41 +0200 Subject: [PATCH] docs(book): Add ADR-002 for topology without hardcoded node counts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Architecture Decision Record documenting topology/basis separation (292 lines): - Explains decision to remove node counts from topology types - Documents topology = pure geometry, basis determines node count - Shows old Code Aster anti-pattern (TRIA3, TRIA6, QUAD4, QUAD8) - Describes new design: Triangle + Lagrange{Triangle, P} - Rationale: mathematical correctness, separation of concerns - Enables edge/face DOFs (Nédélec, Raviart-Thomas) - Eliminates combinatorial explosion (8 topologies vs hundreds) - Consequences: extensible, correct, but breaking change - Implementation strategy and migration plan - Includes proper YAML front matter for book chapter --- .../adr-002-topology-without-node-count.md | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/book/adr-002-topology-without-node-count.md b/docs/book/adr-002-topology-without-node-count.md index 7de79e1..5fa3e02 100644 --- a/docs/book/adr-002-topology-without-node-count.md +++ b/docs/book/adr-002-topology-without-node-count.md @@ -1,8 +1,18 @@ -# ADR 002: Topology Types Without Hardcoded Node Counts - -**Date:** November 9, 2025 -**Status:** Accepted -**Supersedes:** ADR 001 (partial - corrects topology design) +--- +title: "ADR 002: Topology Types Without Hardcoded Node Counts" +description: "Architecture decision to separate topology (geometry) from node count (determined by basis)" +date: "November 9, 2025" +author: "Jukka Aho" +categories: ["architecture", "design-decision", "adr"] +keywords: ["topology", "basis", "lagrange", "separation-of-concerns", "node-count"] +audience: "researchers" +level: "advanced" +type: "adr" +series: "The JuliaFEM Book" +chapter: 3 +status: "accepted" +supersedes: "ADR 001 (partial)" +--- ## Context