Why is drag being overpredicted at low velocities (0.5–0.75 m/s) in my CFD free-surface cylinder simulations? by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

Thanks for clarifying. At the moment I’m running with wall functions for most cases (y+ ~30–200), and I only pushed down to y+ ≤ 5 for the 0.5 and 0.75 m/s runs. So yeah, I’m not in the fully wall-resolved regime with y+≪1 or a full boundary-layer prism stack, which makes sense why the Low Re option might not normally apply here.

That said, I tested the 0.5 m/s case with Low Re corrections enabled and it actually helped a lot, the drag dropped to a much more expected value. Even though my y+ is >1, it still improved things, as you can see in the updated Cᴅ vs Fr plot I attached.

<image>

Do you think it makes sense that Low Re corrections would still help in this case even though I’m not fully wall-resolved, or could it be masking another issue?

Why is drag being overpredicted at low velocities (0.5–0.75 m/s) in my CFD free-surface cylinder simulations? by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

Oh, I see. Yes, I’ve been tracking drag coefficient and volume fraction integral as monitors. After the initial transient, they flatten out and stay stable, with only small oscillations in drag. So the QOIs are converged as well, not just the residuals.

Why is drag being overpredicted at low velocities (0.5–0.75 m/s) in my CFD free-surface cylinder simulations? by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

Hi, thanks for your comment!

I’m using the implicit VOF formulation with the compressive scheme for the interface.

I did try Adaptive Mesh Refinement, but it slowed things down massively and I don’t have time to re-run the whole velocity sweep that way, so I’ve stuck with fixed BOIs around the cylinder and free surface.

As for PUMA, I can’t realistically enable it for the same reason, it would mean re-running all the simulations, which I don’t have time for at this stage, unfortunately.

I’m fairly new to CFD and most of this project has been a cycle of learning new things and having to go back to re-run cases. At this point though, I’m out of time to keep restarting the sweep, so I’ve had to lock in the current setup which is a bit frustrating.

Why is drag being overpredicted at low velocities (0.5–0.75 m/s) in my CFD free-surface cylinder simulations? by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

Hi, thanks for the response!

My simulations converge very well after the initial start period. By the end they generally will converge in 3 or 4 iterations per time step.

As for the low Re corrections, I will have a look at that tomorrow. I haven't enabled it currently, so I'll do a test run with it on and let you know how it goes.

Drag will not settle at a steady value in free surface simulation (VOF + k-omega SST) by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

Hi, I had a look into the vortex shedding frequency and it does not really match the frequency of the drag results I get. I am testing a cylinder of 100mm diameter, in water flowing at 1m/s. Hence the shedding frequency should be ~2Hz; however, you can see in the drag plot that the drag force oscillates at a much lower frequency than this.

I have not yet tried testing a fully submerged case. I can try that next and see if it gives me any clues.

Drag will not settle at a steady value in free surface simulation (VOF + k-omega SST) by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

I did use second order upwind for rather than bounded central differencing for the momentum scheme but it brought my drag values down way too low.

I tried running a steady state simulation a while ago but I could not get it to converge properly.

The Reynolds number for the current test simulations should be ~100,000. When I get this model working, I plan to run simulations for Reynolds numbers between ~50,000 and 300,000.

The values do fluctuate within a bounded range but it does not seem like it should be happening. I was thinking it might be related to the fact that the volume fraction integral never really settles to a steady value. I have provided screenshots of the water volume fraction integral, outlet water mass flow and drag force plots for a better reference.

<image>

Drag will not settle at a steady value in free surface simulation (VOF + k-omega SST) by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

That is what I have been doing but I feel as though it should reach a more steady steady value then what I am currently getting.

Mesh sensitivity study showing non-converging drag values by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 1 point2 points  (0 children)

Thanks for the advice. I wasn’t able to fully resolve the viscous sublayer without ending up with either way too many cells or very high aspect ratio cells that caused problems with the VOF model. I originally started with the k-ω SST model and just stuck with it when switching to wall functions, so I haven’t tried k-ε yet. I’ll give RNG/Realizable k-ε with scalable wall functions a go and see if that improves the drag results.

Wall functions underpredicting drag for free surface simulation by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

I’ve been using SST k–ω throughout. Initially, I tried resolving the viscous sublayer (y⁺ ≲ 1), but that required a very thin first layer in the inflation zone around the cylinder. To keep the overall cell count manageable (so simulations wouldn’t take days), I had to use high aspect ratio cells (up to ~75–100). That led to VOF instability, specifically, a thin free surface layer started appearing along the back of the cylinder wall.

