[Paraview] How to insert annotate time info into catalyst?
Ufuk Utku Turuncoglu (BE)
u.utku.turuncoglu at be.itu.edu.tr
Thu Jan 25 03:59:33 EST 2018
Hi Seongmo,
I am using following steps to add annotation to Catalyst,
1 - Create a ProgrammableFilter
2 - Add following code to it (don’t forget to modify epoc)
import paraview.simple
import paraview.servermanager
import datetime
import locale
# get output port and copy it to input
out = self.GetOutput()
out.ShallowCopy(self.GetInput())
# define epoc
locale.setlocale(locale.LC_TIME, "en_US")
epoc = datetime.datetime(1949, 12, 1, 0, 0, 0)
# get time value
tval = self.GetInput().GetInformation().Get(out.DATA_TIME_STEP())
# find time by adding hours
#t1 = epoc+datetime.timedelta(seconds=tval)
t1 = epoc+datetime.timedelta(hours=tval)
tstr = t1.strftime(“%d-%b-%Y %H:%M:%S UTC")
# output
label = vtk.vtkStringArray()
label.SetNumberOfComponents(1)
label.Resize(1)
label.SetName("TimeLabel")
label.SetValue(0, t1)
out.GetFieldData().AddArray(label)
3 - Add AnnotateGlobalData1 and select “TimeLabel” as array (needs
MergeBlocks filter in case of multiblock datasets)
You could modify the section related with generation of time string for
your needs. I hope it helps.
Regards,
--ufuk
On 25.01.2018 00:56, Andy Bauer wrote:
> Hi Seongmo,
>
> Please keep the conversations on the mailing list so that anyone can
> follow along or participate. Also, these types of things often get
> lost in my inbox when they don't make it back to the ParaView mailing
> list.
>
> What version of ParaView Catalyst are you using? I think the annotate
> time filter should work with Catalyst but I haven't verified that. I
> vaguely remember others using that filter with Catalyst though. Also,
> I think the colormap bug was fixed. If you have a way of sharing a
> sample that demonstrates either of those bugs I can try taking a look
> at the issue.
>
> Best,
> Andy
>
> On Thu, Jan 18, 2018 at 6:40 PM, Seong Mo Yeon <seongmo.yeon at gmail.com
> <mailto:seongmo.yeon at gmail.com>> wrote:
>
> Dear Andy Bauer
>
> I have a quick question.
> Is it possible to have annotate time filter processed in catalyst
> adaptor? Current my code cannot that filter.
>
> BTW, image extracted from catalyst looks different from render
> view of paraview at the time of writing a script. e.g., pressure
> colormap legend is missing.
>
> Regards
> Seongmo
>
> On 2018년 1월 18일 AM 1:17 +0900, Andy Bauer <andy.bauer at kitware.com
> <mailto:andy.bauer at kitware.com>>, wrote:
>> Hi,
>>
>> My guess is that the TimeStep isn't getting set properly in the
>> adaptor (though it looks like it should be in
>> "dataDescription->SetTimeData(runTime.value(),
>> runTime.deltaTValue());"). My suggestion would be to add in the
>> following to either the RequestDataDescription() or
>> DoCoProcessing() methods in the python script to see what
>> Catalyst thinks the time step is:
>> print("In script2.py, the data time step is ",
>> datadescription.GetTimeStep())
>>
>>
>> On Wed, Jan 17, 2018 at 9:57 AM, SeongMo <seongmo.yeon at gmail.com
>> <mailto:seongmo.yeon at gmail.com>> wrote:
>>
>> Hi,
>>
>> I wrote a OpenFOAM adaptor for Catalyst.
>>
>> In the ParaView, the connection is made good and shows
>> filtered flow field as written in the python script.
>>
>> However, filename_%t and image_%t is not expanded as time
>> marching but just write filename_0 and image_0.png.
>>
>> As far as I know, %t should be replaced with current time as
>> given in dataDescription->SetTimeData.
>>
>> Any help would be appreciated.
>>
>>
>> FYI, python script is attached and snippet of my OpenFOAM
>> Adaptor code for Catalyst is as follows:
>>
>> // icoFoam.C
>>
>> #ifdef USE_CATALYST
>> Foam::HashTable<string> options = args.options();
>> IStringStream is(options["scriptList"]);
>> wordList scriptList = readList<word>(is);
>> OFAdaptor::Initialize(scriptList, mesh);
>> #endif
>> while (runTime.loop())
>> {
>> runTime.write();
>> #ifdef USE_CATALYST
>> OFAdaptor::CoProcess(mesh, runTime);
>> #endif
>> }
>> #ifdef USE_CATALYST
>> OFAdaptor::Finalize();
>> #endif
>>
>>
>> // OFAdaptor.C
>>
>> void CoProcess(Foam::fvMesh& mesh, Foam::Time& runTime)
>> {
>> vtkNew<vtkCPDataDescription> dataDescription;
>> dataDescription->AddInput("input");
>> dataDescription->SetTimeData(runTime.value(),
>> runTime.deltaTValue());
>> if (runTime.end())
>> {
>> // assume that we want to all the pipelines to execute
>> // if it is the last time step
>> dataDescription->ForceOutputOn();
>> }
>> if
>> (Processor->RequestDataDescription(dataDescription.GetPointer())
>> != 0)
>> {
>> Foam::polyMesh::readUpdateState meshState = mesh.readUpdate();
>>
>> if(meshState != Foam::polyMesh::UNCHANGED)
>> {
>> BuildVTKGrid(mesh);
>> }
>> UpdateVTKAttributes(mesh);
>> dataDescription->GetInputDescriptionByName("input")->SetGrid(multiBlockDataSet);
>> Processor->CoProcess(dataDescription.GetPointer());
>> }
>> }
>>
>>
>> --
>> SeongMo Yeon, Ph.D, Senior Engineer
>> Offshore Hydrodynamics Research
>> SAMSUNG HEAVY INDUSTRIES CO., LTD.
>> Central Research Institute
>> E-mail : seongmo.yeon at gmail.com <mailto:seongmo.yeon at gmail.com>
>> Tel :
>> --------------------------------------------------------
>> Fluctuat nec mergitur
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com <http://www.kitware.com>
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>> <http://www.kitware.com/opensource/opensource.html>
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>> <http://paraview.org/Wiki/ParaView>
>>
>> Search the list archives at:
>> http://markmail.org/search/?q=ParaView
>> <http://markmail.org/search/?q=ParaView>
>>
>> Follow this link to subscribe/unsubscribe:
>> https://paraview.org/mailman/listinfo/paraview
>> <https://paraview.org/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:
> https://paraview.org/mailman/listinfo/paraview
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://paraview.org/pipermail/paraview/attachments/20180125/9f34cd4f/attachment.html>
More information about the ParaView
mailing list