24小时热门版块排行榜    

查看: 349  |  回复: 1

kathy2008

木虫 (正式写手)

[求助] 怎么创建一个新变量来存储不同的本征矢量

本人遇到一个问题,先讲一下大致的流程。

现在错误的流程是: 单点能计算(产生本征矢量1)--》溶剂化效应计算(产生本征矢量2)---》下一步的单点能计算(依然用了本征矢量2)---》溶剂化效应计算(产生本征矢量3),依次类推直到结束。

正确的流程应该是:单点能计算(产生本征矢量1)--》溶剂化效应计算(产生本征矢量2), 然后跳出来做下一步的单点能计算(应该使用本征矢量1),--》溶剂化效应计算(产生本征矢量3),然后跳出来做下一步的单点能计算。依次类推直到结束。

请高手指点一二。谢谢。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

fmying

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
kathy2008: 金币+10, 有帮助 2012-05-07 17:05:18
单点能是指气相下的吧?从第二次开始,单点能计算的数据全部以本征矢1为猜测,而溶剂化计算则使用单点计算的结果并将本征矢依次存储于本征矢2,3,...中?
如果是的话,那么可以考虑如下方案:
能量计算(气相和溶剂化计算)可以统一在一个模块中实现。
定义两个参数a和b,分别存储是否读取本征矢1和溶剂化计算结果置于哪个本征矢中。
溶剂化计算的参数b的初始值可设定为2,表示存储于本征矢2中
在计算时判断,如果单点计算需要读取本征矢1,则读取,否则计算并存储(仅对第一次有效),并将参数a的状态设定为读取。
如果计算了一次溶剂化效应,则根据b的值将本征矢存入相应变量中,并将b自加1(即2变为3,3变为4)。
如此循环,直到计算结束。

其实就是利用两个指针控制而已。
上善若水
2楼2012-05-06 10:09:28
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kathy2008 的主题更新
信息提示
请填处理意见