CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

[swak4Foam][DyM] "Fatal Error: incorrect size" while regenerating sampledSurface

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 13, 2016, 13:00
Default [swak4Foam][DyM] "Fatal Error: incorrect size" while regenerating sampledSurface
  #1
Senior Member
 
floquation's Avatar
 
Kevin van As
Join Date: Sep 2014
Location: TU Delft, The Netherlands
Posts: 252
Rep Power: 21
floquation will become famous soon enough
While regenerating a sampledSurface during the first dynamic mesh refinement (dynamicRefineFvMesh), I receive the following fatal error.
The solver is interDyMFoam, using a 3D uniform blockMesh. The OpenFoam version is 4.0.
I should mention that the functionObject below does work for version 2.4.0.

Fatal Error:

Code:
PIMPLE: iteration 1
Selected 400 cells for refinement out of 65536.
Refined from 65536 to 68336 cells.
Forcing regeneration of surface awInterface


--> FOAM FATAL ERROR:
Incorrect size.
mesh: nCells:68336 points:74235
cVals:65536 <-- pre-refinement #cells
cCoords:68336 <-- post-refinement #cells
snappedCc:68336
pVals:74235
pCoords:74235
snappedPoint:74235


    From function void Foam::isoSurface::generateTriPoints(const volScalarField&, const scalarField&, const Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>&, const Foam::Field<Type>&, const Foam::DynamicList<T>&, const labelList&, const labelList&, Foam::DynamicList<T>&, Foam::DynamicList<int>&) const [with Type = Foam::Vector<double>; Foam::volScalarField = Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>; Foam::scalarField = Foam::Field<double>; Foam::labelList = Foam::List<int>]
    in file sampledSurface/isoSurface/isoSurfaceTemplates.C at line 546.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  void Foam::isoSurface::generateTriPoints<Foam::Vector<double> >(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::Field<double> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::Field<Foam::Vector<double> > const&, Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u> const&, Foam::List<int> const&, Foam::List<int> const&, Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&) const at ??:?
#3  Foam::isoSurface::isoSurface(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::Field<double> const&, double, bool, double) at ??:?
#4  Foam::sampledIsoSurface::updateGeometry() const at ??:?
#5  Foam::SurfacesRepository::updateSurface(Foam::word const&, Foam::fvMesh const&) at ??:?
#6  Foam::createSampledSurface::redoSurface() at ??:?
#7  Foam::functionObjectList::updateMesh(Foam::mapPolyMesh const&) at ??:?
#8  Foam::polyMesh::updateMesh(Foam::mapPolyMesh const&) at ??:?
#9  Foam::fvMesh::updateMesh(Foam::mapPolyMesh const&) at ??:?
#10  Foam::dynamicRefineFvMesh::refine(Foam::List<int> const&) at ??:?
#11  Foam::dynamicRefineFvMesh::update() at ??:?
#12  ? at ??:?
#13  __libc_start_main in "/lib64/libc.so.6"
#14  ? at /usr/src/packages/BUILD/glibc-2.11.3/csu/../sysdeps/x86_64/elf/start.S:116
Aborted


swak4Foam functionObject:
A swak4Foam functionObject was used for generating the sampledSurface, but I don't think that is relevant for the error?
I presume that the calculation of the sampledSurface is part of OpenFoam, and swak4Foam just calls the appropriate function?

Code:
createInterface {
  type createSampledSurface;
  outputInterval 1;
  outputControl timeStep;
  surfaceName awInterface;
  surface {
    type isoSurface;
    isoField alpha.water;
    isoValue 0.5;
    interpolate true;
  }
}
No interpolation:
A possible solution is to use "interpolate false;", but that doesn't work for my case:
Code:
--> FOAM FATAL IO ERROR:
Non-interpolated iso surface not supported since triangles span across cells.
Known Bug?
According to the swak4Foam ReadMe, this might be a known bug.
However, the date on that document is 2012 and the functionObject does work in v2.4.0, so I'm not sure if this is the same thing.
Besides, I have a dynamicRefineMesh, which is not really a moving mesh, is it?

