|
[Sponsors] | |||||
|
|
|
#1 |
|
New Member
Yarzar
Join Date: May 2010
Posts: 22
Rep Power: 5 ![]() |
Hello,
I have a question about surface points. I know I could input the coordinates in the surface->points option but I have over 200 points to monitor. It drives me crasy to look at a bunch of numbers and to type the coordinates. Is there away to automatically get the points either from the meshing and geometry or maybe importing it from Excel ?? ![]() Thanks, ATOTA |
|
|
|
|
|
|
|
|
#2 |
|
Senior Member
Chris
Join Date: Jul 2009
Location: Ohio, USA
Posts: 169
Rep Power: 5 ![]() |
I would write a macro in scheme to do this. Here's an overview of what you need to do.
First, understand that you can use the tui (text user interface) instead of the gui to execute commands. You could create a point monitor by going to Surface-->Point, creating a point, and then Solve-->Monitors-->Surface, and the clicking around to set a point monitor for temperature, for example. Another way to do this (with the tui) is to type surface/point, at which point you'll be prompted to enter the x, y, and z coordinates of the point, and then solve/monitor/surface/set-montor and input a name for the monitor, report type ("Vertex Average"), quantity to monitor (temperature), surface for monitor (point-2), etc. Another way yet is to execute the following two commands: surface/point-surface point-8 0 0 0 solve/monitors/surface/set-monitor monitor-9 "Vertex Average" temperature point-8 () n y n 1 If you copy the commands individually into the tui and execute them, you'll see that the monitor was created. Rather than type the commands into the tui yourself, you can use a macro to load the commands. The following macro will also create a point monitor: (ti-menu-load-string "surface/point-surface point-9 0 0 0") (ti-menu-load-string "solve/monitors/surface/set-monitor monitor-9 \"Vertex Average\" temperature point-8 () n y n 1") If you copy that into a text file, you can execute it by going to File-->Read-->Scheme... browse to the directory, select "all files", and open the text file. The next step is to write a program to loop over these commands to create all of your monitors. The program would also need to access a file with your coordinates of the points. Here's a sketch of what it would look like (written in bad psuedo-scheme): (do ( from i = 1 to 200) (define xcoord (;get the x coordinate from some file)) (define ycoord (;get the x coordinate from some file)) (define zcoord (;get the x coordinate from some file)) ; build up a string to load into the tui to create point i ; build up a string to load to create point monitor i ) I hope this isn't too confusing. I was basically trying to show you how to use the tui, let you know that you can use macros written in scheme to load commands into the tui, and give you a rough idea of how to do it. To actually write the program would take me some time, as I'm not really good at writing in scheme, but if I can help in anyway, let me know. If you google around for scheme programming information, you would find more information about scheme. Good luck! |
|
|
|
|
|
|
|
|
#3 |
|
New Member
Yarzar
Join Date: May 2010
Posts: 22
Rep Power: 5 ![]() |
Thank you very much ! I really appreciate it.
I am not so sure about the programming part but I will look in to it Another question surface/point-surface point-8 0 0 0 solve/monitors/surface/set-monitor monitor-9 "Vertex Average" temperature point-8 () n y n 1 is 8 0 0 0 the coordinates ?? or what is it ? Thanks Again |
|
|
|
|
|
|
|
|
#4 |
|
Senior Member
Chris
Join Date: Jul 2009
Location: Ohio, USA
Posts: 169
Rep Power: 5 ![]() |
It's just like you input the commands individually as you were prompted by fluent. So:
surface/point-surface <enter> name: point-8 <enter> x-coord: 0 <enter> y-coord: 0 <enter> z-coord: 0 <enter> becomes: surface/point-surface point-8 0 0 0 This works for all tui commands. It allows you to enter everything on one line, rather than waiting to be prompted by fluent. |
|
|
|
|
|
|
|
|
#5 |
|
New Member
Yarzar
Join Date: May 2010
Posts: 22
Rep Power: 5 ![]() |
Thank you very much...you're a life saver !
|
|
|
|
|
|
|
|
|
#6 |
|
Senior Member
Chris
Join Date: Jul 2009
Location: Ohio, USA
Posts: 169
Rep Power: 5 ![]() |
No problem! Did you get it working? I thought about it a little bit more, and I realized that you can do this with a spreadsheet instead of writing a scheme program:
Screenshot.jpg |
|
|
|
|
|
|
|
|
#7 |
|
New Member
Yarzar
Join Date: May 2010
Posts: 22
Rep Power: 5 ![]() |
Yeh I used a spreadsheet and it worked beautifully.
|
|
|
|
|
|
|
|
|
#8 |
|
New Member
Yarzar
Join Date: May 2010
Posts: 22
Rep Power: 5 ![]() |
Hello again Chris D,
I'm sorry to bother you again and again but could you answer another question about the points please ? Could you explain to me what () n y n 1") does? I was able to create the points but now my boss wants me to make them monitors. Thanks for all the help ! |
|
|
|
|
|
|
|
|
#9 |
|
Senior Member
Chris
Join Date: Jul 2009
Location: Ohio, USA
Posts: 169
Rep Power: 5 ![]() |
solve/monitors/surface/set-monitor monitor-9 "Vertex Average" temperature point-8 () n y n 1:
point-8 : surface for the monitor () : terminates the surface input list. the next three (n, y, n) are yes/no answers to whether or not you want to plot the monitor, print the monitor, and save the monitor data. (I'm not 100% sure of the order of the inputs, as I don't have fluent in front of me right now. It can be checked by manually creating a monitor with the tui and noting the input prompts.) The last input is for the reporting interval for the monitor. In this case, every iteration. Note that if you answer "yes" to save the monitor data, you will be prompted to input the name of the output data file, so the script will need to be modified to include that. The filename must be enclosed with double quotes, as it's a string, and you can use / instead of \ to separate directories, which prevents you from accidentally entering an escape character. One important point is that you need to escape the " like you did for the name "Vertex Average". So your input would look like this: \"c:/directory/another/monitor1.out\" |
|
|
|
|
|
|
|
|
#10 |
|
New Member
Yarzar
Join Date: May 2010
Posts: 22
Rep Power: 5 ![]() |
Thanks !
I think I'm getting it. |
|
|
|
|
|
|
|
|
#11 |
|
New Member
Yarzar
Join Date: May 2010
Posts: 22
Rep Power: 5 ![]() |
Ok it is kinda working and it made the monitors.
but it won't let me change it from iteration to time-step. It should be the last thing I should have on the command line. This is what I have solve/monitors/surface/set-monitor monitor-lv1a1 "Vertex Average" x-velocity point-lv1a1 () n y y \"c:/documents and settings/user/desktop/lv1a1 \ " 1 y time-step it does not take in the 1 y time-step part. I remember when I actually typed them in, it prompt me for it before and the sequence was frequency>axis>time-step Now it doesn't anymore... I'm really going crazy with this... DO you know what I might have changed accidentally that caused Fluent to stop asking me for axis and time-step. |
|
|
|
|
|
|
|
|
#12 |
|
Senior Member
Chris
Join Date: Jul 2009
Location: Ohio, USA
Posts: 169
Rep Power: 5 ![]() |
The problem might be the space between the \ and ".
Strings are enclosed by "", so you need an escape character to actually be able to include a " in a string. Otherwise, the interpreter thinks you're ending the string. In your case, you have (ti-menu-load-string "some stuff \"c:/documents and settings/user/desktop/lv1a1 \ " 1 y time-step") where the blue text is the string that is being loaded. Since the "1 y time-step" is not in the string, and ti-menu-load-string expects one string as an argument, you get an error. What you want is (ti-menu-load-string "some stuff \"c:/documents and settings/user/desktop/lv1a1 \" 1 y time-step") By putting a space in between the \ and ", the \ is just part of the string and doesn't escape like you want. Long answer, but hopefully it will make more sense now. |
|
|
|
|
|
|
|
|
#13 |
|
New Member
Yarzar
Join Date: May 2010
Posts: 22
Rep Power: 5 ![]() |
I don't think that's the case...
I typed in the same things in the TUI to see what's going on and Fluent itself didn't give me the option to enter the last part. It was working yesterday. I don't know what went wrong. |
|
|
|
|
|
|
|
|
#14 |
|
Senior Member
Chris
Join Date: Jul 2009
Location: Ohio, USA
Posts: 169
Rep Power: 5 ![]() |
Did you switch from the steady state solver to the transient solver? You probably won't have the time step option if it's steady.
|
|
|
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| boundaries with gmshToFoam | ouafa | Open Source Meshers: Gmsh, Netgen, CGNS, ... | 7 | May 21, 2010 12:43 |
| Error : Self intersecting surface mesh, computing intersections & Error : Impossible | velan | Open Source Meshers: Gmsh, Netgen, CGNS, ... | 0 | June 29, 2009 00:48 |
| BlockMeshmergePatchPairs | hjasak | OpenFOAM Native Meshers: blockMesh | 11 | August 15, 2008 07:36 |
| Problem with Gmsh | nishant_hull | Open Source Meshers: Gmsh, Netgen, CGNS, ... | 17 | December 7, 2007 01:33 |
| CFX4.3 -build analysis form | Chie Min | CFX | 5 | July 12, 2001 23:19 |