CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   Implicitisation of viscous terms (

Michael Halls-Moore April 3, 2006 07:52

Implicitisation of viscous terms

I'm currently working on programming some computational fluid dynamics software for hypersonic flows (compressible, Mach number ~5).

The solver application uses a Finite Volume 2nd Order (time and space) modified Godunov method (the Ben-Artzi/Falcovitz GRP method). This part solves the inviscid part of the system (i.e. the Euler equations) but I am now wanting to introduce viscosity into the simulation.

I will be using operator splitting in order to seperate out the inviscid fluxes from the viscous fluxes. Since many of the applications I am studying are steady (i.e. no time-dependent behaviour), I want to use an implicit solver to calculate the viscosity fluxes.

One way of doing this is to use the Thin Shear Layer (TSL) approximation, which essentially integrates the boundary-layer equations instead of the full navier-stokes equations. The solver already uses a TSL implicit formulation which produces a tridiagonal matrix, but I want to take it a bit further and calculate Full Navier Stokes.

The solver uses a 2D structured orthogonal grid (no stretching, i.e. dx = dy for all cells).

I'm currently ploughing through the algebra for adding in viscosity for a horizontal interface on the grid, for the momentum equation. Later on Ill try a vertical interface too, as well as the energy equation terms for both. At the moment, I'm trying to keep it simple! :)

I have a few options as to what to do. My initial guess was to implicitise the u velocity terms (the horizontal velocity component of the field) and explicitise the v (vertical velocity component) velocity terms that arise in the equation. This would lead to a nice tridiagonal matrix solvable by Thomas'/TDMA algorithm. However, I will then have a new set of u values, which presumably I could use when updating the v values on my vertical interface.

Question 1 is this: If I update the u values (i.e. do horizontal interfaces first) and use the new u values for updating v, will this give me the same answer as updating v (i.e. doing vertical interfaces first) and then using these new v values for updating u? I can't see any immediate reason why they would be the same, unfortunately. Any thoughts?

Question 2: If I implicitise both u AND v for each interface, will this provide any benefits? I know it will create a very ugly solution matrix!

Does anyone have any ideas or suggestions as to literature I can peruse to find out more about these issues? I know they're very specific, so it's quite tough to find the details!

Thanks a lot,


All times are GMT -4. The time now is 20:42.