View Issue Details

IDProjectCategoryView StatusLast Update
0001375OpenFOAM[All Projects] Bugpublic2015-01-01 14:02
ReporterGRAUPSAssigned Tohenry 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinuxOSRHELOS Version5.7
Product Version 
Fixed in Version 
Summary0001375: foamToEnsight -parallel does not convert extra fields added by pressureTools
DescriptionAfter running a parallel case in simpleFoam and using the pressureTools function object to export static pressure at output time, "foamToEnsight -parallel" skips the static(p) field for all time steps. However, if you run foamToEnsight -parallel -latestTime, it converts the static(p) field properly.
Steps To Reproduce1. )Take any simpleFoam tutorial case and add the pressure tools entry to the controlDict. Set pressureTools to output static pressure at the outputTime.
2. )Run the case in parallel until it outputs data
3. )Run foamToEnsight -parallel... it will not convert the static(p) field.
4. )Run foamToEnsight -parallel -fields '("static(p)")'... it still will not convert the static(p) field.
5. )Run foamToEnsight -parallel -latestTime, it converts the static(p) field properly.

Additional InformationI believe foamToEnsight gets its field list from the first time directory it converts, and then applies it to all other time directories regardless of whether additional fields are written out in latter time directories. The 0 directory will not contain extra post-processed fields, therefore they get skipped in latter directories.

I think the expected behavior would be to have foamToEnsight interrogate each time directory for a list of field names before exporting.
TagsNo tags attached.

Activities

wyldckat

2014-08-16 15:59

updater   ~0003211

I was curious about this and went to inspect the source code for foamToEnsight. So what happens is that this converter does this on purpose, in the file "checkData.H". The comment right at the start of that file states: «ignore special fields or fields that we don't handle»

The code in that file will explicitly check if the requested field exists on all time snapshots that are to be processed. This seems to have been done like this by design, possibly because Ensight at that time was unable to load fields only for particular time snapshots.

If you use the "-time" option properly, i.e. with a range, you should be able to make it consistent in the export procedure, for example, by skipping the time snapshot 0:

  foamToEnsight -time '1e-10:'

GRAUPS

2014-08-28 15:55

reporter   ~0003222

Bruno, thanks for your workaround. This does allow me to skip only the zero directory while still being able to convert all time directories after it (and therefore the custom fields). I still think the current code is counter intuitive and could be refined, but if this is the intended functionality (considering the current capability of EnSight), you may close this ticket.

Issue History

Date Modified Username Field Change
2014-08-15 20:44 GRAUPS New Issue
2014-08-16 15:59 wyldckat Note Added: 0003211
2014-08-28 15:55 GRAUPS Note Added: 0003222
2015-01-01 14:02 henry Status new => resolved
2015-01-01 14:02 henry Resolution open => fixed
2015-01-01 14:02 henry Assigned To => henry