CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   how to export every data w.r.t time to txt file (https://www.cfd-online.com/Forums/cfx/25213-how-export-every-data-w-r-t-time-txt-file.html)

germangsilva July 28, 2010 14:32

hi Carlitos

I'm doing studies of fluidized bed (gas-solid), I'm using cfx11 or 12, and applying LES, but I have great difficulty setting the program cfx, I ask your help please. my email is germangsilva@gmail.com

mvoss July 29, 2010 03:04

sorry,.. wrong thread.

Josh September 29, 2010 16:49

This is a helpful thread, guys.

However, my problem is that I want to export the pressure and friction coefficients from a polyline of a transient simulation for averaging. Can this be done in Post? You can't create a polyline in Pre.

The only idea I've had so far (besides manually exporting each Cp/Cf graph at each timestep) is to use the Export Results option in Pre to export my pressure and wall shear surface data on the airfoil at each timestep. I'm not sure this would even produce the desired files.

Any help is much appreciated!

mvoss September 30, 2010 03:00

hi,

you can either use a session-file-script or the transient graph option within CFX-Post.

neewbie

Josh September 30, 2010 04:45

Thanks for the reply, neewbie (I feel weird calling you that since you obviously are more adept with CFX than I am).

I've avoided scripting as I have a terrible fear of programming, particularly PERL.

Doesn't the transient graph option only work for single values (e.g., maximum pressure versus time)? I need the entire Cp/Cf distribution on the airfoil at every timestep.

Lance September 30, 2010 04:56

Hi,
use the PERL script in the beginning of this thread (CycLone, February 13, 2008, 16:00). - No need for you to do any PERL programming, just copy/paste :)
I use it often to export lines, polylines, or even surfaces from my transient simulations.

mvoss September 30, 2010 05:06

hi also Senior Member (which i think feels weird ),

no need to fear PERL. Basicly your task is pretty easy.
1. open post
2. activate the session recording.
3.1. open the res. file
3.2. create the line, do the math and create one graph
3.3. export the graph via "export data to csv" (not sure about the nomenclature) and name it by smth. appropriate
4. stop recording
5. open the session file and include after the LOAD of the res.-file
Code:

