i***k 发帖数: 45 | 1 初入计算化学行当,现在有一个势能FUNCTION, f(a,b,c,d,e),
我们从别的组拿到了f的ab initio数据,是17万行的数据,分别是变换ABCD得来的
我老板的意思是,做个GRIDDING,就相当于做个LIBRARY,
然后从里面内插,或者外插(interpolation, extrapolation)得到我们要的f值。
可是俺比较笨,不知道该怎么做。能请各位前辈指导一下么?我们用fortran,c
也可以。
1,我是先把17万行数据都读入程序先么?这样会不会内存废掉?俺是在ibm系列
的super computer上做,不知道会不会导致内存太大
2,假设我不先读入,而是每个f(a,b,c,d,e),我都到外部文件里面去查找,
这个怎么实现呢? 非常感谢关于这个的建议! 俺编程半白痴,实在不知道怎么实现。
如果一开始都读入,俺可以想办法实现。如果外部每次都读,就不知道了。:)
谁能帮忙一下? 多谢!
要是有人有类似的gridding的,外部读入的或者内部读入的程序可以介绍看一下,
就更好了! 多谢多谢!! | m*******1 发帖数: 139 | | S*M 发帖数: 10832 | 3 读数据不是问题啊,17万个点而已,毛毛雨啊
关键是怎么fit
你的原始数据是不是本身就是在一个grid上?
如果是的话,可以用spline fit
不过因为你是5-D,所以nontrivial,具体怎么code我也不知道
貌似matlab有这么个function,interpn
可以去研究一下这个到底是怎么搞得
另外fit potential surface的大杀器好像是neural network
不过code起来麻烦
【在 i***k 的大作中提到】 : 初入计算化学行当,现在有一个势能FUNCTION, f(a,b,c,d,e), : 我们从别的组拿到了f的ab initio数据,是17万行的数据,分别是变换ABCD得来的 : 我老板的意思是,做个GRIDDING,就相当于做个LIBRARY, : 然后从里面内插,或者外插(interpolation, extrapolation)得到我们要的f值。 : 可是俺比较笨,不知道该怎么做。能请各位前辈指导一下么?我们用fortran,c : 也可以。 : 1,我是先把17万行数据都读入程序先么?这样会不会内存废掉?俺是在ibm系列 : 的super computer上做,不知道会不会导致内存太大 : 2,假设我不先读入,而是每个f(a,b,c,d,e),我都到外部文件里面去查找, : 这个怎么实现呢? 非常感谢关于这个的建议! 俺编程半白痴,实在不知道怎么实现。
|
|