July 30, 2023, 10:55
|
STL surfaceRedistributePar
|
#1
|
New Member
diego flores
Join Date: Apr 2009
Posts: 8
Rep Power: 17
|
Hi all,
I am trying to investigate the mesh time when using the command surfaceRedistributePar in OF8. So far I was already able to execute the command and achieve the STL distribution on the processors. However I have not found the proper way to read the geometry from the snappyHexDict. The geometry is already distributed in each processor folder. It seems snappyHexDict stillpoints to the folder constant/triSurface to read the geometry.
Does anybody implement this type of procedure to mesh? how is the proper way to point out to the already distributed geometry from SnappyHexDict?
Thanks
Here what the surfaceRedistributePar comamnd makes:
Quote:
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 8
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
Build : 8-1c9b5879390b
Exec : surfaceRedistributePar -parallel constant/triSurface/inlet.stl independent
Date : Jul 30 2023
Time : 15:39:43
Host : "diflow-dynamics"
PID : 22158
I/O : uncollated
Case : /home/diflow/FOAM_RUN_OF8/Inv_SST/mesh_2
nProcs : 6
Slaves :
5
(
"diflow-dynamics.22159"
"diflow-dynamics.22160"
"diflow-dynamics.22161"
"diflow-dynamics.22162"
"diflow-dynamics.22163"
)
Pstream initialized with:
floatTransfer : 0
nProcsSimpleSum : 0
commsType : nonBlocking
polling iterations : 0
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStamp (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Overriding DebugSwitches according to controlDict
Reading surface from "constant/triSurface/inlet.stl"
Using distribution method 1 independent
Removing surface outside of mesh bounds.
Create polyMesh for time = 0
Loading local (decomposed) surface "mesh_2/processor0/constant/triSurface/constant/triSurface/inlet.stl"
Writing dummy bounds dictionary to constant/triSurface/inlet.stlDict
Loaded surface
Before redistribution:
processor0
Mesh bounds : (-1.201185 -0.1010359 -0.1009542) (-0.5066641 0.03220424 0.1011852)
Surface bounding box : (0.603 -0.01 -0.0076) (0.603 0.11 0.0724)
Triangles : 39976
Vertices : 20256
processor1
Mesh bounds : (-0.515644 -0.1009125 -0.1008406) (0.08691252 0.02584061 0.101044)
Surface bounding box : (0.603 -0.01 -0.0076) (0.603 0.11 0.0724)
Triangles : 39976
Vertices : 20256
processor2
Mesh bounds : (0.08092971 -0.1009355 -0.1008618) (0.7009355 0.02586175 0.1010703)
Surface bounding box : (0.603 -0.01 -0.0076) (0.603 0.11 0.0724)
Triangles : 39976
Vertices : 20256
processor3
Mesh bounds : (-1.201183 0.02396568 -0.1009528) (-0.5066657 0.1509528 0.1011834)
Surface bounding box : (0.603 -0.01 -0.0076) (0.603 0.11 0.0724)
Triangles : 39976
Vertices : 20256
processor4
Mesh bounds : (-0.5156456 0.01908608 -0.1008419) (0.08691392 0.1508419 0.1010456)
Surface bounding box : (0.603 -0.01 -0.0076) (0.603 0.11 0.0724)
Triangles : 39976
Vertices : 20256
processor5
Mesh bounds : (0.08092775 0.01781282 -0.1008633) (0.7009372 0.1508633 0.1010722)
Surface bounding box : (0.603 -0.01 -0.0076) (0.603 0.11 0.0724)
Triangles : 39976
Vertices : 20256
Redistributing surface
[2] Selecting decompositionMethod hierarchical
[5] Selecting decompositionMethod hierarchical
[1] Selecting decompositionMethod hierarchical
[0] Selecting decompositionMethod hierarchical
[3] Selecting decompositionMethod hierarchical
[4] Selecting decompositionMethod hierarchical
After redistribution:
processor0
Mesh bounds : (-1.201185 -0.1010359 -0.1009542) (-0.5066641 0.03220424 0.1011852)
Surface bounding box : (0.603 0.0292654 -0.0076) (0.603 0.0876259 0.049341)
Triangles : 13605
Vertices : 6967
processor1
Mesh bounds : (-0.515644 -0.1009125 -0.1008406) (0.08691252 0.02584061 0.101044)
Surface bounding box : (0.603 -0.01 -0.0076) (0.603 0.0509669 0.0529177)
Triangles : 15210
Vertices : 7776
processor2
Mesh bounds : (0.08092971 -0.1009355 -0.1008618) (0.7009355 0.02586175 0.1010703)
Surface bounding box : (0.603 -0.01 -0.0076) (0.603 0.0147506 0.0724)
Triangles : 8099
Vertices : 4197
processor3
Mesh bounds : (-1.201183 0.02396568 -0.1009528) (-0.5066657 0.1509528 0.1011834)
Surface bounding box : (0.603 0.0851547 -0.0076) (0.603 0.11 0.0724)
Triangles : 8051
Vertices : 4172
processor4
Mesh bounds : (-0.5156456 0.01908608 -0.1008419) (0.08691392 0.1508419 0.1010456)
Surface bounding box : (0.603 0.0486284 0.0117781) (0.603 0.11 0.0724)
Triangles : 15287
Vertices : 7816
processor5
Mesh bounds : (0.08092775 0.01781282 -0.1008633) (0.7009372 0.1508633 0.1010722)
Surface bounding box : (0.603 0.0124135 0.015328) (0.603 0.0706493 0.0724)
Triangles : 13685
Vertices : 7008
Writing surface.
End
Finalising parallel run
|
And here what SnappyHex returns:
Quote:
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org
\\ / A nd | Version: 8
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
Build : 8-1c9b5879390b
Exec : snappyHexMesh -parallel -overwrite
Date : Jul 30 2023
Time : 15:41:17
Host : "diflow-dynamics"
PID : 22368
I/O : uncollated
Case : /home/diflow/FOAM_RUN_OF8/Inv_SST/mesh_2
nProcs : 6
Slaves :
5
(
"diflow-dynamics.22369"
"diflow-dynamics.22370"
"diflow-dynamics.22371"
"diflow-dynamics.22372"
"diflow-dynamics.22373"
)
Pstream initialized with:
floatTransfer : 0
nProcsSimpleSum : 0
commsType : nonBlocking
polling iterations : 0
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStamp (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Overriding DebugSwitches according to controlDict
Create mesh for time = 0
Read mesh in = 1.3 s
Overall mesh bounding box : (-1.2 -0.1 -0.1) (0.7 0.15 0.1)
Relative tolerance : 1e-06
Absolute matching distance : 1.926785e-06
[0]
[0]
[0] --> FOAM FATAL ERROR:
[0] Cannot find triSurfaceMesh at "/home/diflow/FOAM_RUN_OF8/Inv_SST/mesh_2/processor0/constant/triSurface/inlet.stl"
[0]
[0] From function static Foam::fileName Foam::triSurfaceMesh::checkFile(const Foam::regIOobject&, const Foam::dictionary&, bool)
[0] in file [1]
[1]
[1] --> FOAM FATAL ERROR:
[1] Cannot find triSurfaceMesh at "/home/diflow/FOAM_RUN_OF8/Inv_SST/mesh_2/processor1/constant/triSurface/inlet.stl"
[1]
[1] From function static Foam::fileName Foam::triSurfaceMesh::checkFile(const Foam::regIOobject&, const Foam::dictionary&, bool)
[1] in file searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C at line 108.
[2]
[2]
[2] --> FOAM FATAL ERROR:
[2] Cannot find triSurfaceMesh at "/home/diflow/FOAM_RUN_OF8/Inv_SST/mesh_2/processor2/constant/triSurface/inlet.stl"
[2]
[2] From function static Foam::fileName Foam::triSurfaceMesh::checkFile(const Foam::regIOobject&, const Foam::dictionary&, bool)
[2] in file searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C at line 108.
[2]
FOAM parallel run exiting
[2]
[3]
[3]
[3] --> FOAM FATAL ERROR:
[3] Cannot find triSurfaceMesh at "/home/diflow/FOAM_RUN_OF8/Inv_SST/mesh_2/processor3/constant/triSurface/inlet.stl"
[3]
[3] From function static Foam::fileName Foam::triSurfaceMesh::checkFile(const Foam::regIOobject&, const Foam::dictionary&, bool)
[3] in file searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C at line 108.
[3]
FOAM parallel run exiting
[3]
[4]
[4]
[4] --> FOAM FATAL ERROR:
[4] Cannot find triSurfaceMesh at "/home/diflow/FOAM_RUN_OF8/Inv_SST/mesh_2/processor4/constant/triSurface/inlet.stl"
[4]
[4] From function static Foam::fileName Foam::triSurfaceMesh::checkFile(const Foam::regIOobject&, const Foam::dictionary&, bool)
[4] in file searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C at line 108.
[4]
FOAM parallel run exiting
[4]
[5]
[5]
[5] --> FOAM FATAL ERROR:
[5] Cannot find triSurfaceMesh at "/home/diflow/FOAM_RUN_OF8/Inv_SST/mesh_2/processor5/constant/triSurface/inlet.stl"
[5]
[5] From function static Foam::fileName Foam::triSurfaceMesh::checkFile(const Foam::regIOobject&, const Foam::dictionary&, bool)
[5] in file searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C at line 108.
[5]
FOAM parallel run exiting
[5]
searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C at line 108.
[0]
FOAM parallel run exiting
[0]
[1]
FOAM parallel run exiting
[1]
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 4 in communicator MPI COMMUNICATOR 3 SPLIT FROM 0
with errorcode 1.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
|
Here the snappyHexMeshDict:
Quote:
/*--------------------------------*- C++ -*----------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Web: www.OpenFOAM.com
\\ / A nd | Version: 8
\\/ M anipulation |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object snappyHexMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#inputSyntax slash;
// Which of the steps to run
castellatedMesh true; //true;
snap true; //true;
addLayers true;
geometry
{
// air_domain {type distributedTriSurfaceMesh; file "air_domain.stl"; regions { air_domain { name air_domain;} } }
inlet {type distributedTriSurfaceMesh; file "inlet.stl"; regions { inlet { name inlet;} } }
|
Last edited by drdr18; July 30, 2023 at 11:36.
Reason: I forget some text
|
|
|