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

标签:
转载 |
分类: 转载 |
做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的值。
解决方法有二:(红色的字表示是自己选择的)
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>
#include <iomanip.h>
void main(){
}
这段程序写了cxa文件的除了头部部分,头部部分直接copy过去,但要注意Frames的值。
后一篇:[转载]编写自己的C语言头文件