CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Community Contributions

[OLAFLOW] The OLAFOAM Thread

Register Blogs Community New Posts Updated Threads Search

Like Tree16Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 17, 2016, 15:30
Default Input paddle velocities and water levels at the same time
  #81
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Hi Pablo,

I am currently inputting an observed paddle position into olaFoam; I have paddle speeds and also water level at the paddles. Can I simultanously input paddle speed and water levels at the paddle to OpenFoam? If yes, What does the U file looks like? Now that I am inputting paddle positions, a portion of mine looks like this:

"
inlet
{
type movingWallVelocity;
value uniform (0 0 0);
}
outlet
{
type waveAbsorption2DVelocity;
absorptionDir 180;
nPaddles 10;
value uniform (0 0 0);
}
"

How about multiPistonMovementDict file? Now that I am inputting paddle positions a portion of mine looks like this:

"
genAbs 0;

tSmooth 0.1;
tuningFactor 1.;

timeSeries
418

.
.
.
paddlePosition
.
.
.
"


Thank you very much, Pablo.

Cheers,
Hossein
HosseinB is offline   Reply With Quote

Old   October 17, 2016, 22:07
Default
  #82
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Hi Mahdi,

Coming soon... (1-2 weeks)

Hi Hossein,

there is a way, but it has certain limitations. Check the reference materials for reference/waveDict/wavemaker.

- This setup allows you to input a series of velocities and free surface elevation, but for only one paddle.
- If you would like to have several paddles, you could split your inlet patch into several, and have a different waveDict for each one.
- Although implemented to replicate wavemakers without the need of having a moving boundary, waves were never very clean. I decided to keep it, though, since it is great for hydraulic simulations.

In multiPistonMovementDict, you can input positions and elevation. This condition has always worked like a charm for me, allowing us to obtain very accurate results compared to the lab, at the additional cost of the moving mesh. If elevation is provided you can connect active absorption.

Best,

Pablo
Phicau is offline   Reply With Quote

Old   October 17, 2016, 22:34
Default
  #83
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Hi Pablo and thanks for your reply.

So I can use olaFoam to simultaneously input paddle velocities and water elevation at the paddle with the dynamic mesh movement at the generation patch? In the test program, all paddles moved together.

Two questions:

1- In multiPistonMovementDict, how do I identify water elevation and paddle speed? For paddle position, it is named "paddlePosition"? How do I name the paddle speeds and water elevation? and how are they input in the multiPistonMovementDict file?

2- About "If elevation is provided you can connect active absorption.", isn't active wave absorption already activated regardless of whether I have water levels at the paddles? Or with irregular wave case, olaFoam has to have elevations at the paddle to be able to absorb waves at the downstream boundary?

Thanks a lot, Pablo.

Cheers,
Hossein


Quote:
Originally Posted by Phicau View Post
Hi Mahdi,

Coming soon... (1-2 weeks)

Hi Hossein,

there is a way, but it has certain limitations. Check the reference materials for reference/waveDict/wavemaker.

- This setup allows you to input a series of velocities and free surface elevation, but for only one paddle.
- If you would like to have several paddles, you could split your inlet patch into several, and have a different waveDict for each one.
- Although implemented to replicate wavemakers without the need of having a moving boundary, waves were never very clean. I decided to keep it, though, since it is great for hydraulic simulations.

In multiPistonMovementDict, you can input positions and elevation. This condition has always worked like a charm for me, allowing us to obtain very accurate results compared to the lab, at the additional cost of the moving mesh. If elevation is provided you can connect active absorption.

Best,

Pablo
HosseinB is offline   Reply With Quote

Old   October 17, 2016, 23:04
Default
  #84
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Hi,

sorry if it was not clear enough, you need to choose: static version with velocities and elevation (waveDict) OR dynamic version with location (and elevation) (multiPistonMovementDict).

2 - With the elevation you can connect wave absorption at the wave generation boundary, working simultaneously with wave generation. Absorption at the downstream boundary are totally independent of what happens in the wavemaker.

Best,

Pablo
Phicau is offline   Reply With Quote

Old   October 17, 2016, 23:31
Default
  #85
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Thanks Pablo for your quick response,


Is there a tutorial for the simultaneous input of paddle location and elevation timeseries for the dynamic mesh case on olaFoam GitHub? I know how to input paddle location but do not know what the keyword for paddle elevation is. Is it paddleElevation?

I am thankful.

Cheers from Ottawa,
Hossein






Quote:
Originally Posted by Phicau View Post
Hi,

sorry if it was not clear enough, you need to choose: static version with velocities and elevation (waveDict) OR dynamic version with location (and elevation) (multiPistonMovementDict).

2 - With the elevation you can connect wave absorption at the wave generation boundary, working simultaneously with wave generation. Absorption at the downstream boundary are totally independent of what happens in the wavemaker.

Best,

Pablo
HosseinB is offline   Reply With Quote

Old   October 17, 2016, 23:43
Default
  #86
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Sure, there is: pistonFlume

