grinsfem / grins

Multiphysics Finite Element package built on libMesh
http://grinsfem.github.io
Other
47 stars 39 forks source link

TurbulentViscosity Class Design #179

Open vikramvgarg opened 9 years ago

vikramvgarg commented 9 years ago

1) The TurbulentViscosity class is designed to act as a link between the various turbulence models we plan to add to GRINS (starting with Spalart-Allmaras) and the IncompressibleNavierStokes physics. Turbulence models can be linear eddy viscosity models (which add a 'turbulent viscosity' to the physical viscosity) or nonlinear eddy viscosity models (physical viscosity + F[turbulent viscosity]).

The TurbulentViscosity capability in GRINS is going to be restricted to handling linear eddy viscosity models for now, so that we can compute the total viscosity as simply the sum of the physical and turbulent viscosity at a quadrature point. But later, support for the more general case of possible nonlinear eddy viscosity models will be added.

2) Within the class of linear eddy viscosity models, there are different paths to arriving at a 'turbulent viscosity'. For example, in the Spalart-Allmaras model, the turbulent viscosity is simply the variable to be solved for, so it can be accessed directly via the _turbulent_vars. Whereas for the k-epsilon model, the turbulent viscosity is the ratio of the variables k and epsilon (rho * constant * k^2/epsilon), and so is a function of the various _turbulent_vars. Currently GRINS can only handle the Spalart-Allmaras type of viscosity. In the future this should be generalized. Some proposals for this generalization are:

a) Have each turbulent physics specify a postprocessing function that computes the turbulent viscosity from its _turbulent_vars. This requires passing a reference to the particular turbulent physics activated to the TurbulentViscosity object, and as of now, no easy way to do this has been found.

b) Reserve the 0th variables in _turb_vars for the turbulent viscosity, and compute it during the solve somehow.

pbauman commented 9 years ago

Great summary, thanks for capturing this.