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 |
sorry,.. wrong thread.
|
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! |
hi,
you can either use a session-file-script or the transient graph option within CFX-Post. neewbie |
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. |
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 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 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 |
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. |
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. |
hi
:D ... yes, the [CODE] snippet is from the online formular. I suppose itīs running?? Check back for further questions. neewbie |
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? |
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 |
Thanks so much, MV. Cheers.
|
Quote:
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 |
hi,
which command? Afaik: there is a change in the nomenclature for variables e.g. the molar density. neewbie |
Quote:
This command. I used to run this commands before.:confused: |
Quote:
!for($i=$start;$i<=$finish;$i++) { that is, semicolon between the variables, not comma. (at least for me...) |
Quote:
thanks it works |
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 |
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 !} ############################################ |
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? |
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" ; |
Quote:
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 |
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:
|
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, |
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. |
delete please
|
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: |
how do you start the script? External or within the Command Editor in Post? Did you get an error message?
|
Command Editor in Post
I did not see any error at all. CFD loaded the timestep but did not export it to the file. |
They have changed the location of the files.
now all the files are saved in Mydocuments rather than userfiles :rolleyes: |
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 |
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.
|
How to use the CFD-Post session file to get the data ? Can i get the data at one area using this method?
|
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.
|
Quote:
I used to export data suing the chart. But sometimes i would like to know the data on a face. |
Quote:
|
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. |
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. |
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. |