Skip to content

SurfaceSampling and blastAMR #10

@JanGaertner

Description

@JanGaertner

There seems to be an error when you use surface sampling together with blastAMR.

When surface sampling is deactivated or if sampling occurs AFTER the first rebalance it works.

When surface sampling is enabled following error occurs:

PIMPLE: iteration 1
---->! custom error estimator !<----
---->! end    error estimator !<----
Protecting 2706 cells next to requested boundary patches.
Selected 1625 cells for refinement out of 236952.
Refined from 236952 to 241827 cells.
canBalance(): Maximum imbalance = 122.492939 %
Selecting decompositionMethod scotch [64]
Selecting decompositionConstraint polyRefinement
polyRefinement : setting constraints to preserve refinement history
polyRefinement : reading fvMeshPolyRefiner from time "3.87719e-06"
2D case detected. Adding prismatic2DRefinement topology modifier
polyRefinement : reading fvMeshPolyRefiner from time "3.87719e-06"
2D case detected. Adding prismatic2DRefinement topology modifier
1
Maximum imbalance = 122.492939 %
polyRefinement : reading fvMeshPolyRefiner from time "3.87719e-06"
2D case detected. Adding prismatic2DRefinement topology modifier
polyRefinement : reading fvMeshPolyRefiner from time "3.87719e-06"
2D case detected. Adding prismatic2DRefinement topology modifier
Mapping the fields ...
Distributing the mesh ...
Successfully distributed mesh
New max imbalance: 0.967220368%
[47] [61] 
[61] 
[61] --> FOAM FATAL ERROR: (openfoam-2012)
[61] Cannot dereference nullptr at index 10 in range [0,10)
[61] 
[61] 
[61]     From const T& Foam::UPtrList<T>::operator[](Foam::label) const [with T = Foam::polyPatch; Foam::label = long int]
[61]     in file /home/itvjg/OpenFOAM/OpenFOAM-v2012-int64/src/OpenFOAM/lnInclude/UPtrListI.H at line 218.
[61] 
FOAM parallel run aborting
[61] 
[61] #0  Foam::error::printStack(Foam::Ostream&)[33] #0  [35] #0  [36] #0  [37] #0  [46] #0  Foam::error::printStack(Foam::Ostream&)[59] #0  Foam::error::printStack(Foam::Ostream&)[60] #0  Foam::error::printStack(Foam::Ostream&)[62] #0  Foam::error::printStack(Foam::Ostream&)[63] #0  Foam::error::printStack(Foam::Ostream&)[32] #0  Foam::error::printStack(Foam::Ostream&)[12] #0  Foam::error::printStack(Foam::Ostream&)[14] #0  Foam::error::printStack(Foam::Ostream&)[17] #0  Foam::error::printStack(Foam::Ostream&)[18] #0  Foam::error::printStack(Foam::Ostream&)[19] #0  Foam::error::printStack(Foam::Ostream&)[20] #0  Foam::error::printStack(Foam::Ostream&)[21] #0  Foam::error::printStack(Foam::Ostream&)[24] #0  Foam::error::printStack(Foam::Ostream&)[25] #0  Foam::error::printStack(Foam::Ostream&)[26] #0  Foam::error::printStack(Foam::Ostream&)[31] #0  Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)Foam::error::printStack(Foam::Ostream&)[53] #0  Foam::error::printStack(Foam::Ostream&)[0] #0  Foam::error::printStack(Foam::Ostream&)[4] #0  Foam::error::printStack(Foam::Ostream&)[5] #0  Foam::error::printStack(Foam::Ostream&)[8] #0  Foam::error::printStack(Foam::Ostream&)[9] #0  Foam::error::printStack(Foam::Ostream&)
[47] 
[47] --> FOAM FATAL ERROR: (openfoam-2012)
[47] Cannot dereference nullptr at index 10 in range [0,10)
[47] 
[47] 
[47]     From const T& Foam::UPtrList<T>::operator[](Foam::label) const [with T = Foam::polyPatch; Foam::label = long int]
[47]     in file /home/itvjg/OpenFOAM/OpenFOAM-v2012-int64/src/OpenFOAM/lnInclude/UPtrListI.H at line 218.
[47] 
FOAM parallel run aborting
[47] 
[47] #0  Foam::error::printStack(Foam::Ostream&) at ??:?
[46] #1  Foam::sigSegv::sigHandler(int) at ??:?
 at ??:?
[60] #1  Foam::sigSegv::sigHandler(int) at ??:?
[62] #1  Foam::sigSegv::sigHandler(int) at ??:?
[63] #1  Foam::sigSegv::sigHandler(int) at ??:?
[61] #1  Foam::error::exitOrAbort(int, bool) at ??:?
[36] #1  Foam::sigSegv::sigHandler(int) at ??:?
[37] #1  Foam::sigSegv::sigHandler(int) at ??:?
 at ??:?
 at ??:?
[59] #1  Foam::sigSegv::sigHandler(int) at ??:?
[53] #1  Foam::sigSegv::sigHandler(int)[35] #1  Foam::sigSegv::sigHandler(int)[32] #1  Foam::sigSegv::sigHandler(int)[33] #1  Foam::sigSegv::sigHandler(int) at ??:?
[9] #1  Foam::sigSegv::sigHandler(int) at ??:?
[8] #1  Foam::sigSegv::sigHandler(int) at ??:?
[24] #1  Foam::sigSegv::sigHandler(int) at ??:?
[25] #1  Foam::sigSegv::sigHandler(int) at ??:?
[26] #1  Foam::sigSegv::sigHandler(int) at ??:?
[4] #1  Foam::sigSegv::sigHandler(int) at ??:?
[12] #1  Foam::sigSegv::sigHandler(int) at ??:?
[14] #1  Foam::sigSegv::sigHandler(int) at ??:?
 at ??:?
 at ??:?
 at ??:?
[20] #1  Foam::sigSegv::sigHandler(int) at ??:?
[21] #1  Foam::sigSegv::sigHandler(int) at ??:?
 at ??:?
[5] #1   at ??:?
[17] #1  Foam::sigSegv::sigHandler(int)[18] #1  Foam::sigSegv::sigHandler(int)[19] #1  Foam::sigSegv::sigHandler(int)Foam::sigSegv::sigHandler(int) at ??:?
[0] #1  Foam::sigSegv::sigHandler(int)[31] #1  Foam::sigSegv::sigHandler(int)[47] #1  Foam::error::exitOrAbort(int, bool) at ??:?
[36] #2  ? at ??:?
[60] #2  ? at ??:?
[37] #2  ? at ??:?
[63] #2  ? at ??:?
[61] #2  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() at ??:?
 at ??:?
[35] #2  ? at ??:?
[32] #2  ? at ??:?
[33] #2  ?[62] #2  ? at ??:?
[46] #2  ? at ??:?
[53] #2  ? at ??:?
[59] #2  ? at ??:?
[26] #2  ? at ??:?
[8] #2  ? at ??:?
[24] #2  ? at ??:?
[25] #2  ? at ??:?
[12] #2  ? at ??:?
[14] #2  ? at ??:?
[20] #2  ? at ??:?
[21] #2  ? at ??:?
[4] #2  ? in /lib/x86_64-linux-gnu/libc.so.6
[37] #3  __dynamic_cast at ??:?
 in /lib/x86_64-linux-gnu/libc.so.6
 at ??:?
[18] #2  ? at ??:?
[17] #2  ? at ??:?
[19] #2  ?[5] #2  ? at ??:?
[63] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[60] #3  __dynamic_cast[47] #2  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() in /lib/x86_64-linux-gnu/libc.so.6
[62] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[32] #3  __dynamic_cast at ??:?
[61] #3  Foam::fvMeshBalance::distribute() in /lib/x86_64-linux-gnu/libc.so.6
[33] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[35] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[46] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[36] #3  __dynamic_cast at ??:?
[9] #2  ? at ??:?
[0] #2  ? at ??:?
[31] #2  ? in /lib/x86_64-linux-gnu/libc.so.6
[53] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[59] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[25] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[26] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[21] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[12] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[14] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[20] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
 in /lib/x86_64-linux-gnu/libc.so.6
[8] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[4] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
[17] #[18] #3  __dynamic_cast3  __dynamic_cast in /lib/x86_64-linux-gnu/libstdc++.so.6
[37] #4  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() in /lib/x86_64-linux-gnu/libstdc++.so.6
 in /lib/x86_64-linux-gnu/libstdc++.so.6
[63] #4  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >()[60] #4  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() in /lib/x86_64-linux-gnu/libc.so.6
[24] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libc.so.6
 in /lib/x86_64-linux-gnu/libc.so.6
[19] #3  __dynamic_cast[5] #3  __dynamic_cast in /lib/x86_64-linux-gnu/libstdc++.so.6
[62] #4  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() in /lib/x86_64-linux-gnu/libstdc++.so.6
[36] #4  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() in /lib/x86_64-linux-gnu/libstdc++.so.6
[32] #4  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() in /lib/x86_64-linux-gnu/libstdc++.so.6
[33] #4  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() at ??:?
[47] #3  Foam::fvMeshBalance::distribute() in /lib/x86_64-linux-gnu/libstdc++.so.6
[35] #4  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() in /lib/x86_64-linux-gnu/libstdc++.so.6
[46] #4  void Foam::fvMeshBalance::correctBoundaries<Foam::GeometricField<double, Foam::pointPatchField, Foam::pointMesh> >() at ??:?

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions