-
Notifications
You must be signed in to change notification settings - Fork 11
/
MODULE_EXSOLVER.f90
62 lines (49 loc) · 2.19 KB
/
MODULE_EXSOLVER.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
!=================================================================================================
!> CARTESIAN ADAPTIVE FIVE EQUATION MODEL
!> AUTHOR: VAN-DAT THANG
!> E-MAIL: [email protected]
!> E-MAIL: [email protected]
!> SOURCE CODE LINK: https://github.com/dattv/2D_CARFIVE
!=================================================================================================
MODULE MODULE_EXSOLVER
use MODULE_PRECISION
use MODULE_CFD_DATA
use MODULE_QUADTREE
use MODULE_GENERICMETHOD
use MODULE_TIMESOLVER
use MODULE_MUSCL
use MODULE_CFDMAINDATA
use MODULE_RHS
private
public :: second_EX
contains
!==================================================================================================
subroutine Second_EX(first, last, tree, dt)
implicit none
integer(ip), intent(in) :: first, last
real(rp), intent(inout) :: dt
type(quadtree), dimension(first:last), intent(inout) :: tree
! ===> muscl reconstruction
call muscle(int(one ), I_limiter_type, first, last, tree)
call muscle(int(two ), I_limiter_type, first, last, tree)
call muscle(int(three), I_limiter_type, first, last, tree)
call muscle(int(four ), I_limiter_type, first, last, tree)
call muscle(int(five ), I_limiter_type, first, last, tree)
call muscle(int(six ), I_limiter_type, first, last, tree)
! ===> compute rhs
call loop_on_quadtree_array(first, last, tree, compute_RHS)
! ==> update conservative variables
call loop_on_quadtree_array(first, last, tree, second_Ex_single)
! ===> update time
call compute_dt_array(first, last, tree, dt)
return
end subroutine Second_EX
!==================================================================================================
subroutine second_Ex_single(tree)
implicit none
type(quadtree), pointer, intent(inout) :: tree
return
end subroutine second_EX_single
!==================================================================================================
!==================================================================================================
END MODULE MODULE_EXSOLVER