There, you generate with a static boundary and absorb with a paddle in the other end. The dictionary file is called multiPistonABSMovementDict and the keyword is paddleEta (elevation with respect to the still water level). Since in this case you want to absorb everything and maintain the initial level, you set eta to be 0. In your case, you should include the lab measurements.

Best,

Pablo
Phicau is offline   Reply With Quote

Old   October 19, 2016, 16:23
Default
  #87
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Thanks Pablo,

Another question:

Is there a quick way to check mass conservation in the numerical tank? Is this mass conservation indication given in the solutions log file?

Cheers,
Hossein




Quote:
Originally Posted by Phicau View Post
Sure, there is: pistonFlume

There, you generate with a static boundary and absorb with a paddle in the other end. The dictionary file is called multiPistonABSMovementDict and the keyword is paddleEta (elevation with respect to the still water level). Since in this case you want to absorb everything and maintain the initial level, you set eta to be 0. In your case, you should include the lab measurements.

Best,

Pablo
HosseinB is offline   Reply With Quote

Old   October 20, 2016, 02:15
Default
  #88
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Hi Hossein,

yes, check the continuity errors.

Most often you may want to check the water phase only, so look for "Phase-1 volume fraction", that multiplied by the total volume of the mesh is the current volume of water.

You must keep in mind that the total amount of water does vary, as static wave generation introduces a flux at the boundary (positive and negative). Active wave absorption will control the situation and avoid an unbounded increase of mass, though.

Best,

Pablo
Phicau is offline   Reply With Quote

Old   October 24, 2016, 13:32
Default
  #89
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Thanks a lot, Pablo,

I checked my specific case for water volume difference and the maximum total difference was ~2.5% which is fine.


A question about wave generation by moving mesh in olaFoam: Does olaFoam accept paddle speeds, or it must be paddle positions only? If yes, what is the key word for it? Is it PaddleSpeed (for positions it is PaddlePosition)?

Thanks a lot, Pablo.



Quote:
Originally Posted by Phicau View Post
Hi Hossein,

yes, check the continuity errors.

Most often you may want to check the water phase only, so look for "Phase-1 volume fraction", that multiplied by the total volume of the mesh is the current volume of water.

You must keep in mind that the total amount of water does vary, as static wave generation introduces a flux at the boundary (positive and negative). Active wave absorption will control the situation and avoid an unbounded increase of mass, though.

Best,

Pablo

Last edited by HosseinB; October 24, 2016 at 14:39.
HosseinB is offline   Reply With Quote

Old   October 24, 2016, 21:22
Default
  #90
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Hi Hossein,

currently the BC does only accept time-position series. However, you can easily create a pre-processing program to convert your time-velocity data into time-position.

Best,

Pablo
Phicau is offline   Reply With Quote

Old   October 25, 2016, 09:53
Default
  #91
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Thanks Pablo for your reply,

Do you have a reference paper for olaFoam/ihFoam irregular wave modelling so I could read and gain better understanding about what level of accuracy I could expect from openFoam for irregular wave modelling?

At the moment my CFD and physical test water levels compare as seen in the attached. By looking at the attached figure, can you say what could be causing the differences? I appreciate that you share your knowledge and experience with me.

Cheers,
Hossein








Quote:
Originally Posted by Phicau View Post
Hi Hossein,

currently the BC does only accept time-position series. However, you can easily create a pre-processing program to convert your time-velocity data into time-position.

Best,

Pablo
Attached Images
File Type: jpg irreg_compar.jpg (181.4 KB, 50 views)
HosseinB is offline   Reply With Quote

Old   October 26, 2016, 00:00
Default
  #92
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Hi Hossein,

you should expect the same accuracy as for regular waves. The only irregular wave series that we have included in papers are wave groups and focussing experiments.

https://openfoamwiki.net/index.php/C...ces_and_Citing

In Simulating coastal engineering processes with OpenFOAM, second order effects are checked in a wave group, generated with the static BC.

In Three-dimensional numerical wave generation with moving boundaries, focussing waves are generated in 2D and 3D with the moving BC.

What is your relative water depth? As you get further away from shallow water waves, reflections grow. have you run an incident-reflected wave analysis? Are your cells approximately 2H:1V and sufficiently small to represent the smallest waves? Do you notice any anomalies at the boundaries?

Best,

Pablo
Phicau is offline   Reply With Quote

Old   October 26, 2016, 10:29
Default
  #93
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Hi Pablo and thanks for the link,

I am modelling irregular waves with variable wave heights and periods of ~ 2 s, the water depth is 1.45 m and max. wave heights in the experiment is ~ 0.45 m. When I visually check the CFD downstream boundary, I can clearly see wave reflections back into the domain; for this, I am extending the domain size along the wave propagation direction to avoid seeing the reflected waves in my region of interest in the CFD domain. I have not run an incident-reflected wave analysis because I already see waves reflected and cannot do much about it except extending the domain, as I mentioned above.

