[Paraview] Catalyst: simulation steering during In-Situ visualization

Alexandre Ancel alexandre.ancel at cemosis.fr
Thu Dec 3 03:59:54 EST 2015


Hello,

@Tim:
Thanks for the nice tips regarding to queue systems and signals on HPC
clusters, I wasn't aware of that. I'll look into it on our local cluster,
and we have a stop/restart method in our library, so it could work !

@Andy:
Indeed I was aware of the UserData member, I already used it in fact.
Do you have something specific in mind, when you say that there may be a
simple hack for the live connection to pass information from the GUI back
to Catalyst ? The main interest I see with using a plugin is to have
flexibility regarding what the user can provide to the simulation. He could
directly use the option format we define in the library and define those as
graphical elements in the plugin.
I'll definitely have at look at the code behind the Catalyst GUI, I guess
the answer is behind.
Thanks you !

Best regards,
Alexandre Ancel

On Wed, Dec 2, 2015 at 6:47 PM, Andy Bauer <andy.bauer at kitware.com> wrote:

> Yes, it should be doable in ParaView through a plugin. The
> vtkCPDataDescription class has a UserData member that is a vtkFieldData
> pointer which can be used to pass information back and forth between the
> Catalyst pipelines and the adaptor. It's also Python wrapped so it's
> available in the Catalyst Python pipeline scripts as well. In the adaptor
> you would have to know how to process that data to your computational
> steering on the simulation side (i.e. take the Catalyst input). There may
> be a simple hack for the live connection to pass information from the GUI
> back to Catalyst in which case you might not even need a plugin. Otherwise,
> you should probably look at the code for the live connection (i.e. the
> stuff under the Catalyst GUI menu) to see how to pass other information
> back and forth between the GUI and Catalyst.
>
> On Wed, Dec 2, 2015 at 12:02 PM, Tim Gallagher <tim.gallagher at gatech.edu>
> wrote:
>
>> Hi Alexandre,
>>
>> I don't know if this is possible or not with Catalyst, hopefully somebody
>> else comes along to answer that.
>>
>> But, we did this in our code using signal handling and POSIX signals (see
>> http://man7.org/linux/man-pages/man7/signal.7.html). We define 3
>> behaviors in our code -- reload the input file and change simulation
>> behavior accordingly; create a restart file at the next available chance
>> and keep running; create a restart file and exit immediately. We use
>> SIGUSR1 and SIGUSR2 for the first two options and then we use SIGTERM for
>> the last behavior. This is helpful because most queue systems on HPC
>> clusters will send SIGTERM 60 seconds before your wall-time is about to run
>> out, so catching that signal and using it to write a restart file and exit
>> means we always get our data right before our job runs out of time.
>>
>> Signals can be sent locally using `kill` or can be sent through PBS using
>> `qsig`. It works quite nicely.
>>
>> Tim
>>
>> ------------------------------
>> *From: *"Alexandre Ancel" <alexandre.ancel at cemosis.fr>
>> *To: *"paraview" <paraview at paraview.org>
>> *Sent: *Wednesday, December 2, 2015 11:47:59 AM
>> *Subject: *[Paraview] Catalyst: simulation steering during
>> In-Situ        visualization
>>
>>
>> Hello,
>>
>> We are currently using Catalyst for In-Situ visualization in the context
>> of our finite element library and it is working very well.
>>
>> We would like to implement simulation steering while using Catalyst.
>> The idea would consist in having a ParaView plugin that we load in the
>> ParaView client. Within the code of this plugin, we would like to send data
>> to the simulation code to modify its behavior.
>>
>> First question: Is it possible to do so ?
>> Then, How would the whole process be run ?
>> The ideal scenario would be the following:
>> - Launch ParaView & connect to the distant pverver & enable Catalyst
>> - Load the plugin in ParaView
>> - Launch the simulation
>> - Receive data until timestep N then stop the simulation
>> - Send data to the simulation through the loaded plugin
>> - Continue with the simulation
>> Would it be possible to do so ? If yes, could you give me keypoints about
>> how to do this ?
>>
>> Thanks in advance for your answers,
>>
>> Best regards,
>> Alexandre Ancel
>>
>> --
>> Alexandre Ancel
>> Docteur, Ingénieur de recherche / Phd, Research Engineer
>> Cemosis <http://www.cemosis.fr> - alexandre.ancel at cemosis.fr
>> Tel: +33 (0)3 68 8*5 02 06*
>> IRMA - 7, rue René Descartes
>> 67 000 Strasbourg, France
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Search the list archives at: http://markmail.org/search/?q=ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/paraview
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Search the list archives at: http://markmail.org/search/?q=ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/paraview
>>
>>
>


-- 
Alexandre Ancel
Docteur, Ingénieur de recherche / Phd, Research Engineer
Cemosis <http://www.cemosis.fr> - alexandre.ancel at cemosis.fr
Tel: +33 (0)3 68 8*5 02 06*
IRMA - 7, rue René Descartes
67 000 Strasbourg, France
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20151203/3263db5e/attachment.html>


More information about the ParaView mailing list