erdc / proteus

A computational methods and simulation toolkit
http://proteustoolkit.org
MIT License
88 stars 56 forks source link

Pressure issues with sediment solver #913

Closed adimako closed 5 years ago

adimako commented 5 years ago

May relate to #907

Failure of the solver to maintain hydrostatic fluid pressure within the sediment phase. This seems to be a regression as we could do this with a previous version. In the image below, you can see the pressure field with the latest version of Proteus - with Entropy viscosity schemes for the sediment phase (left panel) against an earlier simulation with the ShockCapturing scheme and an earlier version of the code (174420ee70cc965b9b1828dc4982ac4e3fd9e21e) image

adimako commented 5 years ago

@cekees @manuel-quezada this is what I get with the shock capturing scheme - running with the master version. I do not think the problem is the EV schemes but rather lies in the VOS / Pressure model. image

adimako commented 5 years ago

@cekees @manuel-quezada After further investigation, it seems like it is the pressure friction terms causing these oscillations. Setting the limiter below the max theoretical limits improves things. Investigating further.

adimako commented 5 years ago

By setting the limiting fraction far enough from the theoretical packing density, the solution is much more well behaved. Note that inside the sediment, the hydrostatic pressure gradient is proportional to the weighted density of the fluid and the sediment, not the fluid phase. This is something that we need to look at in case it is problematic image

adimako commented 5 years ago

After looking at 3PSed2D, I am suspicious of the conversion of the sed equation in nonconservative form.

The old version (conservative, terms multiplied with vos) is here https://github.com/erdc/proteus/blob/bd0233c171bb9b122b9c27ddcd13539bacad743f/proteus/mprans/RANS3PSed2D.h

@cekees I have some questions:

cekees commented 5 years ago
  • Does the hamiltonian correspond to the form of the pressure that we have in the conservative equation? E.g. if the pressure term is multiplied by vos, should this one be too?

No, I think I consistently divided through by vos. It completely cancels out of the time derivative, acceleration (Hamiltonian), gravitation, and pressure terms. That's basically why I did it, so that the equation remains well-behaved as vos -> 0.

  • Same goes for the hamiltonian gradients
  • Whilst the drag terms have been divided by vos to be consistent with the nc form, the pressure friction terms do not appear to be

Can you point me to what you mean by the pressure friction term?

adimako commented 5 years ago

I think when you pushed the conversion to nc form, the drag terms were changed (divided by vos) https://github.com/erdc/proteus/blob/master/proteus/mprans/RANS3PSed.h#L866,

But the friction terms did not https://github.com/erdc/proteus/blob/master/proteus/mprans/RANS3PSed.h#L914 https://github.com/erdc/proteus/blob/master/proteus/mprans/RANS3PSed.h#L928

adimako commented 5 years ago

@cekees - Addressed.

There was a term missing in the pressure friction stress which is the solid stress due to its own weight. See #916 that addresses the issue. There is a discussion of what these contact stresses mean - I am not sure that we need the friction "repulsive" stress now as we are limiting it numerically, and the only place where its gradient will have any relevance is at the interface (which is not meaningful as it is a numerical artifact). Eventually, friction stresses will need update as well. image

adimako commented 5 years ago

Will close - but further discussion is needed.