Hi,
I’m running a 3D coupled simulation with the OpenFOAM-Adapter.
Launching the simulation on 7 cores works well on my local machine.
However executing the exact same script on a cluster leads to:
(0) 18:07:51 [mapping::PetRadialBasisFctMapping]:785 in map: ERROR: The linear system of the RBF mapping from mesh Solid-Mesh to mesh Fluid-Mesh has not converged. This means most probably that the mapping problem is not well-posed. Please check if your coupling meshes are correct. Maybe you need to fix axis-aligned mapping setups by marking perpendicular axes as dead?
When I’m running a 2D case (3D case but axis z marked as dead) with the same configuration, it works on the cluster without a problem.
I’m running preCICE v2.2.1 and the OpenFOAM-Adapter v1.0.0
The case is run via the command mpirun -np 7 pimpleFoam -case openfoam -parallel.
The full log file can be found here: pimpleFoam.log (30.3 KB)
ok so for my understanding again. The overall case is a quasi 2D case, i.e. you have preCICE dimension 3, but only physics in 2D. The simulation works on your local machine without any issues, but on the cluster, you need to mark axis as dead in order to make it work?!
Although the error occurs here in your case on the Fluid side, the ‘crucial’ mesh is here the solid mesh (from mesh in case of a read mapping). Which solid solver do you use and is the solid mesh the same as well?
If the mapping problem is ill-posed or close to ill-posed, it can happen that one PETSc implementation works and another not. We had similar issues in:
Solution is always to make your mapping problem well-defined (setting axis to dead) or properly go to 2D.
Note: the airfoil patch in the fluid solver is closed on one side as you can see in the image. In the solid mesh it is opened on both sides. I was expecting this is not a problem, when mapping these meshes. What do you think?
But still I have no clue why the case is not running on the cluster, but on my machine. If you think it could be a PETSc issue: On my local machine, I’ve installed the preCICE Ubuntu package and on the cluster I built preCICE from source (including PETSc). Can I deactivate features on the cluster to acheive a similar environment as on my machine?
You use a support radius of 5. How does this value relate to say the span-wise width of your airfoil?
It could be that your mapping system did not diverge, but neither converge. Good to know: Our next release v2.3 will give more information for such a case.
Just to be sure: both your meshes mesh the same geometry. Meaning, when you plot both at the same time they lie nearly over each other, right?
This could indeed be a problem when you have a fluid mesh partition which is only on this side. But actually, I would expect a different error message then. Sth coming from the re-partitioning.
Can you visualize your fluid partitions? Any chance to cut this lid?
To get a bit more information: what happens when you run with a different number of ranks?
I selected the support radius just for testing purposes (I thought this value is conservative enough). The airfoil has the following dimensions:
chord length: 0.144 m
maximum thickness: 0.017 m
span length: 0.15 m
Because I’m not exactly sure how to calculate the support radius, I’ve opened a seperate topic.
It should be … I was trying to visualize it with paraview using the export function of preCICE, but with the RBF mapping I’m getting many different files, which don’t show the expected mesh when selecting the glyph filter. Is there a way to plot such meshes with preCICE?
Still the mapping works on the local machine for > 2000 timewindows …
You mean you want to see how the case is decomposed?
I don’t understand what you mean by that …
I tried it with different number of processors … 1 … 8 … 35,
but still the same issue.
I now ran different radiuses (0.5, 0.8, 1) with the same issue.
Maybe I selected the wrong output files, as there are many when using the RBF mapping.
The following files are available (only the fluid participant has time to create its files):
When I try to view Fluid-Mesh-Fluid.init_master.pvtu or Fluid-Mesh-Fluid.dt1_master.pvtu, paraview doesn’t show anything (scale in glyph is automatically very small and increasing it doesn’t help).
Now Fluid-Mesh-Fluid.init_r*.vtu looks like that:
At the end it should be closed at the side … and as you know it works on my local machine ^^
Also since I didn’t create the fluid solver case this would be quite some work for a dummy case,
so maybe first try some other things before …
I tried the visualization of the same case on my machine:
view screenshots
I would try to go even lower. Your span has a width of 0.15 and you use roughly 10 elements there. 0.015 * 5 = 0.07. (your solid mesh is the one to consider when you use a consistent mapping from solid to fluid)
Does it work when you use
use-qr-decomposition="yes"
in your RBF mappings?
Meshes look good. I still don’t like the “lid”, but like I said, I would actually expect a different error there.