The physical test irregular waves consist of small and large wave heights. The smaller heights could be as small as 0.05 m while my cubic cell side size is ~ 0.05 m. I know that general recommendation for points per wave height for VOF CFD modelling of waves is 15. There is no way I can discretize a 0.05 m wave to 15 cells without having to wait for model to run for several weeks if not a month for each run to complete. What do you recommend?

I could upload some of my animations for you, but cannot do it here due to size limits.

Cheers,
Hossein







Quote:
Originally Posted by Phicau View Post
Hi Hossein,

you should expect the same accuracy as for regular waves. The only irregular wave series that we have included in papers are wave groups and focussing experiments.

https://openfoamwiki.net/index.php/C...ces_and_Citing

In Simulating coastal engineering processes with OpenFOAM, second order effects are checked in a wave group, generated with the static BC.

In Three-dimensional numerical wave generation with moving boundaries, focussing waves are generated in 2D and 3D with the moving BC.

What is your relative water depth? As you get further away from shallow water waves, reflections grow. have you run an incident-reflected wave analysis? Are your cells approximately 2H:1V and sufficiently small to represent the smallest waves? Do you notice any anomalies at the boundaries?

Best,

Pablo
HosseinB is offline   Reply With Quote

Old   October 26, 2016, 21:40
Default
  #94
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Hi,

we will be in touch to see what can be done.

One clarification, the 10-15 cells per wave height is not supposed to be applied for each of the individual components. Imagine how crazy it would be if you decided to have double number of components for the same sea state, you would need double resolution to obtain the same results!

That discretization must be applied to the minimum wave that you want perfectly defined within your global sea state. For example, if you are running wave groups, you would like to have that resolution for the leading (smallest) wave of your wave group.

Best,

Pablo
Phicau is offline   Reply With Quote

Old   November 13, 2016, 00:35
Default
  #95
New Member
 
Murali
Join Date: Jul 2016
Location: United Arab Emirates
Posts: 2
Rep Power: 0
murali5482 is on a distinguished road
Dear Pablo,

I'm new to OlaFOAM, indeed CFD's itself. Do you conduct any short courses for learning OlaFOAM ? please let me know I'm interested to learn.

Regards,
Murali
murali5482 is offline   Reply With Quote

Old   November 13, 2016, 21:22
Default
  #96
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Hi Murali,

right now the olaFoam course is prepared to be delivered on-site, since it is a hands-on course. Group courses can be scheduled with a minimum of 5 people at the same location.

However, another good way to learn olaFoam is reading the reference manual included in the free release, check the wiki site and run the tutorials. All the tutorials have an allRun script with all the steps required.

Best,

Pablo
Phicau is offline   Reply With Quote

Old   November 22, 2016, 08:57
Default olaFoam on Windows
  #97
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Can I run olaFoam on Windows?

Thanks
Hossein
HosseinB is offline   Reply With Quote

Old   November 22, 2016, 20:25
Default
  #98
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Hi Hossein,

I have never tried because I do not use Windows, but I guess that it needs to be possible.

Wild guess here, but as long as wmake works (which I honestly don't know), olaFoam will compile, since it does not depend on any third party libraries.

Do let us know if you try and succeed!

Best,

Pablo
Phicau is offline   Reply With Quote

Old   November 23, 2016, 08:42
Default
  #99
Member
 
Join Date: Apr 2015
Posts: 42
Rep Power: 11
HosseinB is on a distinguished road
Thanks Pablo for your response. I won't try to run olaFoam on Windows until three to four months later, but will inform others when I have update.

Quote:
Originally Posted by Phicau View Post
Hi Hossein,

I have never tried because I do not use Windows, but I guess that it needs to be possible.

Wild guess here, but as long as wmake works (which I honestly don't know), olaFoam will compile, since it does not depend on any third party libraries.

Do let us know if you try and succeed!

Best,

Pablo
HosseinB is offline   Reply With Quote

Old   November 29, 2016, 05:30
Default
  #100
Senior Member
 
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19
Phicau is on a distinguished road
Dear all,

it is my pleasure to announce that today the OLAFOAM project advances a step further in the simulation of laboratory facilities wave-making technologies: piston and flap wavemakers.

https://sites.google.com/site/olafoamcfd/blog/olafoamgenerationcapabilitiesgrowwiththeflapwavema ker


Best regards,

Pablo
Phicau is offline   Reply With Quote

Reply

Tags
generation, ihfoam, olafoam, waves


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
Divergence detected in AMG solver: k when udf loaded google9002 Fluent UDF and Scheme Programming 3 November 7, 2019 23:34
udf problem jane Fluent UDF and Scheme Programming 37 February 20, 2018 04:17
UDF velocity profile willroca Fluent UDF and Scheme Programming 2 January 10, 2016 03:13
Error messages atg enGrid 7 August 30, 2013 11:16
Phase locked average in run time panara OpenFOAM 2 February 20, 2008 14:37


All times are GMT -4. The time now is 15:45.