Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
3a5bcde5
Commit
3a5bcde5
authored
Dec 19, 2019
by
Andrew Heather
Browse files
ENH: waveMaker boundary condition - updated for backwards compatibility
parent
7757a9b8
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/waveModels/derivedPointPatchFields/waveMaker/waveMakerPointPatchVectorField.C
View file @
3a5bcde5
...
...
@@ -174,7 +174,7 @@ Foam::waveMakerPointPatchVectorField::waveMakerPointPatchVectorField
wavePeriod_
(
dict
.
get
<
scalar
>
(
"wavePeriod"
)),
waveHeight_
(
dict
.
get
<
scalar
>
(
"waveHeight"
)),
wavePhase_
(
dict
.
get
<
scalar
>
(
"wavePhase"
)),
waveAngle_
(
dict
.
get
<
scalar
>
(
"waveAngle"
)),
waveAngle_
(
dict
.
get
OrDefault
<
scalar
>
(
"waveAngle"
,
0
)),
startTime_
(
dict
.
getOrDefault
<
scalar
>
...
...
@@ -279,7 +279,7 @@ void Foam::waveMakerPointPatchVectorField::updateCoeffs()
// Set the reference water depth
if
(
initialDepth_
!=
0
)
{
forAll
(
waterDepthRef_
,
paddlei
)
forAll
(
waterDepthRef_
,
paddlei
)
{
waterDepthRef_
[
paddlei
]
=
initialDepth_
;
}
...
...
@@ -292,25 +292,26 @@ void Foam::waveMakerPointPatchVectorField::updateCoeffs()
}
Info
<<
" WaterDepth at the wavepaddles = "
<<
waterDepthRef_
<<
endl
;
Info
<<
" WaterDepth at the wavepaddles = "
<<
waterDepthRef_
<<
endl
;
firstTime
=
1
;
}
const
scalar
t
=
db
().
time
().
value
()
-
startTime_
;
scalarField
waveLength_
(
nPaddle_
,
-
1
);
scalarField
waveLength_
(
nPaddle_
,
-
1
);
scalarField
waveK
(
nPaddle_
,
-
1
);
scalarField
waveKx
(
nPaddle_
,
-
1
);
scalarField
waveKy
(
nPaddle_
,
-
1
);
forAll
(
waveK
,
p
oint
i
)
forAll
(
waveK
,
p
adddle
i
)
{
waveLength_
[
pointi
]
=
waveLength
(
waterDepthRef_
[
pointi
],
wavePeriod_
);
waveLength_
[
padddlei
]
=
waveLength
(
waterDepthRef_
[
padddlei
],
wavePeriod_
);
waveK
[
p
oint
i
]
=
constant
::
mathematical
::
twoPi
/
waveLength_
[
p
oint
i
];
waveKx
[
p
oint
i
]
=
waveK
[
p
oint
i
]
*
cos
(
waveAngle_
);
waveKy
[
p
oint
i
]
=
waveK
[
p
oint
i
]
*
sin
(
waveAngle_
);
waveK
[
p
adddle
i
]
=
constant
::
mathematical
::
twoPi
/
waveLength_
[
p
adddle
i
];
waveKx
[
p
adddle
i
]
=
waveK
[
p
adddle
i
]
*
cos
(
waveAngle_
);
waveKy
[
p
adddle
i
]
=
waveK
[
p
adddle
i
]
*
sin
(
waveAngle_
);
}
const
scalar
sigma
=
2
*
constant
::
mathematical
::
pi
/
wavePeriod_
;
...
...
src/waveModels/derivedPointPatchFields/waveMaker/waveMakerPointPatchVectorField.H
View file @
3a5bcde5
...
...
@@ -64,9 +64,11 @@ Usage
wavePeriod | wave period | yes |
waveHeight | Wave height | yes |
wavePhase | wave phase | yes |
waveAngle | wave angle | no | 0
startTime | Start time | no | case start time
rampTime | Time to reach maximum motion | yes |
secondOrder | Second order calculation | no | no
nPaddle | Number of paddles | no | 1
\endtable
Available motion types include:
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment