SFEMaNS  version 4.1 (work in progress)
Reference documentation for SFEMaNS
 All Classes Files Functions Variables Groups Pages
sub_navier_stokes.f90
Go to the documentation of this file.
3 PRIVATE
4 
5 CONTAINS
6 
7  SUBROUTINE navier_stokes_decouple(comm_one_d_ns,time, vv_3_LA, pp_1_LA, &
8  list_mode, pp_mesh, vv_mesh, incpn_m1, incpn, pn_m1, pn, un_m1, un, &
9  vvz_per, pp_per, hn_p2, bn_p2, density_m2, density_m1, density, visco_dyn, tempn, &
10  level_set_m1, level_set, visc_entro_level)
11 
12  USE def_type_mesh
13  USE periodic
14  USE input_data
17  USE my_util
18  IMPLICIT NONE
19  TYPE(mesh_type), INTENT(IN) :: vv_mesh, pp_mesh
20  INTEGER, DIMENSION(:), INTENT(IN) :: list_mode
21  REAL(KIND=8), DIMENSION(vv_mesh%np,6,SIZE(list_mode)), INTENT(INOUT) :: un_m1, un
22  REAL(KIND=8), DIMENSION(vv_mesh%np,2,SIZE(list_mode)), INTENT(IN) :: density_m2, density_m1, density
23  REAL(KIND=8), DIMENSION(vv_mesh%np,2,SIZE(list_mode)), INTENT(IN) :: visco_dyn
24  REAL(KIND=8), DIMENSION(:,:,:), INTENT(IN) :: tempn
25  REAL(KIND=8), DIMENSION(pp_mesh%np,2,SIZE(list_mode)), INTENT(INOUT) :: pn_m1, pn, incpn_m1, incpn
26  REAL(KIND=8), DIMENSION(:,:,:), INTENT(IN) :: hn_p2
27  REAL(KIND=8), DIMENSION(:,:,:), INTENT(IN) :: bn_p2
28  REAL(KIND=8), DIMENSION(:,:,:,:), INTENT(IN) :: level_set_m1, level_set
29  REAL(KIND=8), INTENT(IN) :: time
30  REAL(KIND=8), DIMENSION(:,:), INTENT(OUT) :: visc_entro_level
31  TYPE(periodic_type), INTENT(IN) :: vvz_per, pp_per
32  TYPE(petsc_csr_la) :: vv_3_la, pp_1_la
33 #include "petsc/finclude/petsc.h"
34  mpi_comm, DIMENSION(:), POINTER :: comm_one_d_ns
35 
36  IF (inputs%if_navier_stokes_with_u) THEN
37  CALL bdf2_ns_stress_bc_with_u(comm_one_d_ns,time,vv_3_la, pp_1_la, vvz_per, pp_per, &
38  inputs%dt, inputs%Re, list_mode, pp_mesh, vv_mesh, incpn_m1, incpn, &
39  pn_m1, pn, un_m1, un, hn_p2, bn_p2, opt_tempn=tempn)
40  ELSE
41  CALL three_level_ns_tensor_sym_with_m(comm_one_d_ns,time,vv_3_la, pp_1_la, &
42  inputs%dt, inputs%Re, list_mode, pp_mesh, vv_mesh, incpn_m1, incpn, &
43  pn_m1, pn, un_m1, un, hn_p2, bn_p2, density_m2, density_m1, density, visco_dyn, tempn, &
44  level_set_m1, level_set, visc_entro_level)
45  END IF
46  END SUBROUTINE navier_stokes_decouple
47 
48 END MODULE update_navier_stokes
subroutine, public navier_stokes_decouple(comm_one_d_ns, time, vv_3_LA, pp_1_LA, list_mode, pp_mesh, vv_mesh, incpn_m1, incpn, pn_m1, pn, un_m1, un, vvz_per, pp_per, Hn_p2, Bn_p2, density_m2, density_m1, density, visco_dyn, tempn, level_set_m1, level_set, visc_entro_level)
subroutine, public three_level_ns_tensor_sym_with_m(comm_one_d, time, vv_3_LA, pp_1_LA, dt, Re, list_mode, pp_mesh, vv_mesh, incpn_m1, incpn, pn_m1, pn, un_m1, un, Hn_p2, Bn_p2, density_m1, density, density_p1, visco_dyn, tempn, level_set, level_set_p1, visc_entro_level)
subroutine, public bdf2_ns_stress_bc_with_u(comm_one_d, time, vv_3_LA, pp_1_LA, vvz_per, pp_per, dt, Re, list_mode, pp_mesh, vv_mesh, incpn_m1, incpn, pn_m1, pn, un_m1, un, chmp_mag, Bn_p2, opt_tempn)