|
[Sponsors] |
rhoPimpleFoam with overset in foam-extend 4.1 |
![]() |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
![]() |
![]() |
#1 |
Member
Saleh Abuhanieh
Join Date: Nov 2017
Posts: 85
Rep Power: 9 ![]() |
Dear Foamer,
The subject solver has been implemented in OpenFOAM v-1812 (overRhoPimpleDyMFoam). I wonder if somebody was able to develop the same using foam-extend 4.1. I tried without success until now, specially that no compressible solver example using overset is available in foam-extend 4.1. Regards, Saleh |
|
![]() |
![]() |
![]() |
![]() |
#2 |
Member
Saleh Abuhanieh
Join Date: Nov 2017
Posts: 85
Rep Power: 9 ![]() |
Hi again
Any idea? Regards Saleh |
|
![]() |
![]() |
![]() |
![]() |
#3 |
New Member
Pengcheng Zhang
Join Date: Aug 2021
Posts: 14
Rep Power: 5 ![]() |
Hi Saleh,
My issue is the same as yours. Have you solved it? By the way, I only have experience implementing rhoPimDyMFoam in foam-extend 4.1. I'd appreciate it if you could help me. |
|
![]() |
![]() |
![]() |
![]() |
#4 |
Member
Saleh Abuhanieh
Join Date: Nov 2017
Posts: 85
Rep Power: 9 ![]() |
Hi Zhang,
What you are trying to solve? Regards Saleh |
|
![]() |
![]() |
![]() |
![]() |
#5 |
New Member
Pengcheng Zhang
Join Date: Aug 2021
Posts: 14
Rep Power: 5 ![]() |
Dear Saleh,
Sorry for my late reply. I am trying to simulate transient process of pump-turbine. To simulate water hammer, the change of density need to be considered, so I choose rhoPimpleFoam as the solver. In addition, to realize the movement of guide vanes, I added the code related to dynamicMesh into rhoPimpleFoam and got my own rhoPimpleDyMFoam in foam-extend-4.1. However, morphing mesh like displacementLaplacian(motionSolver) can not meet my requirements, because the movement of guide vanes is too large for morphing mesh. As a result, I choose to use oversetMesh now, but again, I am stuck due to the problem of parallel running of oversetMesh. I guess this problem comes from decompostion. I am very glad to help you for what I know, and if you know how to solve my problem, please help me. Thanks in advance. Best regards Zhang |
|
![]() |
![]() |
![]() |
![]() |
#6 |
New Member
Join Date: Dec 2019
Posts: 13
Rep Power: 7 ![]() |
Hi Zane,
Did you get an overset version of rhoPimpleFoam working even in serial? I am trying to develop an overset version of sonicFoam - or any other compressible solver - in foam-extend and testing it with a simple 1D shock-tube case. To do this I looked at how interFoam compares to interOversetFoam, and modifying sonicFoam on the same basis. Mostly this seems to consist of using oversetInterpolate(field) after solving each field, but I am missing something and this solver does not run. However, I have a strange experience with foam-extend, which is that for multiphase I get better results using standard interFoam and including "liboversetMesh.so" in the controlDict, rather than using interOversetFoam. It still does the overset assembly automatically, and in particular there is a really bad pressure anomaly at the overset boundary with interOversetFoam, which is not present using interFoam even with an overset mesh. You can see this pressure anomaly in the dam break tutorial too. However, I don't get how this works from the source code, since there is nothing in the solver that does the interpolation?? Also, if you try this approach with sonicFoam, it immediately throws a segmentation fault, so it's not universal. |
|
![]() |
![]() |
![]() |
![]() |
#7 |
New Member
Pengcheng Zhang
Join Date: Aug 2021
Posts: 14
Rep Power: 5 ![]() |
Hi Vivio,
I'm sorry, I'm actually not familiar with the overset mesh in foam-extend. However, I think the overset mesh in openfoam.com (e.g. OpenFOAM-v2112) may help you. It has an overset version of rhoPimpleFoam. As for your strange problem about interOversetFoam, I suggest you check the paths $FOAM_USER_APPBIN and $FOAM_USER_LIBBIN. Maybe that's bacause you accidentally called the wrong solver and libs. In other words, you ran a solver named "interFoam", but actually it was compiled into "interOversetFoam". In general, if a solver doesn't contain codes related to overset mesh, when you run it, it can not cope with overset mesh even including "liboversetMesh.so". Best regards |
|
![]() |
![]() |
![]() |
![]() |
#8 |
Member
Saleh Abuhanieh
Join Date: Nov 2017
Posts: 85
Rep Power: 9 ![]() |
Hi,
If the geometry is not so complex and the mesh size within 1M, you may try the overRhoPimpleFoam (ESI version). A better alternative can be the HiSA solver (free and openfoam based) which can utilize the ESI overset library. You may check those: https://hisa.gitlab.io/doc.html https://journals.sagepub.com/doi/abs...44100221080771 Regards, Saleh |
|
![]() |
![]() |
![]() |
![]() |
#9 |
New Member
Join Date: Dec 2019
Posts: 13
Rep Power: 7 ![]() |
Thanks Saleh, I got the ESI version of overRhoPimpleDyMFoam working on the case and it works a treat, at least its comparable to standard rhoPimpleFoam.
Haven't tried HiSA yet but I will check it out and see if it gives better performance, the pressure-based solvers aren't the best when it comes to shock waves anyway. |
|
![]() |
![]() |
![]() |
![]() |
#10 | |
New Member
Join Date: Feb 2017
Posts: 1
Rep Power: 0 ![]() |
Quote:
Thanks for the link to your publication. How do you enable the ESI overset libraries for the HiSA solver? I tried by adding the following to the system/controlDict and to the constant/dynamicFvMesh files for a static overset case as per the ESI-OpenFOAM tutorials: controlDict Code:
libs (overset fvMotionSolvers); Code:
dynamicFvMesh dynamicOversetMesh motionSolverLibs (fvMotionSolvers); solver displacementLaplacian; displacementLaplacianCoeffs { diffusivity uniform 1; } Last edited by johku; January 2, 2023 at 03:02. |
||
![]() |
![]() |
![]() |
![]() |
#11 |
Member
Saleh Abuhanieh
Join Date: Nov 2017
Posts: 85
Rep Power: 9 ![]() |
Hi,
Yes, for steady-state cases, the Overset Grid Assembly (OGA) algorithm shall work only at the first iteration. Without going into the implementation details, for now, HiSA is suitable for the transient cases. For steadystate cases, without any code modifications, the OGA will work at each pseudo iteration. I hope that was useful. Regards, Saleh Last edited by Saleh Abuhanieh; January 3, 2023 at 00:53. |
|
![]() |
![]() |
![]() |
![]() |
#12 | |
New Member
Join Date: Jul 2022
Posts: 18
Rep Power: 4 ![]() |
Quote:
I have a problem about code, I found this code in the file jacobianMatrix.H HTML Code:
typedef jacobianMatrix<2,1> compressibleJacobianMatrix;
Best wishes ![]() |
||
![]() |
![]() |
![]() |
![]() |
#13 | |
New Member
Join Date: Dec 2024
Posts: 11
Rep Power: 2 ![]() |
Hi Saleh,
I have a mesh about 2M cells. I am trying to do overset analysis in Hisa solver. But I get 2 errors. 1- Temperature is rising too much like 5e20 2- Primary job terminated normally, but 1 process returned a non-zero exit code. Per user-direction, the job has been aborted. --------------------------------------------------------------------------- ------------------------------------------------------------ mpirun detected that one or more processes exited with non-zero status, thus causing the job to be terminated. The first process to do so was: I would be very happy if you could help. Quote:
|
||
![]() |
![]() |
![]() |
![]() |
#14 |
Member
Saleh Abuhanieh
Join Date: Nov 2017
Posts: 85
Rep Power: 9 ![]() |
Hi,
Your case diverges here. Before starting an overset analysis with new solver, we need to make sure that our case converges for the single mesh case first. Then, we can move to the overset case. Regards, Saleh |
|
![]() |
![]() |
![]() |
![]() |
#15 |
New Member
Join Date: Dec 2024
Posts: 11
Rep Power: 2 ![]() |
Thank you for your answer. I have the same problem in my analysis transient and without movement, my speed is increasing incredibly. However, I could solve it without any problems in the course mesh I used before(with overset). I cannot get a solution in my fine mesh. I thought there might be a problem with the mesh, so I made my fine mesh a little course, but I still have the same problem, what should I do?
|
|
![]() |
![]() |
![]() |
![]() |
#16 |
Member
Saleh Abuhanieh
Join Date: Nov 2017
Posts: 85
Rep Power: 9 ![]() |
Hi,
The overset library in OpenFOAM ESI has limited capabilities. Thus, I would advise to check the cells' classification output first (the cellType field), if it makes sense or no. You need to have some basic knowledge about the overset method to judge the sanity of the classification output. Regards, Saleh |
|
![]() |
![]() |
![]() |
![]() |
#17 | |
New Member
Join Date: Dec 2024
Posts: 11
Rep Power: 2 ![]() |
Hi Saleh,
Thank you for answering. In my case there is a sphere around the object and I have a flow domain (3D case). As expected, donor cells around the sphere are visible when I make celltype. I think I did the overset correctly because I was able to get a solution with course mesh (using overset mesh and there is no problem with my movement). I did not change the overset settings while making the mesh fine. Therefore, I do not think there is a problem with the overset. When I checked the CellType, I did not see any problem. Do you have any other suggestions? I am using the Openfoam v2012 Hisa module. Quote:
|
||
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
error with reactingFoam | BakedAlmonds | OpenFOAM Running, Solving & CFD | 4 | June 22, 2016 02:21 |
[blockMesh] error message with modeling a cube with a hold at the center | hsingtzu | OpenFOAM Meshing & Mesh Conversion | 2 | March 14, 2012 09:56 |
[blockMesh] BlockMesh FOAM warning | gaottino | OpenFOAM Meshing & Mesh Conversion | 7 | July 19, 2010 14:11 |
[blockMesh] Axisymmetrical mesh | Rasmus Gjesing (Gjesing) | OpenFOAM Meshing & Mesh Conversion | 10 | April 2, 2007 14:00 |
[Gmsh] Import gmsh msh to Foam | adorean | OpenFOAM Meshing & Mesh Conversion | 24 | April 27, 2005 08:19 |