e.g.
waveForcing1
{
type waveForcing;
libs ("libwaves.so");
liquidPhase water;
// Define the line along which to apply the graduation
origin (600 0 0);
direction (-1 0 0);
// // Or, define multiple lines
// origins ((600 0 0) (600 -300 0) (600 300 0));
// directions ((-1 0 0) (0 1 0) (0 -1 0));
scale
{
type halfCosineRamp;
start 0;
duration 300;
}
lambda 0.5; // Forcing coefficient
// lambdaBoundary 2; // Optional boundary forcing coefficient
// Useful when wave BCs are specified
// without mean flow
// Write the forcing fields: forcing:scale, forcing:forceCoeff
writeForceFields true;
}
will write the fields forcing:scale and forcing:forceCoeff at the start of the
run to visualise and check correctness.
66 lines
1.3 KiB
C++
66 lines
1.3 KiB
C++
/*--------------------------------*- C++ -*----------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Version: dev
|
|
\\/ M anipulation |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
format ascii;
|
|
class dictionary;
|
|
location "system";
|
|
object controlDict;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
application foamRun;
|
|
|
|
solver incompressibleVoF;
|
|
|
|
startFrom startTime;
|
|
|
|
startTime 0;
|
|
|
|
stopAt endTime;
|
|
|
|
endTime 4;
|
|
|
|
deltaT 0.01;
|
|
|
|
writeControl adjustableRunTime;
|
|
|
|
writeInterval 0.1;
|
|
|
|
purgeWrite 0;
|
|
|
|
writeFormat binary;
|
|
|
|
writePrecision 12;
|
|
|
|
writeCompression off;
|
|
|
|
timeFormat general;
|
|
|
|
timePrecision 6;
|
|
|
|
runTimeModifiable yes;
|
|
|
|
adjustTimeStep yes;
|
|
|
|
maxCo 0.5;
|
|
maxAlphaCo 0.5;
|
|
maxDeltaT 1;
|
|
|
|
functions0
|
|
{
|
|
rigidBodyState
|
|
{
|
|
type rigidBodyState;
|
|
libs ("librigidBodyState.so");
|
|
angleUnits degrees;
|
|
}
|
|
}
|
|
|
|
// ************************************************************************* //
|