|
MPI-AMRVAC 3.2
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
|
The module add viscous source terms and check time step. More...
Functions/Subroutines | |
| subroutine | vc_params_read (files) |
| Read module parameters from a file. | |
| subroutine | viscosity_init (phys_wider_stencil) |
| Initialize the module. | |
| subroutine | viscosity_add_source_cartesian (qdt, ixil, ixol, wct, wp, w, x, energy, qsourcesplit, active) |
| subroutine | viscosity_add_source_sphere (qdt, ixil, ixol, wct, wp, w, x, energy, qsourcesplit, active) |
| subroutine | viscosity_add_source_cylinder (qdt, ixil, ixol, wct, wp, w, x, energy, qsourcesplit, active) |
| subroutine | viscosity_get_dt (w, ixil, ixol, dtnew, dxd, x) |
| subroutine | sub_add_source (qdt, ixil, ixol, wct, wp, w, x, energy, qsourcesplit, active) |
Variables | |
| double precision, public | vc_mu = 1.d0 |
| Viscosity coefficient. | |
| integer, public, protected | v1_ |
| Indices of the velocity for the form of better vectorization. | |
| integer, public, protected | v2_ |
| integer, public, protected | v3_ |
| logical | vc_4th_order = .false. |
| fourth order | |
| logical | vc_split = .false. |
| source split or not | |
| procedure(sub_add_source), pointer, public | viscosity_add_source => null() |
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) - Kronecker delta_i,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::sub_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(in) | wp, | ||
| 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 | ||
| ) |
Definition at line 1151 of file mod_viscosity.t.
| subroutine mod_viscosity::vc_params_read | ( | character(len=*), dimension(:), intent(in) | files | ) |
Read module parameters from a file.
Definition at line 38 of file mod_viscosity.t.
| subroutine mod_viscosity::viscosity_add_source_cartesian | ( | 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(in) | wp, | ||
| 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 | ||
| ) |
Definition at line 89 of file mod_viscosity.t.
| subroutine mod_viscosity::viscosity_add_source_cylinder | ( | 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(in) | wp, | ||
| 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 | ||
| ) |
Definition at line 691 of file mod_viscosity.t.
| subroutine mod_viscosity::viscosity_add_source_sphere | ( | 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(in) | wp, | ||
| 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 | ||
| ) |
Definition at line 348 of file mod_viscosity.t.
| 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 1113 of file mod_viscosity.t.
| subroutine mod_viscosity::viscosity_init | ( | integer, intent(inout) | phys_wider_stencil | ) |
Initialize the module.
Definition at line 55 of file mod_viscosity.t.

| integer, public, protected mod_viscosity::v1_ |
Indices of the velocity for the form of better vectorization.
Definition at line 24 of file mod_viscosity.t.
| integer, public, protected mod_viscosity::v2_ |
Definition at line 24 of file mod_viscosity.t.
| integer, public, protected mod_viscosity::v3_ |
Definition at line 24 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 16 of file mod_viscosity.t.
| logical mod_viscosity::vc_split = .false. |
source split or not
Definition at line 30 of file mod_viscosity.t.
| procedure(sub_add_source), pointer, public mod_viscosity::viscosity_add_source => null() |
Definition at line 32 of file mod_viscosity.t.