CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Abnormal accumulation of waves occurred in the floatingBody case

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 12, 2025, 06:05
Default Abnormal accumulation of waves occurred in the floatingBody case
  #1
New Member
 
Rhea Ray
Join Date: Oct 2025
Posts: 1
Rep Power: 0
Rhea Ray is on a distinguished road
Dear Foamers,

I want to build a floating body model in a water tank, modifying the v1906 - overInterDyMFoam - floatingBody case. I changed the original 5 wall boundaries to inlet, outlet, and 3 walls. I added the waveProperties file in constant folder. The wave type is StokesI.
The program runs, but the results are confusing. Using waveAlpha as the inlet boundaryField. The result of alpha.water shows the water level line fluctuates up and down in the inlet face, proving that the wave-making is successful. However, the waves seem to accumulate at the frontend and backend (as shown in the figure) and do not propagate forward.

I checked the U results. In the accumulated part, U is very large, but it seems difficult to transmit.
I haven't checked the Courant number (I'm still learning how to add new outputs). In the controlDict, I set maxCo = 1; maxAlphaCo = 1; maxDeltaT = 0.01. The minimum mesh size δx is 0.01m (there is little difference between the background and the floating body), deltaT = 0.005, and adjustTimeStep is open.
The relevant files are as follows:

[alpha.water]
Code:
boundaryField
{
    #includeEtc "caseDicts/setConstraintTypes"
    oversetPatch
    {
        type            overset;
    }
    inlet
    {
        type            waveAlpha;
        waveDictName    waveProperties;
        value           uniform 0;
    }
    outlet
    {
        type            zeroGradient;
    }
    stationaryWalls
    {
        type            zeroGradient;
    }
    atmosphere
    {
        type            inletOutlet;
        inletValue      uniform 0;
        value           uniform 0;
    }
    floatingObject
    {
        type            zeroGradient;
    }
}
// ************************************************************************* //

[p_rgh]
Code:
boundaryField
{
    oversetPatch
    {
        patchType       overset;
        type            overset;
    }
    inlet
    {
        type            fixedFluxPressure;
        gradient        uniform 0;
        value           uniform 0;
    }
    outlet
    {
        type            fixedFluxPressure;
        gradient        uniform 0;
        value           uniform 0;
    }
    stationaryWalls
    {
        type            fixedFluxPressure;
        value           uniform 0;
    }
    atmosphere
    {
        type            totalPressure;
        p0              uniform 0;
        U               U;
        phi             phi;
        rho             rho;
        psi             none;
        gamma           1;
        value           uniform 0;
    }
    floatingObject
    {
        type            fixedFluxPressure;
    }
    overset
    {
        patchType       overset;
        type            fixedFluxPressure;
    }
}
// ************************************************************************* //
[U]
Code:
boundaryField
{
    #includeEtc "caseDicts/setConstraintTypes"
    oversetPatch
    {
        patchType       overset;
        type            zeroGradient;
    }
    inlet
    {
        type            waveVelocity;
        waveDictName    waveProperties;
        value           uniform (0 0 0);
    }
    outlet
    {
        type            waveVelocity;
        waveDictName    waveProperties;
        value           uniform (0 0 0);
    }
    stationaryWalls
    {
        type            fixedValue;
        value           uniform (0 0 0);
    }
    atmosphere
    {
        type            pressureInletOutletVelocity;
        value           uniform (0 0 0);
    }
    floatingObject
    {
        type            movingWallVelocity;
        value           uniform (0 0 0);
    }
}
// ************************************************************************* //

[zoneID]
Code:
boundaryField
{
    #includeEtc "caseDicts/setConstraintTypes"

    inlet
    {
        type            zeroGradient;
    }
    outlet
    {
        type            zeroGradient;
    }
    stationaryWalls
    {
        type            zeroGradient;
    }
    atmosphere
    {
        type            zeroGradient;
    }
    floatingObject
    {
        type            zeroGradient;
    }
    oversetPatch
    {
        patchType       overset;
        type            zeroGradient;
    }
}
// ************************************************************************* //

[waveProperties]
Code:
inlet
{
    alpha           alpha.water;
    waveModel       StokesI;
    nPaddle         1;
    waveHeight      0.1;
    waveAngle       90.0;
    rampTime        3.0;
    activeAbsorption yes;
    wavePeriod      0.5;
}
outlet
{
    alpha           alpha.water;
    waveModel       shallowWaterAbsorption;
    nPaddle         1;
}
// ************************************************************************* //

[controlDict]
Code:
libs            ("liboverset.so" "libfvMotionSolvers.so");

application     overInterDyMFoam ;

startFrom       latestTime;

startTime       0.0;

stopAt          endTime;

endTime         4.0;

deltaT          0.005;

writeControl    adjustableRunTime;

writeInterval   0.1;

purgeWrite      0;

writeFormat     ascii;

writePrecision  12;

writeCompression off;

timeFormat      general;

timePrecision   6;

runTimeModifiable yes;

adjustTimeStep  yes;

maxCo           1;
maxAlphaCo      1;
maxDeltaT       0.01;

functions
{
    probes
    {
        type            probes;
        libs            ("libsampling.so");

        // Name of the directory for probe data
        name            probes;

        // Write at same frequency as fields
        writeControl    timeStep;
        writeInterval   1;

        // Fields to be probed
        fields          (p U);

        // Optional: interpolation scheme to use (default is cell)
        interpolationScheme cell;

        probeLocations
        (
            (0.00132  0.0009 0.005)
        );

    }

    alphaVol
    {
        libs            ("libutilityFunctionObjects.so");
        type            coded;
        name            alphaVolume;
        writeControl    timeStep;
        writeInterval   10;

        codeWrite
        #{

            const volScalarField& alpha =
                mesh().lookupObject<volScalarField>("alpha.water");

            Info<< "Alpha volume = " << alpha.weightedAverage(mesh().Vsc()) << endl;

        #};
    }
}
// ************************************************************************* //
I made the following attempts, but none of them works:
1. Reduce the time step;
2. Shorten/lengthen the calculation domain;
3. Changed the wave generation boundary to variableHeightFlowRate, but the result was not satisfactory;
4. Calculated different wave height inputs, ranging from 0.01m to 0.4m;
5. Changed the position of overSetPatch;
6. Change the div(rhoPhi,U) in flie.fvSchemes from "Gauss linear" to "Gauss linearUpwind grad(U)";
The entire case file is attached.

Thank you in advance for your help.
Attached Files
File Type: zip floatingBody-test.zip (14.6 KB, 0 views)
Rhea Ray is offline   Reply With Quote

Reply

Tags
floating body, openfoam 1906, wave modelling

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Pressure instabilities with interDyMFoam for the floatingObject case nbadano OpenFOAM Running, Solving & CFD 15 October 15, 2021 07:35
Is Playstation 3 cluster suitable for CFD work hsieh OpenFOAM 9 August 16, 2015 15:53
MRFSimpleFoam wind turbine case diverges ysh1227 OpenFOAM Running, Solving & CFD 2 May 7, 2015 11:13
Error reading new case montag dp FLUENT 5 September 15, 2011 07:00
Free surface boudary conditions with SOLA-VOF Fan Main CFD Forum 10 September 9, 2006 13:24


All times are GMT -4. The time now is 19:04.