CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[mesh manipulation] Dynamic remeshing (mequite) in parallel not working [foam-extend-4.0]

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 25, 2017, 05:57
Default Dynamic remeshing (mequite) in parallel not working [foam-extend-4.0]
  #1
Senior Member
 
Join Date: Oct 2009
Posts: 140
Rep Power: 16
Peter_600 is on a distinguished road
Dear all,

I am currently investigating a case with a large mesh displacement and would like to use the dynamic remeshing library "dynamicTopoFvMesh" within foam-extend-4.0 (Suse Leap 4.21). For me it is very important that this feature also runs in parallel. According to the source code and some literature (e.g. http://www.personal.psu.edu/dab143/O...idt_slides.pdf or more recently http://www.sciencedirect.com/science/article/pii/S0021999115003782 )
this feature is able to run in parallel.

I tried to execute the tutorial "circCylinder3d" of foam-extend-4.0 in parallel. Unfortunately not successfully. The case is decomposed into 4 parts and I have used metis as decomposition method.

Are there any special requirements for the decomposition of the mesh for the dynamicTopoFvMesh class?

Here is my log file:

Quote:
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | For copyright notice see file Copyright |
\*---------------------------------------------------------------------------*/
Build : 4.0-4fad65ce7cac
Exec : moveDynamicMesh -parallel
Date : Jul 25 2017
Time : 11:25:33
Host : linuxaec
PID : 15173
CtrlDict : "/home/peter/foam/foam-extend-4.0/tutorials/mesh/moveDynamicMesh/circCylinder3d/system/controlDict"
Case : /home/peter/foam/foam-extend-4.0/tutorials/mesh/moveDynamicMesh/circCylinder3d
nProcs : 4
Slaves :
3
(
linux.15174
linux.15175
linux.15176
)

Pstream initialized with:
nProcsSimpleSum : 0
commsType : nonBlocking
SigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

--> FOAM Warning :
From function dlLibraryTable:pen(const fileName& functionLibName)
in file db/dlLibraryTable/dlLibraryTable.C at line 124
could not load /home/peter/foam/foam-extend-4.0/ThirdParty/packages/scotch-6.0.4/platforms/linux64GccDPOpt/lib/libptscotch.so: undefined symbol: _SCOTCHorderSaveMap
Create dynamic mesh for time = 0

Selecting dynamicFvMesh dynamicTopoFvMesh
Selecting metric Knupp
Selecting motion solver: mesquiteMotionSolver

From function MeshObject<Mesh, Type>::MeshObject(const Mesh& mesh)
in file /home/peter/foam/foam-extend-4.0/src/foam/lnInclude/MeshObject.C at line 47
Creating meshObject for type mesquiteMotionSolver
Selecting quality metric: AspectRatioGamma
Selecting objective function: LPtoP
Selecting optimization algorithm: FeasibleNewton
Outer termination criterion (tcOuter) was not found. Using default values.
Time = 0.1
Clear VTK directory

From function MeshObject<Mesh, Type>::MeshObject(const Mesh& mesh)
in file lnInclude/MeshObject.C at line 47
Creating meshObject for type pointMesh
Solving for point motion: Initial residual: 1 Final residual: 0.00906627 No Iterations: 16
Solving for point motion: Initial residual: 1 Final residual: 0.00982701 No Iterations: 30

~~~ Mesh Quality Statistics ~~~
Min: 0.588549
Max: 0.999837
Mean: 0.890643
Cells: 8406
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

dynamicTopoFvMesh::identifyCoupledPatches : Found 25 global points.
Processor priority: 4(0 1 2 3)
Processor rankings: 4(0 1 2 3)
[0] identifyCoupledPatches : Talking to processors: 3(1 2 3)
[3] identifyCoupledPatches : Talking to processors: 3(0 1 2)
[1] identifyCoupledPatches : Talking to processors: 3(0 2 3)
[2] identifyCoupledPatches : Talking to processors: 3(0 1 3)
void polyMesh::initMesh() : initialising primitiveMesh
[2] Writing out sent subMesh for processor: 0
[3] Writing out sent subMesh for processor: 0
Constructing fvMesh from components
[2] faceStarts: 8(312 312 312 312 335 350 411 419)
[2] faceSizes: 8(0 0 0 23 15 61 8 77)
[2] edgeStarts: 8(111 111 111 111 146 169 267 284)
[2] edgeSizes: 8(0 0 0 35 23 98 17 103)
[2] patchTypes: 8(0 1 2 3 -5 -2 -3 -1)
[2] Sending to [0]:: nEntities: (94 387 496 202 111 312 42 42 1488 8)
[0] Writing out sent subMesh for processor: 1
[3] faceStarts: 8(385 385 385 385 410 425 497 511)
[3] faceSizes: 8(0 0 0 25 15 72 14 92)
[3] edgeStarts: 8(139 139 139 139 176 199 313 342)
[3] edgeSizes: 8(0 0 0 37 23 114 29 124)
[3] patchTypes: 8(0 1 2 3 -4 -2 -3 -1)
[3] Sending to [0]:: nEntities: (111 466 603 247 139 385 50 50 1809 8)
[0] faceStarts: 8(850 859 876 876 910 1073 1089 1098)
[0] faceSizes: 8(9 17 0 34 163 16 9 192)
[0] edgeStarts: 8(316 327 354 354 407 660 692 711)
[0] edgeSizes: 8(11 27 0 53 253 32 19 264)
[0] patchTypes: 8(0 1 2 3 -3 -5 -4 -1)
[0] Sending to [1]:: nEntities: (221 975 1290 535 316 850 102 102 3870 8)
[1] Writing out sent subMesh for processor: 0
[1] faceStarts: 8(838 847 861 861 894 1057 1071 1079)
[1] faceSizes: 8(9 14 0 33 163 14 8 199)
[1] edgeStarts: 8(310 322 343 343 393 646 674 691)
[1] edgeSizes: 8(12 21 0 50 253 28 17 279)
[1] patchTypes: 8(0 1 2 3 -2 -5 -4 -1)
[0] Receiving from [1]:: nEntities: (222 970 1278 529 310 838 102 102 3834 8)
[1] Sending to [0]:: nEntities: (222 970 1278 529 310 838 102 102 3834 8)
[1] Receiving from [0]:: nEntities: (221 975 1290 535 316 850 102 102 3870 8)
void polyMesh::initMesh() : initialising primitiveMesh
Constructing fvMesh from components
[0] Writing out sent subMesh for processor: 2
[1] Writing out sent subMesh for processor: 2
[2] Receiving from [0]:: nEntities: (97 407 526 215 120 334 42 42 1578 8)
[0] faceStarts: 8(334 334 334 334 354 364 378 439)
[0] faceSizes: 8(0 0 0 20 10 14 61 87)
[0] edgeStarts: 8(120 120 120 120 149 165 187 289)
[0] edgeSizes: 8(0 0 0 29 16 22 102 118)
[0] patchTypes: 8(0 1 2 3 -3 -5 -4 -1)
[0] Sending to [2]:: nEntities: (97 407 526 215 120 334 42 42 1578 8)
[0] Receiving from [2]:: nEntities: (94 387 496 202 111 312 42 42 1488 8)
[1] faceStarts: 8(139 139 139 139 151 161 176 199)
[1] faceSizes: 8(0 0 0 12 10 15 23 42)
[1] edgeStarts: 8(45 45 45 45 63 79 104 146)
[1] edgeSizes: 8(0 0 0 18 16 25 42 52)
[1] patchTypes: 8(0 1 2 3 -2 -5 -4 -1)
[1] Sending to [2]:: nEntities: (53 198 241 95 45 139 20 20 723 8)
void polyMesh::initMesh() : initialising primitiveMesh
Constructing fvMesh from components
[2] Writing out sent subMesh for processor: 1
[0] Writing out sent subMesh for processor: 3
[2] faceStarts: 8(129 129 129 129 140 152 161 184)
[2] faceSizes: 8(0 0 0 11 12 9 23 39)
[2] edgeStarts: 8(42 42 42 42 58 76 91 133)
[2] edgeSizes: 8(0 0 0 16 18 15 42 50)
[2] patchTypes: 8(0 1 2 3 -5 -2 -3 -1)
[1] Receiving from [2]:: nEntities: (49 183 223 88 42 129 20 20 669 8)
[0] faceStarts: 8(366 366 366 366 389 407 479 493)
[0] faceSizes: 8(0 0 0 23 18 72 14 89)
[0] edgeStarts: 8(130 130 130 130 163 192 306 335)
[0] edgeSizes: 8(0 0 0 33 29 114 29 119)
[0] patchTypes: 8(0 1 2 3 -3 -5 -4 -1)
[0] Sending to [3]:: nEntities: (110 454 582 237 130 366 50 50 1746 8)
[2] Sending to [1]:: nEntities: (49 183 223 88 42 129 20 20 669 8)
[2] Receiving from [1]:: nEntities: (53 198 241 95 45 139 20 20 723 8)
[3] Receiving from [0]:: nEntities: (110 454 582 237 130 366 50 50 1746 8)
[0] Receiving from [3]:: nEntities: (111 466 603 247 139 385 50 50 1809 8)
Building local coupled maps...Done.
[3] Writing out sent subMesh for processor: 1
[1] Writing out sent subMesh for processor: 3
[3] faceStarts: 8(311 311 311 311 333 345 360 419)
[3] faceSizes: 8(0 0 0 22 12 15 59 78)
[3] edgeStarts: 8(110 110 110 110 143 161 185 285)
[3] edgeSizes: 8(0 0 0 33 18 24 100 104)
[3] patchTypes: 8(0 1 2 3 -4 -2 -3 -1)
[3] Sending to [1]:: nEntities: (95 389 497 202 110 311 42 42 1491 8)
[3] Receiving from [1]:: nEntities: (103 423 541 220 120 339 42 42 1623 8)
[1] faceStarts: 8(339 339 339 339 363 381 440 453)
[1] faceSizes: 8(0 0 0 24 18 59 13 88)
[1] edgeStarts: 8(120 120 120 120 156 185 279 305)
[1] edgeSizes: 8(0 0 0 36 29 94 26 118)
[1] patchTypes: 8(0 1 2 3 -2 -5 -4 -1)
[1] Sending to [3]:: nEntities: (103 423 541 220 120 339 42 42 1623 8)
[1] Receiving from [3]:: nEntities: (95 389 497 202 110 311 42 42 1491 8)
[2] Writing out sent subMesh for processor: 3
[2] faceStarts: 8(814 814 814 836 873 1032 1046 1059)
[2] faceSizes: 8(0 0 22 37 159 14 13 195)
[2] edgeStarts: 8(297 297 297 331 388 633 661 687)
[2] edgeSizes: 8(0 0 34 57 245 28 26 270)
[2] patchTypes: 8(0 1 2 3 -5 -2 -3 -1)
[2] Sending to [3]:: nEntities: (221 957 1254 517 297 814 100 100 3762 8)
[3] Writing out sent subMesh for processor: 2
void polyMesh::initMesh() : initialising primitiveMesh
Constructing fvMesh from components
[0] Writing out received subMesh for processor: 1
[3] faceStarts: 8(846 846 846 868 905 1064 1078 1093)
[3] faceSizes: 8(0 0 22 37 159 14 15 201)
[3] edgeStarts: 8(312 312 312 344 402 647 675 706)
[3] edgeSizes: 8(0 0 32 58 245 28 31 278)
[3] patchTypes: 8(0 1 2 3 -4 -2 -3 -1)
[3] Sending to [2]:: nEntities: (226 984 1294 535 312 846 100 100 3882 8)
[2] Receiving from [3]:: nEntities: (226 984 1294 535 312 846 100 100 3882 8)
[3] Receiving from [2]:: nEntities: (221 957 1254 517 297 814 100 100 3762 8)
[3] Writing out received subMesh for processor: 0
void polyMesh::initMesh() : initialising primitiveMesh
[2] Writing out received subMesh for processor: 0
[1] Writing out received subMesh for processor: 0
Constructing fvMesh from components
[0] Writing out received subMesh for processor: 2
[3] Writing out received subMesh for processor: 1
void polyMesh::initMesh() : initialising primitiveMesh
Constructing fvMesh from components
[0] Writing out received subMesh for processor: 3
[2] Writing out received subMesh for processor: 1
[3] Writing out received subMesh for processor: 2
void dynamicTopoFvMesh::moveCoupledSubMeshes() : Moving points for coupled subMeshes.
[1] Writing out received subMesh for processor: 2
[2] Writing out received subMesh for processor: 3
[1] Writing out received subMesh for processor: 3
void polyMesh::clearAddressing() : clearing topology
--------------------------------------------------------------------------
mpirun noticed that process rank 2 with PID 15175 on node linux exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------
I am looking forward to your comments and appreciate your help.

Peter

Last edited by Peter_600; July 25, 2017 at 07:58. Reason: *MESQUITE
Peter_600 is offline   Reply With Quote

Old   July 25, 2017, 12:38
Default
  #2
Senior Member
 
sandy
Join Date: Feb 2016
Location: .
Posts: 117
Rep Power: 10
saddy is on a distinguished road
hey !!!
first of all. i haven't tried dynamicTopoFvMesh ever. but i have used basic dymfoam versions. interdymfoam etc.
i found that the dynamic feature is very much dependent on the type of mesh.
dynamicfvmesh works only if you have hexahedral cells. so thats prerequisite to make my mesh hexahedral
now you should check whether you are using the pre-requisite type of mesh with which mequite is supposed to work on???

check out my thread
Trying to compile a new DynamicFvMesh Solver
saddy is offline   Reply With Quote

Old   July 25, 2017, 15:18
Default
  #3
Senior Member
 
Join Date: Oct 2009
Posts: 140
Rep Power: 16
Peter_600 is on a distinguished road
Hi thank you for your answer.

Do you use foam-extend-4.0? If yes, could you please check if the tutorial circCylinder3d" is running in parallel.

BTW. The library is called mesquite not mequite. My fault, typo in the title of the thread!
Peter_600 is offline   Reply With Quote

Old   July 26, 2017, 01:08
Default
  #4
Senior Member
 
sandy
Join Date: Feb 2016
Location: .
Posts: 117
Rep Power: 10
saddy is on a distinguished road
no . I am not using mesquite or foam extend 4.0. however, you can check this link
Mesquite - Adaptive mesh refinement / coarsening?
posts #68 and #69 are related to your tutorial....
saddy is offline   Reply With Quote

Old   August 1, 2017, 06:07
Default
  #5
Senior Member
 
Join Date: Oct 2009
Posts: 140
Rep Power: 16
Peter_600 is on a distinguished road
Unfortunately, I could not solve the problem.

Apparently something goes wrong after calling
Quote:
void polyMesh::clearAddressing() : clearing topology
What does this function?
Peter_600 is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
Is the subsetMotionSolver working in parallel? Arnoldinho OpenFOAM Running, Solving & CFD 7 April 27, 2016 04:38
parallel computing with GGI (OF 1.6 extend) A.Wendy OpenFOAM Running, Solving & CFD 1 November 18, 2012 17:27
DPM parallel is not working but serial is working johnwinter FLUENT 1 March 27, 2012 02:01
Dynamic Mesh- Parallel UDF DE HEART Fluent UDF and Scheme Programming 14 August 11, 2010 01:29
Dynamic Grid Remeshing causing Divergence? Andrew Wick FLUENT 0 January 23, 2006 18:39


All times are GMT -4. The time now is 05:27.