24小时热门版块排行榜    

查看: 1619  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lbh_xt

新虫 (小有名气)

[求助] linux下的计算精度的设置

大家好,最近在linux下用lammps算的东西,结果数据都保只保留了四位小数点,而在window下却是16位的,请问这是什么原因?是linux系统和windows系统的原因?还是lammps在两个系统下不同的原因?
例如:
linux下: 2278.2239
windows下:2278.3329129329420233


我想要更高的截断数据(16位),请问应该怎么设置
回复此楼

» 猜你喜欢

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

安静
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluewhale

铁杆木虫 (正式写手)

【答案】应助回帖

★
jiaoyixiong: 金币+1, 鼓励交流 2012-09-27 13:34:10
最好将你的完整input 文件给出来,看是否安装或版本问题。
6楼2012-09-27 11:51:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

love5264

木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
jiaoyixiong: 金币+2, 鼓励交流 2012-09-26 20:57:14
没用过lammps,
感觉可能是你编译的问题,
单精度还是双精度?
谋定而动
2楼2012-09-26 20:31:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bluewhale

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
jiaoyixiong: 金币+2, 鼓励交流 2012-09-26 20:57:25
// dump_custom.cpp
in constructor():
...
for (int i = 0; i < size_one; i++) {
    if (vtype == INT) format_default = strcat(format_default,"%d ";
    else if (vtype == DOUBLE) format_default = strcat(format_default,"%g ";
    else if (vtype == STRING) strcat(format_default,"%s ";
    vformat = NULL;
  }
...
可以将%g 改成 %20.14g或者其它什么的,不知你为什么要这么高的精度,好像缺省的就够用了。
3楼2012-09-26 20:33:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lbh_xt

新虫 (小有名气)

引用回帖:
3楼: Originally posted by bluewhale at 2012-09-26 20:33:57
// dump_custom.cpp
in constructor():
...
for (int i = 0; i < size_one; i++) {
    if (vtype == INT) format_default = strcat(format_default,"%d ";
    else if (vtype == DOUBLE) for ...

谢谢哈,我先试试,可是为什么windows版本的lammps直接输出的都是那么多位数的呢?还有那个20.14g表示什么啊
安静
4楼2012-09-27 09:42:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见