OpenFOAM adapter with RBFMeshMotionSolver

Hi everybody,
I was trying to test a FSI simulation using, for fluid mesh motion, RBFMeshMotionSolver from solids4foam. At the moment I’m not even sure if it is a precice related problem, but I’d like to go through some steps in order to exclude possible errors.
The issue, as in the attached in this file issue.txt (8.9 KB) is that at the end of the mapping configuration PETSC raises a segmentation violation, nevertheless precice is configured and initialized.
I am using compiled from the master branch of solids4foam with OF v-2012, I also compiled it (only RBF, not the entire S4F) from the nextRelease branch for OF v22-12 and I get the same error.
The precice adapter is version v1.2.2 compiled from the master branch.
I have tried the same case with displacementLaplacian and it runs.
I have experimented with serial and parallel simulations and I get the same error.
In order to use RBFMeshMotionSolver I put

 namePointDisplacement unused;
 nameCellDisplacement rbfMotionCentersField;

in the preciceDIct into the FSI block.
The dynamicMeshDict should be correctly configured, OF reads the RBF parameters without complaining,

My initial questions are:

  1. Are there possible incompatibilities among the components above?
  2. Is there a case/tutorial that I can use to see if everything works? The ones that I have seen in S4F have RBF commented out
  3. The fluid mesh is around 500k cells, is it tractable?

Thank you

a small update on this. I recovered the fluid-openfoam-rbf case for the perpendicular-flap tutorial from here and I tried to run it with RBFMeshMotionSolver.
It works both on the v-2012 and v-2212 versions, so no compatibility issues are present.
I noticed that all the FSI combinations in the perpendicular-flap tutorial use, on the fluid side, a single interface on faceCenters. I generally use 2 interfaces, one on faceCenters to write forces and one on faceNodes to read displacements.
May this be the source of the problem?

Could be. We started with support only for pointDisplacement, and cellDisplacement was added later. I am not sure what restrictions rbfMeshMotionSolver has. But if you say that it works with pointDispalcement (correct?), then we should probably document that.

Hi @Makis ,
it was my mistake. As both OF and RBFMeshMotionSolver use face centers, the preciceDict needs only one interface with locations faceCenters. Removing the the second interface on faceNodes made everything work. It was a copy-paste problem.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.