|
[Sponsors] |
![]() |
![]() |
#161 |
New Member
Maoyanjun
Join Date: Jan 2016
Posts: 20
Rep Power: 10 ![]() |
hi, foamers:
I am using the WaveMaker piston type boundary in the OLAFoam to generate waves in the NWT, and I found the active absorption in the outlet is not very stable to absorb the wave.have you met this problem? and I also have a question about the wave absorption at the inlet. I got the surface elevation in time history.is it sufficient to absorb the secondary reflection? I have no idea about it. because the wave height is larger than what I set H 0.2. is it normal? |
|
![]() |
![]() |
![]() |
![]() |
#162 |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 ![]() |
Pablo can correct me, but I think shallow water waves are absorbed better than other waves. Irregular waves reflected more than shallow water regular waves in two studies that I recently conducted.
Cheers, Hossein |
|
![]() |
![]() |
![]() |
![]() |
#163 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 ![]() |
Hi Maoyanjun,
it is difficult to know what is going on without the complete wave conditions (H,T,h) and a proper incident-reflected analysis. However, I suspect that, as Hossein points out, your waves are not in shallow water conditions. Active wave absorption was designed for shallow water conditions, and the performance diminishes for intermediate or deep water waves. Best, Pablo |
|
![]() |
![]() |
![]() |
![]() |
#164 |
Member
Hussam
Join Date: Aug 2017
Location: Germany
Posts: 32
Rep Power: 9 ![]() |
Sent from my GT-N7100 using CFD Online Forum mobile app
|
|
![]() |
![]() |
![]() |
![]() |
#165 | |
New Member
James Bridgwater Court
Join Date: Jan 2016
Posts: 14
Rep Power: 10 ![]() |
Hi Pablo,
Thank you for providing and maintaining such a useful wave toolbox as olaFoam. Earlier on in this thread, you advised against an unstructured, tetrahedral mesh: Quote:
Insofar as the advantages of structured over unstructured are concerned in terms of discretisation accuracy, I'm aware that a structured mesh is much less likely to contain high aspect-ratio cells and that the orthogonality of the faces within the mesh to the wave particle orbit is also typically better for these in cases such as those that I'm simulating - shallow water waves - and that that will reduce the discretisation error. However, I've been finding that the quality of the wave and its pressure profile is affected significantly by the introduction of regions of refinement within the mesh such as one might put in surrounding a wave energy device or to increase resolution around the free surface, and I've pinned this to the unavoidable halving of cell edge length that takes place at the edge of an area of higher refinement when the mesh is assembled using blockMesh & snappyHexMesh: no matter what you set nCellsBetweenLevels to, there are still going to be multiple points at which the calculated results for one cell have to be split between two cells as the flow enters the more refined part of the mesh. My thinking was to try out an unstructured mesh generated using gmsh, which should allow more gradual refinement and thus minimise its impact upon the wave conditions being simulated, but I've been unable to get the olaFoam solver to run with it. I've tried making the part of the mesh that's adjacent to the inlet and outlet structured, but that doesn't seem to help. The simulation seems to run fine if all wave-related BCs, libs and solvers are removed from the case and I just use interFoam, so I'm thinking that the problem must be olaFoam-related and would appreciate any advice that you might have. Thanks, James |
||
![]() |
![]() |
![]() |
![]() |
#166 |
New Member
Join Date: Mar 2016
Posts: 17
Rep Power: 10 ![]() |
Hi, foamers
I used olaFoam testing a simple StokesII wave. The waves at first look good, but when it evolves, some oscillations occur. Please see the attachment figures. Does anybody have an idea? Thanks. |
|
![]() |
![]() |
![]() |
![]() |
#167 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 ![]() |
Dear James,
the boundary conditions in olaFoam work for any arbitrary mesh. You are right, the way OpenFOAM treats the VOF advection is not ideal, and faces many problems when reaching non-conformal areas (i.e., refinement areas where faces split into two). There are 2 ways to deal with this effect, and I have used both. - First is dynamic mesh refinement along the free surface; the free surface will never reach the non-conformal cells because it should always be inside the refinement region. This method is computationally costly. - The second method is to refine beforehand the regions where free surface is going to be located during the simulation. This method might require you to perform some iterations, but I have used it very often with good results. Quick question, are you running floating bodies? I have often found those cases to blow up not because of the BCs/solver but because the wave dynamics trigger large pressure instabilities on the floating bodies, which are not that important for other dynamics (e.g., setting an initial perturbation on the free surface). Keep tuned, I will elaborate more on this topic next week. Hi dupeng, your conditions are in intermediate waters, which is not an ideal condition for the absorption conditions that are developed under the shallow water regime. Nevertheless the mesh resolution might also be playing a role there. If you send me the case I will take a look. Best, Pablo |
|
![]() |
![]() |
![]() |
![]() |
#168 |
New Member
Join Date: Mar 2016
Posts: 17
Rep Power: 10 ![]() |
Hi, Pablo
You can find my case in the attachment. I used the wave boundary conditions with interFoam. You can generate the mesh using blockMesh, and topoSet and refineMesh to refine the wave region. Oscillations should occur when the time is long enough, in my case is about 20s. Another problem confusing me is that the wave phase doesn't correspond with the theory. It seems to be inverse. Can you take a look at that too? Thanks. |
|
![]() |
![]() |
![]() |
![]() |
#169 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 ![]() |
Thanks, I will hopefully get back to you next week.
Best, Pablo |
|
![]() |
![]() |
![]() |
![]() |
#170 | |
New Member
Surrey
Join Date: Aug 2017
Posts: 13
Rep Power: 9 ![]() |
Quote:
I am a new user of openfoam struggling on olaFoam tutorials.I have a few questions for you as my task is nearly same as yours and I hope you already solve them 1) how did you create the trapezoid geometry? ( I done with 24 points but I felt if I can add more points on blockmesh vertices then my mesh will become more smoother but I don't know how to do that? ![]() 2) How did you create your wave ? ( I just done the dambreak to create the wave. I dont know how to create normal waves and solitons?) 3) How did you post process your results and figure out the impact forces on a specific point? I am looking forward to your answer. many thanks in advance. your answers will take me couple of steps forward. ![]() |
||
![]() |
![]() |
![]() |
![]() |
#171 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 ![]() |
Hi Dupeng,
it is weird that you are generating the waves at x=30 m and making them propagate in the -x direction, although it is completely fine. However, keep in mind that the phase corresponds to the conditions at x=0 m and t=0 s. The formula for free surface is: eta = H/2 cos(k*x - w*t + phase), that is why you might be encountering discrepancies. Regarding the free surface oscillations, I do not have a clue where you have found or how you came up with the numerical schemes and parameters that you use for the simulation. Your fvSchemes and fvSolution are not suitable for wave simulations and degrade the solution badly. Please use the ones that I attach instead. As you can see from my snapshot (bottom) vs yours (top) and the time series from my files, everything is working correctly. Best, Pablo |
|
![]() |
![]() |
![]() |
![]() |
#172 |
New Member
Join Date: Mar 2016
Posts: 17
Rep Power: 10 ![]() |
Thanks for your suggestions Pablo,
I am trying the wave BCs for ships, so some changes have to be made. Maybe some of them are not appropriate, I will test your suggestions. Regards, Peng DU |
|
![]() |
![]() |
![]() |
![]() |
#173 | |
New Member
James Bridgwater Court
Join Date: Jan 2016
Posts: 14
Rep Power: 10 ![]() |
Quote:
I can give dynamic refinement around the interface a try, as I haven't done it before, but I've found that your second suggestion - introducing a "wave zone" of increased refinement around the water surface, something that I've used in the past - tends to lead to issues with the calculation of the velocity and pressure at the transition between wave zone and background mesh i.e. due to the change in refinement in the vertical (z) direction. This is presumably again due to the unavoidable halving of cell edge length at that transition point, but I think may be less of an issue once I return to 3D simulations since I don't remember noticing it in earlier iterations of my NWT. I've seen from my own investigations that olaFoam's wave generation is reasonably sensitive to background mesh density and the uniformity of the mesh at the inlet boundary from its base to the highest point that waves will reach, so my findings thus far from this would seem to indicate that I need to have the highest level of refinement (that which provides adequate fidelity and a good fit to the WEC geometry) from the inlet up to sufficiently beyond the WEC location that reflections are no longer an issue, subject to my managing to get waves working with the unstructured mesh. If that's the case, I suppose it's a hit that I'll have to take on computational burden. Thanks, James |
||
![]() |
![]() |
![]() |
![]() |
#174 |
New Member
Join Date: Oct 2017
Posts: 1
Rep Power: 0 ![]() |
Hello everybody,
Does someone know if there is already a version of olaFoam/olaDyMFoam available for foam-extend-4.0? Thanks in advance! Griet |
|
![]() |
![]() |
![]() |
![]() |
#175 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 ![]() |
Hi Griet,
yes, I have made it compatible, get the latest version: https://github.com/phicau/OLAFOAM Dear all, I don't know whether you have noticed, but olaFoam will change its name very soon: olaFoam is changing name More news to come on the new name and new features! Pablo |
|
![]() |
![]() |
![]() |
![]() |
#176 |
New Member
Muhammad Hanis
Join Date: Apr 2017
Location: Kuala Lumpur, Malaysia
Posts: 9
Rep Power: 9 ![]() |
Hello everyone,
First of all, I am still new with OF. Currently, i am using OLAFOAM/wavemakerflume/runPiston to simulate the breaking wave phenomenon. After I run the case, I got this error. " blockMesh meshing... snappyHexMesh meshing... Preparing 0 folder... Setting the fields... Creating piston wavemaker movement... Running... --> FOAM FATAL ERROR: Check the number of components for aPor, bPor, dPor, phiPor and D50Por within porosityDict or the maximum index within porosityIndex field FOAM exiting Simulation complete" | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.1.0 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object porosityDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Materials: clear region, core, secondary armour layer, primary armour layer a 4(0 50 50 50); b 4(0 1.2 2.0 0.6); c 4(0 0.34 0.34 0.34); D50 4(1 0.01 0.035 0.12); porosity 4(1 0.49 0.493 0.5); // Could anyone explain how to determine the number/coordinate of the porosity ? Thank you. Kind regards, Han |
|
![]() |
![]() |
![]() |
![]() |
#177 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 ![]() |
Hi Han,
you provide very little information to solve your problem. wavemakerFlume tutorial does not involve porosity, so, are you trying to put a porous structure into this tutorial? In that case investigate and understand fully the breakwater tutorial and read the reference manual, they provide all the information that you need. Regarding the specific error that you see on the screen, the porosityDict looks good to me, so check your porosityIndex field in the 0 folder. It should have indices (integer numbers) from 0 to 3 (maximum). Best, Pablo |
|
![]() |
![]() |
![]() |
![]() |
#178 | |
New Member
Muhammad Hanis
Join Date: Apr 2017
Location: Kuala Lumpur, Malaysia
Posts: 9
Rep Power: 9 ![]() |
Quote:
Sorry for mislead information here. I am using wavemakerflume tutorial with some additional information from breakwater tutorial (snappyhexmesh). Since in my experimental setup, I'm using piston wave-maker to generate the wave and there is a vertical wall in the tank. So, I would like to know what is the function of porosity index and how we determine the number of components for aPor, bPor, dPor, phiPor and D50Por ? Thank you. Regards, Han |
||
![]() |
![]() |
![]() |
![]() |
#179 |
Senior Member
Pablo Higuera
Join Date: Jan 2011
Location: Auckland
Posts: 627
Rep Power: 19 ![]() |
Hi Han,
since you do not have any porous structure (e.g. rubble mound breakwater), you can forget about porosity. Just delete the porosityDict and porosityIndex files. Pablo |
|
![]() |
![]() |
![]() |
![]() |
#180 | |
New Member
Muhammad Hanis
Join Date: Apr 2017
Location: Kuala Lumpur, Malaysia
Posts: 9
Rep Power: 9 ![]() |
Quote:
Since in breakwater tutorial, there is caisson.stl as the snappyhexmesh, meanwhile the core.stl, primLayer.stl & secLayer.stl was act as the porosity. Based on your advise, I will delete primLayer together with secLayer, just remain the core.stl because I try make some adjustment on the core.stl to be my slope surface. Can I change the parameter for core.stl which is set to be porosity to be include in the snappyhexmesh like caisson ? Or just remain it as the porosity but change the number of component ? Thank you. Regards, Han |
||
![]() |
![]() |
![]() |
Tags |
generation, ihfoam, olafoam, waves |
|
|
![]() |
||||
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 |