|
[Sponsors] |
June 8, 2016, 09:47 |
Reflection issue?
|
#221 |
Member
Mona
Join Date: Mar 2016
Location: Berlin
Posts: 49
Rep Power: 10 |
Hi all,
I am using ihFoam (OF3.0) to simluate a wave with the following properties: Code:
IH Wave Generation BC Wave theory: StokesII H: 0.06 T: 1 h: 0.775 L: 1.55536 Direction: 0º Generation in: Intermediate waters. Relative depth (kh): 3.13076 I simulated 4 different cases: *1* laminar case with front and backside empty *2* turbulent case with front and backside empty *3* turbulent case with front and backside symmetryPlane (Thats actually what I need later) *4* exactly the same as case *3* but I adjusted maxCo and maxAlphaCo both to 0.2 in the controlDict I am attaching some plots of the 4 cases after 5, 10, 15 and 20 seconds and also my case *4* if you wanna have a look at it. None of them looks very good and I am wondering what I did wrong. To me it looks a little bit like the waves are being reflected at the outlet. If you have any ideas, that could help, I would be really happy! Thank you in advance! Cheers, Mona |
|
June 21, 2016, 11:56 |
|
#222 | |
New Member
Agnese Paci
Join Date: May 2015
Location: Bologna, Italy
Posts: 14
Rep Power: 11 |
Hi,
did you use the active absorption? in IHwavesDict, genAbs=1? hope to be able to help you Agnese Quote:
|
||
June 21, 2016, 12:33 |
Reflection reduced with porous material
|
#223 |
Member
Mona
Join Date: Mar 2016
Location: Berlin
Posts: 49
Rep Power: 10 |
Hi Agnese,
thanks for your help! But yes I already used the active absorption. I am not quite sure why it wasn't working but I inserted a porous zone in the end of the tank now with a quite high porosity: Code:
// Materials: clear region, porous region a 2(0 50); b 2(0 1.2) ; c 2(0 0.34); D50 2(1 0.01); porosity 2(1 0.95); Now I got back to my initial setup and added turbulence again and the waves get damped quite much along the flume. I attached another plot showing the amplitude plotted over x.coordinate after 10s, 20s and 30s compared to the analytical curve. (See picture "turbulent" ) I read before on this thread, that it might be necessary to modify the k-epsilon model to avoid this effect... Does anyone have experience with that? Or could it be that my mesh is just not good enough or I used wrong solvers, schemes etc... I attached my 2D turbulent case also if someone wants to have a look at it. One more thing that I don't understand yet, is why the wavelengths don't quite match the analytical solution... I will appreciate any suggestions! Cheers, Mona |
|
June 22, 2016, 05:54 |
|
#224 | |
New Member
Agnese Paci
Join Date: May 2015
Location: Bologna, Italy
Posts: 14
Rep Power: 11 |
which value of epsilon did you put? I m not able to see your files (I don't know why).
but, otherwise, Now I'm working on that topic at IH Cantabria, we know there are some problem with this version and the new one will be release soon, with improved wave BC. if you want, you can write to Javier L. Lara and ask for the new version! Quote:
|
||
June 22, 2016, 12:13 |
|
#225 |
Member
Mona
Join Date: Mar 2016
Location: Berlin
Posts: 49
Rep Power: 10 |
I am just gonna attach my epsilon and k files, maybe you find something strange in there:
epsilon Code:
dimensions [0 2 -3 0 0 0 0]; internalField uniform 0.00003; boundaryField { bottom { type epsilonWallFunction; Cmu 0.09; kappa 0.41; E 9.8; value uniform 0.00003; } outlet { type zeroGradient; } inlet { type fixedValue; value uniform 0.00003; } atmosphere { type inletOutlet; inletValue uniform 0.00003; value uniform 0.00003; } middle { type empty; } maxY { type empty; } } Code:
dimensions [0 2 -2 0 0 0 0]; internalField uniform 0.0001; boundaryField { bottom { type kqRWallFunction; value uniform 0.0001; } outlet { type zeroGradient; } inlet { type fixedValue; value uniform 0.0001; } atmosphere { type inletOutlet; inletValue uniform 0.0001; value uniform 0.0001; } middle { type empty; } maxY { type empty; } } And with the new version you mean the ihFoam solver itself? |
|
June 23, 2016, 05:12 |
|
#226 | |
New Member
Agnese Paci
Join Date: May 2015
Location: Bologna, Italy
Posts: 14
Rep Power: 11 |
Good morning,
everything seems to me ok, a part the k and epsilon condition on inlet: I usually put "zeroGradient" as the outlet. Yes, the new version of IHFOAM will be released soon! Quote:
|
||
June 23, 2016, 05:37 |
|
#227 |
Member
Mona
Join Date: Mar 2016
Location: Berlin
Posts: 49
Rep Power: 10 |
Hi Agnese,
ah yes! I changed that at some point in the past and forgot to change it back to zeroGradient. I am running it again now to check if that might have caused the problem. Thanks for your help again! If this doesn't help I'll try to contact Javier Lara for the new version. |
|
June 24, 2016, 06:53 |
turbulence problem
|
#228 |
Member
Mona
Join Date: Mar 2016
Location: Berlin
Posts: 49
Rep Power: 10 |
Hi Agnese (and everyone else who has good ideas ),
I changed the inlet BC to zeroGradient but the problem with the decreasing wave height remains. I am attaching some paraView screenshots of Ux, k and epsilon after 30s. Is it normal that k and epsilon are so high on the inlet and in the airpart above the freesurface? Do you have any ideas how to deal with the turbulence problem? I will also attach my fvSolution and fvSchemes and U file, maybe there is something wrong there... Or do you think I should ask Mr. Lara for the new version? Could this fix my problem? fvSchemes: Code:
ddtSchemes { default Euler; } gradSchemes { default Gauss linear; } divSchemes { div(rhoPhi,U) Gauss limitedLinearV 1; div(U) Gauss linear; div((rhoPhi|interpolate(porosity)),U) Gauss limitedLinearV 1; div(rhoPhiPor,UPor) Gauss limitedLinearV 1; div(rhoPhi,UPor) Gauss limitedLinearV 1; div(rhoPhiPor,U) Gauss limitedLinearV 1; div(phi,alpha) Gauss vanLeer01; div(phirb,alpha) Gauss interfaceCompression; div((muEff*dev(T(grad(U))))) Gauss linear; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div((phi|interpolate(porosity)),k) Gauss upwind; div((phi|interpolate(porosity)),epsilon) Gauss upwind; div(phi,omega) Gauss upwind; div((phi|interpolate(porosity)),omega) Gauss upwind; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } fluxRequired { default no; p_rgh; pcorr; alpha.water; } Code:
solvers { "alpha.water.*" { nAlphaCorr 1; nAlphaSubCycles 2; alphaOuterCorrectors yes; cAlpha 1; MULESCorr no; nLimiterIter 3; solver smoothSolver; smoother symGaussSeidel; tolerance 1e-8; relTol 0; } pcorr { solver PCG; preconditioner DIC; tolerance 1e-5; relTol 0; } p_rgh { solver PCG; preconditioner DIC; tolerance 1e-07; relTol 0.05; } p_rghFinal { $p_rgh; relTol 0; } U { solver smoothSolver; smoother symGaussSeidel; tolerance 1e-06; relTol 0; } "(U|k|epsilon)" { solver PBiCG; preconditioner DILU; tolerance 1e-06; relTol 0; } "(U|k|epsilon)Final" { solver PBiCG; preconditioner DILU; tolerance 1e-08; relTol 0; } } PIMPLE { momentumPredictor no; nOuterCorrectors 1; nCorrectors 3; nNonOrthogonalCorrectors 0; } relaxationFactors { fields { } equations { ".*" 1; } } Code:
dimensions [0 1 -1 0 0 0 0]; internalField uniform (0 0 0); boundaryField { bottom { type fixedValue; value uniform (0 0 0); } inlet { type IH_Waves_InletVelocity; waveDictName IHWavesDict; value uniform (0 0 0); } outlet { type IH_3D_2DAbsorption_InletVelocity; absorptionDir 400; value uniform (0 0 0); } atmosphere { type pressureInletOutletVelocity; value uniform (0 0 0); } middle { type empty; } maxY { type empty; } } |
|
June 24, 2016, 07:26 |
|
#229 | |
New Member
Agnese Paci
Join Date: May 2015
Location: Bologna, Italy
Posts: 14
Rep Power: 11 |
HI!
I was re looking at your graphs, it seems it is not a generation problem (the Ihfoam is not going to do like this, also with the old version), and you have set everything regarding the generation in the right way. Did you check the mesh? the aspect ratio between cell sizes in x and z? the difference has to be small. you can put also less cell(in the wave height 10 are enough for example). and about the porosity area, do you use it just to absorb? if yes, you don't need it if you use the active wave absorption. instead if you want to use the porosity zone, be sure to put it in the right zone (in the setFieldsDict). furthermore, your porosity values are very high, so you are gonna to loose a lot of energy. Agnese Quote:
|
||
June 27, 2016, 10:35 |
|
#230 |
Member
Mona
Join Date: Mar 2016
Location: Berlin
Posts: 49
Rep Power: 10 |
Hi Agnese,
yes I use the porous medium only to prevent reflection. It seems like the active absorption is not preventing reflection completely. Still I tried again to remove it but the results get worse. There is three plots attached: * turbulent2D: showing the three different cases (my original, one with no porous zone and one with no porous zone and an updated mesh) after 30s * no_porosity: showing the surface elevation after 20, 22, 24, 26, 28 and 30s with no porous zone *porosity: showing the surface elevation after 20, 22, 24, 26, 28 and 30s with a porous zone Regarding the mesh i was trying to follow the suggestion of the ITTC in Practical Guidelines for Ship CFD Applications: "Use no less than 40 grid points per wavelength on the free surface. In irregular waves use at least 20 grid points for the shortest wave length to resolve. The number of grid points per wavelength also depends on the order of accuracy of the numerical scheme so if 40 points are required for a 3 rd /4 th order method then 80 points are required for a 2 nd order scheme to obtain the same accuracy (as provided by most commercial codes). Use no less than 20 grid points in the vertical direction where the free surface is expected." Now I followed your advice and tried to make only cells with an aspect ratio of 1 and less cells per wave height. I picked a number of 12 cells per wave height (0.06m) so the cells are 0.005m high and wide. Unfortunately the results got even worse. Do you have any more ideas what I could try? Can I maybe send you my case per email? I appreciate your help very much! Cheers, Mona |
|
July 4, 2016, 11:42 |
How to select the constant values for k-Eps?
|
#231 |
New Member
Remi Carmi
Join Date: Jul 2014
Posts: 15
Rep Power: 12 |
Hi,
I am not sure how to select the proper value for the k-Eps model. I see in the tutorial of breakwater the values of k and eps are set to 0.0001 but in other tutorial to 0.1 Here is what I have set so far (I have only solid boundaries which should be equivalent to plexiglass) epsilon internal field uniform 0.0001 bottom => type epsilonWallFunction with value 0.0001 inlet outlet => type zeroGradient atmosphere => type inletOutlet with value 0.0001 k internalField uniform 0.0001 bottom => type kqRWallFunction with value 0.0001 atmostphere and inlet outlet idem previous and the kEps coeffs are left unchanged Cmu = 0.09 C1 = 1.44 C2 = 1.92 sigmaEps =1.3 Is there a rule for the waves? I am interested in waves for water depth of 0.15m period 0.65s and wave height 0.035m. Thanks for any advice! Carmi |
|
July 13, 2016, 07:38 |
query
|
#232 |
New Member
Zahra Ashoori
Join Date: Mar 2016
Location: Tehran - Iran
Posts: 9
Rep Power: 10 |
Dear Pablo,
I'm a new user of IHFoam and it seems great, but when I try to solve "breakwater" after "interFoam" I face with the error as follows: file: /home/zanis/tutorials/OF300/breakwater/0/U.boundaryField.inlet from line 26 to line 28. From function fvPatchField<Type>::New(const fvPatch&, const DimensionedField<Type, volMesh>&, const dictionary&) in file /home/openfoam/OpenFOAM/OpenFOAM-3.0.1/src/finiteVolume/lnInclude/fvPatchFieldNew.C at line 143. FOAM exiting I have checked mentioned page many times, but couldn't find what the problem is. Could you please guide me to run it correctly? Best regards Zahra |
|
July 27, 2016, 12:47 |
Damping from turbulence simulation
|
#233 |
New Member
bangun
Join Date: Feb 2015
Posts: 16
Rep Power: 11 |
Hi Hossein,
Did you manage to simulate waves with turbulence being included in your numerical domain? I am currently facing a similar problem. With the turbulence modeling being implemented, the wave amplitudes experience reduction in time. Could you please share your suggestion or anyone who has experience? Thanks. Cheers Bangun |
|
August 4, 2016, 10:19 |
|
#234 | |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
Quote:
Since the turbulence models I used, k-epsilon, and k-omega, led to unrealistic dampings, I modelled my case as a laminar problem and results were largely compared very well with the experiment. For a new round of my studies, I might consider the turbulence modelling. Did you figure out how to fix this problem? Cheers, Hossein |
||
August 4, 2016, 10:26 |
Very close-to-breaking wave modelling
|
#235 |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
Hi IHFoamers,
I am modelling: Height, H: 0.776 m Depth, d: 1.454 m Period, T: 2.4 Cell size info: nearly cubic: 0.03 m side length. This wave is close to the upper limit of reality breaking limit which is H/d = 0.54. IHFoam waves break very very badly, but it doesn't in reality (experiment). Any suggestion how to prevent numerical breaking? This is a very challenging modelling exercise and any input is highly appreciated. Cheers, Hossein |
|
August 26, 2016, 11:51 |
|
#236 |
New Member
bangun
Join Date: Feb 2015
Posts: 16
Rep Power: 11 |
Hi Hossein,
The standard turbulence modeling in OpenFoam for incompressible multiphase problem is unphysically dissipative in the free surface because the production term in the turbulence modeling equations contain shear strain. To remedy the problem, curls of velocity should be implemented. I haven't tried it yet. But you could find the discussions about this issue from wave2foam thread and Jacobsen's Phd thesis. Or you could try set the k and epsilon or omega values in such a way that nut is sufficiently smaller than molecular viscosity. It significantly helps reducing the dissipation in time. Best Bangun |
|
August 26, 2016, 11:58 |
|
#237 | |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
Thanks a lot for sharing your knowledge here with me.
I'll see what I can do. Cheers, Hossein Quote:
|
||
August 30, 2016, 15:01 |
Test paddle position as a function of time input by IH Foam
|
#238 |
Member
Join Date: Apr 2015
Posts: 42
Rep Power: 11 |
Hi,
I have a time-series for the location of a paddle during a test (experiment). I'd like to input that to IH Foam. I am aware this is possible by need directions how. Cheers, Hossein |
|
September 14, 2017, 06:07 |
|
#239 | |
Senior Member
IHFOAM The Environmental Hydraulics Institute "IHCantabria"
Join Date: Sep 2017
Location: Santander (Spain)
Posts: 121
Rep Power: 9 |
Quote:
Hi CHiller, You can find some validation data about porosity in Pablo Higuera's Thesis: http://ihfoam.ihcantabria.com/references/phd-thesis/ Check IH-Cantabria gitHub account to download the codes: https://github.com/IHCantabria Best Regards, IHFOAM Team
__________________
http://ihfoam.ihcantabria.com/ |
||
September 16, 2017, 00:54 |
about the active wave absorption at the inlet when using the OLAfoam?
|
#240 |
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? |
|
|
|
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 |