!    $List = getValue("DATA READER","Timestep List"); #this looks for all trn.files
!    print "$List \n"; #shows the result of the search
!    @Wert = split(/,/,$List); #makes it accessible for further tasks
!    $lastFrame=$List[$#timestepList]; # very nice, this gives you the number of the last frame, nice for animations
!    foreach $List(@Wert){ #the MAINTASK, do the line and graph and export for every trn.file, see below
>        load timestep = $List #load the timestep
!        print "calculating for TIMESTEP $List \n";
!        ($time, $timeunits) = evaluate("Time");

now comes the session recording of the line, graph and export, so just adjust the name of the exportfile to $List

add an
[/CODE]
! }
[/CODE]
at the very end of the file.
Save the file in your working directory, start the CFX-CommandLine and execute the script by cfx5post - batch script.txt



neewbie

Josh October 1, 2010 01:42

Hi guys -

Thanks for the helpful replies.

Neewbie -

The first file writes fine when I run the batch, but then I receive the following error:

-- ERROR -- CCL parser failed with message:
parseCCLLineH: syntax error near "[/CODE]"

It's just a simple syntax error, apparently, but I can't see anything wrong.

Here's my altered code:
____________________________________________

# Session file started: 2010/09/30 23:56:19
# CFX-12.1 build 2009.10.15-23.08

# To avoid unnecessary file pre-processing and modifications, include
# COMMAND FILE at the top of your session file.
# If it is not included, the file is assumed to be older and will be
# modified for backward compatibility.
COMMAND FILE:
CFX Post Version = 12.0
END

DATA READER:

Clear All Objects = false
Append Results = false
Edit Case Names = false
Open to Compare = false
Multi Configuration File Load Option = Last Case
Open in New View = true
Keep Camera Position = true
Load Particle Tracks = true
Files to Compare =
END

DATA READER:
Domains to Load=
END
> load filename=C:\Users\counsil\Documents\Thesis Simulations\First Paper\Re=5E4\\
AoA=5\SST\NACA0012_Re=5E4_AoA=5_SST_2D_files\dp0\C FX-1\CFX\Fluid Flow_016.res, \
force_reload=true

! $List = getValue("DATA READER","Timestep List"); #this looks for all trn.files
! print "$List \n"; #shows the result of the search
! @Wert = split(/,/,$List); #makes it accessible for further tasks
! $lastFrame=$List[$#timestepList]; # very nice, this gives you the number of the last frame, nice for animations
! foreach $List(@Wert){ #the MAINTASK, do the line and graph and export for every trn.file, see below
> load timestep = $List #load the timestep
! print "calculating for TIMESTEP $List \n";
! ($time, $timeunits) = evaluate("Time");

>readstate filename=C:\Users\counsil\Documents\Thesis Simulations\First Paper\Re=\
5E4\AoA=5\SST\NACA0012_Re=5E4_AoA=5_SST_2D_files\d p0\CFX-1\CFX\\
Polyline_Cp_Cf.cst, mode = overwrite, load = false, keepexpressions = true

EXPORT:
ANSYS Export Data = Element Heat Flux
ANSYS File Format = ANSYS
ANSYS Reference Temperature = 0.0 [K]
ANSYS Specify Reference Temperature = Off
ANSYS Supplemental HTC = 0.0 [W m^-2 K^-1]
BC Profile Type = Inlet Velocity
Export Connectivity = Off
Export Coord Frame = Global
Export File = C:\Users\counsil\Documents\Thesis Simulations\First Paper\Re=\
5E4\AoA=5\SST\NACA0012_Re=5E4_AoA=5_SST_2D_files\d p0\CFX-1\CFX\$List
Export Geometry = On
Export Node Numbers = Off
Export Null Data = On
Export Type = Generic
Export Units System = Current
Export Variable Type = Current
Include File Information = Off
Include Header = On
Location List = /POLYLINE:Polyline 1
Null Token = null
Overwrite = On
Precision = 8
Separator = ", "
Spatial Variables = X,Y,Z
Variable List = Cf, Cp, Length, xc
Vector Brackets = ()
Vector Display = Scalar
END
>export


# Session file stopped: 2010/09/30 23:58:12

[/CODE]
! }
[/CODE]

_____________________________________

It's probably a very simple mistake, but, like I mentioned, I'm a pretty useless programmer.

Josh October 1, 2010 01:49

Well, like I said... I'm a useless programmer. After rereading my post, I realized I copied the "[/CODE]" part when I should have only copied the "! }"

Let that be a lesson not to debug late at night!

Thanks for everything, guys. Code works great.

mvoss October 1, 2010 02:32

hi

:D ... yes, the [CODE] snippet is from the online formular.
I suppose itīs running??
Check back for further questions.

neewbie

Josh October 1, 2010 03:34

Well, the only questions I have are regarding expediting the process. If you feel like it...

Suppose I want to average all of the .csv files into one. I know I can write an external code with Python, e.g., to do this, but can it be done directly in the batch file?

mvoss October 1, 2010 03:57

hi,

the thing is, that the batch doesn't know about the exported values. so, yes, you have to run another script for all of the csv files
OR
you create a lot of points, representing the "exported" line, link them to an expression like

! $CP=getExprVal("CP");
! $CP_POINT1=probe($CP, Point1);
store every "Point" in a separate list, average over the list.
But maybe you can do this way more easily in, ... letīs say EXCEL, if you have to do it only once.

neewbie

Josh October 1, 2010 05:11

Thanks so much, MV. Cheers.

hung November 2, 2010 19:52

Quote:

Originally Posted by Lance (Post 277236)
Hi,
use the PERL script in the beginning of this thread (CycLone, February 13, 2008, 16:00). - No need for you to do any PERL programming, just copy/paste :)
I use it often to export lines, polylines, or even surfaces from my transient simulations.

hi
Is anything changed with new version of CFX?
Couple of months ago I still run this command without any problems.
Now I got version 12.1 ANSYS and it seems something wrong here.
thanks

mvoss November 3, 2010 03:25

hi,

which command? Afaik: there is a change in the nomenclature for variables e.g. the molar density.

neewbie

hung November 4, 2010 18:33

Quote:

Originally Posted by CycLone
;86065
Here's a crude session that will do the trick. Copy and paste it into your command window in Post and substitute your starting and finishing iteration numbers as well as your desire filename. Leave the "$i" in the name, as I have done below; Post will substitute the current value of the PERL variable $i into the name when it writes the file. You should first do a manual export to select the variables you want.

!$start = 0;
!$finish = 100;

!for($i=$start,$i<=$finish,$i++) {
> load timestep=$i

EXPORT:
Export File = export_$i.csv
END
>export
!}

-CycLone


This command.
I used to run this commands before.:confused:

Lance November 5, 2010 02:01

Quote:

Originally Posted by hung (Post 282225)
This command.
I used to run this commands before.:confused:

note that the code should be:

!for($i=$start;$i<=$finish;$i++) {

that is, semicolon between the variables, not comma.
(at least for me...)

hung November 7, 2010 22:25

Quote:

Originally Posted by Lance (Post 282249)
note that the code should be:

!for($i=$start;$i<=$finish;$i++) {

that is, semicolon between the variables, not comma.
(at least for me...)


thanks
it works

Turbomachine February 25, 2011 06:24

error in Linux
 
Dear All!

I was trying to run the macro below as you suggested earlier in the topic:


COMMAND FILE:
CFX Post Version = 12.1
END
DATA READER:
Clear All Objects = false
Append Results = false
Edit Case Names = false
Open to Compare = false
Multi Configuration File Load Option = Last Case
Open in New View = true
Keep Camera Position = true
Load Particle Tracks = true
Files to Compare =
END
DATA READER:
Domains to Load = R1
END

! $PathSeparator = "/";
! $ResFileName = getValue("DATA READER", "Current Results File");
! $ResPos = index($ResFileName, ".res");
! $ResFileLength = length($ResFileName);

! if ($ResPos == ($ResFileLength - 4)){
! $FileBase = substr($ResFileName, 0, $ResFileLength-4);
! }
! else {
! $FileBase = $ResFileName ;
! }
! $DirName = $FileBase . "_EXPORT2";
! mkdir ($DirName, 0777);
! $DirName = $DirName . $PathSeparator;



! $count = 567;

! @tlistt = (567, 568, 569, 570, 571);

! foreach $tlist (@tlistt){

DATA READER:DATA READER
Current Timestep = $tlist
END
> load

! $dummyfile = $DirName . "t" . $count.".csv";

EXPORT:
#ANSYS Export Data = Element Pressure
#ANSYS Export Locator = wallmeshcdb
#ANSYS Fluid Selection = All Fluids
#ANSYS Reference Temperature = 0.0 [C]
#ANSYS Specify Reference Temperature = Off
Export Type = Generic
#BC Profile Type = Inlet Velocity
Export Connectivity = Off
Export Coord Frame = Global
Export File = $dummyfile
Export Geometry = Off
Export Node Numbers = Off
Export Null Data = Off
Export Units System = Current
#Export Variable Type = Hybrid
Include File Information = Off
Include Header = On
Location List = Blade1
Null Token = 0
Overwrite = On
Precision = 10
Separator = ", "
Spatial Variables = X,Y,Z
Variable List = Pressure, Total Mesh Displacement X, Total Mesh Displacement Y, Total Mesh Displacement Z, Normal X, Normal Y, Normal Z
Vector Brackets = ()
Vector Display = Scalar
END
>export

! $count = $count + 1;

! }



However I get an error below:


https://lh6.googleusercontent.com/_k...icture%202.png


Can anyone help me point out the problem?

Thank you very much

pavitran February 25, 2011 10:57

Hi
 
Hi,

you can find the same post in page 2 also, however I am repeating the same thing again

copy the below macro in between hashes #, to some "file.cse" and copy file.cse to the directory where your *.trn files are located.

Being in the same directory, at the UNIX or Windows command line just type

cfx5post -batch file.cse ####for v11.0

cfx512post -batch file.cse ####for v12.0

cfx5121post -batch file.cse #### I guess for v12.1

As soon as you execute this and if everything is fine, I mean your location name , then on the screen you can see which case is presently in process.

eg:
:> cfx5post -batch file.cse
567
568
:>


Note : Before executing the above command, be sure to export DISPLAY, if using "putty" to connect to the LINUX machine.

export DISPLAY=IP:0.0 # IP address of windows machine

####################################
COMMAND FILE:
CFX Post Version = 12.1
END
DATA READER:
Clear All Objects = false
Append Results = false
Edit Case Names = false
Open to Compare = false
Multi Configuration File Load Option = Last Case
Open in New View = true
Keep Camera Position = true
Load Particle Tracks = true
Files to Compare =
END
DATA READER:
Domains to Load = R1
END

! for ($i=567; $i <= 571; $i=$i+1) {
! $file ="$i\_Full.trn" # eg: this loads 567_Full.trn file
! print "$file \n";
> load filename=$file, force_reload=true
EXPORT:
#ANSYS Export Data = Element Heat Flux
#ANSYS Reference Temperature = 0.0 [K]
#ANSYS Specify Reference Temperature = Off
# ANSYS Supplemental HTC = 0.0 [W m^-2 K^-1]
# BC Profile Type = Inlet Velocity
Export Connectivity = Off
Export Coord Frame = Global
Export File = $i.csv # Export file name with increment
Export Geometry = Off
Export Node Numbers = Off
Export Null Data = Off
Export Type = Generic
Export Units System = Current
Export Variable Type = Current
Include File Information = Off
Include Header = On
Location List = Blade1
Null Token = 0
Overwrite = On
Precision = 10
Separator = ","
Spatial Variables = X,Y,Z
Variable List = Pressure, Total Mesh Displacement X, Total Mesh Displacement Y, Total Mesh Displacement Z, Normal X, Normal Y, Normal Z
Vector Brackets = ()
Vector Display = Scalar
END
>export
!}
############################################

Turbomachine February 26, 2011 07:39

Dear Pavitran,

Thank you for your help. Unfortunately, the script does not work since it says there is a syntax error in line 23 after the for loop where you specify the name of the file to be loaded. On the other hand when I use the script that I posted (without the for loop) there is no syntax error but there is another error saying that "Can't resolve filename to load".

Do you have an idea of what this might be?

pavitran February 26, 2011 08:53

Hi
 
In line 20 there is a syntax error, I forgot to add semicolon ";'' at the end, just add that, I believe it should work now: It should look like below

! $file ="$i\_Full.trn" ;

Shafiul February 28, 2011 16:34

Quote:

Originally Posted by pavitran (Post 261915)
Ok carlitos try this !:)

copy the below macro in between hashes #, to some "file.cse" and copy file.cse to the directory where your *.trn files are located.

Being in the same directory, at the UNIX or Windows command line just type

cfx5post -batch file.cse ####for v11.0

cfx512post -batch file.cse ####for v12.0

As soon as you execute this and if everything is fine, I mean your location name , then on the screen you can see which case is presently in process.

eg:
:> cfx5post -batch file.cse
71100
72000
72900
:>


####################################
......

I hope it works this time:)

Dear pavitran,

I applied this idea for my case but I'm getting an error message like below:



Batch run of "/home/shafiul/P4718_act_scale2_Unsteady_J0751_002/file.cse" failed due to the following errors:

-- ERROR -- Error reading file '1001.trn':
Error reading dataset G/COMMANDS


Do you have any idea about it?

I used the following macro:

##############################
COMMAND FILE:
CFX Post Version = 11.0
END

!$start = 1001;
!$finish = 1002;
!for($i = $start; $i<=$finish; $i++){
!print "$i \n";
> load filename = $i.trn


EXPORT:
Export Coord Frame = Global
Export File =
/amhl_storage/home/shafiul/P4718/test_with_scale_2/testresults/$i.csv
Export Geometry = Off
Export Type = Generic
Export Units System = US Engineering
Location List = bladepre, bladesuc
Overwrite = On
Separator = " "
Variable List = Y, Z, Pressure
END
> export
!}
##########################


Thanks in advance.
Shafi

pavitran February 28, 2011 22:20

Hi Shafiul,

The script which you have used works perfectly in both my unix & windows machine. I executed that using v11,v12.0 & v12.1, and it works fine with the three versions.


Some of the possible problems in your case may be:
  1. You have to execute this script, being in the directory where your *.trn files are located.
  2. Other wise you have to include path of your *.trn files directory. eg: > load filename = /home/shafiul/P4718_act_scale2_Unsteady_J0751_002/$i.trn
  3. If you have created file.cse in windows machine and your exporting it to unix machine, then it is better to convert its format by using the command: dos2unix file.cse
I hope the above points will benefit you.

aut_iut September 16, 2011 10:42

Time history data
 
Dear friends
I'm going to extract time history data of acceleration for all time steps in one file!
How can I export data for all time steps just in one dat file? I would like to have a file with the first column shows time step and second one shows the acceleration at a specific point.


Best regards,

Josh September 16, 2011 11:16

Hi Rasoul,

The easiest way to do this would be to create a monitor point for acceleration at a specific point. It will show up as a new convergence curve in Solver which you can then export (right-click, Export) to a .csv file.

Wedge23 November 7, 2011 12:07

delete please

hung March 22, 2012 03:51

Hi

Please help
does anyone know why this is not working any more???
ANSYS 13??

!$start = 0;
!$finish = 100;

!for($i=$start;$i<=$finish;$i++) {
> load timestep=$i

EXPORT:
Export File = export_$i.csv
END
>export
!}

Thank alot,:eek:

mvoss March 22, 2012 05:02

how do you start the script? External or within the Command Editor in Post? Did you get an error message?

hung March 22, 2012 15:31

Command Editor in Post
I did not see any error at all.
CFD loaded the timestep but did not export it to the file.

hung March 25, 2012 19:26

They have changed the location of the files.
now all the files are saved in Mydocuments rather than userfiles
:rolleyes:

st268 September 4, 2012 21:19

Hello all,

This particular thread seems to be full of lovely knowledge gems!

Im currently attempting to do the whole export transient results to file thing using all the suggestions given here.

I am wishing to look at the pressure values at roughly 100 points on a sample disk plane over a series of 1000 transitions so that I can calculate the spacial and temporal correlation.

My question is this: can I do the correlation part in post? I mean can I read and compare from numerous transient files at once within the post processing module or do I have to write to a either a whole bunch of files/one large one and go from there in matlab?

Thanks in advance for any suggestions,

Susan

ghorrocks September 5, 2012 05:55

CFD-Post is not very good at that sort of thing. I would export the data to a file using a CFD-Post session file and do the correlation in matlab, excel or whatever your choice of analysis package is.

sjtusyc September 5, 2012 09:12

How to use the CFD-Post session file to get the data ? Can i get the data at one area using this method?

ghorrocks September 5, 2012 18:40

Record a session file, then export data from a point and have a look at the session file it generates. You can then edit the session file to do any number of points you like, and play the session file to do it.

sjtusyc September 6, 2012 02:53

Quote:

Originally Posted by ghorrocks (Post 380448)
Record a session file, then export data from a point and have a look at the session file it generates. You can then edit the session file to do any number of points you like, and play the session file to do it.

Thanks , where can i find detailed information.
I used to export data suing the chart. But sometimes i would like to know the data on a face.

ghorrocks September 6, 2012 06:08

Quote:

Thanks , where can i find detailed information.
The CFD-Post documentation and tutorial examples.

eaysk April 5, 2014 12:07

Hello!

I have a similar problem..

I am trying evaluate the volume averaged water volume fraction for each timestep I have run.
I have written these commands in the command editor of CFD-Post.

#************************************************* *********************

! open(OFH, " >> file.dat"); # writing to a file

# for loop start

! for ($i=100; $i <= 28000; $i=$i+100) {

COMMAND FILE:
CFX Post Version = 14.5.7
END

> load filename=C:\bcp4_3_v4_sr4_omg15_pw3\bcp4_3_v4_sr4_ omg15_pw3 (fi=0.9097)\bcp4_3_v4_sr4_omg15-13-00$i.dat
! $vff= volumeAve(Water.Volume Fraction, "Plane 1");
! printf (OFH "1.8f\n",$vff;
!}

! close(OFH);
#************************************************* *********

I get the error-
ERROR
CCL parser failed with message:
Perl Syntax errors detected:
syntax error at (eval 6235) line 11, at EOF

Could you guys tell me whether I am on the right track with the code? If yes, then how can I correct it?

Cheers.

mvoss April 5, 2014 12:37

Unclosed printf ?
Try to run the script from outside post- so you dont have to wait for the 280 Times of showing the dat.-file in the GUI. Just add a propper state file at the begining for the Plane1. Try Glenns advice on the session.

eaysk April 6, 2014 13:07

I'm don't understand how to run the script from outside post..

I've modified the code slightly. I don't get any error messages anymore, but it doesn't write anything in the file either. Could somebody please point out why?

#*************************************************
COMMAND FILE:
CFX Post Version = 14.5.7
END

! my $file=file.txt;
! open($FH, ">$file"); # writing to a file

!$start = 200;
!$finish = 28000;
! for ($i=$start; $i <= $finish; $i=$i+100) {

!if($i<1000){
> load filename=C:\bcp4_3_v4_sr4_omg15_pw3\bcp4_3_v4_sr4_ omg15_pw3 (fi=0.9097)\Data files\bcp4_3_v4_sr4_omg15-13-00$i.dat
!}
!elsif($i<10000){
> load filename=C:\bcp4_3_v4_sr4_omg15_pw3\bcp4_3_v4_sr4_ omg15_pw3 (fi=0.9097)\Data files\bcp4_3_v4_sr4_omg15-13-0$i.dat
!}
!else{
> load filename=C:\bcp4_3_v4_sr4_omg15_pw3\bcp4_3_v4_sr4_ omg15_pw3 (fi=0.9097)\Data files\bcp4_3_v4_sr4_omg15-13-$i.dat
!}
! $vol_frac_fluid= areaAve("Water.Volume Fraction", "Plane 1");
! printf($FH "1.8f\n",$vol_frac_fluid);
!}

! close($FH);
#************************************************* *********


All times are GMT -4. The time now is 20:12.