ARTICLE · 979020
Loomy AI助手帮我开发耦合求解器
Loomy帮我开发耦合求解器
Loomy AI 智能编码助手

Loomy形象大使
一、项目挑战:三场耦合
把三个原本各自为战的独立求解器(代号 Solver-A、Solver-B、Solver-C)"捏"成一个同步迭代的耦合求解器,三大难题摆在面前:
谁来当总指挥?三个求解器原本自己管自己的循环迭代,现在要交出控制权,交给一个统一的调度器来协调节奏
数据怎么传?每次迭代步都要实时共享数据,不能靠读写文件,必须走内存直传,一刻都不能慢
什么时候算完?Solver-A 和 Solver-B 都得收敛才算过关,一个先跑完不算赢。

AI 与工程师协作场景
二、Loomy 做了什么?
面对这些硬骨头,Loomy 的表现就像一个经验丰富的结对编程搭档——不抢戏,但关键时刻顶上去。
第一步:先把家底摸清楚自动啃了 30+ 个源文件,从顶层调度逻辑到核心迭代引擎再到多重网格加速算法,全部吃透后拿出了一份分阶段实施方案。
第二步:7 个阶段步步为营架构搭建 → Solver-A 集成 → Solver-B 集成 → Solver-C 集成 → 收敛判定 → 调试修复 → 测试验证。每完成一步就编译验证一步,绝不带着隐患往下走。
第三步:30+ 次自动编译 + 真实算例验证每次改完代码,自动在 VS2013 里编译,用真实算例跑 MPI 并行测试,残差、结果文件完整性逐一检查。
第四步:10+ 类 Bug 逐个击破从并行数值错误到数据格式不匹配,从路径配置到边界条件不一致——Loomy 读日志、看代码、定位根因、提出方案,一气呵成。
三、那些 Bug 故事
🔌 串行对,并行错
现象:单机跑完全正确,一上多进程并行,结果就出现偏差。
Loomy 怎么想的:并行代码里有个全局归约函数,它有两种模式——一种只把结果给主进程,另一种发给所有人。代码里用了前者,导致非主进程拿不到全局数据,后续计算全用错了值。
怎么修的:换一种模式,一行代码。单机和多机结果从此一致。
🔄 体场数据的"身份转换"
现象:加载完收敛解后,数据异常,第一步就算不下去。
Loomy 怎么想的:数据格式不匹配——源数据是"单元内部的值",但目标计算需要的是"边界上的值"。转换前必须先初始化边界外的虚拟网格(幽灵单元),这一步被漏了。
怎么修的:补上初始化步骤。数据一致性立刻恢复。
四、开发资源投入
指标 | 数值 |
分析源代码文件数 | 30+ 个 |
总生成代码量 | 约 2000+ 行 C++ |
编译验证次数 | 30+ 次 |
修复 Bug 类型数 | 10+ 类 |
AI 对话轮次 | 数百轮深入交互 |
开发周期 | 数天完成全部开发与验证 |
五、最终成果
新建耦合求解器主类、IO 管理、初始化加载以及迭代流程。
执行流程:
▸ Solver-A 1步 → 内存传数据 → Solver-B 1步 → 内存传数据 → Solver-C 完整计算 → 给定步数保存中间结果 → Solver-A 和 Solver-B 同时收敛则退出。
六、结语
开发者负责方向与决策,Loomy 负责编码、调试、测试。一个管"做什么",一个管"怎么做"。传统 2-4 周的开发工作,数天完成。效率提升 5-10 倍,错误更少,质量更高。
目前的工作建立了耦合框架,实现了三个求解器的同步求解机制。反向耦合功能尚未实现,整体工作大约完成了一半。但这半程已经验证了 AI 辅助工程软件开发的巨大潜力——当 AI 的学习能力和人类的创造力结合在一起时,1+1 远大于 2。

我的工作搭子(小宁的科研助手)
— 全文完 —