Biogenic Restoration An Architectural system for Seagrass Recovery in the Wadden Sea Mohammad Shayan Mahoutforoush (MSc.), Dimitrios Mitsimponas (MSc.), Konstantinos Sideris (MSc.)
Biogenic Restoration ARCHITECTURAL ASSOCIATION SCHOOL OF ARCHITECTURE MASTER OF SCIENCE IN EMERGENT TECHNOLOGIES AND DESIGN 2025-2026
MSc. Candidates
Mohammad Shayan Mahoutforoush Dimitrios Mitsimponas Konstantinos Sideris
Architectural Association, 2026 36 Bedford Square, London, WC1B3ES Architectural Association (Inc), Registered charity No. 311083 Company limited by guarantee. Registered in England No. 171402
Founding Director
Dr. Michael Weinstock
Programme Head
Dr. Milad Showkatbakhsh
Studio Master
Dr. Anna Font
Studio Tutors
Abhinav Chaudhary Krishna Bhat Paris Nikitidis Danae Polyviou Dr.Alvaro Velasco Perez
ARCHITECTURAL ASSOCIATION SCHOOL OF ARCHITECTURE GRADUATE SCHOOL PROGRAMMES
PROGRAMME:
EMERGENT TECHNOLOGIES AND DESIGN
YEAR:
2025-2026
COURSE TITLE:
MSc. Dissertation
DISSERTATION TITLE:
Biogenic Restoration
STUDENT NAMES:
Mohammad Shayan Mahoutforoush (MSc.) Dimitrios Mitsimponas (MSc.) Konstantinos Sideris (MSc.)
DECLARATION:
“I certify that this piece of work is entirely my/our and that my quotation or paraphrase from the published or unpublished work of other is duly acknowledged.”
SIGNATURE OF THE STUDENT:
DATE:
18 September 2026
Acknowledgements We would like to express our gratitude to Dr. Michael Weinstock, Founding Director of EmTech, for his insight into the social and ecological dimensions of this thesis, and to Dr. Milad Showkatbakhsh, Programme Head, for his continued support of the project’s direction. We thank Dr. Anna Font, Studio Master, for her input, which expanded the project’s scope. We are further grateful to our studio tutors, Abhinav Chaudhary, Krishna Bhat, Paris Nikitidis, Danae Polyviou, and Dr. Álvaro Velasco Pérez, for their guidance throughout the year. We also thank our peers at the Architectural Association, our families and friends, for their support.
I would like to express my gratitude to the Foundation for Education and European Culture (IPEP), the Union of Greek Shipowners – TECHNOMAR SHIPPING INC, the Bodossaki Foundation, and the Architectural Association for their financial support, which made it possible for me to pursue my postgraduate studies and complete this research. Dimitrios Mitsimponas
Contents
1
2
3
4
Domain
Methods
Research Development
Design Development
1.1 Introduction
2.1 Introduction
3.1 Introduction
4.1 Introduction
1.2 Wadden Sea 1.2.1 Geographic and Ecological Overview 1.2.2 Hydrology and Physical Conditions 1.2.3 Geomorphology 1.2.4 Anthropogenic Influences on the Landscape 1.2.5 Biodiversity of the Wadden Sea 1.2.6 Dutch Wadden Region
2.2 Site Analysis and Selection 2.2.1 Environmental Suitability Mapping 2.2.2 Machine-Learning Suitability Model 2.2.3 Site-Scale Environmental & Operational Evaluation
3.2 Site Selection and Evaluation 3.2.1 Environmental Suitability Maps 3.2.2 Ecological Suitability Machine Learning 3.2.3 Sediment and Hydrodynamic Assessment 3.2.4 Contextual Factors for Site Selection
4.2 Lattice 4.2.1 Topographic Panelling 4.2.2 Fabrication 4.2.3 Lattice Degradation & Seagrass Meadow Expansion
2.3 Material Research 2.3.1 Biodegradable Material Formulation 2.3.2 Casting 2.3.3 Mechanical, Immersion and Shrinkage Testing 2.3.4 Functionally Graded Material Development
3.3 Material Research 3.3.1 Biodegradable Lattice 3.3.2 Surface Treatments 3.3.3 Functionally Graded Material 3.3.4 Material Production Cycle and Applications
2.4 Underwater Lattice Development 2.4.1 Hydrodynamic and Structural Simulation 2.4.2 Comparative Lattice Evaluation 2.4.3 Temporal Seagrass-Growth & Degradation
3.4 Regional Zoning
1.3 Seagrass 1.3.1 Seagrass Species and Ecosystem Benefits 1.3.2 Seagrass-based Economy in Wadden Sea 1.3.3 Ecological Drivers of Seagrass Growth & Decline 1.3.4 Seagrass in the Wadden Sea 1.3.5 Seagrass Recovery Efforts in the Wadden Sea 1.3.6 Seagrass Restoration Techniques 1.3.7 Beach-cast Seagrass as a Material Resource
4.3 Branching Columns 4.3.1 Typologies and Load Conditions 4.3.2 Material Selection 4.3.3. Structural Assessment 4.3.4 Construction and Assembly 4.4 Above Water Interventions 4.4.1 Layout Rationalisation 4.4.2 Façade and Roof Catalogue
3.5 Lattice Topology Testing and Evaluation 3.6 Cellular Automata System
1.4 Blue Carbon and Marine Biomaterials
2.5 Branching Columns
1.5 Case Studies 1.5.1 Tokyo Bay Plan, Kenzo Tange, 1960 1.5.2 Growing Islands by MIT Self-Assembly Lab, 2023 1.5.3 Graded Bio-Polymer, CITA, 2024
2.6 Architectural System Above Water 2.6.1 Cellular Automata & Multi-Objective Optimisation 2.6.2 Pedestrian Simulation 2.6.3 Envelope Generation & Component Quantification
1.6 Discussion and Problem Synthesis 1.7 Hypothesis
5
6
Design Proposal
Conclusion
5.1 Architectural Facilities and Circulation 5.2 Construction and Relocation
Bibliography Appendix List of Figures
Abstract
The thesis addresses the continuing decline of seagrass meadows in the Dutch Wadden Region through a regenerative architectural system. Seagrass meadows sustain biodiversity, stabilise sediment, improve water quality and store carbon, yet their recovery remains constrained by hydrological changes and unstable seabed conditions. In response, the project investigates how temporary architectural interventions can assist meadow establishment while supporting research, material production and lowimpact ecotourism. To bring these activities together, the system follows shared environmental and spatial criteria. Geographic and marine datasets are combined through machine learning and computational site-selection methods to identify suitable restoration areas and integrate the environmental requirements of seagrass into the design. These criteria establish two vertically connected layers, with a biodegradable lattice that stabilises sediment below water and facilities that extend across interconnected timber platforms above it. Material research forms the basis of the submerged intervention. A biodegradable composite is developed from seagrass fibers combined with bio-based binders, additives and aggregates. The design process initially treats the restoration area as a continuous surface formed from this composite. Structural analysis identifies its principal stress lines, which are abstracted into a materially efficient lattice that creates open, sheltered pockets across the seabed. Within these pockets, the lattice moderates sediment movement by reducing near-bed current velocity and erosion, allowing seagrass to grow. Material degradation is treated as an active design parameter, so the lattice gradually biodegrades as the seagrass root and rhizome network expands and meadow density increases. Above water, Cellular Automata position a network of timber platforms in relation to the underwater lattice and cluster the functions according to their spatial relationships. Branching timber columns and beams, developed through graphic statics, are aligned with the lattice zones to support this elevated framework while leaving the restoration pockets below unobstructed. The programme includes facilities for environmental monitoring, seagrass collection, drying and biomaterial fabrication, alongside exhibition spaces, observation areas and temporary visitor accommodation. Timber forms the primary structure, while seagrass is combined with seashells in a functionally graded composite developed as compression-resistant infill within platform assemblies. Seagrass is also used as insulation, drawing on its vernacular application in coastal construction across the Wadden Sea region. This extends the material research from the submerged lattice into the architecture above water. Furthermore, the architectural envelopes respond to the environmental conditions of the site. Façade and roof options are designed for each building according to solar exposure and the prevailing wind direction and compiled into a computational catalogue. The catalogue assigns typologies according to programme, orientation and adjacency. This lightweight architectural system is designed for disassembly, relocation and reuse, so it can move between sites as restoration activities progress. Impermanence therefore becomes a design strategy that links architecture to the spatial and temporal progression of seagrass restoration. 10
11
01 01
Domain
1.1
Introduction
The Wadden Sea is an intertidal landscape shaped by tides, currents and sediment transport. Historically, the Dutch Wadden Sea supported extensive seagrass meadows, covering approximately 15,000 hectares before their major decline during the twentieth century. Disease, eutrophication and hydrological interventions contributed to their disappearance and despite ongoing restoration efforts, their recovery remains difficult, particularly where hydrodynamic and sediment conditions limit establishment. This research approaches seagrass restoration as an ecological and architectural process. It proposes a regenerative coastal system composed of two vertically connected layers. Below water, a biodegradable lattice made from beach-cast seagrass is designed to moderate hydrodynamic conditions, stabilise sediment and create protected areas for seagrass establishment. Above water, a temporary and relocatable architectural system supports monitoring, material processing, research and controlled visitor access. The project develops a system that changes with the restoration process. The lattice gradually biodegrades as the meadow expands, while the architecture above water can be disassembled, relocated and reused. Through material experimentation, environmental analysis and computational design, the thesis explores how restoration, material production and temporary architecture can operate as one adaptive system.
14
Domain
15
1.2
Wadden Sea
1.2.1 Geographic and Ecological Overview
The Wadden Sea is recognised as a UNESCO World Heritage Site due to its largescale intertidal system and its relatively undisturbed natural processes, which support diverse habitats and species. It extends for nearly 500km, with approximately 5,000km² of intertidal flats.1 It is the world’s largest continuous system of intertidal sand and mudflats, covering most of the Danish Wadden Sea maritime conservation area, the German Wadden Sea National Parks of Lower Saxony and Schleswig-Holstein and the Dutch Wadden Sea Conservation Area.2
Denmark
The region contains a highly diverse range of landscapes. From south to north, it transitions through clay polders, dikes, salt marshes, mudflats, tidal channels, island dikes and polders, woodland, dunes, beaches, and the coastal sea, which explains its high ecological value and the designation of many areas as protected nature reserves.3
1 Eelke O. Folmer et al., “Consensus Forecasting of Intertidal Seagrass Habitat in the Wadden Sea,” Journal of Applied Ecology 53, no. 6 (2016): 1800–1813, https://doi.org/10.1111/1365-2664.12681. 2 UNESCO World Heritage Centre, “Wadden Sea,” UNESCO World Heritage Centre, accessed May 23, 2026, https://whc.unesco.org/en/list/1314/. 3 “Dutch Wadden: Facts and Figures | Ecomare Texel,” Ecomare, n.d., accessed May 24, 2026, https://www. ecomare.nl/en/in-depth/reading-material/wadden-sea-area/dutch-wadden-region
Germany
Netherlands
Fig 1: Global site plan of the Wadden Sea
16
Domain
0
50
100 km
Domain
17
1.2.2 Hydrology and Physical Conditions
Denmark
The shoreline is broken into barrier islands, whose form is governed by wave and tidal forces.4 Hydrologically, it is divided into 39 tidal basins containing salt marshes, tidal flats, channels, barrier islands, and ebb tidal deltas. These basins align with those islands and sandbanks, where constricted tidal flow forms deep inlets that branch into progressively smaller channels and creeks, creating a fractal network. The system experiences semi diurnal tides, with extensive mudflats exposed at low tide and fully submerged at high tide. Around 15km³ of seawater flows into the basins with each tide, resulting in up to 30km³ retained at high water.5 Tidal range varies across the system, from 1.5-3.0m in the northeast and southwest and exceeding 3.0m in the central region. Currents and wave exposure differ across the system, shaped by variations in geomorphology, tidal range, fetch, and the presence of barrier islands.6 Tidal basins are characterised by wide, shallow flats drained by relatively narrow channels, so small differences in bed elevation carry a disproportionate effect on local hydrodynamics. The intertidal flats are mainly composed of sand with varying amounts of fine-grained mud, with finer sediments becoming more common closer to the coast.7
4
Wiersma et al., “Geomorphology,” Thematic Report No. 9, in Quality Status Report 2009, ed. Harald Marencic and Jaap de Vlas, Wadden Sea Ecosystem No. 25 (Wilhelmshaven: Common Wadden Sea Secretariat, 2009). 5 “Taking Shape | Wadden Sea,” accessed May 23, 2026, https://www.waddensea-worldheritage.org/taking-shape. 6 Folmer et al., “Consensus Forecasting of Intertidal Seagrass Habitat in the Wadden Sea.” 7 Folmer et al., “Consensus Forecasting of Intertidal Seagrass Habitat in the Wadden Sea.”
Germany Netherlands
0
18
Domain
50
100 km
Fig 2: The 39 individual tidal basins
Domain
19
Course silt
Fine gravel
Medium gravel Medium snad
Fine sand Fine silt
Medium silt
Coare sand
Deep subtidal Shallow subtidal; <4% exp time Intertidal; >4% exp time
Clay 0
10
20 km
Fig 3: Sediment substrate map 20
Domain
Fig 4: Depth and exposure zones map
0
10
20 km
Domain
21
1.2.3 Geomorphology
The Wadden Sea is not a fixed landscape but a system in continuous motion, authored by flow. Its existence hinges on a balance between sea-level rise and sediment supply, its shoreline broken into barrier islands shaped by wave and tide. The western Dutch Wadden Sea, the site of this study, is a product of these dynamics: storm surges in 1164 and 1170 opened the Marsdiep and turned the lake behind it into the brackish Zuiderzee. Its closure by the Afsluitdijk in 1932 made human intervention a geomorphological force, and the basin has been importing sediment and adjusting ever since.8 1500
8 A. P. Wiersma et al., “Geomorphology,” Thematic Report No. 9, in Quality Status Report 2009, ed. H. Marencic and J. de Vlas, Wadden Sea Ecosystem No. 25 (Wilhelmshaven: Common Wadden Sea Secretariat, Trilateral Monitoring and Assessment Group, 2009).
1850
Dunes & raised sand banks Intertidal areas & salt marshes High marsh area Peat bogs Pleistocene & Older Water
2000 22
Domain
Fig 5: Geomorphic changes
Fig 6: Tidal Dyanmics diagram Domain
23
Fig 7: Tidal profile 24
Domain
Domain
25
1.2.4 Anthropogenic Influences on the Landscape
The Wadden Sea is protected through a system of management, monitoring, and regulation. Human activities are controlled, with conservation priorities integrated into land and water planning, coastal defense systems, maritime traffic, and drainage management. However, the area faces ongoing pressures from fisheries, tourism, harbor construction and maintenance, maritime traffic cand residential development.9 It supports economic and infrastructural activities that also pose pressures on the ecosystem, including gas extraction on Ameland and in the coastal zone, sand extraction, military training areas in Lauwersmeer and Vliehors, and major ports such as Den Helder, Harlingen, Delfzijl, and Eemshaven connected by shipping routes. Dredging is also undertaken to maintain navigable channels.10 As a result, maintaining the Wadden Sea’s hydrological and ecological processes remains central to its management. Fig 8: Marine traffic; Image & radar vessel detection(left) 9
UNESCO World Heritage Centre, “Wadden Sea,” UNESCO World Heritage Centre, accessed May 23, 2026, https://whc.unesco.org/en/list/1314/. 10 Dutch Wadden: Facts and Figures | Ecomare Texel,” Ecomare, n.d., accessed May 24, 2026, https://www. ecomare.nl/en/in-depth/reading-material/wadden-sea-area/dutch-wadden-region/.
Fig 9: Shellfish dredging and oil/gas sites(right) Fig 10: Anthropogenic Pressure
Dredging area Oil & gas sites
26
Domain
Domain
27
1.2.4 Biodiversity of the Wadden Sea
The Wadden Sea is a globally significant site for migratory birds, with up to 6.1 million present at once and 10-12 million passing through annually. Its salt marshes support approximately 2,300 plant and animal species, while the marine and brackish zones add a further 2,700 species, alongside about 30 breeding bird species. Moreover, marine mammals like harbour seals, grey seals, and harbour porpoises can be found in the region.11 Seagrass meadows are key habitats that increase biodiversity by providing nursery and feeding grounds for fish and invertebrates, including shore crabs and commercially important brown shrimp. Their decline reduces habitat complexity and can affect wider food webs, such as migratory birds that depend on productive intertidal systems.12 Research in the Sylt–Rømø Bight tidal basin indicates that seagrass recovery can support biomass increases across the food web, highlighting its wider ecological importance.13
11
UNESCO World Heritage Centre, “Wadden Sea.” Richard K. F. Unsworth et al., “Global Challenges for Seagrass Conservation,” Ambio 48, no. 8 (2019): 801–15, https://doi.org/10.1007/s13280-018-1115-y. 13 Sabine Horn et al., “Food Web Models Reveal Potential Ecosystem Effects of Seagrass Recovery in the Northern Wadden Sea,” Restoration Ecology 29, no. S2 (2021): e13328, https://doi.org/10.1111/rec.13328. 12
Fig 11: Seagrass Keystone Habitat
28
Domain
Domain
29
1.2.5 Dutch Wadden Region
The Dutch Wadden region where this study sits, consists of five inhabited and three uninhabited islands. Today, the region is bounded by the Afsluitdijk, which separates the Wadden Sea from the freshwater IJsselmeer, while sea dikes along the Holland, Frisian, and Groningen coasts protect the adjacent low-lying clay landscapes. To the east, the Dutch Wadden Sea extends towards the German border at the Ems–Dollard estuary. Due to relatively small tidal ranges of about 1 -2m, currents are weak, allowing sand and mud to settle.14 The Wadden Sea plays a crucial role in protecting the Dutch mainland from flooding. Approximately 227km of dikes, in addition to the 32km Afsluitdijk, protect the Dutch coast, but the natural wave-damping capacity of the barrier islands, intertidal flats, and salt marshes reduces the need for heavy engineering. Along the Wadden Sea coast, flood defences are designed for wave heights of only 1–2.8m, compared to 10–11m on the exposed North Sea coast.15
Barrier islands Sand nourishment Hard construction Main dikes
14
“Dutch Wadden.” Jantsje M. van Loon-Steensma, “Salt Marshes to Adapt the Flood Defences along the Dutch Wadden Sea Coast,” Mitigation and Adaptation Strategies for Global Change 20, no. 6 (2015): 929–48, https://doi.org/10.1007/ s11027-015-9640-5.
15
30
Domain
Dam (Afsluitdijk) Fig 11: Wind rose, dry bulb temperature and relative humidity throughout the year
Fig 12: Coastal Risk Management
0
10
20 km
Domain
31
1.3
Seagrass
1.3.1 Seagrass Species and Ecosystem Benefits
Seagrasses are flowering plants found in brackish and salty waters worldwide, except Antarctica. They form dense underwater meadows, some extensive enough to be visible from space. As they depend on light for photosynthesis, they mainly grow in shallow waters of around 1-3m, although certain species can be found at depths of up to 58m.16 Although seagrass meadows cover only around 0.1% of the ocean’s surface, they store approximately one fifth of global carbon in marine sediments and are estimated to sequester carbon at a rate about 40 times faster than tropical forests.17 Moreover, seagrass ecosystems are among the most productive globally, providing services such as biodiversity support, coastal protection, and are considered the world’s third most valuable ecosystem after estuaries and wetlands.18 Communities worldwide depend on seagrass meadows for food security. By providing nursery habitat for juvenile fish and commercially important species, seagrass ecosystems support productive fisheries that contribute substantially to global food supplies. Around 20% of the world’s largest fisheries are estimated to depend on seagrass-associated habitats, making their decline a potential threat to both food security and coastal livelihoods.19 Around 72 seagrass species are currently recognised and grouped into Zosteraceae, Hydrocharitaceae, Posidoniaceae and Cymodoceaceae.20 In general, their beds have a core area, typically situated on relatively stable sediments, around which they fluctuate yearly and as ecosystem engineers, they modify their environment.21 Like terrestrial grasses, seagrass shoots are linked beneath the sediment by extensive root-like structures known as rhizomes that stabilise the substrate and prevent erosion. Multiple stems in a meadow can belong to the same plant and share identical genetic code.22 This sediment stabilisation enhances water clarity and supports further seagrass growth which also acts as a natural coastal protection system. Their aboveground biomass traps suspended particles, slows water flow, and reduces wave energy, improving sediment deposition.23
16
United Nations Environment Programme, “Out of the Blue: The Value of Seagrasses to the Environment and to People,” UNEP, 2020, https://www.unep.org/resources/report/out-blue-value-seagrasses-environment-and-people. 17 Iris E. Hendriks et al., “Mediterranean Seagrasses as Carbon Sinks: Methodological and Regional Differences,” Biogeosciences 19, no. 18 (2022): 4619–37, https://doi.org/10.5194/bg-19-4619-2022. 18 United Nations Environment Programme, “Out of the Blue.” 19 “Why Seagrass,” Project Seagrass, n.d., accessed May 24, 2026, https://www.projectseagrass.org/why-seagrass/. 20 United Nations Environment Programme, “Out of the Blue.” 21 Mireia Valle et al., “Comparing the Performance of Species Distribution Models of Zostera Marina: Implications for Conservation,” Journal of Sea Research, Main results from the XVII Iberian Symposium of Marine Biology Studies, vol. 83 (October 2013): 56–64, https://doi.org/10.1016/j.seares.2013.03.002. 22 E. Duffy and Nancy Knowlton, “Seagrass and Seagrass Beds | Smithsonian Ocean,” in Smithsonian, 2013, https://ocean.si.edu/ocean-life/plants-algae/seagrass-and-seagrass-beds. 23 Katrin Rehlmeyer, “Subtidal Eelgrass in the Dutch Wadden Sea: A First Step toward Restoration” (University of Groningen, 2025), https://doi.org/10.33612/diss.1325231432.
Fig 13: Map of the existing seagrass meadows, updated 2025 32
Domain
Domain
33
1.3.2 Seagrass-based Economy in Wadden Sea
The use of seagrass in the Wadden Sea dates to around 1300, when coastal communities collected floating material from the water. By the nineteenth century, the practice had become professionalised and provided an important source of income for local communities. Around 500 tonnes of Zostera were collected annually in the waters around the Frisian island of Wieringen alone. The material was dried in dedicated sheds known as Wierschuren before processing, and the resulting fibre was used for dike construction, ship repair, wall and roof insulation, among other applications. Its waterproof properties, fire resistance, and capacity for thermal and acoustic insulation made it versatile and locally available building material.24 After seagrass largely disappeared from the Wadden Sea, seagrass fishing as a livelihood on the islands came to an end.25 However, economic dependence on the Wadden Sea continued through fisheries, agriculture, and a growing tourism sector across the Dutch, German, and Danish islands. These activities remain closely linked to the ecological functioning and resilience of the intertidal system.26
02 Traditional Housing Roofing
03 Farming as Fertilizer
24
Michelle Baggerman et al., Exploring Seagrass for Sustainable Design, 1st ed. (ArtEZ Press, 2022), https:// artezpress.artez.nl/books/sea-grass/. 25 “Zeegras: kennis en weetjes | Ecomare Texel,” Ecomare, n.d., accessed May 23, 2026, https://www.ecomare. nl/verdiep/leesvoer/planten/planten-van-het-wad/zeegras/. 26 Horn et al., “Food Web Models Reveal Potential Ecosystem Effects of Seagrass Recovery in the Northern Wadden Sea.”
01 Fishing & Mowing
01 Washed Up Seagrass
Fig 15: Early twentieth century Netherlands seagrass Industry Fig 14: Lost seagrass economy 34
Domain
04 Building Dykes (protecting city from flood)
05 Filling Mattress & Pillow
Domain
35
1.3.3 Ecological Drivers of Seagrass Growth and Decline
Seagrass establishment, growth, and recovery depend on multiple environmental conditions, particularly sediment stability27, eutrophication levels, light availability, temperature, orbital velocity and current flow velocity.28 Strong water movement can damage eelgrass, uproot plants, and erode sediments, preventing establishment while very low water movement can increase the diffusion boundary layer around leaves, reducing carbon exchange and limiting photosynthesis.29 Despite their significant ecological and socio-economic value, seagrass ecosystems are among the world’s most threatened habitats, impacted by coastal development, and other human pressures. Although some regions have shown signs of recovery in recent years, these gains remain uneven and do not compensate for historical decline, with around 30% of global seagrass coverage already lost.30
27
Tobias Dolch et al., Wadden Sea Quality Status Report: Seagrass (Common Wadden Sea Secretariat, 2017), https://doi.org/10.5281/zenodo.15209122. Rehlmeyer, “Subtidal Eelgrass in the Dutch Wadden Sea.” 29 Rehlmeyer, “Subtidal Eelgrass in the Dutch Wadden Sea.” 30 Michelle Waycott et al., “Accelerating Loss of Seagrasses across the Globe Threatens Coastal Ecosystems,” Proceedings of the National Academy of Sciences 106, no. 30 (2009): 12377–81, https://doi.org/10.1073/ pnas.0905620106. 28
Fig 16: Anthropogenic factors contributing to seagrass decline 36
Domain
Fig 17: Decline of seagrass worldwide Domain
37
1.3.4 Seagrass in the Wadden Sea 1.3.4.i Past and Current Species
Seagrass follows a seasonal cycle in the Wadden Sea. Germination begins in spring, peak coverage is reached in summer, and leaf loss occurs in autumn accompanied by grazing from migratory waterfowl. Two seagrass species of the genus Zosteraceae can be found in the Wadden Sea, Zostera marina (eelgrass) and Zostera noltii (dwarf eelgrass). Zostera noltii has narrow leaves that do not exceed 25cm in length. It grows intertidally and tolerates the exposure and fluctuating conditions of the tidal zone, including temperature and salinity variations. Zostera marina produces leaves up to 1m long and occurs in two distinct forms. The narrow-leaved, flexible form is annual and establishes in the mid to lower intertidal zone. The broad-leaved form is perennial, grows from low tide into shallow subtidal zones at around 0.80m below mean sea level, and remains submerged for most of the tidal cycle. It is this perennial form that historically dominated the Dutch Wadden Sea, covering more than 15,000 hectares before 1932, and that sustained the seagrass-based economy.31 Unlike subtidal seagrass species, Zostera noltii and Zostera marina are adapted to limit water loss and sustain high photosynthetic activity during exposure, enabling them to survive in intertidal environments. Both species can exhibit annual or perennial life cycles. However, Z. noltii typically overwinters through its rhizomes, whereas Z. marina mainly re-establishes each year via other seeds.32 In the Wadden Sea, seagrass typically occurs in sheltered areas behind islands and shallow sandbanks, as it is highly sensitive to strong hydrodynamic forces. Sediment instability, often linked to high hydrodynamic energy, can lead to erosion or burial, both of which threaten seagrass survival. If sea level rise is accompanied by increasing hydrodynamic activity and reduced sediment stability, these impacts may intensify. As a result, marginally sheltered habitats, such as those in the more open southwestern Wadden Sea, are expected to be the most affected.33
31
Baggerman et al., Exploring Seagrass for Sustainable Design. Folmer et al., “Consensus Forecasting of Intertidal Seagrass Habitat in the Wadden Sea.” 33 Dolch et al., Wadden Sea Quality Status Report. 32
Fig 18: Seagrass species and characteristics 38
Domain
Domain
39
Zostera Marina Distribution Wadden sea: 1988-2011
0
40
Domain
Domain
10
20 km
41
1.3.4.ii Decline of Seagrass Meadows 2020-2025
Current state •
•
2005-2010
•
•
Once seagrass has disappeared, natural recovery is difficult, particularly due to the reduced presence of mussel and oyster beds that normally provide suitable conditions for it.35 Moreover, dense algal mats can accumulate in sheltered areas due to hydrodynamic processes, where they may smother and outcompete seagrass.36 Today, only about 11.3ha of seagrass remain, mostly perrenial Z. noltii, with very limited Z. marina, in strong contrast to the northern Wadden Sea (Germany and Denmark), where over 200km² of intertidal seagrass has naturally recovered in recent decades.37
River pollution fed algal blooms that starved seagrass of light The southern Wadden Sea was hit hardest and never recovered
34 Victor N. Jonge et al., “Reintroduction of Eelgrass ( Zostera Marina ) in the Dutch Wadden Sea; Review of Research and Suggestions for Management Measures,” Journal of Coastal Conservation 2 (March 1996): 149–58, https://doi.org/10.1007/BF02743048. 35 “Zeegras.” 36 Dolch et al., Wadden Sea Quality Status Report 37 Laura L. Govers et al., “Adaptive Intertidal Seed-Based Seagrass Restoration in the Dutch Wadden Sea,” PLOS ONE 17, no. 2 (2022): e0262845, https://doi.org/10.1371/journal.pone.0262845..
Collapse (Wasting Disease) •
•
Pre 1900
Where rivers were cleaned up, seagrass came back Recovery proved possible, but only under the right conditions
Second Collapse •
1930
Before the 1930s, the Dutch Wadden Sea supported extensive subtidal Zostera marina meadows covering around150km². These disappeared due to a combination of wasting disease (Labyrinthula zosterae) and major hydrological changes linked to the construction of the Afsluitdijk, which increased turbidity and reduced light availability below the threshold required for seagrass establishment. Subsequently, recovery was prevented by limited seed dispersal, large distance to source populations, and continued stress from eutrophication, bioturbation, and altered sediment dynamics. In addition, the closure of the Zuiderzee altered hydrodynamic patterns, with changes in erosion and sedimentation potentially disrupting seagrass growth.34
Partical Reconvery (North reigion) •
1970-1990
Legal restoration targets exist and are nowhere close to being met Planting trials work technically but cannot restore a meadow alone
Wasting disease wiped out all subtidal beds in a single decade The Afsluitdijk severed the tidal system and accelerated the loss
Peak Historical Extend •
•
Vast continous meadows across the entire wadden sea cost Seagrass was a working material (dykes, indulation, fertiliser) Fig 19: Decline of seagrass in Wadden Sea
42
Domain
Domain
43
1.3.5 Seagrass Recovery Efforts in the Wadden Sea
Reduced riverine nutrient inputs over the past 25- 30 years have supported seagrass recovery in the northern Wadden Sea since the mid-1990s, aided by its distance from major estuaries.38 Island alignment and shallow sands also create sheltered, lowernutrient conditions. Such stable, often clay-rich habitats are considered essential for seagrass development and help explain its uneven distribution. Recovery in the central and southwestern Wadden Sea remains limited, with only modest local gains around Griend and Rottum.39 No clear recovery pattern exists in the southwestern and central Wadden Sea. The main constraints are: 40 i) ii) iii) iv)
the lack of sheltered and sediment stable habitats proximity to estuaries receiving high nutrient discharge from big rivers insufficient plant density bioturbation caused by lugworms
While extensive natural recovery has occurred in the northern Wadden Sea in Germany and Denmark, recovery in the Dutch Wadden Sea remains limited. This contrast shifts the focus of the research toward the Dutch sector, where restoration still requires active intervention. Recent restoration work near Griend has demonstrated that seed-based establishment is possible,41 although long-term expansion remains uncertain. The project therefore focuses on the western Dutch Wadden Sea, where suitable environmental conditions remain but natural recolonisation has been limited. Rather than intervening in areas where seagrass has already recovered, the research explores how a temporary restoration system could support establishment in locations where recovery has not yet occurred at comparable scale.
38
Justus E. E. van Beusekom et al., Wadden Sea Quality Status Report: Eutrophication (Common Wadden Sea Secretariat, 2017), https://doi.org/10.5281/zenodo.15198149. Folmer et al., “Consensus Forecasting of Intertidal Seagrass Habitat in the Wadden Sea.” 40 Dolch et al., Wadden Sea Quality Status Report. 41 “Seagrass Restoration in the Wadden Sea and the Southern Delta,” The Fieldwork Company, n.d., accessed May 23, 2026, https://fieldworkcompany.nl/en/projecten/seagrass-restoration-in-the-wadden-sea-and-the-southern-delta/. 39
Fig 20: Area recovery rate within a century 44
Domain
Domain
45
1.3.6 Seagrass Restoration Techniques
Deletion
Several policies protect and restore seagrass. Some meadows are legally protected, including Posidonia oceanica in the Mediterranean and eelgrass within Natura 2000 sites, and some countries regulate harvesting. In Europe seagrass is mainly protected, monitored and restored rather than cultivated. Key stakeholders are fisheries and seafood chains reliant on nursery habitat, and coastal and tourism sectors benefiting from clearer water and wave attenuation.42
Insertion
01 Genetic modification
02 Transplantation
03 Buoy-deployed seeding
04 Buoy deployed seeding in frame
Former seagrass sites are common restoration targets, but in heavily modified systems like the Dutch Wadden Sea they may no longer be suitable, so habitat suitability needs remapping.43 Intertidal restoration dates to the 1950s, around half targeting Zostera marina, yet success rates stay low. The following restoration approaches have been found in literature: 1. Transplantation: planting seeds or nursery-raised seedlings or moving mature plants from healthy meadows.44 2. Staples and burlap mats: rhizomes are stapled to the substrate or set on biodegradable burlap to stabilise them and promote growth.45 3. Artificial seagrass and cages: these can accumulate algae and epiphytes that reduce light, and plastic-based versions may persist as pollution.46 4. Genome study and transplantation: genetic analysis identifies climate-resilient stock but relocating warmer-region seeds without it risks being too simplistic.47 5. Buoy-deployed seeding: mesh seed bags on a buoy tethered by a 4m rope to a 0.7m PVC pole anchored in the mudflat.48 6. Buoy-deployed seeding in frames: bags suspended from ropes 1m apart within four 5x10m PVC frames, deployed at high tide, flooded to submerge and anchored into the sediment.49 7. njection: mud and seeds injected into the sediment with adapted tools at set intervals. 8. 3D-printed lattices: seabed structures that damp waves and stabilise mud, preventing new plants from washing away.50 Recent studies have demonstrated that restoration methods using 3D-printed lattices (BESE structures), can improve conditions for seagrass establishment by reducing hydrodynamic stress and promoting sediment retention.51 Nevertheless, these approaches remain in an early stage of development and require further investigation into their geometry, material composition, biodegradability, and long-term ecological performance. Building on these findings, this research develops a biodegradable, seagrass-based lattice that combines ecological restoration with material circularity. Although previous studies have shown that higher planting densities improve restoration success, replicating the mechanisms of self-facilitation could achieve similar benefits at larger scales while reducing pressure on donor meadows and lowering nursery costs.52
06 Sediment stabilisation (staples, burlap mats, base mats)
05 Seed Injection
42
“Building with Blue Biomass,” Building with Blue Biomass, n.d., accessed May 6, 2026, https://buildingblue.eu/. M. M. van Katwijk et al., “Guidelines for Seagrass Restoration: Importance of Habitat Selection and Donor Population, Spreading of Risks, and Ecosystem Engineering Effects,” Marine Pollution Bulletin 58, no. 2 (2009): 179–88, https://doi.org/10.1016/j.marpolbul.2008.09.028. 44 United Nations Environment Programme, “Out of the Blue.” 45 C. MacDonnell et al., “Evaluating a Novel Biodegradable Lattice Structure for Subtropical Seagrass Restoration,” Aquatic Botany 176 (January 2022): 103463, https://doi.org/10.1016/j.aquabot.2021.103463. 46 Fernando Tuya et al., “Artificial Seagrass Leaves Shield Transplanted Seagrass Seedlings and Increase Their Survivorship,” Aquatic Botany 136 (January 2017): 31–34, https://doi.org/10.1016/j.aquabot.2016.09.001.
47
43
46
Domain
Fig 21: Seagrass Restoration techniques
Jeanine L. Olsen et al., “The Genome of the Seagrass Zostera Marina Reveals Angiosperm Adaptation to the Sea,” Nature 530, no. 7590 (2016): 331–35, https://doi.org/10.1038/nature16548. 48-49 Govers et al., “Adaptive Intertidal Seed-Based Seagrass Restoration in the Dutch Wadden Sea.” 50 Tjisse van der Heide et al., “Coastal Restoration Success via Emergent Trait-Mimicry Is Context Dependent,” Biological Conservation 264 (December 2021): 109373, https://doi.org/10.1016/j.biocon.2021.109373. 51 van der Heide et al., “Coastal Restoration Success via Emergent Trait-Mimicry Is Context Dependent.” 52 Ralph J. M. Temmink et al., “Mimicry of Emergent Traits Amplifies Coastal Restoration Success,” Nature Communications 11, no. 1 (2020): 3668, https://doi.org/10.1038/s41467-020-17438-4.
Domain
47
1.3.7 Beach-cast Seagrass as a Material Resource
03 Burial in inlandfills
Seagrass regenerates naturally and washes ashore without human intervention where it decays or is washed onto the beach feeding decomposers.53 In touristic areas, these accumulations are often perceived as undesirable due to their appearance and impact on beach use, so European municipalities often remove seagrass that washes ashore and send it to landfills, where it produces methane as it breaks down. This raises the question of how this locally available biomass can be transformed from a waste stream into a valuable resource.
Old Material Loop 04 Methane Release
02 Removed by Manucipalities
Complete removal is undesirable, as it plays an important ecological role, including supporting fish spawning habitats and protecting coastlines from erosion. At the same time, studies of its material behaviour show that seagrass changes over time, gradually hardening through natural processes of mineral deposition and concretion, giving it a temporal material quality distinct from conventional building materials. The washedup seagrass is relatively clean and easier to process than typical beach cast materials mixed with sand and seaweed. Collected directly from the shore, in some regions it is laid out to dry and, once moisture content drops below 15-20%, compressed into round bales and stored under cover for later processing.54 Before its decline, seagrass in the Wadden Sea was collected, processed and used as construction material within a local material economy supported by the productivity of the meadows. Today, beach-cast seagrass is often treated as waste rather than as a resource. Reintroducing it as a building material therefore reconnects a historical material cycle that was interrupted by ecological decline and changes in local economies, rather than by any inherent limitation of the material itself.
01 Beach-cast seagrass
07 Decomposition
02 Collection
This creates an opportunity to design a regenerative coastal system, where designed structures support new seagrass habitat formation while creating spaces for low-impact ecotourism activities. The intervention therefore connects ecological restoration, material reuse, and public engagement within a single system.
Proposed Material Loop
53
Duffy and Knowlton, “Seagrass and Seagrass Beds | Smithsonian Ocean.” Marine Biobased Building Materials (Nordic Innovation, Arup, Nordic Blue Building Alliance, 2024), https://www. arup.com/insights/marine-biobased-building-materials/.
06 Installation on-site
54
03 Sun drying
05 Digital Fabrication
04 Material preparation
Fig 22: Proposed material loop
48
Domain
Domain
49
1.4
Blue Carbon and Marine Biomaterials
The ocean absorbs approximately 30% of anthropogenic CO₂ emissions, making it a major global carbon sink.55 Seagrass meadows, mangroves and tidal marshes form blue carbon ecosystems, storing significant quantities of carbon while also supporting coastal protection, biodiversity and food security.56 Their degradation can therefore release stored carbon and reduce future storage capacity. Restoring seagrass meadows supports both ecological recovery and long-term blue carbon storage, while reusing beach-cast seagrass extends this strategy by incorporating existing biomass into material systems and reducing reliance on non-renewable resources.
Current architectural applications have explored a range of marine resources, while the use of seagrass remains comparatively limited and is largely associated with insulation and panel products. This research extends its application beyond a passive building material by developing a seagrass-based composite for the lattice and a Functionally Based Material (FGM) as infill in floor slabs. The material strategy therefore establishes a circular relationship between restoration and fabrication. Biomass originating from the coastal ecosystem is recovered as a secondary resource and returned to the marine environment in a form designed to support subsequent ecological regeneration.
According to the Global Status Report for Buildings and Construction 2025–2026, published by the UN Environment Programme, the building and construction sector is responsible for around 37% of global carbon emissions and accounts for 28% of energy consumption. It also represents the sector with the largest material footprint, accounting for nearly 50% of global material extraction. On a global scale, emissions from steel, cement and aluminium contributed about 9% of total emissions in 2024, so there is an increasing demand for new materials and regenerative materials.57 One approach is the use of marine bio-based materials, derived from resources such as seagrass, shells and algae, as alternatives to more carbon-intensive construction materials. Marine bio-based building materials are materials produced from substances sourced from marine living organisms. They are an emerging sector with potential to support low carbon construction by providing renewable, locally sourced alternatives that lower embodied carbon and reduce pressure on land based resources. In addition, marine biomaterials provide new approaches to resource production and consumption, contributing to the environmental, social, and economic objectives of the European Green Deal and the EU Strategy for a Sustainable Blue Economy.58 The use of marine biomaterials in architecture remains an emerging field, with recent research exploring new material formulations and fabrication processes. However, increasing demand for marine biomass could place additional pressure on coastal ecosystems if it relies on direct harvesting. A more appropriate strategy is therefore to utilise existing waste as explored in this research through the reuse of beach-cast seagrass and discarded shell material.
55
Noelle Eckley Selin, “Carbon Sequestration,” Encyclopaedia Britannica, 2026, https://www.britannica.com/ technology/carbon-sequestration. 56 Centre for Conservation Action, “Blue Carbon,” International Union for Conservation of Nature, 2017, https:// iucn.org/resources/issues-brief/blue-carbon. 57 United Nations Environment Programme, Global Status Report for Buildings and Construction 2025–2026 (Nairobi: United Nations, 2026), https://doi.org/10.59117/20.500.11822/49531. 58 Nordic Innovation et al., Marine Biobased Building Materials. Building & Construction Sector Rest of global Economy
Fig 23: Carbon emission
50
Domain
Domain
51
1.5
Case Studies
1.5.1 Tokyo Bay Plan, Kenzo Tange, 1960
Metabolism proposed that architecture should behave like a living system, capable of growth, renewal and replacement over time, with change designed into the structure rather than treated as failure. Tange’s 1960 Tokyo Bay proposal translated this idea into a clear structural hierarchy.59 A more permanent armature for circulation and services supported secondary elements intended to be replaced or reconfigured. 60 In this model, impermanence was not avoided but incorporated as part of the architectural system.61 Kikutake extended this idea of impermanence through Marine City, envisioned as a floating structure that would eventually sink once obsolete, described as a return to its source.62-63 Yet this represents spatial disappearance rather than material reintegration. Concrete and steel do not biodegrade or re-enter ecological cycles but remain as persistent artificial matter. Renewal therefore occurs architecturally, but not ecologically. This project retains one principle from Metabolism: designed obsolescence, in which a structure is conceived with its own end of life.64 Instead of relying on continual replacement or relocating obsolete material, the project proposes a third condition. The biodegradable lattice temporarily stabilises the seabed and supports Zostera marina establishment, then gradually degrades over a timescale aligned with meadow development. As the seagrass expands and increasingly stabilises the sediment itself, the intervention is designed to disappear rather than remain as permanent infrastructure.
59
Kenzo Tange, “A Plan for Tokyo, 1960: Toward a Structural Reorganization,” Japan Architect 36 (1961). Zhongjie Lin, Kenzo Tange and the Metabolist Movement: Urban Utopias of Modern Japan (London: Routledge, 2010). 61 Reyner Banham, Megastructure: Urban Futures of the Recent Past (London: Thames and Hudson, 1976). 62 Kiyonori Kikutake, “Marine City” (1959). 63 Kultermann (1993). 64 Rem Koolhaas and Hans Ulrich Obrist, Project Japan: Metabolism Talks… (Cologne: Taschen, 2011). 60
Fig 24: Tokyo Bay images
52
Domain
Domain
53
1.5.2 Growing Islands by MIT Self-Assembly Lab, 2023
Growing Islands, developed by MIT’s Self-Assembly Lab with Invena in the Maldives, rebuilds eroding coastlines by working with sediment-moving forces.65 Conventional coastal defence resists these forces with barriers but this project inverts the approach, using structures shaped and oriented in certain ways on the seabed so waves naturally deposit sand where needed.66 The effect is based on a simple relationship between flow and sediment transport: when waves pass through a porous obstruction, their velocity is reduced, lowering the capacity of the water to carry sediment and encouraging deposition in the structure’s lee. The density, porosity and orientation of the structures are therefore adjusted to control where and over what distance sediment accumulates.67 This principle is comparable to sediment capture in vegetated coastal systems, where seagrass slows water and promotes particle deposition. The approach was tested through wave-tank experiments, numerical simulation and field deployment. In this case, geometry becomes the primary mechanism for directing sediment movement rather than resisting coastal forces through mass alone. The main distinction of this dissertation from Growing Islands is permanence. Its structures from concrete, rope and coated textile are designed to remain and become part of the evolving coastal landscape.68-69 This project adopts the same hydrodynamic principle of slowing near-bed flow to promote sediment stability but treats the intervention as temporary. The lattice supports seagrass establishment only until the meadow can stabilise the seabed itself, after which the material biodegrades and the structure withdraws from the ecosystem.
65
Self-Assembly Lab, “Growing Islands,” Massachusetts Institute of Technology, n.d. Arts at MIT, “Growing Islands & Repairing Coastlines through Wave Energy,” MIT Climate Portal, 20 September 2019, https://climate.mit.edu/posts/growing-islands-repairing-coastlines-through-wave-energy (accessed 15 September 2026). 67 MIT Climate Portal (2019). 68 Self-Assembly Lab, “Growing Islands.” 69 Matthew Ponsford, “The Quest to Build Islands with Ocean Currents in the Maldives,” MIT Technology Review, https://www.technologyreview.com/2025/04/21/1114759/maldives-erosion-climate-dredging/ 66
Fig 25: Growing islands
54
Domain
Domain
55
1.5.3 Graded Bio-Polymer, CITA, 2024
CITA’s research on graded bio-polymer composites demonstrates how natural and wastederived materials can be combined into a continuous material system. The composite uses a collagen-based binder with water and glycerin, combined with fillers such as cotton, wood flour and bark. Rather than treating the material as homogeneous, the project varies composition across each element, producing changes in density, texture, colour and material behaviour.70 The significance of the project lies in this controlled variation of bio-based ingredients within a single composite. Digital fabrication allows different mixtures to transition gradually rather than forming separate layers, showing how material properties can be distributed locally according to performance requirements. The resulting 350x700cm weather-screen panels demonstrate how waste-derived fibres and natural binders can form graded architectural components without relying on conventional synthetic composites. For this research, the precedent is relevant primarily as a material strategy. It demonstrates that natural composites can be functionally differentiated through changes in fibre and filler distribution. This informed the development of the seagrass-based FGM, where oyster-shell aggregate and seagrass fibres are distributed through the element according to their intended structural role, rather than maintaining the same composition throughout.
70
Paul Nicholas, Carl Eppinger, Ruxandra-Stefania Chiujdea, Konrad Sonne, and Mette Ramsgaard Thomsen, “Additive Manufacture with Graded Bio-Polymer Composites” (paper presented at ROBARCH 2024, University of Toronto, Toronto, 2024), https://doi.org/10.5281/zenodo.14034925.
Fig 26: CITA, Bio-polymer 56
Domain
Domain
57
1.6
Discussion and Problem Synthesis
03 Burial in inlandfills
The preceding research identifies three interconnected problems: seagrass restoration remains difficult at scale, existing coastal interventions often rely on permanent infrastructure, and marine biomass is still underused as a construction resource. The case studies provide partial responses to these issues but do not resolve them together. Metabolism introduces architecture as a system designed for change, Growing Islands demonstrates how geometry can work with hydrodynamic forces to influence sediment movement and CITA’s graded bio-composites show how natural materials can be differentiated according to local performance requirements.
Old Material Loop 04 Methane Release
02 Removed by Manucipalities
This project combines these principles into a single restoration framework. The submerged lattice responds to site hydrodynamics, temporarily stabilises sediment and gradually biodegrades as seagrass establishes. The architecture above water follows a longer cycle, remaining modular and relocatable so that it can support monitoring, material processing and access before moving to another restoration site. In this way, the proposal addresses the problem through the coordination of ecological restoration, material lifespan and temporary architecture, instead of treating them as separate systems.
01 Beach-cast seagrass
07 Decomposition
1.7
02 Collection
Hypothesis Proposed Material Loop
If local hydrodynamic conditions can be moderated through a site-specific biodegradable lattice made from beach-cast seagrass, then more favourable conditions for seagrass establishment and expansion can be created while allowing the intervention to gradually disappear as the meadow develops.
06 Installation on-site
By vertically connecting this underwater restoration system with temporary, relocatable architecture that supports monitoring, seagrass processing, material production and access, the project proposes a regenerative system in which architecture actively supports restoration and moves as ecological recovery progresses.
03 Sun drying
05 Digital Fabrication
04 Material preparation
Fig 27: Existing vs Proposed material loop
58
Domain
Domain
59
02
Methods
2.1 Introduction
2.2 Site Analysis and Selection
The research adopts a mixed digital and physical methodology in which environmental analysis, computational design and material experimentation are combined within an iterative workflow. The methodology is organised across five interconnected stages: 1. 2. 3. 4. 5.
Site Analysis and Selection Material Research Underwater Lattice Development Branching Columns Architectural System Above Water
2.2.1 Environmental Suitability Mapping A multi-criteria environmental suitability analysis is used to identify areas of the Dutch Wadden Sea with conditions potentially favourable for seagrass restoration. Environmental variables influencing Zostera growth are identified from literature and represented spatially using datasets including bathymetry, current velocity, water temperature, salinity and proximity to existing seagrass meadows. The datasets are processed within a common spatial framework and transformed into normalised suitability values between 0-1 and each environmental variable is evaluated according to ecological ranges identified in literature. The resulting suitability layers are weighed according to their relative influence and combined to produce an initial environmental suitability surface.
2.2.2 Machine-Learning Suitability Model A Random Forest classifier was trained using the environmental conditions associated with existing seagrass meadows. The model used the selected environmental variables to identify relationships between known seagrass presence and site conditions, and was then applied across the wider study area to estimate potential habitat suitability. Unlike the weighted suitability analysis, which relies on predefined ecological ranges and assigned weights, the machine-learning model can capture non-linear relationships and interactions between environmental variables. The two approaches were therefore used in parallel, and areas identified as suitable by both were carried forward for further analysis.
2.2.3 Site-Scale Environmental and Operational Evaluation Areas identified through the regional suitability analyses are subsequently assessed using additional criteria at a finer spatial scale. These include sediment characteristics, silt content, seabed shear stress, wave conditions, underwater light availability and seabed morphology. Ecological suitability is then considered alongside operational and spatial constraints such as proximity to ports and infrastructure, accessibility and existing exclusion zones. This sequential procedure narrows the regional analysis toward sites that are ecologically appropriate for restoration and operationally feasible for the proposed intervention.
62
Methods
Fig 28: Methodological
Fig 29: Site selection logic
framework
diagram
Methods
63
2.3 Material Research
2.4 Underwater Lattice Development
2.3.1 Biodegradable Material Formulation Physical experimentation focuses on the development of a biodegradable composite using seagrass fibres and a functionally graded material (FGM) developed as compression-resistant infill within the above-water platform slabs. Different binders and mineral aggregates are tested to control consistency, shrinkage and mechanical behaviour. Furthermore, surface coatings are tested comparatively, with coated specimens submerged and monitored for weight loss to assess their effect on water resistance and the retention of structural integrity over time. Total Dissolved Solids (TDS) of the water and biogenic carbon are recorded.
2.4.1 Hydrodynamic and Structural Simulation The seabed is represented as an abstracted structural surface which allows site-specific hydrodynamic conditions to be translated into a computational stress field that can guide the geometry of the underwater lattice. Tidal current velocity data is combined with a wave-induced near-bed orbital velocity representing more demanding storm conditions. Current velocity is estimated from the QGIS dataset and orbital velocity using linear wave theory: Uw=TπH sinh(kh)
2.3.2 Casting Specimens are cast in reusable moulds to ensure consistent dimensions for physical evaluation. Material quantities, specimen dimensions and drying procedures are recorded for each formulation, allowing changes in mass, shrinkage and performance to be compared across recipes. Casting is used for controlled material characterisation and as the fabrication method for the underwater lattice components. 2.3.3 Mechanical, Immersion and Shrinkage Testing Material formulations are compared through a series of adapted physical tests examining compressive resistance, dimensional shrinkage, water absorption and retention of integrity following immersion. The measured mechanical properties of the selected formulation are subsequently translated into a custom material component for structural analysis in Karamba3D. 2.3.4 Functionally Graded Material Development The selected material system was further developed as a functionally graded composite, with fibre and aggregate distribution varied through the depth according to the stress behaviour of a slab. Longer seagrass fibres were concentrated toward the tension-dominated lower zone and a higher oyster-shell aggregate content toward the upper compression zone.
Fig 30: Material research Logic Diagram
64
Methods
For the critical load case, the current and wave-induced velocities are assumed to act in the same direction and are combined before calculating the hydrodynamic load. The values are then turned into structural load using the Drag Equation: F = ½ρC_dAv²
These loads are applied within Karamba3D to identify structural stress distributions and principal load paths. The stress-derived geometry is subdivided into smaller cells containing open pockets intended to permit seagrass establishment while reducing the amount of material required. Local lattice density and three-dimensional variation are modified in response to structural and hydrodynamic performance. 2.4.2 Comparative Lattice Evaluation The structural performance of each lattice topology is evaluated in Karamba3D using a custom material component (Appendix IV) informed by the physical material experiments, establishing a direct link between material testing and computational analysis. Each lattice is subjected to equivalent hydrodynamic loading calculated using the same drag-force method established during the initial form-finding analysis and has the same support conditions and volume. The analysis records maximum displacement for each topology.
Fig 31: Underwater lattice logic diagram
Methods
65
2.5 Branching Columns
2.4.2.ii Underwater Light Assessment Because sufficient active radiation is necessary for photosynthesis, the effect of the intervention on seabed light availability is assessed. Incident irradiance is calculated in Honeybee for corresponding seabed locations with and without the lattice. Light attenuation through the water column is then incorporated using the Beer–Lambert Law: I(z) = I₀e⁻ᵏᵈz Variations in water depth are incorporated using tidal data. The resulting seabed irradiance is compared against the photosynthetically active radiation (PAR) requirements of seagrass during its growing season. Comparing corresponding point locations with and without the lattice allows the percentage of light retained by each topology to be evaluated. 2.4.2.iii Hydrodynamic Evaluation Computational fluid dynamics is used to examine how lattice geometry modifies the local flow. Simulations compare velocity distributions upstream, within and downstream of alternative lattice configurations under representative current conditions. The objective is to determine whether the intervention can locally reduce excessive velocities while maintaining sufficient water exchange. 2.4.3 Temporal Seagrass-Growth and Degradation Scenario A temporal scenario is developed to examine the relationship between seagrass establishment and the gradual biodegradation of the supporting lattice. Initial planted areas are represented geometrically and expanded according to an assumed annual rhizome-growth rate derived from published ecological studies. The simulation distinguishes between initial planting coverage and subsequent vegetative expansion, allowing neighbouring patches to progressively connect over time. This expansion is considered alongside the progressive biodegradation of the lattice.
The vertical connection between the underwater lattice and the above-water platforms is developed using 3D Graphic Statics to investigate branching column geometries and the distribution of forces between platform edges and supports. Alternative structural configurations correspond to different platform spans and support requirements. The generated geometries are subsequently evaluated structurally in Karamba3D under representative permanent and imposed loads. Potential support positions are derived from the relationship between the platform grid and the lattice below, with the number of supports reduced where possible to limit interference with the restoration area.
2.6 Architectural System Above Water 2.6.1 Cellular Automata and Multi-Objective Optimisation The achitectural facilities are organised spatially through a fielddriven CA system. They are represented as discrete cells scored against site-specific fields, column support, lattice density, lattice voids, and proximity to the intervention boundary. Placement responds to adjacency requirements between functions and site. Column locations are a generative variable, producing multiple configurations. These are evaluated through multiobjective optimisation in Wallacei according to three objectives. 2.6.2 Pedestrian Simulation Alternative spatial configurations are compared in Kova PedSim. Movement through the platform network is evaluated according to criteria including circulation efficiency, congestion and accessibility between principal programme areas and access points. The simulation provides a method for comparing layouts that may appear geometrically similar but produce different patterns of movement and accessibility. 2.6.3 Envelope Generation and Component Quantification Façade and roof systems are developed as a catalogue of modular components associated with programme, orientation and adjacency conditions. Rules identify the condition of each exposed building face and assign the corresponding envelope from the catalogue. This links environmental adaptation with the strategy of disassembly and reuse, as the workflow identifies both the type and quantity of envelope components required for each configuration and allows them to be reassigned when the facilities are relocated. Fig 32: Column and Architecture logic diagram
66
Methods
Methods
67
03 xx
Research Development Chapter title
3.1 Introduction
The chapter develops the research through a series of digital and physical experiments, moving from regional environmental conditions to material behaviour and site-specific design parameters. The work progressively narrows the scope of the project, establishing the conditions, constraints and performance criteria that guide the intervention. Material and environmental findings are translated into computational studies of the underwater system and into rules for spatial organisation above water. Through testing, comparison and refinement, these studies establish the design logic that is carried forward into the higher-level system development of Chapter 4.
70
Research Development
Fig 33: Research development
Research Development
71
3.2 Site Selection and Evaluation 3.2.1 Environmental Suitability Maps
The main environmental factors influencing seagrass growth identified through literature review are seabed depth, mean water velocity, temperature, salinity, and proximity to existing seagrass meadows (Fig 34). Mean velocity is the most important one, since water dynamics is the dominant control on where the species can hold in this environment, while temperature and proximity to existing meadows carry more weight than depth and salinity. Seabed depth affects the amount of light reaching the seabed and therefore affects the depth range within which seagrass can establish successfully.74 Water velocity influences meadow structure, sediment conditions and the risk of seagrass dislodgement, making hydrodynamic exposure an important constraint on restoration success.75 Water temperature influences seed germination and seedling development76 while salinity affects seed germination, seedling establishment and growth, and therefore helps define the environmental conditions suitable for seagrass restoration.77 Proximity to existing meadows can increase ecological connectivity and the potential supply of seeds or reproductive material, making it relevant when prioritising restoration areas.78 Datasets were obtained from Copernicus Marine Service,79 BAW,80 and the European Commission,81 resampled to a common resolution, and mapped onto a 50m point grid in QGIS. In parallel, a detailed seabed mesh was reconstructed from 0.5m contours, providing a higher-resolution representation of bathymetric variation. Each grid point stores the values sampled from all environmental layers at the same geographic location, creating a consistent spatial database across the study area. The resulting point dataset was exported as a CSV containing coordinates and their associated environmental attributes. A custom C# component was then developed to transfer the dataset into Grasshopper3D. The script reconstructs each point from its coordinates and associates it with the corresponding environmental values, preserving the spatial relationship between geometry and data.
74
Fig 34: Site selection logic diagram
72
Research Development
Shaochun Xu et al., “In Situ Responses of the Eelgrass Zostera Marina L. to Water Depth and Light Availability in the Context of Increasing Coastal Water Turbidity: Implications for Conservation and Restoration,” Frontiers in Plant Science 11 (December 2020), https://doi.org/10.3389/fpls.2020.582557. 75 Mark S. Fonseca et al., “The Role of Current Velocity in Structuring Eelgrass (Zostera Marina L.) Meadows,” Estuarine, Coastal and Shelf Science 17, no. 4 (1983): 367–80, https://doi.org/10.1016/0272-7714(83)90123-3. 76 Shaochun Xu et al., “Salinity and Temperature Significantly Influence Seed Germination, Seedling Establishment, and Seedling Growth of Eelgrass Zostera Marina L.,” PeerJ 4 (November 2016): e2697, https://doi. org/10.7717/peerj.2697. 77 Xu et al., “Salinity and Temperature Significantly Influence Seed Germination, Seedling Establishment, and Seedling Growth of Eelgrass Zostera Marina L.” 78 Ane Pastor et al., “A Network Analysis of Connected Biophysical Pathways to Advice Eelgrass (Zostera Marina) Restoration,” Marine Environmental Research 179 (July 2022): 105690, https://doi.org/10.1016/j.marenvres.2022.105690. 79 “CMEMS,” accessed July 17, 2026, https://marine.copernicus.eu/. 80 “Bundesanstalt Für Wasserbau (BAW) - Start,” accessed July 17, 2026, https://www.baw.de/en/home/home. html. 81 “European Commission, Official Website - European Commission,” July 17, 2026, https://commission.europa. eu/index_en.
Research Development
73
Each environmental value was compared with the target ecological range. Values within it were assigned the highest suitability, while values outside it were scored according to their distance from the nearest acceptable limit, with suitability decreasing as deviation increased. The resulting scores were normalised between 0 and 1 and visualised as continuous gradients across the study area. The maps were then weighted by relative importance and combined into a single suitability map with the following expression: S= (w1S1+ w2S2+ w3S3+… wnSn)/ w1+ w2+ w3+…wn ,
Mean water velocity
Water temperature
Seabed depth
Proximity to exisiting seagrass meadows
S=final suitability, S1,S2,S3 suitability scores for each factor, w1,w2,w3 how important each one is The map showed higher suitability mainly in areas near the coast, as seen in (Fig 37).
x1.5
x1.2
x1
x1.2
Maps x1
Bounds
Optimal Values
Water Depth
(-43)-16
(-0.2)-(-3)
Water T
5.6-13.2
8-10 10-Aug
Mean velocity
0.1-0.9
0.1-0.4
Water salinity
28.2-34.6
28-30
Proximity to meadows
0-25.050
0-1000
Fig 35: The five main factors affecting seagrass growth and their weights Fig 36: Designated maps and Table of optimal values for seagrass growth 74
Research Development
Water salinity Research Development
75
High Suitability
Low Suitability
Fig 37: Seagrass growth suitability map
76
Research Development
0
10
20 km
3.2.2 Ecological Suitability Machine Learning Model
A Random Forest classifier was used to explore potential seagrass habitat beyond mapped meadows. It was trained using an Excel dataset containing five columns: water temperature, velocity, salinity, depth and seagrass existance. Mapped meadow locations were labelled 1, while locations outside them were labelled 0 and treated as pseudoabsences. The model generated scores between 0 and 1 for locations outside mapped meadows. Higher scores indicated environmental conditions that the model associated more strongly with seagrass presence, providing a basis for prioritising locations for further investigation. The model was used as an exploratory classification tool and was not independently validated on a separate test dataset. The outputs of the weighted suitability analysis and the machine-learning model were combined into a single map (Fig 39).
Fig 38: Machine learning process diagram 78
Research Development
Research Development
79
Predicted Seagrass Locations Exisiting seagrass Locations
Fig 39: Exploratory map of potential seagrass locations 80
Research Development
0
10
20 km
High suitability
Fig 40: Combined results 82
Research Development
0
10
20 km
3.2.3 Sediment and Hydrodynamic Assessment Filter I : Hydrodynamic disturbance
The overlapping high-suitability areas identified by the weighted analysis and machinelearning model are carried forward through three sequential filters. Each filter removes areas that do not meet the required environmental conditions, progressively narrowing the candidate zones for intervention. Filter I evaluates hydrodynamic disturbance using bed shear stress and wave height from the BAW dataset. Bed shear stress represents the force acting directly on the seabed and is considered separately from current velocity because it shows the combined effect of waves and currents on sediment mobilization. A critical bed shear stress of approximately 0.04N/m² has been reported for the onset of sediment entrainment and below this threshold, reduced resuspension can favour sediment deposition.83 Across the study area, bed shear stress ranges from 0.007-0.399N/m², while wave height from 0.13-0.47m. Areas at or below the shear-stress threshold and associated with lower wave heights are therefore retained as stable zones for further evaluation.
Fig 44: Mean wave height (left)
82 Jennifer C. R. Hansen and Matthew A. Reidenbach, “Wave and Tidally Driven Flows in Eelgrass Beds and Their Effect on Sediment Suspension,” Marine Ecology Progress Series 448 (2012): 271–87, https://doi.org/10.3354/ meps09225.
Fig 41: Bed shear in zones. Darker colors indicate higher values 5
3.75
2.5
1.25
0m
3
2.25
1.5
0.75
0 N/m2
Fig 42: Wave height in zones. Darker colors indicate higher values
Fig 45: Mean bed shear stress (right)
Fig 43: Filter I outcome. Darker colors indicate desired conditions 84
Research Development
Research Development
85
1.2
Filter II : Light availability
Subtitle
Filter II evaluates whether sufficient light reaches the seabed for seagrass growth. Underwater irradiance decreases exponentially with depth according to the Beer– Lambert Law. Light attenuation is influenced by absorption and scattering from suspended particles, dissolved substances and the water itself.83 For Zostera, estimates place the minimum light requirement at approximately 17.6±5.3% of surface irradiance, although this threshold varies between locations and populations. A value of 17.6% was therefore adopted as the screening threshold for this analysis.84 Fig 48: Bathymetry depth
83 Kun-Seop Lee et al., “Effects of Irradiance, Temperature, and Nutrients on Growth Dynamics of Seagrasses: A Review,” Journal of Experimental Marine Biology and Ecology, The Biology and Ecology of Seagrasses, vol. 350, no. 1 (2007): 144–75, https://doi.org/10.1016/j.jembe.2007.06.016. 84 Chiara M. Bertelli and Richard K. F. Unsworth, “Light Stress Responses by the Eelgrass, Zostera Marina (L),” Frontiers in Environmental Science 6 (June 2018), https://doi.org/10.3389/fenvs.2018.00039.
7.5
0
-1.5
-3
-4.5 m
0.5
0.37
0.25
0.12
0 kg/m3
Fig 46: Bathymetry depth. Darker colors indicate deeper zones Fig 47: Suspended sediment in zones. Darker colors indicate higher values
Fig 49: Suspended sediment
Fig 50: Filter II outcome. Darker colors indicate desired conditions
86
Research Development
Research Development
87
Filter III: Sediment stability
Filter III evaluates substrate suitability using seabed sediment composition. Sediment characteristics influence seagrass establishment by affecting root and rhizome anchorage, sediment stability and susceptibility to resuspension. Experimental studies show that substrate composition can affect the anchoring capacity of seagrass, with mixtures containing sand and a limited proportion of finer sediment providing effective rooting conditions.85 Grain size is classified using the Wentworth scale, where particles finer than 0.0625mm are classified as silt and clay, sand ranges from 0.0625-2mm, and particles above 2mm are classified as gravel.86 For this analysis, sandy substrate is retained as the preferred condition because it corresponds to the dominant sediment type and provides a comparatively stable substrate under the hydrodynamic conditions identified in the preceding filters. Across the remaining candidate areas, the seabed is predominantly sandy, meaning that Filter 3 removes little additional ground. Its role is therefore primarily confirmatory, establishing that substrate composition does not represent a major limiting factor within the zones already retained through the hydrodynamic and light assessments. 4 3
85
Wataru Nishijima et al., “Evaluation of Substrates for Constructing Beds for the Marine Macrophyte Zostera Marina L.,” Ecological Engineering 83 (October 2015): 43–48, https://doi.org/10.1016/j.ecoleng.2015.05.046. 86 Chester K. Wentworth, “A Scale of Grade and Class Terms for Clastic Sediments,” The Journal of Geology 30, no. 5 (1922): 377–92, https://doi.org/10.1086/622910. 2
1
Fig 51: Median grain size Fig 52: Filter III outcome 88
Research Development
Research Development
89
3.2.4 Contextual Factors for Site Selection
The final stage evaluates the four candidate zones retained after the ecological filters according to accessibility, infrastructure and surrounding activities. Rather than eliminating areas on environmental grounds, this stage ranks them according to their capacity to support the proposed intervention and connect it with existing fisheries, marine research and tourism networks. Two groups of criteria are considered. Proximity criteria favour locations close to transport and logistics infrastructure, including ferry terminals and the airport, maritime operations, including ports and fisheries and existing social and recreational activities, including urban centres, bird-watching locations and tourist areas. Exclusion criteria identify conflicts with existing infrastructure and marine uses, such as oil and gas installations, breakwaters, dredging grounds and pipelines.
Fig 54: Proximity to access and logistic points (ferry terminals, airports
The four zones are compared across these criteria, producing a final feasibility ranking. Zone 1 near Texel Island has the strongest proximity to supporting infrastructure and activities with the fewest spatial conflicts, so it is carried forward into site-specific formfinding and architectural development.
Fig 55: Proximity to social activities (bird watching spots, touristic zones, city centers
Fig 53: Excluded zones (oil and gas infrastructure, breakwaters, dredging grounds, pipelines 90
Research Development
Fig 56: Proximity to maritime operation zones (fisheries and ports) Fig 57: Result of the contextual analysis (next page) Research Development
91
92
93
3.3 Material Research 3.3.1 Material Strategy
Material research was based on naturally derived ingredients used in food and biomedical applications, avoiding cementitious and synthetic polymer-based binders. Two material systems were developed with different intended lifespans. The underwater lattice uses a biodegradable seagrass-based composite designed to maintain structural integrity temporarily before degrading within the marine environment over 24 months. The abovewater FGM is also composed of natural ingredients but is intended as a more durable compression-resistant infill.
Fig 58: Material research objective
Both material systems are developed from the same mix, while binder type, fibre content, aggregate and surface treatment are varied according to the intended application. The induced performance of each ingredient is presented in (Fig 58).
94
Research Development
Fig 59: Material testing sequence Fig 60: Material specimens (next page)
Research Development
95
96
97
3.3.2 Biodegradable lattice
Initial formulations combined milled seagrass with natural binders including sodium alginate, gelatin, agar-agar and chitosan, together with cellulose and water. Calcium chloride was used to cross-link alginate-based mixes, while vinegar was required to dissolve chitosan. Specimens were cast as 6×6×6cm cubes and 5x5×20cm prisms, with at least two specimens produced for each recipe. All specimens were oven-dried at 50°C for 48 hours. One specimen from each pair was tested in the dry state, while the second was submerged in saline water corresponding to site conditions, for 72 hours before testing. The testing therefore compared two conditions. Specimens were weighed and measured before and after immersion to quantify water uptake and dimensional change, while mechanical testing was used to compare the retention of strength after water exposure. The compressive procedure was adapted from ASTM C109,87 while the threepoint bending test was adapted from ASTM C348.88 Material density was compared with BESE-elements,89 a biodegradable lattice system developed for ecosystem restoration, with a material density of approximately 1.3 g/cm³. The selected samples were dried at 50°C for 48 hours and tested under dry conditions. They were then subjected to water immersion and drying cycles, followed by repeated mechanical and deformation tests, to evaluate their durability and degradation behaviour under marine conditions.
01 Slump test
02 Compression test, Load: 90kg
The hydrodynamic force was calculating using the Drag Equation: F = ½ρC_dAv², where ρ=1025kg/m3, Cd=1.0, A=0.20m2, u=1.71m/s for the combined current and storm wave condition F=300N so the lattice module was designed around a hydrodynamic load of approximately 0.30 kN ~ 3.6kg force under the critical combined condition. For the normal current-only case at /m/s (extracted from GIS current-velocity dataset), the force is about 66N.
87
“C109/C109M Standard Test Method for Compressive Strength of Hydraulic Cement Mortars (Using 2-in. or [50-Mm] Cube Specimens),” accessed July 17, 2026, https://store.astm.org/c0109_c0109m-20.html. 88 Standard Test Method for Flexural Strength of Hydraulic-Cement Mortars (n.d.), accessed September 11, 2026, https://store.astm.org/c0348-21.html. 89 “Biodegradable EcoSystem Restoration Elements | BESE-Elements,” Bese Products, n.d., accessed July 17, 2026, https://www.bese-products.com/biodegradable-products/bese-elements/.
98
Research Development
Fig 61: Material testing Fig 62: Ingredients and induced performance in the mix (next page)
03 Three-point load test, Load: 30kg
04 Immersion test Research Development
99
100
Research Development
Research Development
101
Although agar agar showed the highest strength and lowest deformation, it dissolved almost immediately in water, making it unsuitable for marine applications. Sodium alginate crosslinked with calcium chloride and chitosan showed greater potential due to their improved water resistance and mechanical behaviour. Moreover, as the initial formulations did not achieve the required density, further tests introduced sand and crushed seashells, to improve material properties. Slump behaviour was used to assess shape retention and mixture proportions were adjusted depending accordingly.
Fig 65: Sodium alginate specimens for testing
The agar–cellulose mix showed the lowest shrinkage, at approximately 30%, while the alginate-containing specimens the greatest. The agar-based specimens exhibited comparatively poor mechanical behaviour and lost their structural integrity during immersion, and were therefore excluded from further development. The alginate-based formulations had good mechanical performance in the dry state but deteriorated after water exposure. The initial alginate formulation absorbed approximately 67% of its dry mass in water and retained only around 4% of its dry-state load-bearing capacity after immersion. Introducing chitosan progressively improved underwater performance. Water absorption decreased from approximately 53% to 31% and ultimately 21%, while post-immersion load retention increased from approximately 17% to 19%. The later chitosan-based formulations therefore provided the best balance between mechanical performance, dimensional stability and resistance to water exposure and were selected for further development. Workability was also monitored during casting, with the later formulations generally showing low or zero slump and sufficient cohesion to retain their geometry after demoulding. The selected formulation was subsequently tested with sand and oyster-shell grit as aggregates. The oyster-shell mixture maintained greater cohesion and material integrity, whereas the sand formulation developed visible pores and gaps and was more susceptible to surface crumbling. Oyster-shell grit was therefore retained as the preferred aggregate for the subsequent material development.
Fig 64: Chitosan specimens for testing
The theoretical biogenic carbon content of each formulation was estimated from the dry mass and carbon fraction of its organic constituents. Across the tested formulations, this ranged from approximately 22-26g C per batch, equivalent to approximately 82–94 g CO₂. Each ingredient mass was multiplied by its carbon fraction, and the resulting values were summed. Water, CaCl₂ and other non-carbon-bearing components were excluded. The adopted carbon fractions are provided in (Appendix I). Ci=mi×fC,I Ctotal=∑Ci The total carbon was then converted to CO₂ equivalent using: CO2,eq=Ctotal×(44/12), where (44/12) is the molecular-mass ratio between CO₂ and carbon. Total dissolved solids (TDS) were also recorded after immersion as a supplementary indicator of material release into the water. Values for the tested formulations remained within a relatively narrow range of approximately 962–999ppm, and were therefore used as an observational measure rather than as a decisive performance criterion.
102
Research Development
Fig 63: Agar agar specimens for testing Research Development
103
104
Research Development
Research Development
105
106
Research Development
Research Development
107
3.3.3 Functionally Graded Material
The homogeneous chitosan–oyster-shell composite provided satisfactory overall performance, but the functionally graded configuration was developed to use the same material more efficiently. Two functionally graded variations were developed and the material composition was varied through the depth according to the expected stress distribution of a slab. The upper zone, primarily subjected to compression, contained a higher concentration of oyster-shell aggregate and milled seagrass, while the lower zone incorporated long seagrass fibres intended to improve tensile and flexural resistance. The intermediate, lower-stress region consisted mainly of short seagrass fibres, reducing material density where additional reinforcement was less necessary. The graded specimens were produced by sequentially placing each material layer into the mould and manually compacting it, without mechanical vibration, to maintain the intended fibre and aggregate distribution. The first specimen used three clearly differentiated layers. Shell and milled seagrass at the top, short fibres in the middle, and long fibres at the bottom. The second retained the same overall gradient but introduced a small quantity of shell aggregate into the lower fibre-rich zone. This produced a more continuous transition between material regions. This specimen maintained better cohesion and was therefore selected for further development.
Fig 66: FGM layers Fig 67: FGM material composition 108
Research Development
Research Development
109
Week IV
3.3.4 Surface Treatments
Three natural surface treatments were tested: beeswax, pine rosin and linseed oil. Beeswax was selected as a hydrophobic barrier, pine rosin as a natural resin historically used in protective coatings for boats, and linseed oil as a drying oil. Three equivalent specimens, each approximately 60g before coating, were submerged separately in 1L of prepared saline water for four weeks (Appendix II). Mass and degradation were recorded weekly.
Week I
Week II
Week III
Beeswax began detaching during the first week and the specimen continued to absorb water. Pine rosin also showed substantial swelling and mass increase, despite its expected protective behaviour. Linseed oil performed best overall. Although its mass initially increased, it later decreased while the specimen remained comparatively firm and structurally intact. This suggests that linseed oil may be worth investigating further as an additive within the material itself and not only as a surface coating.
Fig 68: Surface treatment and immersion results Fig 69: Specimens after immersion 110
Research Development
Lineseed oil
Beeswax
Pine Rosin Research Development
111
3.3.5 Material Production Cycle and Applications
The material production cycle connects the project to regional resource flows and extends the system beyond the restoration site itself. The primary feedstocks are beachcast seagrass and discarded oyster shells are treated as secondary resources rather than newly harvested materials. Seagrass is collected, rinsed, air-dried and milled into graded fibres, while oyster shells undergo dehydration, crushing and fine milling to produce a mineral aggregate. These materials are then combined with additional binders and additives supplied from Texel to produce the final composite. Once produced, the
components are transported and deployed at the selected restoration site. In this way, the fabrication process links local waste streams, material production and ecological intervention within a single system.
Fig 70: Proposed material production
The material logic was subsequently extended to additional architectural applications. Indicative seagrass quantities were estimated for roof coverings, wall insulation panels, floor slab infill and submerged lattice modules, demonstrating how the system operates across both restoration and architectural scales.
lattice occupies 62% of the plan: ≈15,835 m² requires: 1,583 m³ of composite 1,583×60≈95 tones of seagrass and 87 tones of oyster shells
112
Research Development
Research Development
113
01 Roof Covering 180 mm Dried Seagrass Thatch ≈ 12.6 kg seagrass /m²
02 Floor Deck Slab Infill 200 mm FGM ≈20.4 kg seagrass/m² + 64.8 kg seashell/m²
03 Wall Insulation Panels 60 mm ≈ 7.2 kg of seagrass per m²,
04 Submerged Lattice Seagrass-Chitosan Composite ≈60 kg seagrass/m³
Fig 71: Seagrass-based material applications 114
Research Development
Research Development
115
3.4 Regional Zoning
Within the selected area, a finer-scale analysis was conducted using three parameters: current-vector angle, bathymetric contours, and current velocity. Similar values were grouped, boundaries were generated for each layer, and the resulting zones were overlaid to identify smaller areas with comparable environmental conditions. A location with velocities slightly above the target range was then selected, as this represented a condition where the lattice intervention would be required rather than an already optimal site. The selected area is also located close to an existing seagrass meadow, allowing the proposed restoration to contribute to future habitat connectivity. A 160×160m site patch was selected for the intervention. Because analysing the entire patch at once was computationally demanding, it was further subdivided. To establish an initial subdivision strategy, the seabed was represented as an abstracted structural surface subjected to the site’s hydrodynamic loading. The resulting principal stress trajectories were used as geometric guides for subdividing the site, rather than as a prediction of actual seabed structural behaviour. Patch 1, was subsequently selected to demonstrate the methodology. A representative tidal-current velocity of 0.8m/s, extracted from the QGIS currentvelocity dataset, was used as the baseline hydrodynamic condition. To account for more demanding wave conditions, the near-bed orbital velocity was estimated using linear wave theory: Uw=TπH sinh(kh), where H is wave height, I wave period, h water depth, k = 2p/L wave number. Representative values of wave height H=1.0m, wave period T=6.5s and water depth h=2.5m were adopted. The wavelength was obtained from the linear-wave dispersion relation, giving approximately: L≈30.9m and and: k= 2π/L ≈0.203m−1 The near-bed orbital velocity was then calculated as: Uw= πH/Tsinh(kh) ≈0.91m/s The current and wave velocities were assumed to act simultaneously in the same direction: UCombined = Uc+Uw =0.80+0.91=1.71m/s This velocity was converted into an equivalent hydrodynamic pressure using the drag equation: F = ½ρC_dAv² Assuming seawater density ρ=1025kg/m3 and Cd =1.0. then p= ≈1.50kN/m2
Fig 72: Hydrodynamic subdivision 116
Research Development
0
117
1km
01 Seabed proxy layer formed by the material
03 Stress to strength ratio
05 Primary stress line selection and area subdivision 118
Research Development
02 Support points and force vectors
Support points and force vectors
04 Stress lines
06 Selected patch for further development
Stress to strength ratio
Fig 73: Global seabed subdivision Fig 74: Patch one proof of concept
Stress lines Research Development
119
3.5 Lattice Topology Testing and Evaluation
Fifteen representative unit-cell topologies were selected to provide a diverse range of spatial configurations, connectivity patterns and geometric families. For comparison, each topology was tested as a four-module aggregation under identical geometric conditions, with individual modules measuring 0.5×0.5m and a constant member thickness of 4cm, same as in the material tests. Each configuration was evaluated through three performance categories. The selected topology was then adapted to the site’s stress lines, creating pockets for seagrass growth. • Structural performance was assessed in Karamba3D using the equivalent hydrodynamic loading derived from the combined current and wave condition, with maximum displacement used as the principal comparison metric. • Underwater light availability was evaluated in Honeybee by comparing
120
Research Development
Fig 75: Lattice development sequence Fig 76: Underwater light availability Fig 77: Flow-reduction performance of the lattice configurations Fig 78: Structural performance of the tested lattice configurations
corresponding seabed sensor points with and without the lattice. Light-retention percentages were calculated for each topology, including average and lower-percentile performance, before applying the Beer–Lambert law to account for attenuation through the water column and changing tidal depth: I(z) = I0e-kdz where I0 represents light entering the water column, k_d the diffuse attenuation coefficient and z the water depth. During the May–September growing season, the number of days exceeding the minimum photosynthetically active radiation (PAR) threshold of 7 mol photons m-² day-¹, 90 adopted as the minimum daily light requirement for seagrass growth, was calculated. • CFD analysis evaluated how effectively each lattice moderated water velocity within and downstream of the structure, favouring configurations that reduced excessive flow without creating stagnant conditions. Ronald M. Thom et al., “Light Requirements for Growth and Survival of Eelgrass (Zostera Marina L.) in Pacific Northwest (USA) Estuaries,” Estuaries and Coasts 31, no. 5 (2008): 969–80, https://doi.org/10.1007/s12237-0089082-3.
90
Research Development
121
122
Body-Centered Cubic
Face-Centered Cubic
Octahedron
Star Tetrahedron
Body-centered Star Tetrahedron
Octahedral–Tetrahedral
Tetrahedron
Primitive Cube
Truncated-octahedron
Vertex Octahedron
Nacl
Rhombic Dodecahedron
Triangulated
Tesseract
Hexagon
Research Development
Research Development
123
124
Body-Centered Cubic
Face-Centered Cubic
Octahedron
Star Tetrahedron
Body-centered Star Tetrahedron
Octahedral–Tetrahedral
Tetrahedron
Primitive Cube
Truncated-octahedron
Vertex Octahedron
Nacl
Rhombic Dodecahedron
Triangulated
Tesseract
Hexagon
Research Development
Research Development
125
Body-Centered Cubic
126
Face-Centered Cubic
Octahedron
Star Tetrahedron
Body-centered Star Tetrahedron
Octahedral–Tetrahedral
Tetrahedron
Primitive Cube
Truncated-octahedron
Vertex Octahedron
Nacl
Rhombic Dodecahedron
Triangulated
Tesseract
Hexagon
Research Development
Research Development
127
01 Void 2x2m
2m 2m
The three objectives were given equal weighting to establish an overall performance ranking Fig 79: Lattice topology and identify the lattice topology for further development. The Dodecahedron achieved the ranking using equal weights for all objectives best overall performance and was therefore selected.
Applied Force
Fig 80: Lattice topology ranking using equal weights for all objectives and Houdini sedimentation simulation
Different module aggregation strategies were then tested using CFD, including horizontal rows, vertical stacking, and arrangements around voids similar to those developed in the final lattice. The tests examined how the number and spatial arrangement of modules affected local flow reduction, and how this related to the amount of material required and the size of the resulting seagrass pockets. Since the lattice is designed to create open areas for seagrass growth, three representative void configurations were also evaluated. CFD was used to measure the distance over which each configuration maintained water velocity within the target range for seagrass growth, while finite element analysis was used to assess the corresponding structural behaviour.
128
Research Development
Water Velocity = 0.8 m/s
Safe Zone Velocity 0.1 to 0.4 m/s
Fig 81: First void scenario (2 × 2 m), showing structural response and CFD flow reduction with a central safe zone for seagrass growth. Research Development
129
02 Void 2x4m
Fig 82: Second void scenario (2 × 4 m), showing structural response and CFD flow reduction with a central safe zone for seagrass growth
03 Void 2x6m
4m
6m
Fig 83: Third void scenario (2 × 6 m)
2m
2m
Applied Force
2.4 m
Water Velocity = 0.8 m/s
130
Research Development
1.6 m
2.8 m
3.2 m
Safe Zone
Danger Zone
Safe Zone
Danger Zone
Velocity 0.1 to 0.4 m/s
Velocity higher than 0.4 m/s
Velocity 0.1 to 0.4 m/s
Velocity higher than 0.4 m/s
Research Development
131
In a second set of tests, modules were aggregated horizontally to assess how increasing the number of adjacent units affected flow reduction. The same approach was then applied vertically, evaluating how stacking influenced the velocity field and the extent of the sheltered zone. 265 cm
Fig 84: CFD analysis of horizontal module aggregation, comparing flow-velocity reduction and the extent of the safe zone for one (up) and two (bottom) adjacent modules.
132
Research Development
Fig 85: CFD analysis of horizontal module aggregation, comparing flow-velocity reduction and the extent of the safe zone for three (up), four (middle) and five (bottom) adjacent modules.
Research Development
133
Fig 86: CFD analysis of double-module stacking, showing velocity reduction and safe-zone extent 134
Research Development
Fig 87: CFD analysis of triple-module stacking, showing velocity reduction and safe-zone extent Research Development
135
01 Seed Points
3.6 Cellular Automata System
Five seed points were places per function and used as the starting points for CA growth algorithm.
The system was initially tested as a growth-based cellular automaton implemented through an Anemone loop. Five seed points were placed at column locations, and functions expanded outward from existing growth fronts. However, this approach provided limited control over the final distribution. Without explicit area constraints, some functions occupied cells continuously while others failed to appear, clustering was inconsistent, and the environmental field scores had little visible influence on the resulting pattern. The system was therefore rebuilt as a C# component, allowing direct control over the scoring process, and tested across a 1,763 cell patch. At each iteration, empty cells adjacent to existing occupied cells were evaluated according to field influence, functional adjacency, shadow impact and structural support, with the highest-scoring cell above a defined threshold being assigned. Although this improved control over placement, a new problem emerged. Functions tended to extend as narrow, one-cell-wide strands rather than forming compact, usable areas. This resulted from the local growth rule, which did not sufficiently distinguish between extending an existing strand and widening a cluster. Therefore, the methodology was revised.
02 Growth-based Cellular Automata Algorithm The first system was tested in an Anemone loop, where functions expanded from seed zones. However, cell distribution was inconsistent: some zones showed little or no growth, and some functions failed to grow at all.
To determine the most appropriate access points for the intervention, which were also used as CA growth starting points, a network analysis connected the site with existing ports, neighbouring islands, seagrass meadows and shellfish areas. A direct-link graph first established all possible connections and relative distances. This was then developed into a proximity network, allowing routes to pass through intermediate nodes and share connections. Finally, a minimum spanning tree using Prim’s algorithm identified the shortest loop-free network connecting all relevant destinations. This reduced the network to its essential routes and was used to compare the candidate access points. Port F was identified as redundant and removed, while the remaining ports were retained as the primary access points to the intervention.
03 Relational Field Allocation Model Cell allocation was tested using weighted fields, functional relationships and area targets, then optimized in Wallacei. Despite improved objective scores, the resulting functions remained fragmented and spatially incoherent.
Fig 88: The two initial methodologies that didn’t yield successful results 136
Research Development
Research Development
137
The above-water intervention was organised using a field-driven cellular automaton system. The full site was discretised into 1,763 cells of 3×3m. Each field assigns a numerical value to every cell, representing a specific spatial condition. Because the lattice and the architecture above are vertically connected, these fields were derived from the lattice morphology and projected upward, allowing programme placement to respond to site-specific spatial conditions rather than neighbouring rules alone.
Fig 89: Connection to existing infrastructure
Fig 90: CA logic diagram
01 Direct link Graph
02 Proximity Network
All destinations directly linked
Routes via intermediate nodes
03 Minimum Spanning Tree
04 Selected Access Points (ports)
Shortest walk
Port F Removed
138
Research Development
Programme relationships were mapped as a weighted adjacency matrix. Seagrass processing formed the central programme, with strong attraction to research and infrastructure, moderate attraction to ecotourism, and repulsion from logistics. Research and ecotourism formed the second repulsive programme pair.
Research Development
139
Four spatial fields were evaluated against this programme matrix. Potential column locations were a global structural field. Lattice voids attracted seagrass-processing functions toward the restoration structure while directing logistics toward more open water. Water-edge proximity attracted logistics and ecotourism to the site boundary while pushing seagrass processing and research further inward. Finally, lattice density, measured through the local number of tessellation cells, attracted ecotourism and logistics. Each cell is evaluated against its Moore neighbourhood, consisting of the eight surrounding cells including diagonals. This was used instead of a four-cell neighbourhood to avoid repetitive striped or checkerboard growth patterns. The score for assigning function f to cell i is calculated as:
Supports (Columns)
Lattice Density
Water Edge (Edge Prox)
Lattice Voids
Total(i,f) = Field Score(i,f) + Relationship Weight × Proximity Factor. All field values and proximity terms are normalised to a common scale so that no criterion dominates because of its units. The field score remains fixed, while the proximity factor changes dynamically according to the current distribution of neighbouring functions.
Fig 91: Topology diagram Fig 92: Lattice Data Fields 140
Research Development
Favourable
Unfavourable Research Development
141
Fig 93: CA rules Fig 94: Programme and area breakdown
The allocation process runs in two stages. First, functions are assigned according to their field scores while respecting the maximum area allocated to each programme. A second stage then refines the distribution through pairwise cell swaps, using the relationship matrix to improve programme adjacency without exceeding the predefined area limits. Column locations were treated as a generative variable, producing multiple configurations for optimisation. The number and position of open cells were also varied, constrained by column placement and by the total programme area of approximately 2,300m². The system was evaluated against three fitness criteria: maximising programme relationship satisfaction, minimising conflict between site conditions and programme requirements, and minimising shading over the lattice voids. The resulting configurations generally placed logistics toward the perimeter, research and seagrass processing along a central spine above denser lattice areas, and ecotourism in smaller clusters along the site’s periphery. The solution in Generation 99 closest to the utopia point was selected as a balanced compromise across the objectives and developed further.
Fig 95: Standard deviation,Fitness values and Parallel coordinate plot (left) Fig 96: Representative items from pareto front 142
Research Development
Research Development
143
144
Research Development
Gen 99 | Ind 30
Gen 99 | Ind 42
Gen 99 | Ind 50
Gen 99 | Ind 47
Gen 99 | Ind 35
Gen 99 | Ind 38
Gen 99 | Ind 48
Gen 99 | Ind 22
Gen 99 | Ind 49
Gen 99 | Ind 32
Gen 99 | Ind 50 Selected Research Development
145
04
Design Development Chapter title
4.1 Introduction
Predominant Current Direction
This chapter develops the research from the experiments of Chapter 3 into an integrated architectural system. The selected findings are combined and adapted to the specific site, allowing relationships between the underwater restoration infrastructure and the architecture above water to be tested on a larger and more complex scale.
01 Stress lines
02 Subdivide cells based on distance to attractor curves.
03 Retain 0.5 × 0.5 m quad cells
04 Generate bounding boxes around pockets and group by length
05 Use north edges as attractors to add quads and increase width
06 Generate a mesh with locally increased widths
The chapter develops the site-specific lattice geometry, spatial aggregation, structural system, programme distribution and envelope design logic while establishing how the underwater and above-water systems operate together. Computational workflows are used throughout to coordinate environmental, structural and spatial requirements and translate the research findings into a coherent design system.
4.2 Lattice 4.2.1 Topographic Paneling
The topographic panelling of the lattice developed through an iterative process between modelling and CFD testing. Karamba stress lines first guided the subdivision of the seabed, after which different module aggregations were tested and adjusted according to their effect on flow velocity. Rather than continuously adding modules horizontally, which would progressively close the seabed and reduce the open areas needed for seagrass, selected zones were developed vertically by stacking modules. CFD tests showed that stacked configurations could reduce velocity across a larger surrounding area, allowing greater flow control while preserving the required voids for seagrass growth.
Fig 97: Lattice Pseudo-code
148
Design Development
07 Select areas requiring increased sediment stabilisation
08 Move faces along Z to create variable thickness
Design Development
149
09 Smooth mesh edges to create gradual transitions
10 Rationalise mesh (35 different molds)
11 Generate lattice between the initial and displaced mesh face
12 Add thickness to the lattice elements
Fig 98: Lattice Pseudo-code Fig 99: Lattice global scale Fig 100: Lattice zoomed In 150
Design Development
Design Development Chapter title
151
Lattice Regional Validation
01 Linear Configuration
02 Stacked Configuration
To verify whether the behaviour observed in the earlier experiments was reproduced within the final lattice, four representative areas were selected for further testing: linear, stacked, H-shaped and L-shaped configurations. The results remained within the acceptable performance ranges established previously, supporting the design logic developed through the earlier experiments.
Region 1
Region 2
Region 3
Region 4
Fig 101: Global validation regions
Fig 102: Global validation region 01-02
152
Design Development
Region 1
Region 2 Design Development
153
03 H-shape Configuration
Global Calibration
04 T-shape Configuration
Fig 104: Patch 1 thickness calibration
Fig 103: Global Region 3
154
Design Development
Region 4
validation - region 03-04
Fig 105: Patch 1 displacement calibration
Design Development
155
4.2.2 Fabrication
01 Lattice Geometry
Following the material development a fabrication strategy was established for scaling up the lattice. The geometry was divided into 40×40cm modules to accommodate fabrication constraints. The modules are cast using reusable 3D-printed moulds and can be combined in different configurations to form the larger lattice. Adjacent modules are joined using the composite in its wet state, a connection method tested through physical experiments. The system was rationalized into 35 repeatable module types, reducing the number of unique moulds required. Once assembled, the lattice is anchored to the seabed using U-shaped pins. 05 Demolding 06
02 Segmented
Sa n
dR
04 Casted
Fig 107: Global Rationalisation (35 types of molds, each approximately 40x30x30 cm) Fig 108: Module Fabrication Loop (recycled sand formworks)
156
Design Development
ry
03 Machined Sand Mold
Wet bind applied to connect modules
Fig 106: Module Fabrication Loop (recycled sand formworks)
ec ov e
Material: Marine-grade stainless steel (AISI 316) Bar diameter: 4 mm Height: 200 mm Form: Bent U-shaped round bar Installation: Anchored into the seabed over the lattice Spacing: Distributed Installed at 6 m centres, with each anchor securing three adjacent lattice modules. Design Development
157
1.1
Subtitle
04 Sixteen parts
03 Eight parts
02 Nine parts
01 Four parts
Fig 109: Exploded diagram of the mould in parts
Fig 110: Moulding process
158
Design Development
Design Development
159
Fig 111: Lattice module Aggregation top view
Fig 112: Fabricated module
160
Design Development
Design Development
161
Architectural Facilities
Branching Columns
Lattice
Fig 113: 1:2 Physical model Fig 114: Intervention’s vertical connectivity
162
Design Development
Design Development
163
4.2.3 Lattice Degradation and Seagrass Meadow Expansion
The underwater lattice is designed as a temporary structure, gradually degrading over approximately 24 months. Degradation is assumed to progress spatially from north to south, following the predominant direction of water flow and the greater hydrodynamic exposure along the northern edge. This degradation sequence was coupled with the seagrass expansion scenario. As the lattice loses material, its former footprint becomes progressively available for rhizome expansion and connection between neighbouring seagrass patches. The lattice occupies approximately 8,407m² within a total intervention footprint of 13,591.8m² (1.36 ha). Subtracting the lattice footprint from the total seabed area gives approximately 5,184.8m² (0.52 ha) of open seabed within the lattice voids: Avoid=13,591.8−8,407=5,184.8m2 This represents approximately 38.15% of the total intervention area. These voids form the initial zones available for seagrass establishment. Because complete colonisation of all available voids cannot be assumed, the scenario adopts an initial 50% establishment allowance. The initial seagrass cover is therefore: Ainitial=5,184.8×0.50=2,592.4m
0-6 months 95% Mass
6-12 months 80% Mass
12-18 months 45% Mass
18-24 months 10% Mass
or approximately 2,600m² (0.26 ha), equivalent to 19.1% of the total intervention footprint. Subsequent meadow expansion was estimated using the mean horizontal rhizome elongation rate reported for Zostera marina, approximately r=0.2612m/year 91 (Fig 112). These distances were applied spatially to the initially established seagrass patches. As patches expand, overlapping areas are merged so that connected areas are not counted more than once. Expansion is also limited by the intervention boundary. The method is therefore based on the geometry of the individual planting pockets rather than simply multiplying the initial area by a constant growth percentage. The expansion scenario is coordinated with the progressive biodegradation of the lattice. At the initial stage, the lattice remains largely intact and seagrass establishment is concentrated within the open pockets. By approximately 18 months, partial degradation allows adjacent patches to begin extending into areas previously occupied by the lattice. At around 24 months, only residual lattice fragments remain, increasing the seabed area available for rhizome expansion and connection between neighbouring patches. By five years, the temporary lattice is assumed to have largely disappeared and the meadow can continue expanding across its former footprint.
91 Carlos M. Duarte et al., “Assessing the CO2 Capture Potential of Seagrass Restoration Projects”, Journal of Applied Ecology 50, no. 6 (2013): 1341–49, https://doi.org/10.1111/1365-2664.12155.
Fig 115: Lattice degradation over 24 months
164
Design Development
Design Development
165
4.3 Branching Columns
For the platform support system, 3D Graphic Statics was used to develop the branching geometry. To minimise seabed disturbance, the number of support points was reduced, while graphic statics defined the load paths between the platform and the remaining supports. Fixed branching supports were preferred over floating platforms because the large tidal variation would cause floating elements to rise and fall relative to the submerged lattice, increasing the risk of collision. Floating systems would also require anchors and mooring lines, which could disturb the seabed and damage developing seagrass meadows. To determine the required height of each branching support, the tidal levels were first established. The site bathymetry is referenced to LAT (Lowest Astronomical Tide), which is used as the model datum at Z=0m. Bathymetric values therefore represent seabed elevations below LAT. The intervention is located within a depth range of approximately −0.60m to −1.70 m, so the support heights vary according to the local seabed level within this range. At Texel Noordzee, Rijkswaterstaat reports that LAT is 1.43m below NAP , while 0 m NAP92 approximately corresponds to average North Sea level.93 Therefore, +1.43m LAT was used as an approximate mean-water reference (Appendix VII).
Initial phase · 19% · ≈ 2,600 m²
For the Eierlandse Gat inlet, a tidal range of approximately 1.50m has been reported.94 Half of this range, 0.75m, was applied above and below the mean-water reference, resulting in approximate water levels of +0.68m LAT at low tide and +2.18m LAT at high tide. For the digital model, these were rounded to +0.7m, +1.4m and +2.2m for low, mean and high water respectively.
18 months · 32% · ≈ 4,300 m²
92
“Astronomisch Getij - Rijkswaterstaat Waterinfo,” accessed August 22, 2026, https://waterinfo.rws.nl/publiek/ astronomische-getij?parameters=&view=list. 93-94 Rijkswaterstaat, “NAP : informatie Normaal Amsterdams Peil,” Rijkswaterstaat Publicatie Platform, Rijkswaterstaat, accessed August 22, 2026, https://open.rijkswaterstaat.nl/overige-publicaties/2024/nap-informatie-normaal-amsterdams-peil/.
Graphic Statics
24 months · 36% · ≈ 4,900 m²
166
Design Development
5 years · 68% · ≈ 9,200 m²
Typical Deck
Floating Deck
Fig 116: Meadow expansion over 5 years. Fig 117: Comparison of platform support strategies Design Development
167
4.3.1 Typologies and Load Conditions
Three typologies were developed to support platform configurations of one, two, and four cells. T1 supports a single cell, T2 follows the same branching logic but is stretched horizantaly to support two cells. T3 uses a different configuration, supporting four cells through a four-legged branching structure.
Low Tide
Mean Tide
High Tide
Fig 119: Column pseudocode graphic statics system 1 Fig 118: Tidal range in relation to the column system at low, mean and high water levels. 168
Design Development
Design Development
169
4.3.2
Material Selection
Azobé (Lophira alata) was selected for the column system due to its high strength, natural durability and established use in hydraulic and marine construction. Under EN 335, timber exposure is classified through five Use Classes according to moisture conditions and biological risks. The submerged elements of the proposal correspond to Use Class 5, defined as timber permanently or regularly submerged in salt or brackish water. Azobé is identified as suitable for Use Class 5 in temperate marine environments due to its resistance to marine borers, making it appropriate for the Wadden Sea conditions.95 Its long-standing use in Dutch hydraulic infrastructure further supports its selection. Material sections were selected for the main column members based on commercially available Azobé timber dimensions.
170
Design Development
Fig 120: Column pseudo-
Fig 121: Platform/Column
code graphic statics system 2
size variation
95 European Chemicals Agency (EU body or agency), Guidance on the Biocidal Products Regulation: Version 6.0 August 2023. Volume II, Efficacy, Parts B+C. Assessment and Evaluation (Publications Office of the European Union, 2023), https://data.europa.eu/doi/10.2823/55971.
Design Development
171
4.3.3 Structural Assessment
For the timber components located above the waterline, including platforms, railings, walls, fins and roof elements, a different material was selected. Accoya, an acetylated radiata pine, was chosen for its high dimensional stability, low moisture uptake and Durability Class one performance96. These properties make it particularly suitable for exterior applications exposed to frequent wetting, salt spray and changing humidity. While it is not intended for permanent marine immersion, it is well suited to the abovewater elements of the intervention, where durability, stability and a refined timber finish are required.
The three typologies were analysed using custom materials in Karamba3D (Appendix IV) to assess utilisation, displacement and the distribution of compression and tension ratios under the assumed loads.
96 “Accoya Wood: Modified Wood, Long Life Treated Wood, Sustainable Wood,” Accoya, accessed September 13, 2026, https://www.accoya.com/uk/.
Fig 122: Comparative selection criteria for Azobé and Accoya timber based on location, use, durability and exposure class.
Fig 123: Azobe wood Fig 124: Accoya wood 172
Design Development
Fig 125: Utilization analysis, this was itirated for all column types
Design Development
173
T1
For T1, alternative member cross-sections were compared under the same assumed loads. Lower utilisation in the initial configuration prompted reductions in branch sizes while retaining the 30×30cm core. The revised configuration was then assessed for displacement and the distribution of compression and tension.
Fig 126: Stress/Strength ratio (top) and displacement (bottom)
Fig 127: Blue indicates primary elements, green indicates secondary elements
174
Design Development
Design Development
175
T2
T2 was assessed under the assumed loading for two platform cells. Member crosssections were refined following the same procedure used for T1. The two main columns supporting the platform were assigned cross-sections of 30×30cm, with 15×15cm sections for the primary members and 10×10cm sections for the secondary members.
Fig 128: Stress/Strength ratio (top) and displacement (bottom)
Fig 129: Blue indicates primary elements, green indicates secondary elements
176
Design Development
Design Development
177
T3
T3 was assessed under the assumed loading for four platform cells. Member crosssections were refined following the same procedure used for T1. The main columns were assigned cross-sections of 30×30cm, with 15×15cm sections for the primary members and 12×12cm sections for the secondary members. The resulting configuration was evaluated in terms of stress-to-strength ratios and displacement.
Fig 130: Stress/Strength ratio (top) and displacement (bottom)
Fig 131: Blue indicates primary elements, green indicates secondary elements
178
Design Development
Design Development
179
4.3.4 Construction and Assembly
The assembly brings together the lattice, column and platform as an integrated system. The exploded axonometric illustrates its individual components and their arrangement.
Fig 132: Exploded diagram of the column
180
Design Development
Fig 133: Column Section Design Development
181
Fig 135: Front view (top) Fig 134: Construction Details of Column
182
Design Development
and plan view (bottom) of the branching timber member, showing the steel collars
Design Development
183
184
Design Development
Design Development
185
4.4 Above Water Interventions
Rule 01: Placement
4.4.1 Layout Rationalisation
Typologies were fitted to the existing cells wherever possible. If one cell was missing, a single additional cell could be added to complete the typology. Unused cells were removed after mapping.
A custom algorithm was developed to organise the selected cell arrangement into predefined typologies and connect their circulation paths. Three rules controlled typology placement, orientation and the addition or removal of cells.
Fig 137: Rule 01 - Typology Placement by adding a cell
Rule 02: Orientation After the typologies were created, they could be rotated or mirrored to improve connections between their circulation paths.
Fig 138: Rule 02 Orientation/Mirroring of typologies
Rule 03: Path connection A connecting cell can be added to bridge a one-cell gap between typologies. Typologies that remained disconnected were removed.
Fig 139: Rule 03 - Cell generation to connect paths
Fig 136: Selected Wallacei solution
186
Design Development
After applying the three rules, the algorithm generated multiple rationalised configurations. The three outputs shown here were selected because they required the fewest additional cells: 22 in Output 1, 26 in Output 2, and 18 in Output 3. These were taken forward for further evaluation. Design Development
187
The analysis helped narrow the three configurations down to Option 1, where pedestrian movement was more evenly distributed, fewer areas had high levels of congestion, and circulation through the layout appeared smoother and more continuous.
I
II
High Congestion
Fig 140: Selected cells arrangement
Fig 141: Custom Low Congestion
III 188
Design Development
algorithm outputs (left) and corresponding Kova PedSim circulation analysis (right).
Design Development
189
Before evaluating the three rationalised configurations, the programme cells were translated into a set of architectural typologies. Each typology defines a specific spatial arrangement, combining enclosed and open cells according to the requirements of each programme. These typologies were then mapped onto the three configurations, allowing the layouts to be assessed as architectural proposals rather than abstract cellular patterns.
FROM CELLS TO ARCHITECTURE An example of the translation from cellular programme arrangement to architectural typology.
01 Programme Cells
02 Spatial Organisation
03 Architectural Typology
Enclosed Space Open Space
Cell Arrangement
Enclosed and Open Cells
Resulting Typology
FACILITIES GROUPS Seagrass Ecotourism Infrastructure Logistics Research
190
Design Development
Fig 142: Translation to Architectural typologies
Fig 143: Architectural typologies
Design Development
191
4.4.2 Façade and Roof Catalogue
01 Base layout The envelope catalogue operates as a computational assembly system rather than simply a collection of façade and roof options. The system was developed and tested for the seagrassrelated facilities, which form the project’s primary programme, but the same logic can be applied to the other building categories. For each occupied cell, the algorithm identifies the function, orientation and adjacency conditions, and assigns the corresponding façade or roof element. Where two buildings meet, shared walls are generated at the height of the taller one. External façades are selected according to orientation and the associated solar and wind conditions. This catalogue also supports the project’s relocation strategy, since each element has a defined type and position within the system. N
S
E
W
N,W
S,E 02 Function assignment and orientation analysis
F0
primary wind direction
F1
F2
F3 03 Facade placement Exterior facade panels
Corridor facade panels
EW
04 Roof placement EW
Fig 144: Catalogue of envelopes
F0
F1
F2 Roof typologies
192
Design Development
F3
Fig 145: Rule-based assembly Fig 146: Envelope allocation in different cellular configurations
Design Development
193
1.1
194
Subtitle
01
02
03
10
11
12
04
05
06
13
14
15
07
08
09
16
17
18
Design Development
Design Development
195
05 xx
Design Proposal Chapter title
5.1 Architectural Facilities and Circulation
The design proposal brings together the environmental analysis, computational development, material testing, and fabrication strategy into a single architectural system. At this stage, the focus shifts from testing individual components to defining how the lattice, supports, platforms, and material system operate together on site. The architectural typologies follow the operational sequence of the project, from seagrass collection and processing to drying and fabrication, supported by research and monitoring spaces. Alongside these working spaces, a second group of typologies introduces public programmes. Logistics, infrastructure and circulation platforms connecting working, public and service areas across the platforms.
Fig 147: Axonometric section 198
199
Seagrass Processing
Seagrass collection
Material Processing 200
Design Proposal
Drying
Fig 148: Seagrass facilities
Fabrication Design Proposal
201
Research
Monitoring Platform
Field Sampling 202
Design Proposal
Seed Preparation
Fig 149: Research facilities Design Proposal
203
Ecotourism
Information Point
Social and Communal Area
Fig 150: Ecotouristic
Accommodation 204
Design Proposal
facilities
Conservation Gallery I Design Proposal
205
Ecotourism
Social and Communal Area
Observatory
Fig 151: Ecotouristic
Conservation Gallery II 206
Design Proposal
facilities
Design Proposal
207
Logistics
Infrastucture
Seashell Harvesting
Maintenance
Fig 152: Logistic &
Storage 208
Design Proposal
infrastructure facilities
Dock Design Proposal
209
Circulation
Perforated deck
Deck with railing
Maintenance
Deck with staircase
Deck with ramp
Deck
Fig 153: Circulation decks Fig 154: View from the common area (top)
Interior flooring 210
Design Proposal
Fig 155: Aerial view Design Proposal
211
The circulation network separates seagrass transport from general pedestrian movement. The two red-outlined ports operate as seagrass ports, connected by the green routes linking the main seagrass-processing facilities. Along these routes, ramps replace stairs
212
Design Proposal
Fig 156: Exploded functions
to allow continuous and efficient material transfer. Additional vertical ladders provide direct access to the seabed for lattice maintenance, seagrass collection, and research.
and circulation diagram
Design Proposal
213
5.2 Construction and Relocation
Seagrass thatch roof
Waterproof membrane
The intervention is designed to remain at one restoration site for approximately five years, with a minimum operational period of around three years. During the first two years, the focus is on planting, maintenance and replacement of unsuccessful areas. Years three and four allow the meadow to expand and sediment conditions to stabilise. In the fifth year, the site is evaluated to determine whether the seagrass meadow can persist without continued support before the architectural system is disassembled and relocated as a demountable kit of parts.
Waterproof membrane
Wooden fins Primary timber Timber cladding
Year 0
B Timber columns (20x20cm)
A
Timber decking
Seagrass-oyster composite infill
Timber floor joists
C Waterproof membrane Year 5
B Seagrass insulation
Timber sheathing
Primary timber floor beams
Timber pile connections
C
214
Design Proposal
Fig 157: Restoration cycle
Fig 158: Exploded asembly
and relocation
diagram
Timber piles to sabed
Design Proposal
215
Relocation is therefore based on ecological performance rather than a fixed timeframe alone. The system can move once the target seagrass coverage has been achieved, coverage remains stable or increases across two consecutive growing seasons, natural regeneration occurs without additional planting, and sediment erosion remains controlled. The system would require coordination through a partnership between regional environmental authorities, research institutions, local municipalities and specialist marine contractors. Researchers would monitor seagrass establishment and determine when relocation is appropriate, while marine and construction teams would install, maintain, disassemble and transport the lattice, platforms and architectural components.
01 Disconnecting adjacent modules from base and columns
02 Lifting of each timber frame and platform using a crane ship
03 Extraction of the screw-pile foundations
04 Relocation of modules by shallow-draft barge
Fig 159: Exterior view from the deck
Fig 160: Disassembly and
05 Installation of the new foundations at the next restoration area 216
Design Proposal
06 Reassembly of the same modules in a new configuration
relocation sequence showing the building as a demountable kit of parts, from module disconnection and lifting to foundation removal, transport, and reassembly at a new restoration site.
Design Proposal
217
218
219
220
221
06
Conclusion
06 Conclusion
The thesis proposes a regenerative system that links material development, seagrass restoration and temporary architecture across different spatial and temporal scales. At the level of computational and physical prototypes, the study established a coherent framework connecting material behaviour, environmental conditions, lattice geometry, seagrass expansion and the architecture above water. The results demonstrate the potential of these systems to operate together, while also identifying questions that require further investigation as the research moves toward larger-scale and longer-term testing. Future development should prioritise full-scale field testing, particularly the long-term degradation and structural behaviour of the composite under cyclic currents, waves and biological exposure. The ecological effects of the lattice also require closer investigation, including its influence on sediment transport, deposition, erosion and benthic habitats. Fabrication could be developed through robotic extrusion or robotically produced sacrificial formwork, allowing faster production and more precise geometries. Since all tested formulations showed potential for extrusion, future research could investigate robotic printing. The agar-based composites, which dissolved during immersion and were unsuitable as structural materials, could instead be explored as water-soluble temporary moulds for casting more complex lattice geometries. A further development would be the construction of a high-resolution digital twin of the seabed, to monitor currents, sediment movement, lattice degradation and seagrass establishment over time. This would allow the computational model to be continuously updated and provide a more accurate understanding of the lattice’s ecological and hydrodynamic effects. The project should therefore be understood as an adaptable restoration framework rather than a fixed architectural solution. Its future development depends on testing how effectively the relationships established computationally and materially can perform within the changing conditions of the Wadden Sea.
224
225
Biblography
doi.org/10.1111/1365-2664.12155. Duffy, E., and Nancy Knowlton. “Seagrass and Seagrass Beds | Smithsonian Ocean.” In Smithsonian. 2013. https://ocean.si.edu/ocean-life/plants-algae/seagrass-and-seagrass-beds.
“AutAccoya. “Accoya Wood: Modified Wood, Long Life Treated Wood, Sustainable Wood.” Accessed September 13, 2026. https://www.accoya.com/uk/. “Astronomisch Getij - Rijkswaterstaat Waterinfo.” Accessed August 22, 2026. https://waterinfo. rws.nl/publiek/astronomische-getij?parameters=&view=list. Baggerman, Michelle, Marijke Bruggink, Jeroen van den Eijnde, Jolijn Fiddelaers, Conny Groenewegen, and Tjeerd Veenhoven. Exploring Seagrass for Sustainable Design. 1st ed. ArtEZ Press, 2022. https://artezpress.artez.nl/books/sea-grass/. Bertelli, Chiara M., and Richard K. F. Unsworth. “Light Stress Responses by the Eelgrass, Zostera Marina (L).” Frontiers in Environmental Science 6 (June 2018). https://doi.org/10.3389/ fenvs.2018.00039. Beusekom, Justus E. E. van, P. Bot, Jacob Carstensen, et al. Wadden Sea Quality Status Report: Eutrophication. Common Wadden Sea Secretariat, 2017. https://doi.org/10.5281/zenodo.15198149. “Biodegradable EcoSystem Restoration Elements | BESE-Elements.” Bese Products, n.d. Accessed July 17, 2026. https://www.bese-products.com/biodegradable-products/bese-elements/. “Building with Blue Biomass.” Building with Blue Biomass, n.d. Accessed May 6, 2026. https:// buildingblue.eu/. “Bundesanstalt Für Wasserbau (BAW) - Start.” Accessed July 17, 2026. https://www.baw.de/en/ home/home.html. “C109/C109M Standard Test Method for Compressive Strength of Hydraulic Cement Mortars (Using 2-in. or [50-Mm] Cube Specimens).” Accessed July 17, 2026. https://store.astm.org/ c0109_c0109m-20.html. “CMEMS.” Accessed July 17, 2026. https://marine.copernicus.eu/. Dolch, Tobias, Eelke Folmer, M. S. Frederiksen, et al. Wadden Sea Quality Status Report: Seagrass. Common Wadden Sea Secretariat, 2017. https://doi.org/10.5281/zenodo.15209122. Duarte, Carlos M., Tomás Sintes, and Núria Marbà. “Assessing the CO2 Capture Potential of Seagrass Restoration Projects.” Journal of Applied Ecology 50, no. 6 (2013): 1341–49. https:// 226
“Dutch Wadden: Facts and Figures | Ecomare Texel.” Ecomare, n.d. Accessed May 24, 2026. https://www.ecomare.nl/en/in-depth/reading-material/wadden-sea-area/dutch-wadden-region European Chemicals Agency (EU body or agency). Guidance on the Biocidal Products Regulation: Version 6.0 August 2023. Volume II, Efficacy, Parts B+C. Assessment and Evaluation. Publications Office of the European Union, 2023. https://data.europa.eu/doi/10.2823/55971. “European Commission, Official Website - European Commission.” July 17, 2026. https://commission.europa.eu/index_en. Folmer, Eelke O., Justus E. E. van Beusekom, Tobias Dolch, et al. “Consensus Forecasting of Intertidal Seagrass Habitat in the Wadden Sea.” Journal of Applied Ecology 53, no. 6 (2016): 1800–1813. https://doi.org/10.1111/1365-2664.12681. Fonseca, Mark S., Joseph C. Zieman, Gordon W. Thayer, and John S. Fisher. “The Role of Current Velocity in Structuring Eelgrass (Zostera Marina L.) Meadows.” Estuarine, Coastal and Shelf Science 17, no. 4 (1983): 367–80. https://doi.org/10.1016/0272-7714(83)90123-3. Food4Rhino. “3D Graphic Statics.” Text. November 25, 2019. https://www.food4rhino.com/en/ app/3d-graphic-statics. Govers, Laura L., Jannes H. T. Heusinkveld, Max L. E. Gräfnings, Quirin Smeele, and Tjisse van der Heide. “Adaptive Intertidal Seed-Based Seagrass Restoration in the Dutch Wadden Sea.” PLOS ONE 17, no. 2 (2022): e0262845. https://doi.org/10.1371/journal.pone.0262845. Heide, Tjisse van der, Ralph J. M. Temmink, Greg S. Fivash, et al. “Coastal Restoration Success via Emergent Trait-Mimicry Is Context Dependent.” Biological Conservation 264 (December 2021): 109373. https://doi.org/10.1016/j.biocon.2021.109373. Hendriks, Iris E., Anna Escolano-Moltó, Susana Flecha, Raquel Vaquer-Sunyer, Marlene Wesselmann, and Núria Marbà. “Mediterranean Seagrasses as Carbon Sinks: Methodological and Regional Differences.” Biogeosciences 19, no. 18 (2022): 4619–37. https://doi.org/10.5194/bg19-4619-2022. Horn, Sabine, Marta Coll, Harald Asmus, and Tobias Dolch. “Food Web Models Reveal Potential Ecosystem Effects of Seagrass Recovery in the Northern Wadden Sea.” Restoration Ecology 29, no. S2 (2021): e13328. https://doi.org/10.1111/rec.13328.
227
Jonge, Victor N., D. Jong, and J. Bergs. “Reintroduction of Eelgrass ( Zostera Marina ) in the Dutch Wadden Sea; Review of Research and Suggestions for Management Measures.” Journal of Coastal Conservation 2 (March 1996): 149–58. https://doi.org/10.1007/BF02743048.
Rijkswaterstaat. “NAP : informatie Normaal Amsterdams Peil.” Rijkswaterstaat Publicatie Platform, Rijkswaterstaat. Accessed August 22, 2026. https://open.rijkswaterstaat.nl/overige-publicaties/2024/nap-informatie-normaal-amsterdams-peil/.
Katwijk, M. M. van, A. R. Bos, V. N. de Jonge, L. S. A. M. Hanssen, D. C. R. Hermus, and D. J. de Jong. “Guidelines for Seagrass Restoration: Importance of Habitat Selection and Donor Population, Spreading of Risks, and Ecosystem Engineering Effects.” Marine Pollution Bulletin 58, no. 2 (2009): 179–88. https://doi.org/10.1016/j.marpolbul.2008.09.028.
“Seagrass Restoration in the Wadden Sea and the Southern Delta.” The Fieldwork Company, n.d. Accessed May 23, 2026. https://fieldworkcompany.nl/en/projecten/seagrass-restorationin-the-wadden-sea-and-the-southern-delta/.
Lee, Kun-Seop, Sang Rul Park, and Young Kyun Kim. “Effects of Irradiance, Temperature, and Nutrients on Growth Dynamics of Seagrasses: A Review.” Journal of Experimental Marine Biology and Ecology, The Biology and Ecology of Seagrasses, vol. 350, no. 1 (2007): 144–75. https://doi.org/10.1016/j.jembe.2007.06.016.
Standard Test Method for Flexural Strength of Hydraulic-Cement Mortars. n.d. Accessed September 11, 2026. https://store.astm.org/c0348-21.html. “Taking Shape | Wadden Sea.” Accessed May 23, 2026. https://www.waddensea-worldheritage. org/taking-shape.
Loon-Steensma, Jantsje M. van. “Salt Marshes to Adapt the Flood Defences along the Dutch Wadden Sea Coast.” Mitigation and Adaptation Strategies for Global Change 20, no. 6 (2015): 929–48. https://doi.org/10.1007/s11027-015-9640-5.
Temmink, Ralph J. M., Marjolijn J. A. Christianen, Gregory S. Fivash, et al. “Mimicry of Emergent Traits Amplifies Coastal Restoration Success.” Nature Communications 11, no. 1 (2020): 3668. https://doi.org/10.1038/s41467-020-17438-4.
MacDonnell, C., K. Tiling, V. Encomio, et al. “Evaluating a Novel Biodegradable Lattice Structure for Subtropical Seagrass Restoration.” Aquatic Botany 176 (January 2022): 103463. https:// doi.org/10.1016/j.aquabot.2021.103463.
Thom, Ronald M., Susan L. Southard, Amy B. Borde, and Peter Stoltz. “Light Requirements for Growth and Survival of Eelgrass (Zostera Marina L.) in Pacific Northwest (USA) Estuaries.” Estuaries and Coasts 31, no. 5 (2008): 969–80. https://doi.org/10.1007/s12237-008-9082-3.
Marine Biobased Building Materials. Nordic Innovation, Arup, Nordic Blue Building Alliance, 2024. https://www.arup.com/insights/marine-biobased-building-materials/.
Tuya, Fernando, Francisco Vila, Oscar Bergasa, Maite Zarranz, Fernando Espino, and Rafael R. Robaina. “Artificial Seagrass Leaves Shield Transplanted Seagrass Seedlings and Increase Their Survivorship.” Aquatic Botany 136 (January 2017): 31–34. https://doi.org/10.1016/j. aquabot.2016.09.001.
Nishijima, Wataru, Yoichi Nakano, Amelia B. Hizon-Fradejas, and Satoshi Nakai. “Evaluation of Substrates for Constructing Beds for the Marine Macrophyte Zostera Marina L.” Ecological Engineering 83 (October 2015): 43–48. https://doi.org/10.1016/j.ecoleng.2015.05.046. Olsen, Jeanine L., Pierre Rouzé, Bram Verhelst, et al. “The Genome of the Seagrass Zostera Marina Reveals Angiosperm Adaptation to the Sea.” Nature 530, no. 7590 (2016): 331–35. https://doi.org/10.1038/nature16548. Oost, A. P., Christian Winter, P. Vos, et al. Wadden Sea Quality Status Report: Geomorphology. December 21, 2017. https://doi.org/10.5281/zenodo.15102363. Pastor, Ane, Andrés Ospina-Alvarez, Janus Larsen, Flemming Thorbjørn Hansen, Dorte Krause-Jensen, and Marie Maar. “A Network Analysis of Connected Biophysical Pathways to Advice Eelgrass (Zostera Marina) Restoration.” Marine Environmental Research 179 (July 2022): 105690. https://doi.org/10.1016/j.marenvres.2022.105690. Rehlmeyer, Katrin. “Subtidal Eelgrass in the Dutch Wadden Sea: A First Step toward Restoration.” University of Groningen, 2025. https://doi.org/10.33612/diss.1325231432. 228
UNESCO World Heritage Centre. “Wadden Sea.” UNESCO World Heritage Centre. Accessed May 23, 2026. https://whc.unesco.org/en/list/1314/. United Nations Environment Programme. “Out of the Blue: The Value of Seagrasses to the Environment and to People.” UNEP, 2020. https://www.unep.org/resources/report/out-blue-value-seagrasses-environment-and-people. Unsworth, Richard K. F., Len J. McKenzie, Catherine J. Collier, et al. “Global Challenges for Seagrass Conservation.” Ambio 48, no. 8 (2019): 801–15. https://doi.org/10.1007/s13280-0181115-y. Valle, Mireia, Marieke M. van Katwijk, Dick J. de Jong, et al. “Comparing the Performance of Species Distribution Models of Zostera Marina: Implications for Conservation.” Journal of Sea Research, Main results from the XVII Iberian Symposium of Marine Biology Studies, vol. 83 (October 2013): 56–64. https://doi.org/10.1016/j.seares.2013.03.002.
229
Wallacei. “Evolutionary Engine for Grasshopper3D.” Accessed September 13, 2026. https:// www.wallacei.com/home. Waycott, Michelle, Carlos M. Duarte, Tim J. B. Carruthers, et al. “Accelerating Loss of Seagrasses across the Globe Threatens Coastal Ecosystems.” Proceedings of the National Academy of Sciences 106, no. 30 (2009): 12377–81. https://doi.org/10.1073/pnas.0905620106. Wentworth, Chester K. “A Scale of Grade and Class Terms for Clastic Sediments.” The Journal of Geology 30, no. 5 (1922): 377–92. https://doi.org/10.1086/622910. “Why Seagrass.” Project Seagrass, n.d. Accessed May 24, 2026. https://www.projectseagrass. org/why-seagrass/. Xu, Shaochun, Pengmei Wang, Feng Wang, et al. “In Situ Responses of the Eelgrass Zostera Marina L. to Water Depth and Light Availability in the Context of Increasing Coastal Water Turbidity: Implications for Conservation and Restoration.” Frontiers in Plant Science 11 (December 2020). https://doi.org/10.3389/fpls.2020.582557. Xu, Shaochun, Yi Zhou, Pengmei Wang, Feng Wang, Xiaomei Zhang, and Ruiting Gu. “Salinity and Temperature Significantly Influence Seed Germination, Seedling Establishment, and Seedling Growth of Eelgrass Zostera Marina L.” PeerJ 4 (November 2016): e2697. https://doi. org/10.7717/peerj.2697. “Zeegras: kennis en weetjes | Ecomare Texel.” Ecomare, n.d. Accessed May 23, 2026. https:// www.ecomare.nl/verdiep/leesvoer/planten/planten-van-het-wad/zeegras/. odesk CFD So&ware | Get Prices & Buy Official CFD.” Accessed July 17, 2026. https://www. autodesk.com/products/cfd/overview. Baggerman, Michelle, Marijke Bruggink, Jeroen van den Eijnde, Jolijn Fiddelaers, Conny Groenewegen, and Tjeerd Veenhoven. Exploring Seagrass for Sustainable Design. 1st ed. ArtEZ Press, 2022. https://artezpress.artez.nl/books/sea-grass/. Beusekom, Justus E. E. van, P. Bot, Jacob Carstensen, et al. Wadden Sea Quality Status Report: Eutrophication. Common Wadden Sea Secretariat, 2017. https://doi.org/10.5281/zenodo.15198149. “Biodegradable EcoSystem Restoration Elements | BESE-Elements.” Bese Products, n.d. Accessed July 17, 2026. https://www.bese-products.com/biodegradable-products/bese-elements/. “Building with Blue Biomass.” Building with Blue Biomass, n.d. Accessed May 6, 2026. https:// buildingblue.eu/. “Bundesanstalt Für Wasserbau (BAW) - Start.” Accessed July 17, 2026. https://www.baw.de/en/ home/home.html. 230
“CMEMS.” Accessed July 17, 2026. https://marine.copernicus.eu/. Dolch, Tobias, Eelke Folmer, M. S. Frederiksen, et al. Wadden Sea Quality Status Report: Seagrass. Common Wadden Sea Secretariat, 2017. https://doi.org/10.5281/zenodo.15209122. Duffy, E., and Nancy Knowlton. “Seagrass and Seagrass Beds | Smithsonian Ocean.” In Smithsonian. 2013. https://ocean.si.edu/ocean-life/plants-algae/seagrass-and-seagrass-beds. “Dutch Wadden: Facts and Figures | Ecomare Texel.” Ecomare, n.d. Accessed May 24, 2026. https://www.ecomare.nl/en/in-depth/reading-material/wadden-sea-area/dutch-wadden-region/?utm_source=chatgpt.com. “European Commission, Official Website - European Commission.” July 17, 2026. https://commission.europa.eu/index_en. “Examples.” Karamba3D, n.d. Accessed July 17, 2026. https://karamba3d.com/learn/examples/. Folmer, Eelke O., Justus E. E. van Beusekom, Tobias Dolch, et al. “Consensus Forecasting of Intertidal Seagrass Habitat in the Wadden Sea.” Journal of Applied Ecology 53, no. 6 (2016): 1800–1813. https://doi.org/10.1111/1365-2664.12681. Food4Rhino. “3D Graphic Statics.” Text. November 25, 2019. https://www.food4rhino.com/en/ app/3d-graphic-statics. Food4Rhino. “Crystallon.” Text. February 3, 2018. https://www.food4rhino.com/en/app/crystallon. Food4Rhino. “Wasp.” Text. September 19, 2017. https://www.food4rhino.com/en/app/wasp. Govers, Laura L., Jannes H. T. Heusinkveld, Max L. E. Gräfnings, Quirin Smeele, and Tjisse van der Heide. “Adaptive Intertidal Seed-Based Seagrass Restoration in the Dutch Wadden Sea.” PLOS ONE 17, no. 2 (2022): e0262845. https://doi.org/10.1371/journal.pone.0262845. “Grasshopper - Algorithmic Modeling for Rhino.” Accessed July 17, 2026. https://www.grasshopper3d.com/. Heide, Tjisse van der, Ralph J. M. Temmink, Greg S. Fivash, et al. “Coastal Restoration Success via Emergent Trait-Mimicry Is Context Dependent.” Biological Conservation 264 (December 2021): 109373. https://doi.org/10.1016/j.biocon.2021.109373. Hendriks, Iris E., Anna Escolano-Moltó, Susana Flecha, Raquel Vaquer-Sunyer, Marlene Wesselmann, and Núria Marbà. “Mediterranean Seagrasses as Carbon Sinks: Methodological and Regional Differences.” Biogeosciences 19, no. 18 (2022): 4619–37. https://doi.org/10.5194/bg19-4619-2022.
231
Horn, Sabine, Marta Coll, Harald Asmus, and Tobias Dolch. “Food Web Models Reveal Potential Ecosystem Effects of Seagrass Recovery in the Northern Wadden Sea.” Restoration Ecology 29, no. S2 (2021): e13328. https://doi.org/10.1111/rec.13328. Katwijk, M. M. van, A. R. Bos, V. N. de Jonge, L. S. A. M. Hanssen, D. C. R. Hermus, and D. J. de Jong. “Guidelines for Seagrass Restoration: Importance of Habitat Selection and Donor Population, Spreading of Risks, and Ecosystem Engineering Effects.” Marine Pollution Bulletin 58, no. 2 (2009): 179–88. https://doi.org/10.1016/j.marpolbul.2008.09.028. Katwijk, Marieke M. van, Justus E. E. van Beusekom, Eelke O. Folmer, Kerstin Kolbe, Dick J. de Jong, and Tobias Dolch. “Seagrass Recovery Trajectories and Recovery Potential in Relation to Nutrient Reduction.” Journal of Applied Ecology 61, no. 8 (2024): 1784–804. https://doi. org/10.1111/1365-2664.14704. “Ladybug Tools | Home Page.” Accessed July 17, 2026. https://www.ladybug.tools/. Loon-Steensma, Jantsje M. van. “Salt Marshes to Adapt the Flood Defences along the Dutch Wadden Sea Coast.” Mitigation and Adaptation Strategies for Global Change 20, no. 6 (2015): 929–48. https://doi.org/10.1007/s11027-015-9640-5.
“Taking Shape | Wadden Sea.” Accessed May 23, 2026. https://www.waddensea-worldheritage. org/taking-shape. Temmink, Ralph J. M., Marjolijn J. A. Christianen, Gregory S. Fivash, et al. “Mimicry of Emergent Traits Amplifies Coastal Restoration Success.” Nature Communications 11, no. 1 (2020): 3668. https://doi.org/10.1038/s41467-020-17438-4. Tuya, Fernando, Francisco Vila, Oscar Bergasa, Maite Zarranz, Fernando Espino, and Rafael R. Robaina. “Artificial Seagrass Leaves Shield Transplanted Seagrass Seedlings and Increase Their Survivorship.” Aquatic Botany 136 (January 2017): 31–34. https://doi.org/10.1016/j. aquabot.2016.09.001. UNESCO World Heritage Centre. “Wadden Sea.” UNESCO World Heritage Centre. Accessed May 23, 2026. https://whc.unesco.org/en/list/1314/. United Nations Environment Programme. “Out of the Blue: The Value of Seagrasses to the Environment and to People.” UNEP, 2020. https://www.unep.org/resources/report/out-blue-value-seagrasses-environment-and-people.
MacDonnell, C., K. Tiling, V. Encomio, et al. “Evaluating a Novel Biodegradable Lattice Structure for Subtropical Seagrass Restoration.” Aquatic Botany 176 (January 2022): 103463. https:// doi.org/10.1016/j.aquabot.2021.103463.
Unsworth, Richard K. F., Len J. McKenzie, Catherine J. Collier, et al. “Global Challenges for Seagrass Conservation.” Ambio 48, no. 8 (2019): 801–15. https://doi.org/10.1007/s13280-0181115-y.
Marine Biobased Building Materials. Nordic Innovation, Arup, Nordic Blue Building Alliance, 2024. https://www.arup.com/insights/marine-biobased-building-materials/.
Valle, Mireia, Marieke M. van Katwijk, Dick J. de Jong, et al. “Comparing the Performance of Species Distribution Models of Zostera Marina: Implications for Conservation.” Journal of Sea Research, Main results from the XVII Iberian Symposium of Marine Biology Studies, vol. 83 (October 2013): 56–64. https://doi.org/10.1016/j.seares.2013.03.002.
Olsen, Jeanine L., Pierre Rouzé, Bram Verhelst, et al. “The Genome of the Seagrass Zostera Marina Reveals Angiosperm Adaptation to the Sea.” Nature 530, no. 7590 (2016): 331–35. https://doi.org/10.1038/nature16548. “One Wadden Sea. One Global Heritage. | Wadden Sea.” Accessed May 23, 2026. https://www. waddensea-worldheritage.org/one-wadden-sea-one-global-heritage. Oost, A. P., Christian Winter, P. Vos, et al. Wadden Sea Quality Status Report: Geomorphology. December 21, 2017. https://doi.org/10.5281/zenodo.15102363. “QGIS.” Accessed July 17, 2026. https://www.qgis.org/. Rehlmeyer, Katrin. “Subtidal Eelgrass in the Dutch Wadden Sea: A First Step toward Restoration.” University of Groningen, 2025. https://doi.org/10.33612/diss.1325231432. “Seagrass Restoration in the Wadden Sea and the Southern Delta.” The Fieldwork Company, n.d. Accessed May 23, 2026. https://fieldworkcompany.nl/en/projecten/seagrass-restorationin-the-wadden-sea-and-the-southern-delta/. 232
Wallacei. “Evolutionary Engine for Grasshopper3D.” Accessed July 17, 2026. https://www. wallacei.com. Waycott, Michelle, Carlos M. Duarte, Tim J. B. Carruthers, et al. “Accelerating Loss of Seagrasses across the Globe Threatens Coastal Ecosystems.” Proceedings of the National Academy of Sciences 106, no. 30 (2009): 12377–81. https://doi.org/10.1073/pnas.0905620106. “Why Seagrass.” Project Seagrass, n.d. Accessed May 24, 2026. https://www.projectseagrass. org/why-seagrass/. “Zeegras: kennis en weetjes | Ecomare Texel.” Ecomare, n.d. Accessed May 23, 2026. https:// www.ecomare.nl/verdiep/leesvoer/planten/planten-van-het-wad/zeegras/.
233
Appendix I
Appendix III
Carbon Fractions used for material carbon estimation
Solution to simulate seawater in water Tank
Appendix IV Karamba custom material (Seagrass composite) - Karamba Loads
Appendix II Surface Treatment
234
235
Appendix V Seagrass bio-composite - Mix Formulation
236
Seagrass bio-composite - Test Results
237
Appendix VI
Marsdeip North Secchi Measurments (2025)
Cellular Automata Field to function weights Fill yellow cells. Positive = wants HIGH of that field. Negative = wants LOW. 0 = ignores. Magnitude = strength (try -2 to 2).
Function to function relationships Fill yellow upper triangle only. Positive = want to be NEAR. Negative = want APART. 0 = neutral. (try -2 to 2).
Appendix VII Marsdeip North Secchi and provisional Kd Analysis
238
Chapter title
239
Appendix VII Tidal water levels
240
Appendix VII CA Custom Code
using System; using System.Collections.Generic; using Rhino; using Rhino.Geometry; public class Script_Instance : GH_ScriptInstance { private void RunScript( List<Point3d> CellPts, List<int> NeighbourIndicesFlat, List<int> NeighbourCountPerCell, List<double> ColumnSupport, List<double> LatticeSolid, List<double> WaterEdge, List<double> LatticeDensity, List<double> FieldWeights, List<double> Relationships, List<double> AreaTargets, double CellSize, double RelationshipWeight, int Mode, ref object State, ref object Info) { // Mode 0 = A: hard caps, distant pairwise swaps. Areas exact. // Mode 1 = B: soft targets, free reassignment. Sizes emerge, relationships shape the plan. // Fields all oriented high = favourable. Field weight sign gives attraction (+) or avoidance (-). // Functions: 1 Seagrass, 2 Research, 3 Ecotourism, 4 Logistic, 5 Utilities. State = null; Info = ""; if (CellPts == null) { Info = "CellPts not connected."; return; } int n = CellPts.Count; if (n == 0) { Info = "CellPts empty."; return; } if (NeighbourIndicesFlat == null || NeighbourCountPerCell == null) { Info = "Neighbour inputs missing."; return; } if (ColumnSupport == null || LatticeSolid == null || WaterEdge == null || LatticeDensity == null) { Info = "A field missing."; return; } if (FieldWeights == null || FieldWeights.Count != 20) { Info = "FieldWeights needs 20."; return; } if (Relationships == null || Relationships.Count != 25) { Info = "Relationships needs 25."; return; } if (AreaTargets == null || AreaTargets.Count != 5) { Info = "AreaTargets needs 5."; return; } if (ColumnSupport.Count != n || LatticeSolid.Count != n || WaterEdge.Count != n || LatticeDensity.Count != n) { Info = "A field length != CellPts."; return; } if (CellSize <= 0.0) { Info = "CellSize must be > 0."; return; } if (NeighbourCountPerCell.Count != n) { Info = "NeighbourCountPerCell != CellPts."; return; } int sumc = 0; for (int k = 0; k < NeighbourCountPerCell.Count; k++) sumc += NeighbourCountPerCell[k]; if (sumc != NeighbourIndicesFlat.Count) { Info = "Neighbour flat/count mismatch."; return; } // neighbour rows List<List<int>> nb = new List<List<int>>(); int cursor = 0; for (int i = 0; i < n; i++) { int c = NeighbourCountPerCell[i]; List<int> row = new List<int>(); for (int k = 0; k < c; k++) { row.Add(NeighbourIndicesFlat[cursor]); cursor++; } nb.Add(row); } double cellArea = CellSize * CellSize; int[] target = new int[6]; for (int f = 1; f <= 5; f++) target[f] = (int)Math.Floor(AreaTargets[f - 1] / cellArea); // field score per cell per function double[,] fieldScore = new double[n, 6]; for (int i = 0; i < n; i++) { double[] fv = new double[4]; fv[0] = ColumnSupport[i]; fv[1] = LatticeSolid[i]; fv[2] = WaterEdge[i]; fv[3] = LatticeDensity[i]; for (int f = 1; f <= 5; f++) { int b = (f - 1) * 4; double s = 0.0; for (int d = 0; d < 4; d++) s += FieldWeights[b + d] * fv[d]; fieldScore[i, f] = s; } } // ---------- PASS 1: field placement (both modes) ---------List<int> cCell = new List<int>(); List<int> cFunc = new List<int>(); List<double> cScore = new List<double>(); for (int i = 0; i < n; i++) for (int f = 1; f <= 5; f++) { cCell.Add(i); cFunc.Add(f); cScore.Add(fieldScore[i, f]); } int m = cScore.Count; int[] order = new int[m]; for (int k = 0; k < m; k++) order[k] = k; Array.Sort(order, delegate(int a, int b) { int c = cScore[b].CompareTo(cScore[a]); if (c != 0) return c; if (cCell[a] != cCell[b]) return cCell[a].CompareTo(cCell[b]); return cFunc[a].CompareTo(cFunc[b]); }); int[] state = new int[n]; int[] count = new int[6]; bool[] taken = new bool[n]; for (int k = 0; k < m; k++) { int idx = order[k]; int ci = cCell[idx]; int f = cFunc[idx]; if (taken[ci]) continue; if (count[f] >= target[f]) continue; state[ci] = f; taken[ci] = true; count[f]++; } int moves = 0; if (Mode == 0)
{
// ---------- MODE A: hard caps, DISTANT pairwise swaps ---------// Swap any two occupied cells of different functions if the total score improves. // Counts preserved, so areas stay exact. Deterministic pairing, i < j. List<int> occ = new List<int>(); for (int i = 0; i < n; i++) if (state[i] != 0) occ.Add(i); int sweeps = 4; for (int sw = 0; sw < sweeps; sw++) { bool any = false; for (int a = 0; a < occ.Count; a++) { for (int b = a + 1; b < occ.Count; b++) { int ia = occ[a], ib = occ[b]; int fa = state[ia], fb = state[ib]; if (fa == fb) continue; // evaluate on a trial copy so neighbour interactions are consistent double before = Total(ia, ib, state, nb, fieldScore, Relationships, RelationshipWeight); state[ia] = fb; state[ib] = fa; double after = Total(ia, ib, state, nb, fieldScore, Relationships, RelationshipWeight); if (after > before) { any = true; moves++; } else { state[ia] = fa; state[ib] = fb; } // revert } } if (!any) break; } } else { // ---------- MODE B: soft targets, free reassignment ---------// Each cell may take any function. A penalty pushes counts toward targets, // but does not forbid exceeding them. Relationships can reshape sizes. int sweeps = 8; double overPenalty = 1.0; // cost per cell above target for (int sw = 0; sw < sweeps; sw++) { bool any = false; for (int i = 0; i < n; i++) { int cur = state[i]; if (cur == 0) continue; double bestScore = double.NegativeInfinity; int bestF = cur; for (int f = 1; f <= 5; f++) { double s = fieldScore[i, f]; double gain = 0.0; for (int k = 0; k < nb[i].Count; k++) { int j = nb[i][k]; int nf = state[j]; if (nf >= 1 && nf <= 5) gain += Relationships[(f - 1) * 5 + (nf - 1)]; } s += RelationshipWeight * gain; // soft target: penalise going further above target int projected = (f == cur) ? count[f] : count[f] + 1; if (projected > target[f]) s -= overPenalty * (projected - target[f]); if (s > bestScore) { bestScore = s; bestF = f; } } if (bestF != cur) { count[cur]--; count[bestF]++; state[i] = bestF; any = true; moves++; } } if (!any) break; } } string[] names = { "", "Seagrass", "Research", "Ecotourism", "Logistic", "Utilities" }; int[] fin = new int[6]; for (int i = 0; i < n; i++) if (state[i] >= 1 && state[i] <= 5) fin[state[i]]++; string rep = (Mode == 0 ? "MODE A swaps " : "MODE B moves ") + moves + " | cells/target "; for (int f = 1; f <= 5; f++) rep += names[f] + " " + fin[f] + "/" + target[f] + " "; Info = rep; State = new List<int>(state); } // combined local score of two cells, including their own neighbourhoods private double Total(int ia, int ib, int[] state, List<List<int>> nb, double[,] fieldScore, List<double> Rel, double relW) { return Local(ia, state, nb, fieldScore, Rel, relW) + Local(ib, state, nb, fieldScore, Rel, relW); } private double Local(int i, int[] state, List<List<int>> nb, double[,] fieldScore, List<double> Rel, double relW) { int f = state[i]; if (f < 1 || f > 5) return 0.0; double s = fieldScore[i, f]; double gain = 0.0; for (int k = 0; k < nb[i].Count; k++) { int j = nb[i][k]; int nf = state[j]; if (nf >= 1 && nf <= 5) gain += Rel[(f - 1) * 5 + (nf - 1)]; } return s + relW * gain; } }
241
Script for Typologies Placement_Arrangement
#region Usings using System; using System.Collections.Generic; using Rhino; using Rhino.Geometry; using Grasshopper; using Grasshopper.Kernel; using Grasshopper.Kernel.Data; #endregion public class Script_Instance : GH_ScriptInstance { private const int PackingTrials = 80; private const int RootTrials = 3; private void RunScript( List<Curve> GlobalVoxelsMap, DataTree<Mesh> FacilityVoxels, DataTree<Curve> OccupiedVoxels, DataTree<Curve> OpenVoxels, int MaxAddedPathCells, int MaxUnsupportedRun, int Seed, ref object PlacedOccupied, ref object PlacedOpen, ref object AddedPathVoxels, ref object LeftoverFacilityVoxels, ref object AllConnected, ref object UsedPathCells) { DataTree<Curve> outOccupied = new DataTree<Curve>(); DataTree<Curve> outOpen = new DataTree<Curve>(); List<Curve> outAdded = new List<Curve>(); DataTree<Curve> outLeftovers = new DataTree<Curve>(); PlacedOccupied = outOccupied; PlacedOpen = outOpen; AddedPathVoxels = outAdded; LeftoverFacilityVoxels = outLeftovers; AllConnected = false; UsedPathCells = 0; if (GlobalVoxelsMap == null || GlobalVoxelsMap.Count == 0) { Error("GlobalVoxelsMap is empty."); return; } if (FacilityVoxels == null || FacilityVoxels.BranchCount == 0) { Error("FacilityVoxels is empty."); return; } if (MaxAddedPathCells < -1) { Error("MaxAddedPathCells must be -1 or greater."); return; } if (MaxUnsupportedRun < -1) { Error("MaxUnsupportedRun must be -1 or greater."); return; } double cellWidth; double cellHeight; double z; double tolerance; List<Point3d> globalCentres; if (!MeasureGrid( GlobalVoxelsMap, out cellWidth, out cellHeight, out z, out tolerance, out globalCentres)) return; double originX = globalCentres[0].X; double originY = globalCentres[0].Y; for (int i = 1; i < globalCentres.Count; i++) { originX = Math.Min(originX, globalCentres[i].X); originY = Math.Min(originY, globalCentres[i].Y); } Dictionary<Key, Curve> globalAt = new Dictionary<Key, Curve>(); HashSet<Key> globalKeys = new HashSet<Key>(); for (int i = 0; i < GlobalVoxelsMap.Count; i++) { Key key; if (!ToWorldKey( globalCentres[i], originX, originY, z, cellWidth, cellHeight, tolerance, out key)) { Error("A GlobalVoxelsMap cell is off the common grid."); return; } if (globalAt.ContainsKey(key)) { Error("GlobalVoxelsMap contains duplicate cells."); return; } globalAt.Add(key, GlobalVoxelsMap[i]); globalKeys.Add(key); } int facilityCount = FacilityVoxels.BranchCount; List<List<Key>> facilityKeyLists = new List<List<Key>>(); List<HashSet<Key>> facilityKeySets = new List<HashSet<Key>>(); List<Dictionary<Key, Curve>> facilityCurves = new List<Dictionary<Key, Curve>>(); HashSet<Key> allFacilityKeys = new HashSet<Key>(); int snappedFacilityCells = 0;
242
int externalFacilityCells = 0; for (int facility = 0; facility < facilityCount; facility++) { List<Mesh> branch = FacilityVoxels.Branch(facility); if (branch == null || branch.Count == 0) { Error("FacilityVoxels branch " + facility + " is empty."); return; } List<Key> orderedKeys = new List<Key>(); HashSet<Key> keySet = new HashSet<Key>(); Dictionary<Key, Curve> curves = new Dictionary<Key, Curve>(); for (int i = 0; i < branch.Count; i++) { Mesh mesh = branch[i]; if (mesh == null) { Error("FacilityVoxels contains a null mesh."); return; } BoundingBox meshBox = mesh.GetBoundingBox(true); Point3d facilityCentre = meshBox.Center; // Facility cells may be flat meshes or extruded display meshes. // Their XY footprint identifies the global map cell; mesh height is irrelevant. facilityCentre.Z = z; Key key = NearestWorldKey( facilityCentre, originX, originY, cellWidth, cellHeight); Point3d snappedCentre = WorldPoint( key, originX, originY, z, cellWidth, cellHeight); if (Math.Abs(facilityCentre.X - snappedCentre.X) > tolerance || Math.Abs(facilityCentre.Y - snappedCentre.Y) > tolerance) snappedFacilityCells++; // Facility cells are existing Wallacei results. They may lie outside // GlobalVoxelsMap, but they do not expand the permitted area for new // typology or path cells. if (!globalAt.ContainsKey(key)) { globalAt.Add( key, CreateGridCellCurve( key, originX, originY, z, cellWidth, cellHeight)); externalFacilityCells++; } if (!allFacilityKeys.Add(key)) { Error("Two facility branches contain the same voxel."); return; } keySet.Add(key); orderedKeys.Add(key); curves.Add(key, globalAt[key]); } facilityKeyLists.Add(orderedKeys); facilityKeySets.Add(keySet); facilityCurves.Add(curves); } if (snappedFacilityCells > 0) { Component.AddRuntimeMessage( GH_RuntimeMessageLevel.Remark, snappedFacilityCells + " FacilityVoxels cells were snapped to the nearest global-grid position."); } if (externalFacilityCells > 0) { Component.AddRuntimeMessage( GH_RuntimeMessageLevel.Remark, externalFacilityCells + " FacilityVoxels cells lie outside GlobalVoxelsMap and were retained."); } Dictionary<string, CatalogueParts> catalogue = new Dictionary<string, CatalogueParts>(); if (!AddCatalogueTree( OccupiedVoxels, false, facilityCount, catalogue)) return; if (!AddCatalogueTree( OpenVoxels, true, facilityCount, catalogue)) return; List<CatalogueParts> catalogueItems = new List<CatalogueParts>(catalogue.Values); catalogueItems.Sort(delegate(CatalogueParts a, CatalogueParts b) { int comparison = a.Facility.CompareTo(b.Facility); if (comparison != 0) return comparison; return a.Type.CompareTo(b.Type); }); List<Template> templates = new List<Template>(); for (int i = 0; i < catalogueItems.Count; i++) { CatalogueParts parts = catalogueItems[i]; bool hasOccupied =
parts.HasOccupied && parts.Occupied != null && parts.Occupied.Count > 0; bool hasOpen = parts.HasOpen && parts.Open != null && parts.Open.Count > 0; if (!hasOccupied && !hasOpen) { Error("Catalogue {" + parts.Facility + ";" + parts.Type + "} contains no voxels."); return; } List<Curve> occupiedBranch = parts.HasOccupied && parts.Occupied != null ? parts.Occupied : new List<Curve>(); List<Curve> openBranch = parts.HasOpen && parts.Open != null ? parts.Open : new List<Curve>(); Template template; if (!ReadTemplate( parts.Facility, parts.Type, occupiedBranch, openBranch, cellWidth, cellHeight, tolerance, out template)) return; template.Index = templates.Count; templates.Add(template);
} List<Candidate> candidates = new List<Candidate>(); List<List<Candidate>> candidatesByFacility = new List<List<Candidate>>(); for (int i = 0; i < facilityCount; i++) candidatesByFacility.Add(new List<Candidate>()); for (int i = 0; i < templates.Count; i++) { List<Candidate> generated = GenerateCandidates( templates[i], facilityKeyLists[templates[i].Facility], facilityKeySets[templates[i].Facility], globalKeys, allFacilityKeys); if (generated.Count == 0) { Component.AddRuntimeMessage( GH_RuntimeMessageLevel.Warning, "Catalogue {" + templates[i].Facility + ";" + templates[i].Type + "} has no legal placement."); } for (int j = 0; j < generated.Count; j++) { candidates.Add(generated[j]); candidatesByFacility[generated[j].Facility].Add(generated[j]); } } for (int facility = 0; facility < facilityCount; facility++) { if (candidatesByFacility[facility].Count == 0) { FillAllLeftovers( facilityKeyLists, facilityCurves, outLeftovers); LeftoverFacilityVoxels = outLeftovers; Error("No valid typology placement exists for facility branch " + facility + "."); return; } } Random random = new Random(Seed); GlobalSolution best = null; int smallestRequiredPath = int.MaxValue; for (int trial = 0; trial < PackingTrials; trial++) { double fillProbability; if (trial < 20) fillProbability = 0.0; else if (trial < 40) fillProbability = 0.25; else if (trial < 60) fillProbability = 0.55; else fillProbability = 0.85; List<Candidate> selected = BuildPacking( candidates, candidatesByFacility, facilityCount, fillProbability, random); if (!RepresentsEveryFacility(selected, facilityCount)) continue; HashSet<Key> routeObstacles = new HashSet<Key>(allFacilityKeys); HashSet<Key> routeSupport = new HashSet<Key>(allFacilityKeys); for (int i = 0; i < selected.Count; i++) { for (int j = 0; j < selected[i].Occupied.Count; j++) { routeObstacles.Add(selected[i].Occupied[j]); routeSupport.Add(selected[i].Occupied[j]); } for (int j = 0; j < selected[i].Open.Count; j++) { routeObstacles.Remove(selected[i].Open[j]); routeSupport.Add(selected[i].Open[j]); } } HashSet<Key> routingDomain = BuildRoutingDomain( globalKeys, allFacilityKeys,
selected); RouteResult bestRoute = null; int roots = Math.Min(RootTrials, selected.Count); HashSet<int> triedRoots = new HashSet<int>(); for (int rootTrial = 0; rootTrial < roots; rootTrial++) { int rootIndex; do { rootIndex = random.Next(selected.Count); } while (!triedRoots.Add(rootIndex) && triedRoots.Count < selected.Count); int rootPortCount = selected[rootIndex].Open.Count > 0 ? selected[rootIndex].Open.Count : selected[rootIndex].AccessOptions.Count; int chosenRootPort = random.Next(rootPortCount); RouteResult route = RouteCirculationInDomain( selected, rootIndex, chosenRootPort, routingDomain, routeObstacles, routeSupport, MaxUnsupportedRun); if (!route.Complete) continue; if (bestRoute == null || route.Added.Count < bestRoute.Added.Count) bestRoute = route; } if (bestRoute == null) continue; smallestRequiredPath = Math.Min( smallestRequiredPath, bestRoute.Added.Count); if (MaxAddedPathCells >= 0 && bestRoute.Added.Count > MaxAddedPathCells) continue; GlobalSolution solution = new GlobalSolution(); solution.Selected = selected; solution.Added = bestRoute.Added; solution.Coverage = CountCoverage(selected); solution.TypeKinds = CountTypeKinds(selected); if (BetterSolution(solution, best)) best = solution;
} if (best == null) { FillAllLeftovers( facilityKeyLists, facilityCurves, outLeftovers); LeftoverFacilityVoxels = outLeftovers; if (smallestRequiredPath != int.MaxValue && MaxAddedPathCells >= 0) { Component.AddRuntimeMessage( GH_RuntimeMessageLevel.Warning, "No tested global placement fits MaxAddedPathCells. " + "The smallest tested circulation used " + smallestRequiredPath + " added cells."); } else { Component.AddRuntimeMessage( GH_RuntimeMessageLevel.Warning, "No connected global placement satisfies MaxUnsupportedRun. " + "Increase it, try another Seed, or revise the catalogue."); } return; } best.Selected.Sort(delegate(Candidate a, Candidate b) { int comparison = a.Facility.CompareTo(b.Facility); if (comparison != 0) return comparison; comparison = a.Type.CompareTo(b.Type); if (comparison != 0) return comparison; comparison = a.MinX.CompareTo(b.MinX); if (comparison != 0) return comparison; return a.MinY.CompareTo(b.MinY); }); Dictionary<string, int> instanceCounts = new Dictionary<string, int>(); HashSet<Key> usedFacility = new HashSet<Key>(); for (int i = 0; i < best.Selected.Count; i++) { Candidate candidate = best.Selected[i]; string id = candidate.Facility + ":" + candidate.Type; int instance = 0; if (instanceCounts.ContainsKey(id)) instance = instanceCounts[id]; instanceCounts[id] = instance + 1; GH_Path path = new GH_Path(candidate.Facility, candidate.Type, instance); outOccupied.EnsurePath(path); outOpen.EnsurePath(path); for (int j = 0; j < candidate.CoveredFacility.Count; j++) usedFacility.Add(candidate.CoveredFacility[j]); for (int j = 0; j < candidate.Occupied.Count; j++) { Key key = candidate.Occupied[j]; if (!globalAt.ContainsKey(key)) { globalAt.Add( key, CreateGridCellCurve( key, originX, originY, z, cellWidth,
243
cellHeight)); } outOccupied.Add(globalAt[key], path);
} for (int j = 0; j < candidate.Open.Count; j++) { Key key = candidate.Open[j]; if (!globalAt.ContainsKey(key)) { globalAt.Add( key, CreateGridCellCurve( key, originX, originY, z, cellWidth, cellHeight)); } outOpen.Add(globalAt[key], path); }
} List<Key> sortedAdded = new List<Key>(best.Added); sortedAdded.Sort(CompareKeys); foreach (Key key in sortedAdded) { if (!globalAt.ContainsKey(key)) { globalAt.Add( key, CreateGridCellCurve( key, originX, originY, z, cellWidth, cellHeight)); } outAdded.Add(globalAt[key]); } for (int facility = 0; facility < facilityCount; facility++) { GH_Path path = new GH_Path(facility); outLeftovers.EnsurePath(path); for (int i = 0; i < facilityKeyLists[facility].Count; i++) { Key key = facilityKeyLists[facility][i]; if (!usedFacility.Contains(key)) outLeftovers.Add(facilityCurves[facility][key], path); } } PlacedOccupied = outOccupied; PlacedOpen = outOpen; AddedPathVoxels = outAdded; LeftoverFacilityVoxels = outLeftovers; AllConnected = true; UsedPathCells = best.Added.Count; int completedOccupiedCells = 0; for (int i = 0; i < best.Selected.Count; i++) completedOccupiedCells += best.Selected[i].AddedOccupied.Count; if (completedOccupiedCells > 0) { Component.AddRuntimeMessage( GH_RuntimeMessageLevel.Remark, completedOccupiedCells + " occupied completion voxels were generated and included in PlacedOccupied."); } } // =================================================== ========= // TEMPLATE READING // =================================================== ========= private bool AddCatalogueTree( DataTree<Curve> tree, bool open, int facilityCount, Dictionary<string, CatalogueParts> catalogue) { if (tree == null) return true; for (int branchIndex = 0; branchIndex < tree.BranchCount; branchIndex++) { GH_Path path = tree.Paths[branchIndex]; int[] indices = path.Indices; if (indices == null || indices.Length < 2) { Error("Catalogue paths must be {facility;typology}."); return false; } int facility = indices[indices.Length - 2]; int type = indices[indices.Length - 1]; if (facility < 0 || facility >= facilityCount) { Error("Catalogue path " + path + " refers to a missing facility branch."); return false; } string id = facility + ":" + type; CatalogueParts parts; if (!catalogue.TryGetValue(id, out parts)) { parts = new CatalogueParts(); parts.Facility = facility; parts.Type = type; catalogue.Add(id, parts); }
244
List<Curve> curves = tree.Branch(branchIndex); if (open) { if (parts.HasOpen) { Error("OpenVoxels contains duplicate catalogue path {" + facility + ";" + type + "}."); return false; } parts.HasOpen = true; parts.Open = curves == null ? new List<Curve>() : new List<Curve>(curves); } else { if (parts.HasOccupied) { Error("OccupiedVoxels contains duplicate catalogue path {" + facility + ";" + type + "}."); return false; } parts.HasOccupied = true; parts.Occupied = curves == null ? new List<Curve>() : new List<Curve>(curves); }
} return true; } private bool ReadTemplate( int facility, int type, List<Curve> occupiedCurves, List<Curve> openCurves, double cellWidth, double cellHeight, double tolerance, out Template template) { template = new Template(); template.Facility = facility; template.Type = type; int occupiedCount = occupiedCurves == null ? 0 : occupiedCurves.Count; int openCount = openCurves == null ? 0 : openCurves.Count; if (occupiedCount == 0 && openCount == 0) { Error("Catalogue {" + facility + ";" + type + "} contains no voxels."); return false; } List<Curve> all = new List<Curve>(); if (occupiedCurves != null) all.AddRange(occupiedCurves); all.AddRange(openCurves); double localOriginX = double.MaxValue; double localOriginY = double.MaxValue; double localZ = all[0].GetBoundingBox(true).Center.Z; for (int i = 0; i < all.Count; i++) { Curve curve = all[i]; if (curve == null || !curve.IsClosed) { Error("Catalogue inputs must contain closed curves."); return false; } BoundingBox box = curve.GetBoundingBox(true); double width = box.Max.X - box.Min.X; double height = box.Max.Y - box.Min.Y; if (Math.Abs(width - cellWidth) > tolerance || Math.Abs(height - cellHeight) > tolerance || Math.Abs(box.Center.Z - localZ) > tolerance) { Error("Catalogue voxels must match the GlobalVoxelsMap cell size and plane."); return false; } localOriginX = Math.Min(localOriginX, box.Center.X); localOriginY = Math.Min(localOriginY, box.Center.Y); } HashSet<Key> used = new HashSet<Key>(); int snappedCells = 0; for (int role = 0; role < 2; role++) { List<Curve> curves = role == 0 ? occupiedCurves : openCurves; if (curves == null) continue; for (int i = 0; i < curves.Count; i++) { Point3d centre = curves[i].GetBoundingBox(true).Center; int x = (int) Math.Round( (centre.X - localOriginX) / cellWidth, MidpointRounding.AwayFromZero); int y = (int) Math.Round( (centre.Y - localOriginY) / cellHeight, MidpointRounding.AwayFromZero); if (Math.Abs(centre.X - (localOriginX + x * cellWidth)) > tolerance || Math.Abs(centre.Y - (localOriginY + y * cellHeight)) > tolerance) snappedCells++; Key key = new Key(x, y); if (!used.Add(key)) { Error("A catalogue voxel is duplicated or classified twice."); return false; } template.Cells.Add(new TemplateCell(key, role == 1)); } } if (snappedCells > 0) { Component.AddRuntimeMessage( GH_RuntimeMessageLevel.Remark, "Catalogue {" + facility + ";" + type + "}: " +
snappedCells + " voxel centres were snapped to the nearest local-grid position."); } if (!ConnectedShape(template.Cells)) { Error("Catalogue {" + facility + ";" + type + "} is not one connected shape."); return false; } template.Variants = CreateVariants(template.Cells); return true;
} private List<TemplateVariant> CreateVariants(List<TemplateCell> cells) { List<TemplateVariant> variants = new List<TemplateVariant>(); HashSet<string> signatures = new HashSet<string>(); for (int mirror = 0; mirror < 2; mirror++) { for (int rotation = 0; rotation < 4; rotation++) { List<TemplateCell> rotated = new List<TemplateCell>(); int minX = int.MaxValue; int minY = int.MaxValue; for (int i = 0; i < cells.Count; i++) { Key source = cells[i].Position; if (mirror == 1) source = new Key(-source.X, source.Y); Key key = Rotate(source, rotation); minX = Math.Min(minX, key.X); minY = Math.Min(minY, key.Y); rotated.Add(new TemplateCell(key, cells[i].Open)); } TemplateVariant variant = new TemplateVariant(); for (int i = 0; i < rotated.Count; i++) { Key normalized = new Key( rotated[i].Position.X - minX, rotated[i].Position.Y - minY); TemplateCell cell = new TemplateCell(normalized, rotated[i].Open); variant.Cells.Add(cell); if (cell.Open) variant.Open.Add(normalized); else variant.Occupied.Add(normalized); } string signature = VariantSignature(variant); if (signatures.Add(signature)) variants.Add(variant); } } return variants; } // =================================================== ========= // PLACEMENT CANDIDATES // =================================================== ========= private List<Candidate> GenerateCandidates( Template template, List<Key> facilityKeys, HashSet<Key> facilitySet, HashSet<Key> globalKeys, HashSet<Key> allFacilityKeys) { List<Candidate> output = new List<Candidate>(); HashSet<string> seen = new HashSet<string>(); for (int variantIndex = 0; variantIndex < template.Variants.Count; variantIndex++) { TemplateVariant variant = template.Variants[variantIndex]; HashSet<Key> anchors = new HashSet<Key>(); for (int i = 0; i < facilityKeys.Count; i++) { for (int j = 0; j < variant.Cells.Count; j++) { anchors.Add(new Key( facilityKeys[i].X - variant.Cells[j].Position.X, facilityKeys[i].Y - variant.Cells[j].Position.Y)); } } foreach (Key anchor in anchors) { Candidate candidate = new Candidate(); candidate.TemplateIndex = template.Index; candidate.Facility = template.Facility; candidate.Type = template.Type; candidate.MinX = int.MaxValue; candidate.MinY = int.MaxValue; bool valid = true; int missingOccupied = 0; for (int i = 0; i < variant.Occupied.Count; i++) { Key world = new Key( anchor.X + variant.Occupied[i].X, anchor.Y + variant.Occupied[i].Y); if (facilitySet.Contains(world)) { candidate.CoveredFacility.Add(world); } else { missingOccupied++; if (missingOccupied > 1 || allFacilityKeys.Contains(world)) { valid = false; break; } candidate.AddedOccupied.Add(world); }
candidate.Occupied.Add(world); candidate.All.Add(world); candidate.MinX = Math.Min(candidate.MinX, world.X); candidate.MinY = Math.Min(candidate.MinY, world.Y);
} if (!valid) continue; for (int i = 0; i < variant.Open.Count; i++) { Key world = new Key( anchor.X + variant.Open[i].X, anchor.Y + variant.Open[i].Y); if (allFacilityKeys.Contains(world) && !facilitySet.Contains(world)) { valid = false; break; } candidate.Open.Add(world); if (facilitySet.Contains(world)) candidate.CoveredFacility.Add(world); candidate.All.Add(world); candidate.MinX = Math.Min(candidate.MinX, world.X); candidate.MinY = Math.Min(candidate.MinY, world.Y); } if (!valid || candidate.CoveredFacility.Count == 0) continue; if (candidate.Open.Count == 0) { HashSet<Key> access = new HashSet<Key>(); HashSet<Key> footprint = new HashSet<Key>(candidate.All); int[,] dirs = { { 1, 0 }, {-1, 0 }, { 0, 1 }, { 0,-1 } }; for (int i = 0; i < candidate.Occupied.Count; i++) { Key occupied = candidate.Occupied[i]; for (int d = 0; d < 4; d++) { Key option = new Key( occupied.X + dirs[d, 0], occupied.Y + dirs[d, 1]); if (allFacilityKeys.Contains(option) || footprint.Contains(option)) continue; access.Add(option); } } candidate.AccessOptions.AddRange(access); candidate.AccessOptions.Sort(delegate(Key a, Key b) { return CompareKeys(a, b); }); if (candidate.AccessOptions.Count == 0) continue; } string signature = CandidateSignature(candidate); if (seen.Add(signature)) output.Add(candidate);
} } return output;
} // =================================================== ========= // RANDOMISED GLOBAL PACKING // =================================================== ========= private List<Candidate> BuildPacking( List<Candidate> allCandidates, List<List<Candidate>> candidatesByFacility, int facilityCount, double fillProbability, Random random) { List<Candidate> selected = new List<Candidate>(); HashSet<Key> used = new HashSet<Key>(); HashSet<string> selectedIds = new HashSet<string>(); Dictionary<string, int> typeCounts = new Dictionary<string, int>(); List<int> facilityOrder = new List<int>(); for (int i = 0; i < facilityCount; i++) facilityOrder.Add(i); ShuffleIntegers(facilityOrder, random); // First reserve at least one valid typology for every facility. for (int f = 0; f < facilityOrder.Count; f++) { int facility = facilityOrder[f]; Candidate choice = null; int bestRank = int.MinValue; for (int i = 0; i < candidatesByFacility[facility].Count; i++) { Candidate candidate = candidatesByFacility[facility][i]; if (Conflicts(candidate, used)) continue; // Retain a coverage preference while allowing different placements to // be tested across trials. Connectivity cannot be known at this stage. int rank = candidate.CoveredFacility.Count * 10000 + random.Next(100000); if (rank > bestRank) { bestRank = rank; choice = candidate; } } if (choice == null) return selected; SelectCandidate(choice, selected, used, selectedIds, typeCounts); }
245
List<CandidateOrder> ordered = new List<CandidateOrder>(); for (int i = 0; i < allCandidates.Count; i++) { CandidateOrder item = new CandidateOrder(); item.Candidate = allCandidates[i]; item.RandomRank = random.Next(); ordered.Add(item); } ordered.Sort(delegate(CandidateOrder a, CandidateOrder b) { int comparison = b.Candidate.CoveredFacility.Count.CompareTo( a.Candidate.CoveredFacility.Count); if (comparison != 0) return comparison; return a.RandomRank.CompareTo(b.RandomRank); }); for (int i = 0; i < ordered.Count; i++) { Candidate candidate = ordered[i].Candidate; string candidateId = CandidateSignature(candidate); if (selectedIds.Contains(candidateId) || Conflicts(candidate, used)) continue; string typeId = candidate.Facility + ":" + candidate.Type; bool newType = !typeCounts.ContainsKey(typeId); // A zero-fill trial contains only the five mandatory reservations. // Later trials progressively test additional types and instances. if (fillProbability <= 0.0) continue; double selectionChance = newType ? Math.Min(1.0, fillProbability * 1.25) : fillProbability; if (random.NextDouble() > selectionChance) continue; SelectCandidate(candidate, selected, used, selectedIds, typeCounts); } return selected;
} private void SelectCandidate( Candidate candidate, List<Candidate> selected, HashSet<Key> used, HashSet<string> selectedIds, Dictionary<string, int> typeCounts) { selected.Add(candidate); selectedIds.Add(CandidateSignature(candidate)); for (int i = 0; i < candidate.All.Count; i++) used.Add(candidate.All[i]); string typeId = candidate.Facility + ":" + candidate.Type; if (!typeCounts.ContainsKey(typeId)) typeCounts[typeId] = 0; typeCounts[typeId]++; } // =================================================== ========= // GLOBAL CIRCULATION ROUTING // =================================================== ========= private HashSet<Key> BuildRoutingDomain( HashSet<Key> globalKeys, HashSet<Key> facilityKeys, List<Candidate> selected) { int minX = int.MaxValue; int minY = int.MaxValue; int maxX = int.MinValue; int maxY = int.MinValue; foreach (Key key in globalKeys) ExpandBounds(key, ref minX, ref minY, ref maxX, ref maxY); foreach (Key key in facilityKeys) ExpandBounds(key, ref minX, ref minY, ref maxX, ref maxY); for (int i = 0; i < selected.Count; i++) { for (int j = 0; j < selected[i].All.Count; j++) ExpandBounds( selected[i].All[j], ref minX, ref minY, ref maxX, ref maxY); for (int j = 0; j < selected[i].AccessOptions.Count; j++) ExpandBounds( selected[i].AccessOptions[j], ref minX, ref minY, ref maxX, ref maxY); } const int margin = 2; minX -= margin; minY -= margin; maxX += margin; maxY += margin; HashSet<Key> domain = new HashSet<Key>(); for (int x = minX; x <= maxX; x++) { for (int y = minY; y <= maxY; y++) domain.Add(new Key(x, y)); } return domain; } private void ExpandBounds( Key key, ref int minX, ref int minY, ref int maxX, ref int maxY) { minX = Math.Min(minX, key.X); minY = Math.Min(minY, key.Y);
246
Chapter title
maxX = Math.Max(maxX, key.X); maxY = Math.Max(maxY, key.Y); } private RouteResult RouteCirculationInDomain( List<Candidate> selected, int rootIndex, int rootOpenIndex, HashSet<Key> globalKeys, HashSet<Key> facilityObstacles, HashSet<Key> supportKeys, int maxUnsupportedRun) { RouteResult result = new RouteResult(); result.Added = new HashSet<Key>(); if (selected.Count == 0) return result; HashSet<Key> allOpen = new HashSet<Key>(); Dictionary<Key, List<int>> targetOwners = new Dictionary<Key, List<int>>(); for (int i = 0; i < selected.Count; i++) { for (int j = 0; j < selected[i].Open.Count; j++) { Key key = selected[i].Open[j]; allOpen.Add(key); AddTargetOwner(targetOwners, key, i); } if (selected[i].Open.Count == 0) { for (int j = 0; j < selected[i].AccessOptions.Count; j++) AddTargetOwner(targetOwners, selected[i].AccessOptions[j], i); } } HashSet<Key> network = new HashSet<Key>(); Key root; if (selected[rootIndex].Open.Count > 0) { root = selected[rootIndex].Open[rootOpenIndex]; } else { root = selected[rootIndex].AccessOptions[rootOpenIndex]; if (!allOpen.Contains(root)) result.Added.Add(root); } network.Add(root); ExpandOpenClosure(network, allOpen); bool[] connected = new bool[selected.Count]; UpdateConnectedCandidates(connected, selected, network); while (CountTrue(connected) < connected.Length) { List<Key> route; if (!FindCheapestRoute( network, allOpen, targetOwners, connected, globalKeys, facilityObstacles, supportKeys, maxUnsupportedRun, out route)) { result.Complete = false; return result; } for (int i = 0; i < route.Count; i++) { Key key = route[i]; network.Add(key); if (!allOpen.Contains(key)) result.Added.Add(key); } ExpandOpenClosure(network, allOpen); UpdateConnectedCandidates(connected, selected, network); } result.Complete = true; return result; } private bool FindCheapestRoute( HashSet<Key> network, HashSet<Key> allOpen, Dictionary<Key, List<int>> targetOwners, bool[] connected, HashSet<Key> globalKeys, HashSet<Key> facilityObstacles, HashSet<Key> supportKeys, int maxUnsupportedRun, out List<Key> route) { route = new List<Key>(); LinkedList<RouteState> deque = new LinkedList<RouteState>(); Dictionary<RouteState, int> distance = new Dictionary<RouteState, int>(); Dictionary<RouteState, RouteState> previous = new Dictionary<RouteState, RouteState>(); foreach (Key start in network) { bool supportedStart = allOpen.Contains(start) || HasAdjacentSupport(start, supportKeys); if (maxUnsupportedRun >= 0 && !supportedStart) continue; RouteState state = new RouteState(start, 0); distance[state] = 0; previous[state] = state; deque.AddLast(state); } if (deque.Count == 0) return false; int[,] dirs = {
{ 1, 0 }, {-1, 0 }, { 0, 1 }, { 0,-1 } }; bool found = false; RouteState foundState = new RouteState(); while (deque.Count > 0) { RouteState currentState = deque.First.Value; deque.RemoveFirst(); Key current = currentState.Position; List<int> owners; if (targetOwners.TryGetValue(current, out owners) && ContainsUnconnectedOwner(owners, connected)) { found = true; foundState = currentState; break; } int currentDistance = distance[currentState]; for (int d = 0; d < 4; d++) { Key next = new Key( current.X + dirs[d, 0], current.Y + dirs[d, 1]); // Ordinary circulation remains inside the bounded repair domain. // Selected open typology cells are also traversable endpoints. if ((!globalKeys.Contains(next) && !allOpen.Contains(next)) || facilityObstacles.Contains(next)) continue; bool supportedNext = allOpen.Contains(next) || HasAdjacentSupport(next, supportKeys); int nextRun; if (maxUnsupportedRun < 0 || supportedNext) nextRun = 0; else nextRun = currentState.UnsupportedRun + 1; if (maxUnsupportedRun >= 0 && nextRun > maxUnsupportedRun) continue; int stepCost = allOpen.Contains(next) || network.Contains(next) ? 0 : 1; int nextDistance = currentDistance + stepCost; RouteState nextState = new RouteState(next, nextRun); int oldDistance; if (distance.TryGetValue(nextState, out oldDistance) && oldDistance <= nextDistance) continue; distance[nextState] = nextDistance; previous[nextState] = currentState; if (stepCost == 0) deque.AddFirst(nextState); else deque.AddLast(nextState); } } if (!found) return false; RouteState walker = foundState; while (true) { route.Add(walker.Position); RouteState prior = previous[walker]; if (prior.Equals(walker)) break; walker = prior; } route.Reverse(); return true;
} private bool HasAdjacentSupport( Key key, HashSet<Key> supportKeys) { return supportKeys.Contains(new Key(key.X + 1, key.Y)) || supportKeys.Contains(new Key(key.X - 1, key.Y)) || supportKeys.Contains(new Key(key.X, key.Y + 1)) || supportKeys.Contains(new Key(key.X, key.Y - 1)); } private void ExpandOpenClosure( HashSet<Key> network, HashSet<Key> allOpen) { bool changed = true; int[,] dirs = { { 1, 0 }, {-1, 0 }, { 0, 1 }, { 0,-1 } }; while (changed) { changed = false; List<Key> toAdd = new List<Key>(); foreach (Key open in allOpen) { if (network.Contains(open)) continue; for (int d = 0; d < 4; d++) { Key neighbour = new Key( open.X + dirs[d, 0], open.Y + dirs[d, 1]); if (network.Contains(neighbour)) { toAdd.Add(open); break; } } }
for (int i = 0; i < toAdd.Count; i++) { if (network.Add(toAdd[i])) changed = true; }
} } // =================================================== ========= // DATA TYPES // =================================================== ========= private struct RouteState : IEquatable<RouteState> { public Key Position; public int UnsupportedRun; public RouteState(Key position, int unsupportedRun) { Position = position; UnsupportedRun = unsupportedRun; } public bool Equals(RouteState other) { return Position.Equals(other.Position) && UnsupportedRun == other.UnsupportedRun; } public override bool Equals(object obj) { if (!(obj is RouteState)) return false; return Equals((RouteState) obj); } public override int GetHashCode() { unchecked { return Position.GetHashCode() * 397 ^ UnsupportedRun; } } } private struct Key : IEquatable<Key> { public int X; public int Y; public Key(int x, int y) { X = x; Y = y; } public bool Equals(Key other) { return X == other.X && Y == other.Y; } public override bool Equals(object obj) { if (!(obj is Key)) return false; return Equals((Key) obj); } public override int GetHashCode() { unchecked { return X * 73856093 ^ Y * 19349663; } } } private class TemplateCell { public Key Position; public bool Open; public TemplateCell(Key position, bool open) { Position = position; Open = open; } } private class CatalogueParts { public int Facility; public int Type; public bool HasOccupied; public bool HasOpen; public List<Curve> Occupied; public List<Curve> Open; } private class TemplateVariant { public List<TemplateCell> Cells = new List<TemplateCell>(); public List<Key> Occupied = new List<Key>(); public List<Key> Open = new List<Key>(); } private class Template { public int Index; public int Facility; public int Type; public List<TemplateCell> Cells = new List<TemplateCell>(); public List<TemplateVariant> Variants = new List<TemplateVariant>(); } private class Candidate { public int TemplateIndex; public int Facility; public int Type; public int MinX; public int MinY; public string Signature; public List<Key> Occupied = new List<Key>(); public List<Key> AddedOccupied = new List<Key>();
Chapter title
247
public List<Key> Open = new List<Key>(); public List<Key> AccessOptions = new List<Key>(); public List<Key> CoveredFacility = new List<Key>(); public List<Key> All = new List<Key>();
} private class CandidateOrder { public Candidate Candidate; public int RandomRank; } private class RouteResult { public bool Complete; public HashSet<Key> Added; } private class GlobalSolution { public List<Candidate> Selected; public HashSet<Key> Added; public int Coverage; public int TypeKinds; } // =================================================== ========= // VALIDATION AND SMALL HELPERS // =================================================== ========= private bool MeasureGrid( List<Curve> curves, out double width, out double height, out double z, out double tolerance, out List<Point3d> centres) { width = 0.0; height = 0.0; z = 0.0; tolerance = 0.001; centres = new List<Point3d>(); List<double> widths = new List<double>(); List<double> heights = new List<double>(); for (int i = 0; i < curves.Count; i++) { Curve curve = curves[i]; if (curve == null || !curve.IsClosed) { Error("GlobalVoxelsMap contains a null or open curve."); return false; } BoundingBox box = curve.GetBoundingBox(true); widths.Add(box.Max.X - box.Min.X); heights.Add(box.Max.Y - box.Min.Y); centres.Add(box.Center); } List<double> sortedWidths = new List<double>(widths); List<double> sortedHeights = new List<double>(heights); sortedWidths.Sort(); sortedHeights.Sort(); width = Median(sortedWidths); height = Median(sortedHeights); z = centres[0].Z; if (RhinoDoc.ActiveDoc != null) tolerance = RhinoDoc.ActiveDoc.ModelAbsoluteTolerance; tolerance = Math.Max( tolerance * 10.0, Math.Min(width, height) * 0.0001); if (width <= 0.0 || height <= 0.0) { Error("GlobalVoxelsMap has invalid cell dimensions."); return false; } for (int i = 0; i < curves.Count; i++) { if (Math.Abs(widths[i] - width) > tolerance || Math.Abs(heights[i] - height) > tolerance || Math.Abs(centres[i].Z - z) > tolerance) { Error("GlobalVoxelsMap cells must have equal dimensions on one XY plane."); return false; } } return true; } private bool ToWorldKey( Point3d point, double originX, double originY, double z, double width, double height, double tolerance, out Key key) { int x = (int) Math.Round((point.X - originX) / width); int y = (int) Math.Round((point.Y - originY) / height); key = new Key(x, y); return Math.Abs(point.X - (originX + x * width)) <= tolerance && Math.Abs(point.Y - (originY + y * height)) <= tolerance && Math.Abs(point.Z - z) <= tolerance; } private Key NearestWorldKey( Point3d point, double originX, double originY, double width, double height) { int x = (int) Math.Round(
248
(point.X - originX) / width, MidpointRounding.AwayFromZero); int y = (int) Math.Round( (point.Y - originY) / height, MidpointRounding.AwayFromZero); return new Key(x, y);
} private Point3d WorldPoint( Key key, double originX, double originY, double z, double width, double height) { return new Point3d( originX + key.X * width, originY + key.Y * height, z); } private Curve CreateGridCellCurve( Key key, double originX, double originY, double z, double width, double height) { Point3d centre = WorldPoint( key, originX, originY, z, width, height); Plane plane = new Plane(centre, Vector3d.ZAxis); Rectangle3d rectangle = new Rectangle3d( plane, new Interval(-0.5 * width, 0.5 * width), new Interval(-0.5 * height, 0.5 * height)); return rectangle.ToNurbsCurve(); } private bool ConnectedShape(List<TemplateCell> cells) { HashSet<Key> all = new HashSet<Key>(); for (int i = 0; i < cells.Count; i++) all.Add(cells[i].Position); HashSet<Key> seen = new HashSet<Key>(); Queue<Key> queue = new Queue<Key>(); queue.Enqueue(cells[0].Position); seen.Add(cells[0].Position); int[,] dirs = { { 1, 0 }, {-1, 0 }, { 0, 1 }, { 0,-1 } }; while (queue.Count > 0) { Key current = queue.Dequeue(); for (int d = 0; d < 4; d++) { Key next = new Key( current.X + dirs[d, 0], current.Y + dirs[d, 1]); if (all.Contains(next) && seen.Add(next)) queue.Enqueue(next); } } return seen.Count == cells.Count; } private Key Rotate(Key key, int rotation) { if (rotation == 1) return new Key(-key.Y, key.X); if (rotation == 2) return new Key(-key.X, -key.Y); if (rotation == 3) return new Key(key.Y, -key.X); return key; } private string VariantSignature(TemplateVariant variant) { List<string> parts = new List<string>(); for (int i = 0; i < variant.Cells.Count; i++) { TemplateCell cell = variant.Cells[i]; parts.Add( cell.Position.X + "," + cell.Position.Y + "," + (cell.Open ? "O" : "X")); } parts.Sort(); return string.Join(";", parts.ToArray()); } private string CandidateSignature(Candidate candidate) { if (!string.IsNullOrEmpty(candidate.Signature)) return candidate.Signature; List<string> parts = new List<string>(); for (int i = 0; i < candidate.Occupied.Count; i++) parts.Add(candidate.Occupied[i].X + "," + candidate.Occupied[i].Y + ",X"); for (int i = 0; i < candidate.Open.Count; i++) parts.Add(candidate.Open[i].X + "," + candidate.Open[i].Y + ",O"); parts.Sort(); candidate.Signature = candidate.Facility + ":" + candidate.Type + ":" + string.Join(";", parts.ToArray()); return candidate.Signature; }
private bool Conflicts(Candidate candidate, HashSet<Key> used) { for (int i = 0; i < candidate.All.Count; i++) { if (used.Contains(candidate.All[i])) return true; } return false; } private bool RepresentsEveryFacility( List<Candidate> selected, int facilityCount) { bool[] represented = new bool[facilityCount]; for (int i = 0; i < selected.Count; i++) represented[selected[i].Facility] = true; return CountTrue(represented) == facilityCount; } private void UpdateConnectedCandidates( bool[] connected, List<Candidate> selected, HashSet<Key> network) { for (int i = 0; i < selected.Count; i++) { if (connected[i]) continue; List<Key> ports = selected[i].Open.Count > 0 ? selected[i].Open : selected[i].AccessOptions; for (int j = 0; j < ports.Count; j++) { if (network.Contains(ports[j])) { connected[i] = true; break; } } } } private void AddTargetOwner( Dictionary<Key, List<int>> targetOwners, Key key, int owner) { List<int> owners; if (!targetOwners.TryGetValue(key, out owners)) { owners = new List<int>(); targetOwners.Add(key, owners); } if (!owners.Contains(owner)) owners.Add(owner); } private bool ContainsUnconnectedOwner( List<int> owners, bool[] connected) { for (int i = 0; i < owners.Count; i++) { if (!connected[owners[i]]) return true; } return false; } private int CountTrue(bool[] values) { int count = 0; for (int i = 0; i < values.Length; i++) { if (values[i]) count++; } return count; } private int CountCoverage(List<Candidate> selected) { int coverage = 0; for (int i = 0; i < selected.Count; i++) coverage += selected[i].CoveredFacility.Count; return coverage; } private int CountTypeKinds(List<Candidate> selected) { HashSet<string> kinds = new HashSet<string>(); for (int i = 0; i < selected.Count; i++) kinds.Add(selected[i].Facility + ":" + selected[i].Type); return kinds.Count; } private bool BetterSolution(GlobalSolution candidate, GlobalSolution current) { if (current == null) return true; if (candidate.Coverage != current.Coverage) return candidate.Coverage > current.Coverage; if (candidate.TypeKinds != current.TypeKinds) return candidate.TypeKinds > current.TypeKinds; if (candidate.Added.Count != current.Added.Count) return candidate.Added.Count < current.Added.Count; return candidate.Selected.Count > current.Selected.Count; } private void FillAllLeftovers( List<List<Key>> facilityKeys, List<Dictionary<Key, Curve>> facilityCurves, DataTree<Curve> output) { for (int facility = 0; facility < facilityKeys.Count; facility++) { GH_Path path = new GH_Path(facility); output.EnsurePath(path); for (int i = 0; i < facilityKeys[facility].Count; i++) {
}
}
Key key = facilityKeys[facility][i]; output.Add(facilityCurves[facility][key], path);
} } private void ShuffleIntegers(List<int> values, Random random) { for (int i = values.Count - 1; i > 0; i--) { int j = random.Next(i + 1); int temporary = values[i]; values[i] = values[j]; values[j] = temporary; } } private int CompareKeys(Key a, Key b) { int comparison = a.X.CompareTo(b.X); if (comparison != 0) return comparison; return a.Y.CompareTo(b.Y); } private double Median(List<double> values) { int middle = values.Count / 2; if (values.Count % 2 == 1) return values[middle]; return (values[middle - 1] + values[middle]) * 0.5; } private void Error(string message) { Component.AddRuntimeMessage(GH_RuntimeMessageLevel.Error, message); }
249
List of Figures
Fig 1: Global site plan of the Wadden Sea- Author’s own, generated in QGIS. 17 Fig 2: Wadden sea 39 individual tidal basins— Author’s own. 18 Fig 3: Sediment substrate map - Author’s own, generated in QGIS. 20 Fig 4: Depth and exposure zones map— Author’s own, generated in QGIS.21 Fig 5: Geomorphic changes — Marencic, Harald, and Jaap de Vlas. Quality Status Report 2009. Wadden Sea Ecosystem No. 25. Common Wadden Sea Secretariat, 2009. https://doi.org/10.5281/ZENODO.8288560.22 Fig 6: Tidal Dyanmics diagram— Author’s own. 23 Fig 7: Tidal profile — Author’s own. 24 Fig 8: Marine traffic; Image & radar vessel detection(left) — Global Fishing Watch. “Sustainability through Transparency.” 2025. https://globalfishingwatch.org/. 26 Fig 9: Shellfish dredging and oil/gas sites(right) — The Aquaculture Advisory Council. “Marine Action Plan, Nature Restoration Law and Mapping Shellfish Dredging.” 2024.26 Fig 10: Anthropogenic Pressure — Jarvis, Hayley. “Sewage in the Sea.” Brunel University of London, 2022. / Meer, Ursula. “New Navigation Rules in the North Sea.” BOOTE, 2023. / “The Netherlands vs the Sea.” CNN, accessed 2026. / Waite, Catherine. “Restoring Landscapes.” The Applied Ecologist, 2024. / Wiersma, A. P., et al. “Geomorphology.” Quality Status Report 2009.26 Fig 11: Seagrass Keystone Habitat — Author’s own.28 Fig 12: Coastal Risk Management — Author’s own, generated in QGIS. 31 Fig 13: Map of the existing seagrass meadows, updated 2025— Author’s own. 33 Fig 15: Early twentieth century Netherlands seagrass Industry— “Seagrass Fishing and Mowing, South of Wieringen, 1925.” Courtesy of Beeldbank Historische Vereniging Wieringen te Hippolytushoef. 34 Fig 14: Lost seagrass economy— Author’s own. 34 Fig 16: Anthropogenic factors contributing to seagrass decline — Author’s own 36 Fig 17: Decline of seagrass worldwide — Duarte, C. M., et al. “Conserving Seagrass Ecosystems to Meet Global Biodiversity and Climate Goals.” Nature Reviews Biodiversity 1 (2025): 150–65. https://doi.org/10.1038/s44358-025-00028-x. 37 Fig 18: Seagrass species and characteristics — Author’s own. 39 Fig 19: Decline of seagrass in Wadden Sea — Author’s own.42 Fig 20: Area recovery rate within a century — Van Katwijk, Marieke M., et al. “Seagrass Recovery Trajectories and Recovery Potential in Relation to Nutrient Reduction.” Journal of Applied Ecology 61, no. 9 (2024): 1784–1804. https://doi.org/10.1111/1365-2664.14704.44 Fig 21: Seagrass Restoration techniques — Author’s own. 47 Fig 22: Proposed material loop— Author’s own. 49 Fig 23: Carbon emission Chart author’s own; data: UNEP. Global Status Report for Buildings and Construction 2025–2026. Nairobi: United Nations, 2026. https://doi.org/10.59117/20.500.11822/49531.. 51 Fig 24: Tokyo Bay images “A Plan for Tokyo: 1960.” Urban Design Case Study Archive, Harvard GSD. Accessed Sept 11, 2026. https://udcsa.gsd. harvard.edu/projects/64wW. 52 Fig 25: Growing island -- Self-Assembly Lab, MIT. “Growing Islands.” Accessed Sept 11, 2026. https://selfassemblylab.mit.edu/growingislands. 54 Fig 26: CITA, Bio-polymer - Nicholas, Paul, et al. “Additive Manufacturing with Graded Bio-Polymer Composites.” In Robotic Fabrication in Architecture, Art and Design 2024, ed. Maria Yablonina et al., 65–80. Cham: Springer, 2026. https://doi.org/10.1007/978-3-032-22607-5_5. 57 Fig 27: Existing vs Proposed material loop — Author’s own 58 Fig 28: Methodological framework — Author’s own 62 Fig 29: Site selection logic diagram — Author’s own 63 Fig 30: Material research Logic Diagram— Author’s own 64 Fig 31: Underwater lattice logic diagram— Author’s own 65 Fig 32: Column and Architecture logic diagram— Author’s own 67 Fig 33: Research development — Author’s own 70 Fig 34: Site selection logic diagram— Author’s own 72 Fig 36: The five main factors affecting seagrass growth and their weights— Author’s own 74 Fig 35: Designated maps and Table of optimal values for seagrass growth— Author’s own 74 Fig 37: Seagrass growth suitability map— Author’s own 76 Fig 38: Machine learning process diagram— Author’s own 79 Fig 39: Exploratory map of potential seagrass locations— Author’s own 80 Fig 40: Combined results— Author’s own 82 Fig 41: Bed shear in zones. Darker colors indicate higher values— Author’s own 84 Fig 42: Wave height in zones. Darker colors indicate higher values— Author’s own 84 Fig 44: Mean wave height (left)— Author’s own 85 Fig 45: Mean bed shear stress (right)— Author’s own 85 Fig 43: Filter I outcome. Darker colors indicate desired conditions— Author’s own 85 Fig 46: Bathymetry depth. Darker colors indicate deeper zones— Author’s own 86 Fig 47: Suspended sediment in zones. Darker colors indicate higher values— Author’s own 86 Fig 49: Bathymetry depth— Author’s own 87 Fig 50: Suspended sediment— Author’s own 87 Fig 48: Filter II outcome. Darker colors indicate desired conditions— Author’s own 87
250
Fig 51: Median grain size— Author’s own 88 Fig 52: Filter III outcome— Author’s own 88 Fig 53: Excluded zones (oil and gas infrastructure, breakwaters, dredging grounds, pipelines— Author’s own 90 Fig 54: Proximity to access and logistic points (ferry terminals, airports— Author’s own 91 Fig 55: Proximity to social activities (bird watching spots, touristic zones, city centers— Author’s own 91 Fig 56: Proximity to maritime operation zones (fisheries and ports)— Author’s own 91 Fig 57: Result of the contextual analysis (next page)— Author’s own 91 Fig 58: Material research objective — Author’s own 94 Fig 59: Material testing sequence — Author’s own 94 Fig 60: Material specimens (next page) — Author’s own 94 Fig 61: Material testing — Author’s own98 Fig 62: Ingredients and induced performance in the mix (next page)— Author’s own 98 Fig 65: Sodium alginate specimens for testing — Author’s own 103 Fig 64: Chitosan specimens for testing— Author’s own 103 Fig 63: Agar agar specimens for testing— Author’s own 103 Fig 66: FGM layers— Author’s own 108 Fig 67: FGM material composition — Author’s own 108 Fig 68: Surface treatment and immersion results— Author’s own1 10 Fig 69: Specimens after immersion— Author’s own 110 Fig 70: Proposed material production— Author’s own 112 Fig 71: Seagrass-based material applications— Author’s own 115 Fig 72: Hydrodynamic subdivision — Author’s own 116 Fig 73: Global seabed subdivision — Author’s own 119 Fig 74: Patch one proof of concept — Author’s own 119 Fig 75: Lattice development sequence — Author’s own 120 Fig 76: Underwater light availability— Author’s own 120 Fig 77: Flow-reduction performance of the lattice configurations— Author’s own 120 Fig 78: Structural performance of the tested lattice configurations— Author’s own 120 Fig 79: Lattice topology ranking using equal weights for all objectives— Author’s own 128 Fig 80: Selected topology: dodecahedron and Houdini sedimentation simulation — Author’s own 128 Fig 81: First void scenario (2 × 2 m), showing structural response and CFD flow reduction with a central safe zone for seagrass growth — Author’s own 129 Fig 82: Second void scenario (2 × 4 m), showing structural response and CFD flow reduction with a central safe zone for seagrass growth— Author’s own 130 Fig 83: Third void scenario (2 × 6 m)— Author’s own 130 Fig 84: CFD analysis of horizontal module aggregation, comparing flow-velocity reduction and the extent of the safe zone for one (up) and two (bottom) adjacent modules.— Author’s own 132 Fig 85: CFD analysis of horizontal module aggregation, comparing flow-velocity reduction and the extent of the safe zone for three (up), four (middle) and five (bottom) adjacent modules.— Author’s own 133 Fig 86: CFD analysis of double-module stacking, showing velocity reduction and safe-zone extent— Author’s own 134 Fig 87: CFD analysis of triple-module stacking, showing velocity reduction and safe-zone extent— Author’s own 135 Fig 88: The two initial methodologies that didn’t yield successful results— Author’s own 136 Fig 89: Connection to existing infrastructure— Author’s own139 Fig 90: CA logic diagram— Author’s own 139 Fig 91: Topology diagram— Author’s own 140 Fig 92: Lattice Data Fields— Author’s own 140 Fig 93: CA rules— Author’s own 143 Fig 94: Programme and area breakdown— Author’s own 143 Fig 95: Standard deviation,Fitness values and Parallel coordinate plot (left)— Author’s own 143 Fig 96: Representative items from pareto front— Author’s own 143 Fig 97: Lattice Pseudo-code— Author’s own 148 Fig 98: Lattice Pseudo-code— Author’s own 150 Fig 99: Lattice global scale— Author’s own 150 Fig 100: Lattice zoomed In— Author’s own 150 Fig 101: Global validation regions— Author’s own 152 Fig 102: Global validation region 01-02— Author’s own 152 Fig 103: Global validation - region 03-04— Author’s own 154 Fig 104: Patch 1 thickness calibration— Author’s own 155 Fig 105: Patch 1 displacement calibration— Author’s own 155 Fig 106: Module Fabrication Loop (recycled sand formworks)— Author’s own 156 Fig 107: Global Rationalisation (35 types of molds, each approximately 40x30x30 cm)— Author’s own 156 Fig 108: Module Fabrication Loop (recycled sand formworks)— Author’s own 156 Fig 109: Lattice module Aggregation top view— Author’s own 158 Fig 110: Fabricated module— Author’s own 158 Fig 111: Lattice degradation over 24 months — Author’s own 160 Fig 112: Meadow expansion over 5 years.— Author’s own 163 Fig 113: Comparison of platform support strategies— Author’s own 163 Fig 115: Column pseudo-code graphic statics system 1— Author’s own 164 Fig 114: Tidal range in relation to the column system at low, mean and high water levels.— Author’s own 164 Fig 116: Column pseudo-code graphic statics system 2— Author’s own 166 Fig 117: Platform/Column size variation— Author’s own 167 Fig 118: Comparative selection criteria for Azobé and Accoya timber based on location, use, durability and exposure class.— Author’s own 168 Fig 119: Azobe wood -- Forest Timber Ltd. Azobe Hardwood Wholesale. Undated. Photograph. Forest Timber Ltd. https://foresttimberltd.com/ product/azobe-hardwood-wholesale/.
251
Fig 120: Accoya wood -- Forest Timber Ltd. Azobe Hardwood Wholesale. Undated. Photograph. Forest Timber Ltd. https://foresttimberltd.com/ product/azobe-hardwood-wholesale/. 168 Fig 121: Utilization analysis, this was itirated for all column types — Author’s own 169 Fig 122: Stress/Strength ratio (top) and displacement (bottom) — Author’s own 170 Fig 123: Blue indicates primary elements, green indicates secondary elements— Author’s own 170 Fig 124: Stress/Strength ratio (top) and displacement (bottom)— Author’s own 172 Fig 125: Blue indicates primary elements, green indicates secondary elements— Author’s own 172 Fig 126: Stress/Strength ratio (top) and displacement (bottom) — Author’s own 174 Fig 127: Blue indicates primary elements, green indicates secondary elements— Author’s own 174 Fig 128: Exploded diagram of the column — Author’s own 176 Fig 129: Column Section— Author’s own 177 Fig 130: Construction Details of Column— Author’s own 178 Fig 131: Front view (top) and plan view (bottom) of the branching timber member, showing the steel collars— Author’s own 179 Fig 132: Selected Wallacei solution— Author’s own 182 Fig 133: Rule 01 - Typology Placement by adding a cell— Author’s own 183 Fig 134: Rule 02 - Orientation/Mirroring of typologies— Author’s own 183 Fig 135: Rule 03 - Cell generation to connect paths— Author’s own 183 Fig 136: Selected cells arrangement— Author’s own 185 Fig 137: Custom algorithm outputs (left) and corresponding Kova PedSim circulation analysis (right).— Author’s own 185 Fig 138: Translation to Architectural typologies — Author’s own186 Fig 139: Architectural typologies— Author’s own 186 Fig 140: Catalogue of envelopes— Author’s own 189 Fig 141: Rule-based assembly— Author’s own 189 Fig 142: Envelope allocation in different cellular configurations— Author’s own 189 Fig 143: Exploded diagram of the mould in parts— Author’s own 192 Fig 144: Moulding process— Author’s own 192 Fig 145: 1:2 Physical model— Author’s own 195 Fig 146: Intervention’s vertical connectivity— Author’s own 195 Fig 147: Axonometric section— Author’s own 198 Fig 148: Seagrass facilities— Author’s own 201 Fig 149: Research facilities— Author’s own 202 Fig 150: Ecotouristic facilities— Author’s own 204 Fig 151: Ecotouristic facilities— Author’s own 206 Fig 152: Logistic & infrastructur— Author’s owne facilities 208 Fig 153: Circulation decks— Author’s own 210 Fig 154: View from the common area (top)— Author’s own 210 Fig 155: Aerial view— Author’s own 210 Fig 156: Exploded functions and circulation diagram— Author’s own 212 Fig 157: Restoration cycle and relocation — Author’s own 214 Fig 158: Exploded asembly diagram — Author’s own 215 Fig 159: Exterior view from the deck— Author’s own 216 Fig 160: Disassembly and relocation sequence showing the building as a demountable kit of parts, from module disconnection and lifting to foundation removal, transport, and reassembly at a new restoration site.— Author’s own 216
252
253