NVIDIA / modulus-sym

Framework providing pythonic APIs, algorithms and utilities to be used with Modulus core to physics inform model training as well as higher level abstraction for domain experts
https://developer.nvidia.com/modulus
Apache License 2.0
165 stars 68 forks source link

🐛[BUG]: Issues in the NS implementation - Base NS equation class #110

Open ram-cherukuri opened 8 months ago

ram-cherukuri commented 8 months ago

Version

1.4.0

On which installation method(s) does this occur?

No response

Describe the issue

The current implementation of the base NS equation class has a few issues that result in incorrect flow behavior for a simple use case like flow over a cylinder in a channel.

Minimum reproducible example

No response

Relevant log output

No response

Environment details

No response

Other/Misc.

No response

shourya-p-otta commented 7 months ago

It is not possible to have a single Navier-Stokes equation class for all flow regimes as the nature of the equations changes. This will affect the convergence in training. Most common use case as seen in the documentation is incompressible flow with conjugate heat transfer. For incompressible flow, the continuity equation is inherently satisfied in the stress tensor. So the NS equations are simplified. This reduces the symbolic expressions being computed and allows the solution to propagate through the flow domain faster.