lyn 发表于 2004-7-1 15:54:57

【求助】nfe文件中读取耦合场的数据格式

两非线性抛物耦合场各单场计算时都要用到上一时步,上一迭代的值,所以各单场的结果文件格式为上一时步,上一迭代的值。耦合时,系统生成的nfe 文件中只读取耦合场的上一时步值,如
coef poro 1b 2b
read(s,unodb) 1b 2b
怎么在原先的nfe 文件中修改使得系统读取耦合场的上一迭代的值,就比如
read(s,unodb) po1 pc1 1b 2b ,这时 po1 pc1为上一时步的值,1b 2b 为上一迭代的值?a 场需要的就是b 场的上一迭代值?

谢谢斑竹指点!!!

seeksilence 发表于 2004-7-1 16:57:29

回复: 【求助】nfe文件中读取耦合场的数据格式

那是非线性迭代值,你是要用上一时间迭代值吧?

lyn 发表于 2004-7-2 00:17:35

回复: 【求助】nfe文件中读取耦合场的数据格式

不是,当前时步迭代的值。这个值还没收敛。

lyn 发表于 2004-7-2 00:42:43

回复: 【求助】nfe文件中读取耦合场的数据格式

a 场的结果文件格式为: unoda ( u1u)
b 场的结果文件格式为: unodb ( po1 pc1po pc)

我对两场的简单迭代过程不熟,以前都是把两场的方程放在一起解。不介意的话,我想把我的思路描述一下,希望斑竹能给我一点指点!!

先算a 场,再算b 场

1. a 场用到的值为 (u1 ,u po pc) 解出a 场新的值 u, 结果文件 unoda (u1,u)
2. b 场用到的值为 (po1 pc1 po pcu) 解出b 场新的值 po pc   结果文件 unodb (po1,pc1 po pc)

收敛控制变量为b 场的 po pc 在当前时步两次迭代值得差值

如果不收敛,goto 1, 2,这时 a 场用到a, b 场刚刚得到的迭代值 u,po pc,

不知道以上的计算流程是否正确,也就是只以一场的值控制收敛,行吗? 如果,要控制两场的值都要收敛,怎么做?

所以 每次循环迭代时都要用到 两场当前时步内, 上一迭代的值 ( u, po pc)
而系统生成的nfe 文件中只读取耦合场上一时步的值,恳请斑竹指点!!

非常感谢!!

lyn 发表于 2004-7-2 10:35:58

回复: 【求助】nfe文件中读取耦合场的数据格式

这个问题能给我指点一下吗?谢谢

seeksilence 发表于 2004-7-2 10:50:57

回复: 【求助】nfe文件中读取耦合场的数据格式

当前时步迭代的值?
非线性迭代没有收敛的结果是没用的,
不明白你要做什么

lyn 发表于 2004-7-2 11:48:36

回复: 【求助】nfe文件中读取耦合场的数据格式

a 场迭代算出的值虽然没有收敛,但它要代到b 场去算, b 场算出的新迭代值如果不收敛的话也要重新代到a场去,一直算到b 场的值收敛为止,得出这一时步的a ,b 场的最终值。

我不知道我的思路对不对?我是第一次作这的。谢谢指点!!!

seeksilence 发表于 2004-7-2 13:14:08

回复: 【求助】nfe文件中读取耦合场的数据格式

<<a 场迭代算出的值虽然没有收敛,
不收敛迭代有什么用,还不如不迭代
你的算法也许有问题
页: [1]
查看完整版本: 【求助】nfe文件中读取耦合场的数据格式