加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

[转载]fluent动画——只有ppm文件,没有cxa文件时怎么办?

(2010-11-26 15:59:51)
标签:

转载

分类: 转载
做fluent动画,有三种保存方法:memory,metafile,ppm。如果文件很多不能放在memory中,否则内存会耗尽。metafile很大,一个都2、3M,一般用ppm。昨天碰到了一个问题,设置了ppm文件保存路径后,计算完成,进入电脑后死机。重启后动画文件就读不出来了。
解决方法有二:(红色的字表示是自己选择的)
1.http://hpce.iitm.ac.in/Manuals/Fluent_6.3/Fluent.Inc/fluent6.3/help/html/ug//node1057.htm
file:///C:/DOCUME%7E1/wisscot/LOCALS%7E1/Temp/moz-screenshot.jpg用freesoftware——imagemagick解决。转为gif文件。命令行convert -adjoin phase00*.ppm test.gif

2.如果没有死机,write/Record Format的选项是Animation Frames.点击Write,自动写入一个cxa文件,若想转成视频,点MPEG,点Write。然而,关了fluent后再重启就搞不出这个cxa文件了。我参照了其他的cxa文件的格式,自己写了一个cxa文件。
AnimationSequence1.0
NAME: F:fluent_Workshopplaybackphase_jiami
WINID: 2
STORAGE: 4
FRAMES: 12
Frame 0 4 phase_jiami_0000.ppm 2
Frame 1 4 phase_jiami_0001.ppm 2
Frame 2 4 phase_jiami_0002.ppm 2
Frame 3 4 phase_jiami_0003.ppm 2
Frame 4 4 phase_jiami_0004.ppm 2
Frame 5 4 phase_jiami_0005.ppm 2
Frame 6 4 phase_jiami_0006.ppm 2
Frame 7 4 phase_jiami_0007.ppm 2
Frame 8 4 phase_jiami_0008.ppm 2
Frame 9 4 phase_jiami_0009.ppm 2
Frame 10 4 phase_jiami_0010.ppm 2
Frame 11 4 phase_jiami_0011.ppm 2

其中关键的是FRAMES的值,和ppm的文件名。
为此我写了一个c++程序,自动生成cxa文件。代码如下:
#include <iostream.h>
#include <fstream.h>    //ofstream need
#include <iomanip.h>    //setw() need.

void main(){
    int i=0,Frames=12;
    ofstream aaa("test.txt",ios::out);   
    //default is ios::out,if file exit,delete it
    for(i=0;i<Frames;i++)
    {
        aaa.fill('0');  //define what would be filled, the default is space.
        aaa<<"Frame "<<i<<" 4 phase_jiami_"<<setw(4)<<i<<".ppm 2"<<endl;
        //print i as 4 seats, filled with what defined in aaa.fill()
    }
}

这段程序写了cxa文件的除了头部部分,头部部分直接copy过去,但要注意Frames的值。

0

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有