|
MFC
Exascale flow solver
|
Computes viscous stress tensors and diffusive flux contributions for the Navier–Stokes equations. More...
Functions/Subroutines | |
| impure subroutine, public | s_initialize_viscous_module |
| Initialize the viscous module. | |
| subroutine, public | s_compute_viscous_stress_cylindrical_boundary (q_prim_vf, grad_x_vf, grad_y_vf, grad_z_vf, tau_re_vf, ix, iy, iz) |
| Compute viscous stress tensor near cylindrical axis, avoiding 1/r singularity at y_cb(-1)=0. | |
| subroutine, public | s_get_viscous (ql_prim_rsx_vf, ql_prim_rsy_vf, ql_prim_rsz_vf, dql_prim_dx_n, dql_prim_dy_n, dql_prim_dz_n, ql_prim, qr_prim_rsx_vf, qr_prim_rsy_vf, qr_prim_rsz_vf, dqr_prim_dx_n, dqr_prim_dy_n, dqr_prim_dz_n, qr_prim, q_prim_qp, dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp, ix, iy, iz) |
| Computes viscous terms. | |
| subroutine | s_reconstruct_cell_boundary_values_visc (v_vf, vl_x, vl_y, vl_z, vr_x, vr_y, vr_z, norm_dir, vl_prim_vf, vr_prim_vf, ix, iy, iz) |
| Reconstruct left and right cell-boundary values of viscous primitive variables. | |
| subroutine, public | s_reconstruct_cell_boundary_values_visc_deriv (v_vf, vl_x, vl_y, vl_z, vr_x, vr_y, vr_z, norm_dir, vl_prim_vf, vr_prim_vf, ix, iy, iz) |
| Reconstruct left and right cell-boundary values of viscous primitive variable derivatives. | |
| subroutine | s_apply_scalar_divergence_theorem (vl_vf, vr_vf, dv_ds_vf, norm_dir, ix, iy, iz, iv_in, dl, dim, buff_size_in) |
| Compute cell-average spatial derivatives via the scalar divergence theorem. | |
| subroutine | s_compute_fd_gradient (var, grad_x, grad_y, grad_z) |
| Computes the scalar gradient fields via finite differences. | |
| subroutine, public | s_compute_viscous_stress_tensor (viscous_stress_tensor, q_prim_vf, dynamic_viscosity, i, j, k) |
| Compute the viscous stress tensor at a single grid cell using finite-difference velocity gradients. | |
| impure subroutine, public | s_finalize_viscous_module () |
| Finalize the viscous module. | |
Variables | |
| type(int_bounds_info) | iv |
| type(int_bounds_info) | is1_viscous |
| type(int_bounds_info) | is2_viscous |
| type(int_bounds_info) | is3_viscous |
| real(wp), dimension(:,:), allocatable | res_viscous |
Computes viscous stress tensors and diffusive flux contributions for the Navier–Stokes equations.
| subroutine m_viscous::s_apply_scalar_divergence_theorem | ( | type(scalar_field), dimension(iv%beg:iv%end), intent(in) | vl_vf, |
| type(scalar_field), dimension(iv%beg:iv%end), intent(in) | vr_vf, | ||
| type(scalar_field), dimension(iv%beg:iv%end), intent(inout) | dv_ds_vf, | ||
| integer, intent(in) | norm_dir, | ||
| type(int_bounds_info), intent(in) | ix, | ||
| type(int_bounds_info), intent(in) | iy, | ||
| type(int_bounds_info), intent(in) | iz, | ||
| type(int_bounds_info), intent(in) | iv_in, | ||
| real(wp), dimension(-buff_size_in:dim + buff_size_in), intent(in) | dl, | ||
| integer, intent(in) | dim, | ||
| integer, intent(in) | buff_size_in ) |
Compute cell-average spatial derivatives via the scalar divergence theorem.
Definition at line 2939 of file m_viscous.fpp.f90.
| subroutine m_viscous::s_compute_fd_gradient | ( | type(scalar_field), intent(in) | var, |
| type(scalar_field), intent(inout) | grad_x, | ||
| type(scalar_field), intent(inout) | grad_y, | ||
| type(scalar_field), intent(inout) | grad_z ) |
Computes the scalar gradient fields via finite differences.
Definition at line 3156 of file m_viscous.fpp.f90.
| subroutine, public m_viscous::s_compute_viscous_stress_cylindrical_boundary | ( | type(scalar_field), dimension(sys_size), intent(in) | q_prim_vf, |
| type(scalar_field), dimension(num_dims), intent(in) | grad_x_vf, | ||
| type(scalar_field), dimension(num_dims), intent(in) | grad_y_vf, | ||
| type(scalar_field), dimension(num_dims), intent(in) | grad_z_vf, | ||
| type(scalar_field), dimension(1:sys_size), intent(inout) | tau_re_vf, | ||
| type(int_bounds_info), intent(in) | ix, | ||
| type(int_bounds_info), intent(in) | iy, | ||
| type(int_bounds_info), intent(in) | iz ) |
Compute viscous stress tensor near cylindrical axis, avoiding 1/r singularity at y_cb(-1)=0.
Definition at line 438 of file m_viscous.fpp.f90.
| subroutine, public m_viscous::s_compute_viscous_stress_tensor | ( | real(wp), dimension(1:3,1:3), intent(inout) | viscous_stress_tensor, |
| type(scalar_field), dimension(1:sys_size), intent(in) | q_prim_vf, | ||
| real(wp), intent(in) | dynamic_viscosity, | ||
| integer, intent(in) | i, | ||
| integer, intent(in) | j, | ||
| integer, intent(in) | k ) |
Compute the viscous stress tensor at a single grid cell using finite-difference velocity gradients.
Definition at line 3689 of file m_viscous.fpp.f90.
| impure subroutine, public m_viscous::s_finalize_viscous_module |
Finalize the viscous module.
Definition at line 3768 of file m_viscous.fpp.f90.
| subroutine, public m_viscous::s_get_viscous | ( | real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | ql_prim_rsx_vf, |
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | ql_prim_rsy_vf, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | ql_prim_rsz_vf, | ||
| type(vector_field), dimension(1:num_dims), intent(inout) | dql_prim_dx_n, | ||
| type(vector_field), dimension(1:num_dims), intent(inout) | dql_prim_dy_n, | ||
| type(vector_field), dimension(1:num_dims), intent(inout) | dql_prim_dz_n, | ||
| type(vector_field), dimension(num_dims), intent(inout) | ql_prim, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | qr_prim_rsx_vf, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | qr_prim_rsy_vf, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | qr_prim_rsz_vf, | ||
| type(vector_field), dimension(1:num_dims), intent(inout) | dqr_prim_dx_n, | ||
| type(vector_field), dimension(1:num_dims), intent(inout) | dqr_prim_dy_n, | ||
| type(vector_field), dimension(1:num_dims), intent(inout) | dqr_prim_dz_n, | ||
| type(vector_field), dimension(num_dims), intent(inout) | qr_prim, | ||
| type(vector_field), intent(in) | q_prim_qp, | ||
| type(vector_field), dimension(1), intent(inout) | dq_prim_dx_qp, | ||
| type(vector_field), dimension(1), intent(inout) | dq_prim_dy_qp, | ||
| type(vector_field), dimension(1), intent(inout) | dq_prim_dz_qp, | ||
| type(int_bounds_info), intent(in) | ix, | ||
| type(int_bounds_info), intent(in) | iy, | ||
| type(int_bounds_info), intent(in) | iz ) |
Computes viscous terms.
Definition at line 1337 of file m_viscous.fpp.f90.
| impure subroutine, public m_viscous::s_initialize_viscous_module |
Initialize the viscous module.
Definition at line 369 of file m_viscous.fpp.f90.
| subroutine m_viscous::s_reconstruct_cell_boundary_values_visc | ( | type(scalar_field), dimension(iv%beg:iv%end), intent(in) | v_vf, |
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | vl_x, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | vl_y, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | vl_z, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | vr_x, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | vr_y, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,1:), intent(inout) | vr_z, | ||
| integer, intent(in) | norm_dir, | ||
| type(scalar_field), dimension(iv%beg:iv%end), intent(inout) | vl_prim_vf, | ||
| type(scalar_field), dimension(iv%beg:iv%end), intent(inout) | vr_prim_vf, | ||
| type(int_bounds_info), intent(in) | ix, | ||
| type(int_bounds_info), intent(in) | iy, | ||
| type(int_bounds_info), intent(in) | iz ) |
Reconstruct left and right cell-boundary values of viscous primitive variables.
Definition at line 2457 of file m_viscous.fpp.f90.
| subroutine, public m_viscous::s_reconstruct_cell_boundary_values_visc_deriv | ( | type(scalar_field), dimension(iv%beg:iv%end), intent(in) | v_vf, |
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,iv%beg:), intent(inout) | vl_x, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,iv%beg:), intent(inout) | vl_y, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,iv%beg:), intent(inout) | vl_z, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,iv%beg:), intent(inout) | vr_x, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,iv%beg:), intent(inout) | vr_y, | ||
| real(wp), dimension(idwbuff(1)%beg:,idwbuff(2)%beg:,idwbuff(3)%beg:,iv%beg:), intent(inout) | vr_z, | ||
| integer, intent(in) | norm_dir, | ||
| type(scalar_field), dimension(iv%beg:iv%end), intent(inout) | vl_prim_vf, | ||
| type(scalar_field), dimension(iv%beg:iv%end), intent(inout) | vr_prim_vf, | ||
| type(int_bounds_info), intent(in) | ix, | ||
| type(int_bounds_info), intent(in) | iy, | ||
| type(int_bounds_info), intent(in) | iz ) |
Reconstruct left and right cell-boundary values of viscous primitive variable derivatives.
Definition at line 2699 of file m_viscous.fpp.f90.
| type(int_bounds_info) m_viscous::is1_viscous |
Definition at line 340 of file m_viscous.fpp.f90.
| type(int_bounds_info) m_viscous::is2_viscous |
Definition at line 340 of file m_viscous.fpp.f90.
| type(int_bounds_info) m_viscous::is3_viscous |
Definition at line 340 of file m_viscous.fpp.f90.
| type(int_bounds_info) m_viscous::iv |
Definition at line 339 of file m_viscous.fpp.f90.
| real(wp), dimension(:,:), allocatable m_viscous::res_viscous |
Definition at line 353 of file m_viscous.fpp.f90.