docs(book): Add ADR-002 for topology without hardcoded node counts

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
This commit is contained in:
Jukka Aho
2025-11-09 09:33:41 +02:00
parent d8fc224c42
commit 0cfe966063
@@ -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