Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
29273 Discussions

Graphing / Plotting of live data using the Intel Compiler

sb2601
Beginner
1,635 Views
First of all I apologise if this is a common topic, although I have searched the archives yet can't seem to find what I'm looking for.

I have a time marching CFD code that I have written using the Intel Visual Fortran 8 Compiler. To monitor the convergence I write quantities such as mass flow, residuals etc to screen as text every nth timestep, in this way I can examine these as the solution progresses to be certain that my solution is converging.

Since some of my solve times are long ( 33 hrs for a domain with 600,000 cells ) eyeballing the residuals can become a bit tedious and so I was hoping to write some code to add to my convergence subroutine that would plot these as the solution progresses, that way I can monitor convergence much more easily.

Needless to say after trying for a while all I've discovered is that it is much more difficult than I thought... Hence the common question - is it really feasible for me to try writing code for this ( and if so I'd be grateful if anyone could give me some ideas of where I may look for examples - a google search doesn't turn up much ), or should I be using an external library ( and does such a library exist for the Intel compiler ? ).

Thank you for your kind assistance,

Simon.


0 Kudos
6 Replies
Steven_L_Intel1
Employee
1,635 Views
The Intel Array Visualizer is a free library that can do just what you ask. While it is no longer developed or maintained by Intel, it works quite well for many people. If you're still using version 8, it's included in the product. It was removed from the 9.1 product but can be downloaded from here.
0 Kudos
sb2601
Beginner
1,635 Views
Thank you Steve, I have taken a look at the fortran code samples included in the samples directory of the Array Visualizer. From this I can probably figure out how to plot my data using it.

To get an idea of how to write code to call the array visualizer, I have tried running the example sine2D but on building get the error 'Error in opening library module file [AVOBJMOD]

Do I need to include a path to this in the source code ?

Thank you,
Simon
0 Kudos
Steven_L_Intel1
Employee
1,635 Views
No, you have to add the path to the Array Visualizer INCLUDE and LIBS folders to Tools..Options..Intel Fortran..Directories (Include files and Library files, respectively.)
0 Kudos
jimdempseyatthecove
Honored Contributor III
1,635 Views

Simon,

The Array Visualizer is very nice for dynamic plotting. e.g. eyeball-ing for convergence. I have been using AV for a couple of years now and was sad to see it yanked from IVF. For my use I use 3D graphs to display a tension structure complete with charts of Tension, Elastic Area, Stress, Strain. These graphs are updated periodicaly as the simulation runs. It is not unusual for simulation runs to go several 100's of hours between checkpoints (even on a 4 core server). In this manner I can notice activity quicker than by using the traditional approach of performing post-mortum analysis of a simulation "crash". Also the eyeball technique can catch things you didn't plan on and for which you hadn'twritten a post-run report.

The other neet thing you can do is write ad-hoc graphs. If you instruct AV to watch data (e.g. a table of results) but for which you did not add plots. While you program is running, you can use AV to monitor the contents of the watched array. In addition to this, while you are running, you can also add an XY plot to view the data graphicaly.

The learning curve on AV is quite steep. But you can do some simple things quite easily.

If you need some pointers you can contact me by email jim_dempsey@ameritech.net

Jim

0 Kudos
Dishaw__Jim
Beginner
1,635 Views
While the Intel Array Visualizer is good, I found it a bit more difficult to use then the Compaq Array Visualizer--in some ways it was too flexible and was missing some features.

I have been using the PLplot plotting library (which is free and available at sourceforge) and have been happy with the results. If you are interested I can provide additional details.
0 Kudos
vivekrao4
Beginner
1,635 Views

You could write intermediate results to a text file and make a system call to Gnuplot (a free graphing program available for most operating systems, including Windows). I do this, and it works for any compiler with the "system" subroutine or equivalent.

0 Kudos
Reply