24小时热门版块排行榜    

查看: 4573  |  回复: 5

chongping

新虫 (初入文坛)

[求助] 进行非稳态计算时,UDF怎样输出数据到txt文件 已有2人参与

我现在遇到了一个问题 我编译了一个函数
#include "udf.h"
#include "mem.h"
#include "dynamesh_tools.h"
real x_cg[ND_ND];
real f_glob[ND_ND];
real m_glob[ND_ND];
int i;
FILE *fp;
real time;
DEFINE_SDOF_PROPERTIES(li,prop,dt,time,dtime)
{

Thread *t;
Domain *domain=Get_Domain(1);
t=Lookup_Thread(domain,9);
time=RP_Get_Real("flow-time";

prop[SDOF_MASS]=3.89;
prop[SDOF_IXX]=0.00102;
prop[SDOF_IYY]=0.02709;
prop[SDOF_IZZ]=0.02709;
prop[SDOF_LOAD_F_X]=200;
for(i=0;i<=ND_ND;i++)
{
f_glob=0;
m_glob=0;
}
for(i=0;i<ND_ND;i++)
x_cg=DT_CG(dt);

Compute_Force_And_Moment(domain,t,x_cg,f_glob,m_glob,TRUE);
Message ("ntime=%f ,x=%.10lf ,y=%.10lf , z=%.10lf , force_x=%.1f ,force_y=%.1f ,force_z=%.1f moment_x=%f,moment_y=%f,moment_z=%f", time,x_cg[0],x_cg[1],x_cg[2],f_glob[0],f_glob[1],f_glob[2],m_glob[0],m_glob[1],m_glob[2]);
}

DEFINE_ADJUST(name,d)
{
Domain *domain;
domain=Get_Domain(1);
fp=fopen("shuju.txt","w";
for(i=0;i<ND_ND;i++)
{

fprintf(fp,"ntime=%f ,x=%.10lf ,y=%.10lf , z=%.10lf , force_x=%.1f ,force_y=%.1f ,force_z=%.1f moment_x=%f,moment_y=%f,moment_z=%f", time,x_cg[0],x_cg[1],x_cg[2],f_glob[0],f_glob[1],f_glob[2],m_glob[0],m_glob[1],m_glob[2]);
}
fclose(fp);
}
  我想输出txt文件,我创建的shuju.txt文件出现工作目录中  但是 fprintf输出的数据 只显示一次迭代结果,下一步迭代时间步时就会覆盖掉上一个时间步的计算结果  意思就是说shuju.txt始终只有一行数据   这是怎么回事 ?
回复此楼

» 猜你喜欢

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

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

huaixi0418

金虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
把fopen中的w换为a

[ 发自小木虫客户端 ]
走在学术的大道上
2楼2014-06-21 12:31:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chongping

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by huaixi0418 at 2014-06-21 12:31:23
把fopen中的w换为a

谢谢你  我试过了 是可行的  但是有一个问题我想问一下,
我的每步迭代结果都会出现三次 为什么呢  期盼解答
3楼2014-06-23 21:41:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huaixi0418

金虫 (初入文坛)

【答案】应助回帖

引用回帖:
3楼: Originally posted by chongping at 2014-06-23 21:41:52
谢谢你  我试过了 是可行的  但是有一个问题我想问一下,
我的每步迭代结果都会出现三次 为什么呢  期盼解答...

好像是循环的问题,你把最后一个循环for(i=0;i<ND_ND;i++)删掉,直接用fprintf
走在学术的大道上
4楼2014-06-24 00:38:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xwx1990

金虫 (正式写手)

【答案】应助回帖

每个计算节点都会调用一次程序,所以有多次输出
加宏(并行计算)
#if RP_HOST
#endif
努力工作
5楼2016-03-24 11:40:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjzhoujun

新虫 (小有名气)

想问一下,您提到的迭代三次我也遇到了,是在并行时遇到的还是串行也会出现同样的问题,请问您是怎样解决的?
6楼2016-09-28 20:54:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 学员4FH1YX 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0703化学调剂 +10 妮妮ninicgb 2026-03-15 14/700 2026-03-19 22:59 by 学员8dgXkO
[考研] 一志愿南京理工大学085701资源与环境302分求调剂 +3 葵梓卫队 2026-03-18 5/250 2026-03-19 19:35 by 给你你注意休息
[考研] 材料与化工求调剂 +7 为学666 2026-03-16 7/350 2026-03-19 14:48 by 尽舜尧1
[考研] 085600材料与化工调剂 324分 +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
[考研] 化学求调剂 +3 临泽境llllll 2026-03-17 4/200 2026-03-19 13:59 by houyaoxu
[考研] 一志愿福大288有机化学,求调剂 +3 小木虫200408204 2026-03-18 3/150 2026-03-19 13:31 by houyaoxu
[考研] 346求调剂[0856] +3 WayneLim327 2026-03-16 6/300 2026-03-19 11:21 by WayneLim327
[考研] 一志愿天大材料与化工(085600)总分338 +5 蔡大美女 2026-03-13 5/250 2026-03-19 10:44 by 是小刘呀~
[考研] 0703化学 305求调剂 +4 FY_yy 2026-03-14 4/200 2026-03-19 05:54 by anny19840123
[考研] 265求调剂 +3 梁梁校校 2026-03-17 3/150 2026-03-18 09:12 by zhukairuo
[考研] 考研求调剂 +3 橘颂. 2026-03-17 4/200 2026-03-17 21:43 by 有只狸奴
[考研] 326求调剂 +5 上岸的小葡 2026-03-15 6/300 2026-03-17 17:26 by ruiyingmiao
[考研] 085601求调剂 +4 Du.11 2026-03-16 4/200 2026-03-17 17:08 by ruiyingmiao
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 274求调剂 +5 时间点 2026-03-13 5/250 2026-03-17 07:34 by 热情沙漠
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[考研] 0856求调剂 +3 刘梦微 2026-03-15 3/150 2026-03-16 10:00 by houyaoxu
[考研] 085601材料工程315分求调剂 +3 yang_0104 2026-03-15 3/150 2026-03-15 10:58 by peike
[考研] 289求调剂 +4 这么名字咋样 2026-03-14 6/300 2026-03-14 18:58 by userper
[考研] 070303一志愿西北大学学硕310找调剂 +3 d如愿上岸 2026-03-13 3/150 2026-03-13 10:43 by houyaoxu
信息提示
请填处理意见