| MPI-AMRVAC 3.2
    The MPI - Adaptive Mesh Refinement - Versatile Advection Code | 
The module add viscous source terms and check time step. More...
| Functions/Subroutines | |
| subroutine | vc_params_read (files) | 
| Read this module"s parameters from a file. | |
| subroutine | viscosity_init (phys_wider_stencil) | 
| Initialize the module. | |
| subroutine | viscosity_add_source (qdt, ixil, ixol, wct, w, x, energy, qsourcesplit, active) | 
| subroutine | viscosity_get_dt (w, ixil, ixol, dtnew, dxd, x) | 
| subroutine, public | visc_get_flux_prim (w, x, ixil, ixol, idim, f, energy) | 
| subroutine | get_crossgrad (ixil, ixol, x, w, idim, cross) | 
| subroutine | cart_cross_grad (ixil, ixol, x, w, idim, cross) | 
| yields d_i v_j + d_j v_i for a given i, OK in Cartesian and for some tensor terms in cylindrical (rr & rz) and in spherical (rr) | |
| subroutine | visc_add_source_geom (qdt, ixil, ixol, wct, w, x) | 
| Variables | |
| double precision, public | vc_mu = 1.d0 | 
| Viscosity coefficient. | |
| logical | vc_4th_order = .false. | 
| fourth order | |
| logical | vc_split = .false. | 
| source split or not | |
| logical | viscindiv = .false. | 
| whether to compute the viscous terms as fluxes (ie in the div on the LHS), or not (by default) | |
The module add viscous source terms and check time step.
Viscous forces in the momentum equations: d m_i/dt += - div (vc_mu * PI) !! Viscous work in the energy equation: !! de/dt += - div (v . vc_mu * PI) where the PI stress tensor is PI_i,j = - (dv_j/dx_i + dv_i/dx_j) + (2/3)*Sum_k dv_k/dx_k where vc_mu is the dynamic viscosity coefficient (g cm^-1 s^-1).
| subroutine mod_viscosity::cart_cross_grad | ( | integer, intent(in) | ixi, | 
| integer, intent(in) | l, | ||
| integer, intent(in) | ixo, | ||
| l, | |||
| double precision, dimension(ixi^s, 1:^nd), intent(in) | x, | ||
| double precision, dimension(ixi^s, 1:nw), intent(in) | w, | ||
| integer, intent(in) | idim, | ||
| double precision, dimension(ixi^s,ndir), intent(out) | cross | ||
| ) | 
yields d_i v_j + d_j v_i for a given i, OK in Cartesian and for some tensor terms in cylindrical (rr & rz) and in spherical (rr)
Definition at line 473 of file mod_viscosity.t.

| subroutine mod_viscosity::get_crossgrad | ( | integer, intent(in) | ixi, | 
| integer, intent(in) | l, | ||
| integer, intent(in) | ixo, | ||
| l, | |||
| double precision, dimension(ixi^s, 1:ndim), intent(in) | x, | ||
| double precision, dimension(ixi^s, 1:nw), intent(in) | w, | ||
| integer, intent(in) | idim, | ||
| double precision, dimension(ixi^s,ndir), intent(out) | cross | ||
| ) | 
| subroutine mod_viscosity::vc_params_read | ( | character(len=*), dimension(:), intent(in) | files | ) | 
Read this module"s parameters from a file.
Definition at line 42 of file mod_viscosity.t.
| subroutine mod_viscosity::visc_add_source_geom | ( | double precision, intent(in) | qdt, | 
| integer, intent(in) | ixi, | ||
| integer, intent(in) | l, | ||
| integer, intent(in) | ixo, | ||
| l, | |||
| double precision, dimension(ixi^s, 1:nw), intent(inout) | wct, | ||
| double precision, dimension(ixi^s, 1:nw), intent(inout) | w, | ||
| double precision, dimension(ixi^s, 1:ndim), intent(in) | x | ||
| ) | 
| subroutine, public mod_viscosity::visc_get_flux_prim | ( | double precision, dimension(ixi^s, 1:nw), intent(in) | w, | 
| double precision, dimension(ixi^s, 1:^nd), intent(in) | x, | ||
| integer, intent(in) | ixi, | ||
| integer, intent(in) | l, | ||
| integer, intent(in) | ixo, | ||
| l, | |||
| integer, intent(in) | idim, | ||
| double precision, dimension(ixi^s, nwflux), intent(inout) | f, | ||
| logical, intent(in) | energy | ||
| ) | 
| subroutine mod_viscosity::viscosity_add_source | ( | double precision, intent(in) | qdt, | 
| integer, intent(in) | ixi, | ||
| integer, intent(in) | l, | ||
| integer, intent(in) | ixo, | ||
| l, | |||
| double precision, dimension(ixi^s,1:nw), intent(in) | wct, | ||
| double precision, dimension(ixi^s,1:nw), intent(inout) | w, | ||
| double precision, dimension(ixi^s,1:ndim), intent(in) | x, | ||
| logical, intent(in) | energy, | ||
| logical, intent(in) | qsourcesplit, | ||
| logical, intent(inout) | active | ||
| ) | 
| subroutine mod_viscosity::viscosity_get_dt | ( | double precision, dimension(ixi^s,1:nw), intent(in) | w, | 
| integer, intent(in) | ixi, | ||
| integer, intent(in) | l, | ||
| integer, intent(in) | ixo, | ||
| l, | |||
| double precision, intent(inout) | dtnew, | ||
| double precision, intent(in) | dx, | ||
| double precision, intent(in) | d, | ||
| double precision, dimension(ixi^s,1:ndim), intent(in) | x | ||
| ) | 
Definition at line 243 of file mod_viscosity.t.
| subroutine mod_viscosity::viscosity_init | ( | integer, intent(inout) | phys_wider_stencil | ) | 
Initialize the module.
Definition at line 59 of file mod_viscosity.t.

| logical mod_viscosity::vc_4th_order = .false. | 
fourth order
Definition at line 27 of file mod_viscosity.t.
| double precision, public mod_viscosity::vc_mu = 1.d0 | 
Viscosity coefficient.
Definition at line 15 of file mod_viscosity.t.
| logical mod_viscosity::vc_split = .false. | 
source split or not
Definition at line 30 of file mod_viscosity.t.
| logical mod_viscosity::viscindiv = .false. | 
whether to compute the viscous terms as fluxes (ie in the div on the LHS), or not (by default)
Definition at line 34 of file mod_viscosity.t.