2016-12-09 13:35 GMT

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000650OpenFOAM[All Projects] Bugpublic2013-05-02 17:38
Reportermchurchf 
Assigned Touser4 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformXeon X86OSRedHatOS Version(please specify)
Product Version 
Target VersionFixed in Version 
Summary0000650: functionObject of type isoSurface and cuttingPlane do not write using "outputControl timeStep"
DescriptionWhen using the functionObjects isoSurface and cuttingPlane with "outputControl" set to "timeStep" and "outputInterval" specified, directories are written and named by the time to which the time step corresponds, but no data is written to the directories.

Using "outputControl outputTime" works fine.

I am trying this with pisoFoam of version 2.1.x downloaded August 27, 2012.

I tried the same thing, to output every time step with the functionObject sets, and it worked fine. It is just the cuttingPlane and isoSurface that I cannot get to work.
TagsNo tags attached.
Attached Files
  • ? file icon controlDict (2,329 bytes) 2013-03-22 21:06 -
    /*--------------------------------*- C++ -*----------------------------------*\
    | =========                 |                                                 |
    | \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
    |  \\    /   O peration     | Version:  2.2.0                                 |
    |   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
    |    \\/     M anipulation  |                                                 |
    \*---------------------------------------------------------------------------*/
    FoamFile
    {
        version     2.0;
        format      ascii;
        class       dictionary;
        location    "system";
        object      controlDict;
    }
    // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
    
    application     icoFoam;
    
    startFrom       startTime;
    
    startTime       0;
    
    stopAt          endTime;
    
    endTime         0.5;
    
    deltaT          0.005;
    
    writeControl    timeStep;
    
    writeInterval   20;
    
    purgeWrite      0;
    
    writeFormat     ascii;
    
    writePrecision  6;
    
    writeCompression off;
    
    timeFormat      general;
    
    timePrecision   6;
    
    runTimeModifiable true;
    
    functions
    {
        isoSurfaceData
        {
          type                 surfaces;
          functionObjectLibs   ("libsampling.so");
          interpolationScheme  cellPoint;
          outputControl        timeStep;
          outputInterval       1;
          surfaceFormat        vtk;
          fields               ( p );
          surfaces
          (
              isoSurface_Q
              {
                  type         isoSurface;
                  isoField     p;
                  isoValue     0.01;
                  interpolate  true;
              }
          );
        }
    
    
        sliceData
        {
          type                 surfaces;
          functionObjectLibs   ("libsampling.so");
          interpolationScheme  cell;
          outputControl        outputTime;
          surfaceFormat        vtk;
          fields               ( U p);
          surfaces
          (
              slice_parallel_0
              {
                  type         cuttingPlane;
                  planeType    pointAndNormal;
                  pointAndNormalDict
                  {
                      basePoint    (0 0.0493 0);
                      normalVector (0 1 0);
                  }
                  interpolate true;
              }
          );
        } 
    }
    
    // ************************************************************************* //
    
    ? file icon controlDict (2,329 bytes) 2013-03-22 21:06 +

-Relationships
+Relationships

-Notes

~0001689

user4

Maybe your isoSurface or list of fields is empty? Can you try e.g. the 'patch' type to sample values on a patch?

~0001690

mchurchf (reporter)

No, the list is populated. As I said, it works fine if I use the "outputControl outputTime" option. Also, sets works fine with "outputControl timeStep."

Here is how I have it set up:

      isoSurfaceData
      {
          type surfaces;
          functionObjectLibs ("libsampling.so");
          interpolationScheme cellPoint;
          outputControl timeStep;
          outputInterval 1;
          surfaceFormat vtk;
          fields ( Q );
          surfaces
          (
              isoSurface_Q
              {
                  type isoSurface;
                  isoField "Q";
                  isoValue 0.01;
                  interpolate true;
              }
          );
      }


      sliceData
      {
          type surfaces;
          functionObjectLibs ("libsampling.so");
          interpolationScheme cell;
          outputControl outputTime;
          surfaceFormat vtk;
          fields ( U p nuSgs Q);
          surfaces
          (
              slice_parallel_0
              {
                  type cuttingPlane;
                  planeType pointAndNormal;
                  pointAndNormalDict
                  {
                      basePoint (0 0 0);
                      normalVector (0 1 0);
                  }
                  interpolate true;
              }
          );
      }

~0002051

apsus (reporter)

Last edited: 2013-03-22 18:59

View 2 revisions

I just ran into this bug on 2.2.0, compiled from source. It fails for all surface types I tried, including "cuttingPlane", "plane" and "patch". Everything works if "outputControl outputTime" is used.

An interesting detail is that when output format is foamFile, the grid data is written, but the field variables are not.

~0002054

user4

Attached a working controlDict setup for the cavity icoFoam tutorial. I get iso surfaces every timestep and slices every write interval, as expected.

My guess is your iso surface is empty in which case it probably does not write any file.

~0002059

apsus (reporter)

After I reverse to OF 2.0.1 (compiled from source), the exactly same case ran perfectly, with intended output. I think this is indeed a bug since 2.1.x.

~0002061

mchurchf (reporter)

Yes, I have observed the same behavior. Reverting back to OF 2.0.1 causes the case setup I began this issue log with to work fine. I'm pretty sure it is a bug in 2.1.x and above.

Thank you,

Matt

~0002085

user4

Do you have a 2.1.x or 2.2.x case that replicates this behaviour? As said I do not see any problems on an (admittedly very simple) test case.

~0002147

user4

Should be fixed in 351038242cb669c5bb541ccb6a692091fd5e0e60.

Thanks for reporting.
+Notes

-Issue History
Date Modified Username Field Change
2012-09-13 20:01 mchurchf New Issue
2012-09-14 09:19 user4 Note Added: 0001689
2012-09-14 16:32 mchurchf Note Added: 0001690
2013-03-22 15:56 apsus Note Added: 0002051
2013-03-22 18:59 apsus Note Edited: 0002051 View Revisions
2013-03-22 21:06 user4 File Added: controlDict
2013-03-22 21:07 user4 Note Added: 0002054
2013-03-25 15:25 apsus Note Added: 0002059
2013-03-25 15:28 mchurchf Note Added: 0002061
2013-04-03 09:10 user4 Note Added: 0002085
2013-05-02 17:38 user4 Note Added: 0002147
2013-05-02 17:38 user4 Status new => resolved
2013-05-02 17:38 user4 Fixed in Version => 2.2.x
2013-05-02 17:38 user4 Resolution open => fixed
2013-05-02 17:38 user4 Assigned To => user4
+Issue History