What's the problem?
I am using OpenFOAM6 on my machine and the tutorial cases tutorials/FSI/cylinderFlap/* do not work. I explicitly tested the case tutorials/FSI/cylinderFlap/OpenFOAM-FEniCS while checking #38. For the other cases I tried executing runFluid and it always resulted in an error thrown by OpenFOAM (OF), even before the coupling was initialized.
My proposed workaround
Commenting out some lines in Fluid/system/fvSolution does the trick and it works:
PIMPLE
{
nCorrectors 2;
nNonOrthogonalCorrectors 0;
tolerance 1.0e-14;
relTol 5e-3;
pisoTol 1e-6;
consistent true;
nOuterCorrectors 50;
// residualControl
// {
// U
// {
// tolerance 5e-5;
// relTol 0;
// }
// p
// {
// tolerance 5e-4;
// relTol 0;
// }
// }
}
Note again: I only explicitly tested the case with OpenFOAM and FEniCS. For OpenFOAM and deal.II, OpenFOAM and CalculiX respectively, I only ran runFluid and with the changes mentioned above OpenFOAM does not exit with an error, but executes until coupling is initialized and it is waiting for the second participant.
What I already did
- The FEniCS test cases are working (until the very end) without changes on my machine with OF6 using the revision provided on master.
- I needed to apply some changed for the other cases (CalculiX, deal.II). Using the revision on branch https://github.com/precice/tutorials/tree/OpenFOAM6 the cases are working without changes, but I only validated until the coupling is initialized and OpenFOAM is waiting for the Solid solver. 7f3344b.
What should we do now?
The fix I am proposing above seems to work. However, there are some more things we should do in order to improve the compatibility of the tutorials with different version of OpenFOAM (bold for important ones and italics for less important):
What's the problem?
I am using OpenFOAM6 on my machine and the tutorial cases
tutorials/FSI/cylinderFlap/*do not work. I explicitly tested the casetutorials/FSI/cylinderFlap/OpenFOAM-FEniCSwhile checking #38. For the other cases I tried executingrunFluidand it always resulted in an error thrown by OpenFOAM (OF), even before the coupling was initialized.My proposed workaround
Commenting out some lines in
Fluid/system/fvSolutiondoes the trick and it works:Note again: I only explicitly tested the case with OpenFOAM and FEniCS. For OpenFOAM and deal.II, OpenFOAM and CalculiX respectively, I only ran
runFluidand with the changes mentioned above OpenFOAM does not exit with an error, but executes until coupling is initialized and it is waiting for the second participant.What I already did
What should we do now?
The fix I am proposing above seems to work. However, there are some more things we should do in order to improve the compatibility of the tutorials with different version of OpenFOAM (bold for important ones and italics for less important):
residualControl. I am not an OpenFOAM expert and I did not compare with the performance using a different OpenFOAM version that acceptsresidualControl.flap_perp. Here,residualControlis not provided infvSolution(see here). Therefore, I also did not observe any problems when runningflap_perpunder OF6 and I did not expect any problems to show up runningcylinderFlap.fvSolutionof the both cases. Why?pimpleFoamorpimpleDyMFoamInFluid/system/controlDictone has to manually choose the fitting solver. This straightforward, but still has to be done manually.