CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   bubbleInterTrackFoam in parallel (fluidIndicator) (https://www.cfd-online.com/Forums/openfoam-solving/84283-bubbleintertrackfoam-parallel-fluidindicator.html)

pbohorquez January 25, 2011 09:31

bubbleInterTrackFoam in parallel (fluidIndicator)
 
I tried to run the solver bubbleInterTrackFoam to simulate the rising of a bubble. I am using the recent release of OpenFOAM-1.6-ext, and the tutorial included in it (bubble2D_r0.75mm) worked properly in serial. Other solvers, such as icoFoam, interFoam, etc worked also in parallel. However, when I tried to run bubbleInterTrackFoam in parallel I get the following error:

FOAM parallel run exiting
[0]
[1]
[1] --> FOAM FATAL IO ERROR:
[1] cannot open file
[1]
[1] file:
/home/patricio/OpenFOAM/OpenFOAM-1.6-ext/tutorials/surfaceTracking/bubbleInterTrackFoam/bubble2D_r0.75mm/processor1/0/fluidIndicator
at line 0.
[1]
[1] From function regIOobject::readStream()
[1] in file db/regIOobject/regIOobjectRead.C at line 62.
[1]
FOAM parallel run exiting

I wondered if it is ready to run in parallel. Could you please give me a hint?

Bernhard January 25, 2011 11:15

Maybe this post is helpful?

http://www.cfd-online.com/Forums/ope...tml#post183164

pbohorquez January 25, 2011 12:06

Thanks, I will try some of the recommendations indicated in such thread.

Curiously the field fluidIndicator is created in different ways depending on serial/parallel run. Indeed, createFields.H reads

if(Pstream::parRun())
{
fluidIndicatorPtr = new volScalarField
(
IOobject
(
"fluidIndicator",
runTime.timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
),
mesh
);
}
else
{
fluidIndicatorPtr = new volScalarField
(
IOobject
(
"fluidIndicator",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
interface.fluidIndicator()
);
}

volScalarField& fluidIndicator = *fluidIndicatorPtr;

Consequently, I have added the instruction fluidIndicator.write(); recompiled, and run 1 iteration in serial. Once the fluidIndicator is generated into the directory 0, I have decomposed the case. However, a new difficulty develops:

Free surface curvature: min = 1956.9, max = 2111.06, average = 2000.16
Courant Number mean: 2.57742e-17 max: 0.0280881 velocity magnitude: 0.0275979
DILUPBiCG: Solving for Ux, Initial residual = 1, Final residual = 1.76967e-09, No Iterations 4
DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 1.59963e-09, No Iterations 4
DILUPBiCG: Solving for Uz, Initial residual = 1, Final residual = 1.70849e-09, No Iterations 4
GAMG: Solving for p, Initial residual = 1, Final residual = 0.000849471, No Iterations 10
GAMG: Solving for p, Initial residual = 4.82015e-08, Final residual = 8.69966e-09, No Iterations 4
time step continuity errors : sum local = 8.4342e-11, global = 3.7332e-11, cumulative = 3.7332e-11
GAMG: Solving for p, Initial residual = 2.37137e-06, Final residual = 7.3812e-09, No Iterations 8
GAMG: Solving for p, Initial residual = 1.02097e-08, Final residual = 8.29022e-09, No Iterations 1
time step continuity errors : sum local = 7.22052e-11, global = 1.90445e-12, cumulative = 3.92365e-11
[0]
[0]
[0] --> FOAM FATAL ERROR:
[0] edge 23 length does not match neighbour by 0.000130093% -- possible edge ordering problem
[0]
[0] From function processorFvPatch::makeWeights(scalarField& w) const
[0] in file faMesh/faPatches/constraint/processor/processorFaPatch.C at line 208.
[0]
FOAM parallel run exiting

Maybe it is related to the 'InterTrackFoam any information' thread, or not?

pbohorquez January 26, 2011 13:21

In the end there is a function called setFluidIndicator which creates the requested field. However, I am struggling with the decomposition method...

elisabet April 6, 2011 18:26

Hi Patricio and others,

I've found exactly the same error. However, when following instructions from http://www.cfd-online.com/Forums/ope...tml#post183164, after running makeFaMesh at each processor the error vanishes. The bad new is that another error appears:
Code:

[0] --> FOAM FATAL ERROR:
[0] Patch name for point normals correction does not exist
[0]
[0]    From function freeSurface::freeSurface(...)
[0]    in file freeSurface.C at line 202.
[0]
FOAM parallel run aborting
[0]

I'm running the tutorial case tank3D with 2 processors (split in z direction, so freesurface remains entirely in processor 1)

Any idea?


elisabet

Ivho March 29, 2012 12:00

This might be an old thread, but still..

The error message
[0] --> FOAM FATAL ERROR:
[0] Patch name for point normals correction does not exist
[0]
[0] From function freeSurface::freeSurface(...)
[0] in file freeSurface.C at line 202.

means your simulation crashes before even getting to the setIndicatorFluid line.
Your faBoundary.gz (and subsequently faceLabels.gz) doesn't have the required patches specified in pointNormalsCorrectionPatches in the freeSurfaceProperties file.

zbli January 18, 2015 21:54

Hey, guys, I've been facing a same issue as you guys met. I assume that you must have figured it out. Could you give me a hint on this problem. I feel totally mixed up on the decomposePar things. I guess there should be some tricks to deal with the processor assignment as another thread posting that the freeSurface patch should be calculated by processor0.

Thanks!


All times are GMT -4. The time now is 01:53.