CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Post-Processing (https://www.cfd-online.com/Forums/openfoam-post-processing/)
-   -   Problems with reconstructParMesh and reconstructPar in 15 (https://www.cfd-online.com/Forums/openfoam-post-processing/61335-problems-reconstructparmesh-reconstructpar-15-a.html)

imsurokim August 22, 2012 17:55

Thank you very much for reply Bruno.

reconstructParMesh works fine. But the error above is showing when I try to do reconstructPar. So the problem is that I can reconstruct Mesh but not the data.

any suggestion?

Quote:

Originally Posted by wyldckat (Post 378233)
Greetings Suro Kim and welcome to the forum.

What does this command output:
Code:

reconstructParMesh -time 0.02
If it outputs this message:
Code:

--> FOAM FATAL ERROR:
Your current settings specify ASCII writing with 6 digits precision.
Your merging tolerance (1e-07) is finer than this.
Please change your writeFormat to binary or increase the writePrecision
or adjust the merge tolerance (-mergeTol).

    From function reconstructParMesh
    in file reconstructParMesh.C at line 341.

FOAM exiting

Then it's because you need to change the following line in "system/controlDict" from:
Code:

writeFormat    ascii;
to:
Code:

writeFormat    binary;
Then run again:
Code:

reconstructParMesh -time 0.02
If there is no error message, then you should be able to safely run sega's script.

Best regards,
Bruno


wyldckat August 22, 2012 19:20

Quote:

Originally Posted by imsurokim (Post 378242)
reconstructParMesh works fine. But the error above is showing when I try to do reconstructPar. So the problem is that I can reconstruct Mesh but not the data.

any suggestion?

Do you mean that by running:
Code:

reconstructPar -time 0.02
the error that is outputted is the same shown in your first post?

Two possibilities come to mind:
  • There are some files that aren't meant to be reconstructed.
    Check OpenFOAM's tutorials in search for similar situations where some files are removed for proper reconstruction of the case. Mainly search in the Allrun files in the "tutorials" folders for those that use "reconstruct" and/or "decompose".
  • You might not have enough RAM in the machine where you're reconstructing the case. Even if you have enough RAM for the mesh, it doesn't mean you have enough for all of the fields.
    This is my suspicion, given this line:
    Quote:

    #1 Foam::sigSegv::sigHandler(int) in "/usr/local/...
    where SIGSEGV is explained here: http://en.wikipedia.org/wiki/SIGSEGV
Best regards,
Bruno

imsurokim August 23, 2012 16:52

Thanks for replying again, Bruno.

I think the problem occurs because of second reason.

when I try 'reconstructPar -time 0.02' it shows errors I originally posted and also the segmentation fault.

I am working on how to fix it, but still have no clue.

wyldckat August 25, 2012 05:37

I forgot to ask before:
  1. How many fields does you case have?
  2. How many cells (and types) does the mesh have? You can see this if you run checkMesh.
  3. How much RAM does your machine have?
  4. Is the time snapshot 0.02 meant to exist? Does it have any fields in it?
    Code:

    ls -l processor0/0.02/

Andrea_85 August 28, 2013 11:09

Hi all,

i have the same problem of Suro.
ReconstructParMesh works with no issue, but reconstructPar -time does not.
The error is the same

Code:

0  Foam::error::printStack(Foam::Ostream&) in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1  Foam::sigSegv::sigHandler(int) in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2  in "/lib64/libc.so.6"
#3  Foam::objectRegistry::checkOut(Foam::regIOobject&) const in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#4  Foam::regIOobject::~regIOobject() in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#5  Foam::IOList<int>::~IOList() in "/home/aferrari/OpenFOAM/aferrari-2.1.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
#6  Foam::processorMeshes::read() in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libreconstruct.so"
#7  Foam::processorMeshes::readUpdate() in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/lib/libreconstruct.so"
#8 
 in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/reconstructPar"
#9  __libc_start_main in "/lib64/libc.so.6"
#10 
 in "/home/aferrari/OpenFOAM/OpenFOAM-2.1.0/platforms/linux64GccDPOpt/bin/reconstructPar"
Segmentation fault

i tried on different cluster's nodes with 128/256/512 Gb of RAM and no one works....i don't think it is a problem of RAM.
maybe it should be reportered as bug.

andrea

wyldckat August 28, 2013 15:08

Greetings Andrea,

Unfortunately Suro didn't give any more feedback.
And I saw just now your bug report here: http://www.openfoam.org/mantisbt/view.php?id=980 - but you haven't provided much information to work with :(

From my (limited) experience, from this information, all I can figure out is that:
  1. There was a segmentation fault, which could either be due to:
    1. Not enough RAM.
    2. Bad access in memory, due to a broken pointer.
    3. Bad access in memory, because the node count it greater than 2^31. Examples of this are available here:
  2. It's not clear if the resulting simulation data is sane, so it's possible that you have values that are invalid, such as NaN or Inf.
  3. Since you are using OpenFOAM 2.1.0, is possible that you are experiencing a bug that has already been fixed in more recent versions, since after that version you have: 2.1.1, 2.1.x, 2.2.0, 2.2.1 and 2.2.x.

For anyone to help you, we'll need to know a bit more about your case, such as:
  • How many cells does your mesh have?
  • What kinds of cells does your mesh have?
  • What does checkMesh output? More specifically:
    Code:

    checkMesh -allGeometry -allTopology
  • Are you using any kind of moving mesh, or AMI, MRF, cyclic patches, mapped boundary conditions, symmetry planes or wedges?
  • Are you using dynamic mesh refinement during the simulation?
  • Which decomposition method did you use?
  • What did the last time instance of the output of the solver look like?
  • Are you using any function objects?
  • Have you tried the more recent versions of OpenFOAM?
Best regards,
Bruno

Andrea_85 August 30, 2013 03:15

Hi Bruno,

thanks for reply.
This is my checkMesh:

Code:

Time = 0

Mesh stats
    points:          104401
    faces:            298784
    internal faces:  284896
    cells:            97280
    boundary patches: 7
    point zones:      0
    face zones:      0
    cell zones:      0

Overall number of cells of each type:
    hexahedra:    97280
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:    0

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Topological cell zip-up check OK.
    Face-face connectivity OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces ...
    Patch              Faces    Points  Surface topology                  Bounding box
    entrata            384      421      ok (non-closed singly connected)  (-0.0005 -0.0005 0.003) (0 0 0.003)
    uscita              1024    1081    ok (non-closed singly connected)  (-0.001 -0.001 0) (0 0 0)
    symmetry1          4000    4161    ok (non-closed singly connected)  (0 -0.001 0) (0 0 0.003)
    symmetry2          4000    4161    ok (non-closed singly connected)  (-0.001 0 0) (0 0 0.003)
    leftThroat          1280    1353    ok (non-closed singly connected)  (-0.0005 -0.0005 0.002) (0 0 0.003)
    fixedWall          640      693      ok (non-closed singly connected)  (-0.001 -0.001 0.002) (0 0 0.002)
    leftWall            2560    2673    ok (non-closed singly connected)  (-0.001 -0.001 0) (0 0 0.002)

Checking geometry...
    Overall domain bounding box (-0.001 -0.001 0) (0 0 0.003)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (2.25628e-14 1.97521e-14 -1.10709e-17) OK.
    Max cell openness = 3.31693e-16 OK.
    Max aspect ratio = 2.6019 OK.
    Minumum face area = 1.81236e-10. Maximum face area = 1.27538e-09.  Face area magnitudes OK.
    Min volume = 4.51112e-15. Max volume = 3.19841e-14.  Total volume = 1.76644e-09.  Cell volumes OK.
    Mesh non-orthogonality Max: 39.4033 average: 9.77926
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 0.497801 OK.
    Coupled point location match (average 0) OK.
    Face tets OK.
    Min/max edge length = 1.17847e-05 4.97295e-05 OK.
    All angles in faces OK.
    Face flatness (1 = flat, 0 = butterfly) : average = 1  min = 0.999972
    All face flatness OK.
    Cell determinant (wellposedness) : minimum: 0.773735 average: 6.60922
    Cell determinant check OK.
    Concave cell check OK.

Mesh OK.

I am using dynamic mesh refinement during the simulation, this is dynamicMeshDict

Code:

dynamicFvMesh  dynamicRefineFvMesh;

dynamicRefineFvMeshCoeffs
{
    // How often to refine
    refineInterval  1;
    // Field to be refinement on
    field          alpha1;
    // Refine field inbetween lower..upper
    lowerRefineLevel 0.001;
    upperRefineLevel 0.999;
    // If value < unrefineLevel unrefine
    unrefineLevel  10;
    // Have slower than 2:1 refinement
    nBufferLayers  1;
    // Refine cells only up to maxRefinement levels
    maxRefinement  2;
    // Stop refinement if maxCells reached
    maxCells        500000;
    // Flux field and corresponding velocity field. Fluxes on changed
    // faces get recalculated by interpolating the velocity. Use 'none'
    // on surfaceScalarFields that do not need to be reinterpolated.
    correctFluxes
    (
        (phi Urel)
        (phiAbs U)
        (phiAbs_0 U_0)
        (nHatf none)
        (rho*phi none)
        (ghf none)
    );
    // Write the refinement level as a volScalarField
    dumpLevel      true;
}

I decomposed my domain using "simple" method with 25 processors.
The simulation is running with no problems, anyway this is the last time step avaible (it is still running...)

Code:

Interface Courant Number mean: 8.36843e-05 max: 0.195704
Courant Number mean: 0.00127654 max: 0.195704
deltaT = 2.78537e-06
Time = 0.0819053

Selected 23 cells for refinement out of 256446.
Refined from 256446 to 256607 cells.
Selected 12 split points out of a possible 19743.
Unrefined from 256607 to 256523 cells.
Execution time for mesh.update() = 3.09 s
time step continuity errors : sum local = 8.80414e-07, global = -7.63552e-13, cumulative = -0.00120186
DICPCG:  Solving for pcorr, Initial residual = 1, Final residual = 9.70993e-11, No Iterations 296
DICPCG:  Solving for pcorr, Initial residual = 0.130284, Final residual = 9.99832e-11, No Iterations 276
time step continuity errors : sum local = 2.04296e-16, global = -2.44056e-18, cumulative = -0.00120186
MULES: Solving for alpha1
Liquid phase volume fraction = 0.2519  Min(alpha1) = -6.34441e-39  Max(alpha1) = 1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.251901  Min(alpha1) = -2.06716e-38  Max(alpha1) = 1
MULES: Solving for alpha1
Liquid phase volume fraction = 0.251902  Min(alpha1) = -1.78455e-38  Max(alpha1) = 1
Grade of smoothing = 0
DICPCG:  Solving for p_rgh, Initial residual = 0.0337595, Final residual = 0.00111675, No Iterations 2
DICPCG:  Solving for p_rgh, Initial residual = 0.00768464, Final residual = 0.000370404, No Iterations 6
time step continuity errors : sum local = 9.20215e-08, global = -9.74533e-12, cumulative = -0.00120186
DICPCG:  Solving for p_rgh, Initial residual = 0.00444963, Final residual = 0.000193371, No Iterations 5
DICPCG:  Solving for p_rgh, Initial residual = 0.0014235, Final residual = 6.89872e-05, No Iterations 9
time step continuity errors : sum local = 1.70923e-08, global = -3.68939e-11, cumulative = -0.00120186
DICPCG:  Solving for p_rgh, Initial residual = 0.000982005, Final residual = 4.81117e-05, No Iterations 18
DICPCG:  Solving for p_rgh, Initial residual = 0.000333293, Final residual = 9.56105e-08, No Iterations 154
time step continuity errors : sum local = 2.36867e-11, global = -7.66585e-13, cumulative = -0.00120186
ExecutionTime = 150131 s  ClockTime = 150469 s

Maybe i can try with some newer version of OF, to see if the problem disappears.

Best

Andrea

wyldckat August 31, 2013 12:55

Hi Andrea,

If using the latest OpenFOAM 2.2.1 or 2.2.x version gives the same problem, then try the following:
  1. Make sure that in "system/controlDict" you have "writeFormat" set to "binary".
  2. Then run the following two commands:
    Code:

    reconstructParMesh -latestTime
    reconstructPar -latestTime


If this doesn't work well, try running the tutorial case "multiphase/interDyMFoam/ras/damBreakWithObstacle" with the same decomposition settings. I say this because this case is conceptually similar to yours.

Best regards,
Bruno


All times are GMT -4. The time now is 05:13.