核心算法其实都是ai自己挑的,我只是负责提需求和跟它反映问题
下面是涉及到修改核心算法的prompt,感觉也没啥特别的。
最开始的两个prompt,得到最基础的计算器,并要求ai用数值方法,这个只能进行稳态计算
计算一个系统的最大温升。这个系统包含一个柱状物体,柱体的截面积是20.5*14.0mm2。长度是16mm。导热率是5W/mK。整个柱体内部会均匀发热,发热的总功率是7W。热量从柱体的一个端面导出,柱体其他表面是绝热的。
之后用纯前端网页的形式写一个计算器,输入量是除温升以外的其他值,输出值为温升。
重新推导公式,并修改计算器。改为用数值方法计算温度分布,而不是以解析公式的方法计算
然后发现结果有错误, 向ai反映之后,它把数值方法从 Gauss–Seidel 迭代,换成了超松弛(SOR)方法,问题就解决了。
这个计算器似乎存在某种错误,节点数量会显著影响结果,而且增大节点数量反而会使结果更不准确。比如默认参数下,解析解是39度,采用101个节点,计算器输出35度,而采用1001个节点,计算器输出0.8度。请查找并修复问题
之后是添加瞬态计算的功能。这里是开了一个新的对话,把新的需求和调好的代码一起发给它。
你的任务是修改一个传热计算器。这个计算器用纯前端网页的形式实现,其代码在最后给出。你需要先分析这个计算器的代码,然后思考如何对其进行修改。
它现在是一维稳态传热计算器。我希望将其改为能支持瞬态计算,你需要推导计算所需的公式和代码,并且修改gui。修改的内容包括:
在全局计算和分段计算的选项之前添加文字“空间类型”,并将选项文字改为“全局参数”和“分段参数”
在这一行之下,添加新的选项“时间类型: 稳态计算 瞬态计算”
在全局参数中,添加新的输入参数,包括:总时间,时间步长,体积比热容,初始温度。在选择瞬态计算时显示,稳态计算时隐藏。其中,体积比热容和初始温度仅在选项为“全局参数”时显示,若选择“分段参数”,则在全局参数栏内将它们隐藏。
柱体段参数中,添加体积比热容和初始温度。在选择瞬态计算分段参数时显示,选择稳态计算或全局参数时隐藏。
若选择瞬态计算,则在“计算温度分布”按钮的下方,添加选择显示时间的功能,用来选择显示哪一个时刻的温度分布。
若选择瞬态计算,则导出csv应该导出所有时刻的温度分布,其格式包括三列,分别是时间,位置,温度
然后是跟ai反映算法不收敛的问题
瞬态算法的收敛性不佳。默认参数是不收敛的。会在位置为0处出现幅度迅速增大的高频振荡,直到变成nan。使用2的比热容,将时间步长大幅度缩短到0.00001s,全局节点数量大幅度缩减到101个时,能收敛,输出看起来正确的结果。请使用收敛性更好的算法。
对此它的回复是
瞬态算法部分不再采用原来的显式欧拉方法,而是采用隐式欧拉方法。该方法每个时间步构造基于有限体积离散的三对角系统,然后利用 Thomas 算法求解,从而具有无条件稳定性,可以有效抑制数值中高频振荡问题。
再就没有和核心算法有关的prompt了
感谢感谢~~原来是我的思路出了问题,不是提示词有问题。应该像你这样把其他几个面假设成绝热面,再根据结果调整估算一下应该就行了,还是自己的基础知识不及格啊,见笑了见笑了 Orz