fvOptions: verticalDamping: Added spatial ramping

The onset of vertical damping can now be graduated over a distance. The
user specifies an origin and a direction along which the graduation
occurs, and a ramping function to specify the form of the graduation. An
example specification for the fvOption is:

    verticalDamping1
    {
        type            verticalDamping;

        selectionMode   all;

        origin          (1200 0 0);
        direction       (1 0 0);
        ramp
        {
            type        halfCosineRamp;
            start       0;
            duration    600;
        }

        lambda          [0 0 -1 0 0 0 0] 1; // Damping coefficient

        timeStart       0;
        duration        1e6;
    }

If the origin, direction or ramp entries are omitted then the fvOption
functions as before; applying the damping to the entire volume or the
specified cell set.

This work was supported by Jan Kaufmann and Jan Oberhagemann at DNV GL.
This commit is contained in:
Will Bainbridge
2018-01-08 17:59:55 +00:00
parent 139523c17e
commit d2175f8fe0
6 changed files with 83 additions and 52 deletions

View File

@ -22,8 +22,6 @@ do
runApplication -s $i refineMesh -dict system/refineMeshDictY -overwrite
done
runApplication topoSet
runApplication setWaves -alpha alpha.water
runApplication decomposePar

View File

@ -19,10 +19,18 @@ option1
{
type verticalDamping;
selectionMode cellZone;
cellZone right;
selectionMode all;
lambda 0.1;
origin (1200 0 0);
direction (1 0 0);
ramp
{
type halfCosineRamp;
start 0;
duration 600;
}
lambda 0.5;
timeStart 0;
duration 1e6;

View File

@ -1,42 +0,0 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name right;
type cellSet;
action new;
source boxToCell;
sourceInfo
{
box (1800 -1e6 -1e6) (1e6 1e6 1e6);
}
}
{
name right;
type cellZoneSet;
action new;
source setToCellZone;
sourceInfo
{
set right;
}
}
);
// ************************************************************************* //