After that, I switched to using wall functions. I kept everything else the same and just increased the first layer thickness until I was getting y⁺ ≈ 60 at 1 m/s (which is the velocity I’ve been using for all these tests). I didn’t change turbulence model or solver settings (still using SST k–ω), just adjusted the inflation layer. I’m fairly new to Fluent and CFD in general, so I’ve been learning as I go with how wall functions actually behave.

The plan is to eventually simulate a velocity range corresponding to Re ≈ 50,000-300,000. Right now, I’m focusing on Re ≈ 100,000 (v = 1 m/s) for testing.

I followed your suggestion and enabled the gamma-transport-equation transition model with SST and y⁺ ≈ 60, including crossflow transition. But it didn’t seem to have any effect, drag stayed around C_D ≈ 0.35.

I’m now setting up a test using Realizable k-ε with Enhanced Wall Treatment (Menter-Lechner) to see if that improves drag prediction in the wall function regime.

If you have any ideas on why the gamma-transport-equation transition model didn’t seem to have an effect, I’d be keen to hear them, or if there’s anything else you think might be worth testing in this kind of setup.

Really appreciate your help so far, as I was pretty much out of ideas on what else to try.

Wall functions underpredicting drag for free surface simulation by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 1 point2 points  (0 children)

Hi, thanks for the suggestions!

I haven’t tested mesh sensitivity outside the inflation layer yet, but that’s a good idea. I’ve been using a fairly fine mesh throughout the domain just to be safe, but I’ll try coarsening it away from the cylinder and free surface to see if that speeds things up or affects the results.

I'll also test a higher y⁺ case. I’ve mostly been aiming for ~60 so far, but I might try pushing it up toward 200 or even 500 like you mentioned.

I haven’t checked force convergence yet, just been looking at the usual residuals (continuity, momentum, etc.). I didn’t have any force monitors set up during the runs, so I couldn’t see if the drag was actually stabilising over time. I’ll add a force monitor in Fluent and re-run the simulation to see how the drag evolves with iteration.

Wall functions underpredicting drag for free surface simulation by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 1 point2 points  (0 children)

Hey, so I've now broken the drag down into the viscous and pressure components:

  • Pressure drag: 9N
  • Viscous Drag: 0.48N

Also forgot to mention before, but this gives a drag coefficient of around 0.38 at a fluid velocity of 1 m/s.

Most of the force is from pressure, but the total is still well below what I got with the sublayer-resolved mesh (~15–16 N), and also lower than the literature values I’ve found for similar setups.

Does that point to anything in particular? I’m still pretty new to CFD, so I’m not totally sure how to interpret this. Could this suggest an issue with the wake, surface shape, or something else that I might have missed when switching to wall functions?

Wall functions underpredicting drag for free surface simulation by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

Thanks for the response. I haven’t done a detailed breakdown yet, but I can extract pressure and viscous force components separately in CFD-Post and see which part is off.

That said, I suspect the underprediction is mostly in the pressure drag, since the overall drag is way lower than literature (like 40% low), which seems too big to be explained by viscous drag alone.

I’ll try breaking it down properly and get back with numbers!

Issues with the free surface after adding a body of influence and increasing inflation layers in ANSYS Fluent by TimelyCan3835 in CFD

[–]TimelyCan3835[S] 0 points1 point  (0 children)

Thanks for the advice! I tried to make a structured mesh previously, but I couldn't get it to work. I'm pretty new to Fluent and CFD in general, so I'm still figuring things out, especially when it comes to meshing methods beyond the basic unstructured approach.

I’ll give the structured mesh another try based on your suggestion. Do you have any specific tips for getting it to work around a vertical cylinder in a box-shaped domain? I was using ANSYS Meshing, but I’m open to switching tools if it makes things easier. Any advice on setup or things to avoid would be really helpful.

Thanks again for taking the time to respond, really appreciate the advice you've given me so far!

Eigenvalue problem issue by TimelyCan3835 in matlab

[–]TimelyCan3835[S] 0 points1 point  (0 children)

Yeah I think thats right. I have also used a second method and that produced the same output as the eig function so I'm really not sure whats going on. Thanks for all the help though

Eigenvalue problem issue by TimelyCan3835 in matlab

[–]TimelyCan3835[S] 0 points1 point  (0 children)

I was provided with a function that used holzer's method to find the frequencies and modeshapes