CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Wave elevation vs time (

cfxmar March 10, 2010 11:03

Wave elevation vs time

Iīm simulating waves.
Iīm trying to plot in a chart the elevation vs time.
I have tried so much things without success that I ask the experts in this matter.
I plot I line fixing "x" and "y" in order to know "Z" along the line for a water volume fraction value of 0.5 that can give me the elevation.

I create a variable for the expression:

Volume05=(Water.Volume Fraction -0.5)^2
(the only root will be Volume Fraction = 0.5 giving me the wave free surface)

Then I use a Point, Method: variable minimum, Location: Line, Variable: Volume05

I create a Chart, transient, Location: Point 1, X values: time, Y values: Z

But while CFX is thinking to plot the chart, it says me suddently:
"No value for Point Locator"

Anyone could please help me? It cannot be so hard!

Thank you in advance

ghorrocks March 10, 2010 17:41

If you want to do this in the solver it is harder than it looks.

For the solver you will need to make a small surface, perpendicular to the free surface. Maybe a 1:1 interface should do the trick. Then set up a monitor point with an area integral of volume fraction over this surface, and divide by the width of the surface. This will give you the average height of the free surface on the defined surface.

cfxmar March 11, 2010 10:35

2 Attachment(s)
Thank you very much for you help, Glenn.

I did a plane: Plane 1, method three points, Plane bounds: rectangular, xsize: 0.2 m, ysize: 10 m.

I used this expression:
(areaInt(Water.Volume Fraction)@Plane 1)/(0.2 [m])

The wave is 1 meter high with a 3 seconds period.

My geometry goes from -5 to 5 meters high for z. The mean level of water is settled on x=y=z=0

What I donīt get is why the elevation is centered in 1 meter for the chart if the mean level of water is (0,0,0) and why the elevation is not 1 meter high.

Obviosly i did something wrong but I donīt know what.

Thanks in advance

rezacfd1361 March 13, 2012 03:36

How obtain wave elevation history at a position?
Hi Dear students and professors

I generate wave in a tank wave, but now I want plot time history of wave elevation for a specified position for example X=7, y=0.5 (a point in wave tank domain).

Would you tell me how can I do this?


ghorrocks March 13, 2012 05:45

The approach described above. Place a plane or line perpendicular to the free surface, then some basic CEL, something like lineInt(Volume Fraction.phase)@line/(line length) or areaInt(Volume Fraction.phase)@Area Region/area()@Area Region

ps: No professors on this forum, at least none that I know of. Many would say that is a good thing :)

rezacfd1361 March 13, 2012 06:20

Dear friends

I m working with fluent 6 not with cfx , I want a trick for fluent, I modelled a wave tank in fluent and I want give time plot about the history of wave elevation at a specified point for example x=10,y=0.5 (in fluent I accentuate this matter again) for a detemined time domain which is smaller than wave tank modeling time domain.

if any friend know, plz inform me.

With kind regards.

ghorrocks March 13, 2012 17:29

Then why did you post on the CFX forum?

rezacfd1361 March 15, 2012 05:39

because I thought there is a student who know the answer of my question. I aplogize you, but inform that asking about sth that you don t know is a good art and you have not this right to blame a person who does not know sth and ask about it, it is not a polite reply that u send. I hope you change your mood.

ghorrocks March 15, 2012 05:41

The Fluent experts are on the fluent forum. Try posting there.

rezacfd1361 March 15, 2012 05:45

Thanks, I hope to find my answer there.

cth_yao March 29, 2012 19:08

how do yo generate the wave? and what BC do you apply for the ending boundary?

in my case, I set the inlet water height without wave as:
where 0 is the free surface level in my compatational domain.

and set the wave profile as:

at the out let I want to use the hydrostatic pressure to avoid reflection. but it is hard to trace the free surface dynamically since the freesurface changes as a function of time.

then I also have a wave height decay problem, i.e. the wave height becomes smaller as it propagate to the end of the tank.


ghorrocks March 29, 2012 23:40

I suspect you are new to wave modelling :)

Simply applying a sine free surface profile gives you a wave, but it will take some time to develop into a steady state wave, as the sub surface flow develops. See this URL:

So the wave will decay as it develops this internal flow.

Also a pressure boundary does not give a no-reflection boundary.... If only it was that simple. A pressure boundary will cause reflections. Simple options are to use a beach feature, or a "numerical beach", sometimes done by a tranisition to a coarse grid and use the dissipation in a coarse grid to damp the waves. More advanced options are available in the literature and I think CFX has a non-relection boundary condition - but I think that is for compressible flow waves, not free surface waves.

cth_yao April 1, 2012 21:54

thanks ghorrock. I am new to wave modeling, esp. with CFX. I did some 2d wave modeling in FLUENT before with a piston wave maker and I have the wave decaying problem and reflection as well.

by the way, you mentioned "For the solver you will need to make a small surface, perpendicular to the free surface. Maybe a 1:1 interface should do the trick. Then set up a monitor point with an area integral of volume fraction over this surface, and divide by the width of the surface. This will give you the average height of the free surface on the defined surface. " above, how can I make a surface or line in the solver? do I need to define it in CFX-pre?

Best regards!

cth_yao April 2, 2012 00:37

I used this expression for the outlet:
areaInt(water.Volume Fraction)@outlet/area()@outlet

how can make a plane at a fixed x? e.g. I want to monitor the wave elevation vs time at x=3m in my tank?

Cluain April 2, 2012 05:11

cth_yao The decay problem you are experiencing can be rectified by increasing the mesh density at the free surface and be significantly reducing the timestep.

According to the wave period divided by the timestep should be greater than 100.

With a piston or flap type wave maker, Wavemaking theory comes into play and you will see a steep decay for a length of 3 times the water depth from the wavemaker. With a CEL describing the inlet condition, this may be less though I would be cautious of this. (I would really like to see how you get on with the inlet option because I think it could be much better than the flap type)

The way I use to make a plane at a fixed x, is in the Geometry.

Another way to monitor wave height is by pressure, make a monitor point in pre and record the pressure at the point, from there you can extract wave height.

cfxmar If you haven't solved your problem, set up a plane on the zx plane and visually check if the waveheight is 1m. Then check manually your formula for wave height. If that proves unsuccessful check the mesh, but that should be ok

Cluain April 2, 2012 05:40

There seems to be quite a few of us modelling ocean waves in CFX, and I suspect from the questions in this thread and the board in general that we are basically teaching ourselves how to do it, and we all seem to be doing quite similar things.
I’ve been working solely at CFX for the last 6 months and if I had someone in the office that had set up a numerical wave tank and carried out some model tests I would have progressed significantly faster.
This isn’t meant to be a rant, but I think we should come together and sort each other’s problems so that we all progress quicker, Instead of grabbing enough info to get started and then becoming a CFD recluse. Which is what I did and probably needed, one needs to learn this stuff for themselves. But I do think that Ocean wave specific modelling discussion would be helpful, rather than just a post or two on the basics.
Also good link Glenn, and cheers for helping me out when I was struggling to get started, I’ve a long long way to go yet though.

All times are GMT -4. The time now is 03:46.