CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Pre-Processing (https://www.cfd-online.com/Forums/openfoam-pre-processing/)
-   -   faceAgglomerate for viewFactor radiation with non-manifold patches (https://www.cfd-online.com/Forums/openfoam-pre-processing/106990-faceagglomerate-viewfactor-radiation-non-manifold-patches.html)

mirx September 14, 2012 05:29

faceAgglomerate for viewFactor radiation with non-manifold patches
 
1 Attachment(s)
Hello,

I am trying to run a simulation with chtMultiRegionSimpleFoam with viewFactor radiation enabled. I create the mesh with snappyHexMesh. This results in non-manifold boundary patches after splitMeshRegions. I have attached a picture to give you an example.

If I try to run faceAgglomerate utility on such a mesh I get the following error:
Code:

--> FOAM FATAL ERROR:
(156 157) not found in table.  Valid entries:
1274
(
(99 100)
...
    From function HashTable<T, Key, Hash>::operator[](const Key&)
    in file /home/opencfd/OpenFOAM/OpenFOAM-2.1.1/src/OpenFOAM/lnInclude/HashTableI.H at line 117.

I have learned that this happens with non-manifold patches only. Unfortunately my geometries are very complex, so that it is not possible to aviod non-manifolds.

I need your help to find a solution to this problem.
Is it in any way possible to run faceAgglomerate, which is based on pairPatchAgglomeration, on a non-manifold surface?
If not, how can I get rid of these non-manifold patches? My only solution would be, to remove the cells of the fluid domain, which are in contact to the non-manifold points, using subsetMesh. But then I get holes in my mesh, which I would like to avoid.
I guess, it is not possible to remove the patch faces around the non-manifold points, as the boundary of the fluid domain would not be completely defined then.
Is it possible to exclude patches from the face agglomeration?

Thank you very much in advance!

Regards

mirx

RobinZ August 5, 2015 03:22

Hello Michael,

i had the same issue. To your question: it is possible to exclude patches from the faceAgglomeration. I did this to avoid this problem. The patches will some kind of ignored while agglomeration, when you dont specify them in the viewFactorsDict. That means, every face is now an agglomerate. So no faces will be agglomerated. But this can lead in an error while viewFactorsGen: "agglomeration does not create a single, non-manifold face for agglomeration". So the problem doesnt have to be fixed with that. Also you can rise the number of agglomerates in your viewFactorsDict to avoid your error. The faceAgglomerate and viewFactorGen utilities are very instable. I hope they will be upgraded soon.

best regards

Robin

Coris March 28, 2020 03:31

I know this is an old thread, but since I bumped straight into it: isn't the problem solved with the code from https://bugs.openfoam.org/view.php?id=1077 ?

john myce July 13, 2020 12:40

Hi !

This error : "agglomeration does not create a single, non-manifold face for agglomeration" still appear for the ESI version v1912.

I am working with chtMultiRegionSimpleFoam and it seems that it can be fix either by raising nFacesInCoarsestLevels or by changing the way to decompose the case in parallel !

I was working with the scotch decomposition and the matrix F was exceeding the size limit on one of the processors which create an error when I ran the solver :
Code:

Selecting radiationModel viewFactor
Selecting absorptionEmissionModel constantAbsorptionEmission
Selecting scatterModel none
Selecting sootModel none
terminate called after throwing an instance of 'std::bad_array_new_length'
  what():  std::bad_array_new_length

[Rayleigh0:28069] *** Process received signal ***
[Rayleigh0:28069] Signal: Aborted (6)
[Rayleigh0:28069] Signal code:  (-6)
[Rayleigh0:28069] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20)[0x7f8006518f20]
[Rayleigh0:28069] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7)[0x7f8006518e97]
[Rayleigh0:28069] [ 2] /lib/x86_64-linux-gnu/libc.so.6(abort+0x141)[0x7f800651a801]
[Rayleigh0:28069] [ 3] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x8c957)[0x7f8006f0d957]
[Rayleigh0:28069] [ 4] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92ab6)[0x7f8006f13ab6]
[Rayleigh0:28069] [ 5] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92af1)[0x7f8006f13af1]
[Rayleigh0:28069] [ 6] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x92d24)[0x7f8006f13d24]
[Rayleigh0:28069] [ 7] /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0x91ad2)[0x7f8006f12ad2]
[Rayleigh0:28069] [ 8] /opt/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/lib/libradiationModels.so(+0xcbba6)[0x7f80084d1ba6]
[Rayleigh0:28069] [ 9] /opt/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/lib/libradiationModels.so(_ZN4Foam9radiation10viewFactor10initialiseEv+0xaca)[0x7f80084ca37a]
[Rayleigh0:28069] [10] /opt/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/lib/libradiationModels.so(_ZN4Foam9radiation10viewFactorC2ERKNS_14GeometricFieldIdNS_12fvPatchFieldENS_7volMeshEEE+0x401)[0x7f80084cb5e1]
[Rayleigh0:28069] [11] /opt/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/lib/libradiationModels.so(_ZN4Foam9radiation14radiationModel22addTConstructorToTableINS0_10viewFactorEE3NewERKNS_14GeometricFieldIdNS_12fvPatchFieldENS_7volMeshEEE+0x22)[0x7f80084d9e52]
[Rayleigh0:28069] [12] /opt/OpenFOAM/OpenFOAM-v1912/platforms/linux64GccDPInt32Opt/lib/libradiationModels.so(_ZN4Foam9radiation14radiationModel3NewERKNS_14GeometricFieldIdNS_12fvPatchFieldENS_7volMeshEEE+0x924)[0x7f8008498a04]
[Rayleigh0:28069] [13] chtMultiRegionSimpleFoam(+0x403f3)[0x55da4303d3f3]
[Rayleigh0:28069] [14] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7f80064fbb97]
[Rayleigh0:28069] [15] chtMultiRegionSimpleFoam(+0x4a91a)[0x55da4304791a]
[Rayleigh0:28069] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 0 with PID 0 on node Rayleigh0 exited on signal 6 (Aborted).
--------------------------------------------------------------------------"

& when I moved to the hierarchical decomposition method, the face agglomeration process changed.

I am still investigating the way to make it run properly to have a balanced distribution through each processor.

Cheers.

Jay22kar December 17, 2021 10:18

Hello John,

I am currently on viewFactor radiation model. I am having 2 issues.

1. I am receiving bad viewFactors(the summation=1) on some cells. So I am trying to eliminate that by having more number of coarse faces. For that, I decreased nFacesInCoarsestLevels from 20 to 5, but to my wonder, faces agglomerated changed from 80 to 65. Can you tell me what exactly is nFacesInCoarsestLevels & featureAngle is!?

2. Let's say there 100 coarse faces generated after I run faceAgglomeration. My work demands the 100x100 viewfactor matrix. Do you have any idea, how can I achieve so? All I achieve is F, globalFacesFaces and viewfactorField file with some information but I can't make sense out of it?

I would be glad if you could enlighten me at least a little bit!
ThanksAndRegards


All times are GMT -4. The time now is 17:20.