Skip to content

liusonwood/ecosimulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EcoSim - 生态演替模拟器 (Ecological Succession Simulator)

EcoSim 是一个空间显式(Spatially Explicit)的植被动力学模拟系统,旨在通过数学模型模拟从地衣(Lichen)到成熟森林(Tree),乃至农田生态系统的全过程。

🌍 项目概述

  • 核心目标:模拟并可视化生态系统的演替序列(地衣 → 苔藓 → 草本 → 灌木 → 乔木 → 农作物)。
  • 作者:由 liusonwoodyanyi-lin 最初制作。
  • 项目地址https://github.com/liusonwood/ecosimulator
  • 技术栈
    • 前端:Vue 3 (全局脚本版) + Tailwind CSS + Lucide Icons。
    • 计算引擎:采用三级自动降级机制:GPU (GPU.js) > 多线程 (Blob Inlined Workers) > 串行 CPU
    • 零依赖运行:逻辑完全封装在 main.js 中,无需本地服务器,支持 file:// 协议双击运行。

🧬 核心仿真逻辑

模型基于以下四个核心生态学过程:

  1. 种子传播与种子库 (Dispersal & Seed Bank)

    • 局部传播:物种根据生物量产生种子,通过高斯核(Gaussian Kernel)模拟空间扩散。
    • 背景种子雨:模拟远距离随机落入的种子,确保即使局部灭绝也能重新复苏。
    • 种子生存:未萌发种子的年存活率(s)和库萌发率(ν)动态平衡。
  2. 空间异质性与土壤逻辑 (Soil Dynamics)

    • 保证比例分布:采用平滑势场分位数映射算法。系统生成连续的地貌势场并自动排序,严格确保网格中存在 30% 浅土、40% 中性土和 30% 深土。
    • 自然斑块:通过 3 轮均值模糊处理,使不同深度的土壤形成自然的地理斑块,而非随机噪声。
    • 演替门槛:高等植物的萌发受总生物量门槛限制,模拟有机质积累过程。
  3. 非对称竞争 (Asymmetric Competition)

    • 基于 Lotka-Volterra 竞争模型。
    • 模拟层级压制:高层物种对底层物种有极强的抑制作用,而底层物种对高层的反馈影响较小。
  4. 气候模式与农场特色

    • 动态环境:支持热带雨林、温带草原、寒带苔原、荒漠等多种模式。
    • 农场模式:特殊的人为干预状态,中心预置农作物,边界存在自然入侵带。

🚀 性能与调试

  • 高效并行:Worker 逻辑已通过 Blob 方式内联,在保证多线程性能的同时维持了单文件的便携性。
  • 调试接口:控制台输入 setMode('GPU'|'Worker'|'Serial'|'Auto') 可手动切换引擎。
  • 实时监控:集成 Chart.js 实时绘制各种群盖度的动态演变曲线。

🛠 交互与干预

  • FIRE (火灾):优先杀伤草本和灌木,清空部分种子库。
  • VOLCANO (火山):区域性毁灭打击,重置为裸岩状态。
  • DROUGHT (干旱):全局性生长抑制。
  • 手动干扰:鼠标点击网格可触发局部火灾,悬停可查看该点的土壤深度及物种盖度。

🔑 开源协议

本项目遵循 GNU AGPL-3.0 开源协议。在任何衍生作品中,请保留原作者署名及项目链接。

About

EcoSim 是一个空间显式的植被动力学模拟系统,旨在通过数学模型模拟从地衣到成熟森林的生态演替全过程。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors