CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Problem running LTSInterFoam (https://www.cfd-online.com/Forums/openfoam-solving/95569-problem-running-ltsinterfoam.html)

 timothee December 22, 2011 10:14

Problem running LTSInterFoam

3 Attachment(s)
Hello,

I am using openFoam 2.0 to model the waves generated by a ship. I want to get the wave pattern and also the pressure distribution along the hull.

Until now I was using a transient solver: interFoam. It worked well, but for this study a steady state solver as LTSInterFoam would be more efficient.

When I run the calculation with LTSInterFoam (using a k-omegaSST turbulence model), it appears some strange waves in front of the hull. These waves are not generated by the hull, and have no reasons to be here (see attachment).

I thought these waves were due to bad boundary conditions, but I tried to change them several times, and the results were not better.

I used the following boundary conditions:

U:
- water inlet: fixedValue uniform (-7 0 0)
- air inlet: fixedValue uniform (-7 0 0)
- top, bottom and sight: slip
- symmetryWall: symmetryPlane
- hull: fixedValue uniform (0 0 0)

p_rgh:
- water inlet: buoyantPressure uniform 0
- air inlet: buoyantPressure uniform 0
- top, bottom and sight: buoyantPressure uniform 0
- symmetryWall: symmetryPlane
- hull: buoyantPressure uniform 0

alpha1:
- water inlet: fixedValue uniform 1
- air inlet: fixedValue uniform 0
- top, bottom and sight :zeroGradient
- symmetryWall: symmetryPlane

Does anyone use LTSInterFoam to model a free surface and know where my problem may come from?

picture 1: mesh with water and air domain
picture 2: wave pattern
picture 3: wave pattern (scale changed)

 daveatstyacht December 26, 2011 15:24

Timothee,
I have seen similar behavior in a variant of LTSInterFoam that I am using. The distance to your outlet appears to be only about a boat length away from the stern. Try using a wider and longer domain. For the runs with interFoam are you sure you ran them until a steady state was achieved (that is to say, if you ran it longer, would waves reflect back into the domain?)? It is not unusual for a reflection to occur off of the outlet, particularly one positioned too close to the hull. If you position the outlet and side wall far enough away and it still produces waves forward of the hull than you at least know it is not due to reflections off of the outlet. Another thing to look out for it to avoid sharp mesh transitions in the free surface from coarse to fine mesh size since this can also lead to ripples.

Dave

 timothee January 6, 2012 05:11

3 Attachment(s)

To reach a steady state with interFoam, I set the simulation time in order that a molecule of water through the domain three times.

I ran simulations with LTSInterFoam with a wider and longer domain. The mesh was bigger and contained more cells, but the boundary conditions were the same as previously.
The calculation I did shows interesting results, the waves in front of the hull are still here, but less important, they have almost disappeared.

So yes it may be due to reflexion on the outlet, as you said, but with boundary conditions I used I hardly understand how it can produce reflexion.

I tried to run a second simulation with still the same parameters and the new mesh, but with even more iterations, and the calculation crashed (see residuals). LTSInterFoam seems to be very sensitive to the mesh.

picure1: wave pattern
picture2: wave pattern (scale changed)
picure3: residuals (second calculation)

Timothee

 daveatstyacht January 6, 2012 11:34

Timothee,
I am glad to hear the problem is becoming less pronounced. I think it might be worth checking if the waves are coming from the inlet. I went back and looked at runs the problem was happening and noticed they propagated from the inlet. I am not sure yet completely sure why (currently investigating if it is boundary condition or solution schemes). While it is not unusual for the multiphase solvers to be mesh sensitive it is odd that crashed after that many iterations. Btw, how did you produce the elevation of the free surface as a variable to display?

Dave

 timothee January 9, 2012 05:12

1 Attachment(s)
"Btw, how did you produce the elevation of the free surface as a variable to display?"

This is a part of my setFieldsDict:

defaultFieldValues
(
volScalarFieldValue alpha1 0 // air domain alpha1 = 0
volVectorFieldValue U (-7.1 0 0)
);

regions
(
boxToCell
{
box (-100 0 -30) (220 90 6.5); // Definition of the water domain alpha1 = 1

fieldValues
(
volScalarFieldValue alpha1 1
);
}
boxToCell
{
box (-100 0 6.5) (200 90 6.501); // Definition of the free surface alpha1 = 0.5

fieldValues
(
volScalarFieldValue alpha1 0.5
);
}
);

First I display in paraFoam the internal mesh with alpha1. I display it in surface view.

Then in Filters/alphabetical, I chose contour, with the value range equal to 0.5

After in Filters/alphabetical, I chose elevation, with z axis.

Timothee

 daveatstyacht January 9, 2012 10:46

Timothee,
Thanks I didn't notice the elevation filter previously. The setting of alpha1=0.5 in setFieldsDict is not necessary as an interface of alpha 0<a<1 will form on its own and the contour will still be extracted without it.

Dave

 bouclette January 15, 2012 10:31

Hi Timothee,

Have you solved your issues with LTSInterFoam?

If not and if you consider that your mesh should be good enough, you may want to play a bit with the fvSolution file and add some nCorrectors, nNonOrthogonalCorrectors and bring the tolerances down a couple of turns.

What relaxation factors are you using at the moment?

Regards,

Ben

 fondexx June 26, 2014 16:49

1 Attachment(s)
hi Dear Foamers

I`m running a hull whit LTSInterFoam, have the next problem

P { margin-bottom: 0.08in; } Time = 1639

Flow time scale min/max = 1.463e-11, 1.78655e-05
Smoothed flow time scale min/max = 1.463e-11, 2.09716e-07
MULES: Solving for alpha1
#0 Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#1 Foam::sigFpe::sigHandler(int) in "/opt/openfoam211/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
#2 in "/lib/x86_64-linux-gnu/libc.so.6"
#3 void Foam::MULES::limiter<Foam::geometricOneField, Foam::zeroField, Foam::zeroField>(Foam::Field<double>&, Foam::geometricOneField const&, Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::GeometricField<double, Foam::fvsPatchField, Foam::surfaceMesh> const&, Foam::zeroField const&, Foam::zeroField const&, double, double, int) in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/LTSInterFoam"
#4
in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/LTSInterFoam"
#5
in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/LTSInterFoam"
#6
in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/LTSInterFoam"
#7 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6"
#8
in "/opt/openfoam211/platforms/linux64GccDPOpt/bin/LTSInterFoam"

and in paraFoam in the image