Generated from visc_explicit.F90 with ROBODoc v3.2.3 on Fri Dec 12 08:39:30 2003

TABLE OF CONTENTS

  1. source/hydro/explicit/split/ppm/diffuse/visc_explicit

source/hydro/explicit/split/ppm/diffuse/visc_explicit

NAME

  visc_explicit


SYNOPSIS
  visc_explicit(xyzswp, igeom, block_no, temp_flx, temp_fly, temp_flz)

  visc_explicit(integer, integer, integer, real(), real(), real())


DESCRIPTION

 visc_explicit alters the velocity fluxes to account for viscosity.

 visc_explicit is a very lightly modified version of therm_explicit.
 no heat flux is added to account for dissipative heating, as it is
 assumed that this will be very small for any flow for which an explicit
 viscosity will work.

 This is an explicit method, so a timestep limiter will be required.  
 Stability is guaranteed for 
 
                           dx**2 
                 dt < .5* -------
                            nu

 Fluxes in PPM are stored at the zone boundaries, the temperature, etc. are
 at the zone centers.  So the flux {F = -nu * grad(v)} is
 
                       nu_i + nu_{i-1}      v(xyz)_i - v(xyz)_{i-1}
         F(xyz)_i = - -----------------  * ------------------------
                              2                      dx

 This routine computes the heat fluxes and adds them to the energy flux
 returned from hydrow.  It is to be called after calling hydrow on a
 block.  The updated energy fluxes are then used in update_soln to
 produce the updated energy.

 Boundary conditions on the temperature are handled through tot_bnd.F,
 not in this routine.  Ex: setting a reflecting boundary will reflect the
 temperature into the guard cells, which are used in computing the flux
 at the block boundaries.