Giter Site home page Giter Site logo

Comments (8)

joshkellyjak avatar joshkellyjak commented on June 3, 2024

Are you able to reproduce this behaviour with any other cases, say a rotating cylinder perhaps? To me it looks like the strange behaviour develops from the area in your mesh where the mesh density along the interface is visibily different (north and south of the image shown). This could be a discretization issue rather than a bug with the solver?

from su2.

jblueh avatar jblueh commented on June 3, 2024

I just found a heap buffer overflow in the interface code, mentioning it here in case it is related #2246 (comment)

from su2.

a3adam avatar a3adam commented on June 3, 2024

To me it looks like the strange behaviour develops from the area in your mesh where the mesh density along the interface is visibily different (north and south of the image shown).

I have encountered the same issue with a finer mesh where the mesh density along the interface is more or less uniform:

vawt_fineMesh

Are you able to reproduce this behaviour with any other cases, say a rotating cylinder perhaps?

I have tried a rotating 2D cylinder case with a similar setting. The only differences are that the time step is reduced to a tenth to prevent any numerical oscillations, and the mesh is generated by using Gmsh (for the VAWT case, it was Pointwise).

The simulation diverged at the end. The discontinuity around the interface is quite apparent, especially on the upstream part.

Mesh:
meshAll
meshClose

Axial velocity:
cyl_velX
Eddy viscosity:
cyl_eddyVisc

from su2.

a3adam avatar a3adam commented on June 3, 2024

I have tried two additional simulations with the same cylinder mesh:

1. Stationary cylinder

The settings are almost identical, except:

su2Config.cfg:

...
TIME_STEP = 0.00593412
...

zone_rot.cfg:

GRID_MOVEMENT= RIGID_MOTION
MOTION_ORIGIN= 0.0 0.0 0.0
ROTATION_RATE = 0.0 0.0 0.0
...

In other words, this is a transient stationary cylinder simulation with two zones. As the axial velocity and eddy viscosity evolutions show below, the simulation runs smoothly and no discontinuities or unphysical flow result is observed around the zone interface.

cylSlowStationary

2. Slowly rotating cylinder

I also tried a very slowly rotating cylinder to see if the error will occur even with a slow rotation. The rotational speed of the inner zone is around 0.03 rad/s, which corresponds to a surface angular speed (0.025 m/s) equal to the 0.25% of the freestream velocity (Uinf=10 m/s).

zone_rot.cfg:

GRID_MOVEMENT= RIGID_MOTION
MOTION_ORIGIN= 0.0 0.0 0.0
ROTATION_RATE = 0.0 0.0 0.02941176471
...

The time step is set as the one used for the stationary cylinder. Each time step corresponds to a 0.01 deg rotation of the inner zone. The below animation shows the movement of the cells on the interface:

cylSlow

The below animations show the axial velocity and eddy viscosity evolution. The results should not deviate much from the stationary cylinder results as the angular speed of the cylinder is quite low compared to the freestream. However, it is not the case for this simulation. Also, the discontinuity on the downstream part of the interface is quite apparent even at the earlier time steps. As the simulation progresses, unphysical flow results (non-zero eddy viscosity at the top part of the interface) appear, and eventually, the simulation diverges.

cylSlowRot

from su2.

jblueh avatar jblueh commented on June 3, 2024

I just found a heap buffer overflow in the interface code, mentioning it here in case it is related #2246 (comment)

I ran your test case with the fixes from #2246 and the address sanitizer, it still shows the behaviour that you describe and the address sanitizer did not detect anything else. So it's probably not related to the aforementioned overflow.

from su2.

bigfooted avatar bigfooted commented on June 3, 2024

Does it also occur without turbulence, so for INC_NAVIER_STOKES and Re=50-180?

from su2.

bigfooted avatar bigfooted commented on June 3, 2024

There are 2 cases in the testcases repository, both are using the Euler solver. Maybe also check if your case is running correctly with the settings from those testcases.

from su2.

a3adam avatar a3adam commented on June 3, 2024

There are 2 cases in the testcases repository, both are using the Euler solver. Maybe also check if your case is running correctly with the settings from those testcases.

Earlier, I was defining the mesh movement for the static zone as:

GRID_MOVEMENT= NONE

since it was stationary. However, after checking the test cases, I found that the stator zones should also be defined as moving as

GRID_MOVEMENT= RIGID_MOTION
MOTION_ORIGIN= 0.0 0.0 0.0
ROTATION_RATE = 0.0 0.0 0.0 

even though the mesh stays stationary. In that case, the unphysical flow results I presented earlier vanished. Earlier, I tried the cylinder test case with the inner zone having

GRID_MOVEMENT= RIGID_MOTION
MOTION_ORIGIN= 0.0 0.0 0.0
ROTATION_RATE = 0.0 0.0 0.0

and the outer zone having
GRID_MOVEMENT= NONE

where the simulation gave physically viable results. I guess the zone interface may not accurately work if the GRID_MOVEMENT options of the neighbouring zones do not match while one of the zones has a non-zero movement. However, I have not simulated any other test cases.

Also, the sliding_interface/rotating_cylinders test case diverges with the given .cfg files. At around the 775th time step, I received the following error message:

SU2 has diverged (Residual > 10^20 detected).

However, it works just fine if the simulations are done in subsonic flow (e.g. MACH_NUMBER= 0.1) while keeping the rest of the configuration the same.

from su2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.