Quote:
8.1 Moving meshes and sampledSurfaces
It seems that with moving meshes sampledSurfaces don’t get updated.
This seems to be a problem with OpenFOAM itself (the regular surfaces-functionObject doesn’t get updated. This is currently investigated
Question:
Has anyone encountered this issue before?
Is there any sort of solution known?
Is there any reason in particular that it does work in v2.4.0, but not in v4.0?

Thanks in advance.
floquation is offline   Reply With Quote

Old   October 1, 2019, 14:08
Default
  #2
cyw
Member
 
Yuanwei Cao
Join Date: Jun 2017
Location: Munich,Germany
Posts: 54
Rep Power: 9
cyw is on a distinguished road
Quote:
Originally Posted by floquation View Post
While regenerating a sampledSurface during the first dynamic mesh refinement (dynamicRefineFvMesh), I receive the following fatal error.
The solver is interDyMFoam, using a 3D uniform blockMesh. The OpenFoam version is 4.0.
I should mention that the functionObject below does work for version 2.4.0.

Fatal Error:

Code:
PIMPLE: iteration 1
Selected 400 cells for refinement out of 65536.
Refined from 65536 to 68336 cells.
Forcing regeneration of surface awInterface


--> FOAM FATAL ERROR:
Incorrect size.
mesh: nCells:68336 points:74235
cVals:65536 <-- pre-refinement #cells
cCoords:68336 <-- post-refinement #cells
snappedCc:68336
pVals:74235
pCoords:74235
snappedPoint:74235


    From function void Foam::isoSurface::generateTriPoints(const volScalarField&, const scalarField&, const Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>&, const Foam::Field<Type>&, const Foam::DynamicList<T>&, const labelList&, const labelList&, Foam::DynamicList<T>&, Foam::DynamicList<int>&) const [with Type = Foam::Vector<double>; Foam::volScalarField = Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>; Foam::scalarField = Foam::Field<double>; Foam::labelList = Foam::List<int>]
    in file sampledSurface/isoSurface/isoSurfaceTemplates.C at line 546.

FOAM aborting

#0  Foam::error::printStack(Foam::Ostream&) at ??:?
#1  Foam::error::abort() at ??:?
#2  void Foam::isoSurface::generateTriPoints<Foam::Vector<double> >(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::Field<double> const&, Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh> const&, Foam::Field<Foam::Vector<double> > const&, Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u> const&, Foam::List<int> const&, Foam::List<int> const&, Foam::DynamicList<Foam::Vector<double>, 0u, 2u, 1u>&, Foam::DynamicList<int, 0u, 2u, 1u>&) const at ??:?
#3  Foam::isoSurface::isoSurface(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::Field<double> const&, double, bool, double) at ??:?
#4  Foam::sampledIsoSurface::updateGeometry() const at ??:?
#5  Foam::SurfacesRepository::updateSurface(Foam::word const&, Foam::fvMesh const&) at ??:?
#6  Foam::createSampledSurface::redoSurface() at ??:?
#7  Foam::functionObjectList::updateMesh(Foam::mapPolyMesh const&) at ??:?
#8  Foam::polyMesh::updateMesh(Foam::mapPolyMesh const&) at ??:?
#9  Foam::fvMesh::updateMesh(Foam::mapPolyMesh const&) at ??:?
#10  Foam::dynamicRefineFvMesh::refine(Foam::List<int> const&) at ??:?
#11  Foam::dynamicRefineFvMesh::update() at ??:?
#12  ? at ??:?
#13  __libc_start_main in "/lib64/libc.so.6"
#14  ? at /usr/src/packages/BUILD/glibc-2.11.3/csu/../sysdeps/x86_64/elf/start.S:116
Aborted


swak4Foam functionObject:
A swak4Foam functionObject was used for generating the sampledSurface, but I don't think that is relevant for the error?
I presume that the calculation of the sampledSurface is part of OpenFoam, and swak4Foam just calls the appropriate function?

Code:
createInterface {
  type createSampledSurface;
  outputInterval 1;
  outputControl timeStep;
  surfaceName awInterface;
  surface {
    type isoSurface;
    isoField alpha.water;
    isoValue 0.5;
    interpolate true;
  }
}
No interpolation:
A possible solution is to use "interpolate false;", but that doesn't work for my case:
Code:
--> FOAM FATAL IO ERROR:
Non-interpolated iso surface not supported since triangles span across cells.
Known Bug?
According to the swak4Foam ReadMe, this might be a known bug.
However, the date on that document is 2012 and the functionObject does work in v2.4.0, so I'm not sure if this is the same thing.
Besides, I have a dynamicRefineMesh, which is not really a moving mesh, is it?

Question:
Has anyone encountered this issue before?
Is there any sort of solution known?
Is there any reason in particular that it does work in v2.4.0, but not in v4.0?

Thanks in advance.

Have You solved it? Ia also met this problem.
cyw is offline   Reply With Quote

Reply

Tags
dynamicrefinefvmesh, fatal error, sampledsurface, swak4foam


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On



All times are GMT -4. The time now is 02:48.