|
[Sponsors] |
October 17, 2016, 16:30 |
Input paddle velocities and water levels at the same time
|
#81 |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
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 |
|
October 17, 2016, 23:07 |
|
#82 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
October 17, 2016, 23:34 |
|
#83 | |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
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:
|
||
October 18, 2016, 00:04 |
|
#84 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
October 18, 2016, 00:31 |
|
#85 | |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
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:
|
||
October 18, 2016, 00:43 |
|
#86 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
October 19, 2016, 17:23 |
|
#87 | |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
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:
|
||
October 20, 2016, 03:15 |
|
#88 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
October 24, 2016, 14:32 |
|
#89 | |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
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:
Last edited by HosseinB; October 24, 2016 at 15:39. |
||
October 24, 2016, 22:22 |
|
#90 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
October 25, 2016, 10:53 |
|
#91 |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
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 |
|
October 26, 2016, 01:00 |
|
#92 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
October 26, 2016, 11:29 |
|
#93 | |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
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:
|
||
October 26, 2016, 22:40 |
|
#94 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
November 13, 2016, 01:35 |
|
#95 |
New Member
Murali
Join Date: Jul 2016
Location: United Arab Emirates
Posts: 2
Rep Power: 0 |
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 |
|
November 13, 2016, 22:22 |
|
#96 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
November 22, 2016, 09:57 |
olaFoam on Windows
|
#97 |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
Can I run olaFoam on Windows?
Thanks Hossein |
|
November 22, 2016, 21:25 |
|
#98 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
November 23, 2016, 09:42 |
|
#99 | |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
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:
|
||
November 29, 2016, 06:30 |
|
#100 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 |
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 |
|
Tags |
generation, ihfoam, olafoam, waves |
|
|
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 8, 2019 00:34 |
udf problem | jane | Fluent UDF and Scheme Programming | 37 | February 20, 2018 05:17 |
UDF velocity profile | willroca | Fluent UDF and Scheme Programming | 2 | January 10, 2016 04:13 |
Error messages | atg | enGrid | 7 | August 30, 2013 12:16 |
Phase locked average in run time | panara | OpenFOAM | 2 | February 20, 2008 15:37 |