Skip to content

Commit e74a4d9

Browse files
committed
revert hard-coded grids
1 parent 7b1d49f commit e74a4d9

File tree

1 file changed

+8
-106
lines changed

1 file changed

+8
-106
lines changed

src/pre_process/m_grid.f90

Lines changed: 8 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -59,114 +59,16 @@ subroutine s_generate_serial_grid
5959
! Generic loop iterator
6060
integer :: i, j !< generic loop operators
6161
real(kind(0d0)) :: length !< domain lengths
62-
real(kind(0d0)) :: sum_factors, base_dx !< sum of factors for normalization
63-
real(kind(0d0)) :: factor(0:200) !< factor for non-uniform grid; hard-coded for m=200
64-
65-
! ! Grid Generation in the x-direction ===============================
66-
! dx = (x_domain%end - x_domain%beg)/real(m + 1, kind(0d0))
67-
68-
! do i = 0, m
69-
! x_cc(i) = x_domain%beg + 5d-1*dx*real(2*i + 1, kind(0d0))
70-
! x_cb(i - 1) = x_domain%beg + dx*real(i, kind(0d0))
71-
! end do
72-
73-
! x_cb(m) = x_domain%end
74-
75-
! Hard-coded non-uniform grid for debugging
76-
77-
! do i = 0, m
78-
! ! Example: factor oscillates between 1 and 100
79-
! ! Using multiple sine terms for more variation
80-
! factor(i) = 10.0d0 + 90.0d0 * &
81-
! ( 0.5d0 * (1.0d0 + sin(2.0d0 * pi * i / m)) + &
82-
! 0.3d0 * (1.0d0 + cos(4.0d0 * pi * i / m)) )
83-
! ! ( 0.5d0 * (1.0d0 + sin(17.0d0 * pi * i / m)) + &
84-
! ! 0.3d0 * (1.0d0 + cos(31.0d0 * pi * i / m)) )
85-
! ! Ensure factor is within desired range
86-
! ! if (mod(i, 2) == 0) factor(i) = factor(i) / 2.0d0
87-
! ! if (mod(i, 3) == 0) factor(i) = factor(i) * 3.0d0
88-
! ! if (mod(i, 5) == 0) factor(i) = factor(i) / 5.0d0
89-
! ! if (mod(i, 7) == 0) factor(i) = factor(i) * 7.0d0
90-
! if (factor(i) < 10.0d0) factor(i) = 10.0d0
91-
! if (factor(i) > 100.0d0) factor(i) = 100.0d0
92-
! end do
93-
94-
! ! Compute the sum of factors for normalization
95-
! sum_factors = 0.0d0
96-
! do i = -1, m
97-
! sum_factors = sum_factors + factor(i)
98-
! end do
99-
100-
! ! Compute base grid spacing
101-
! base_dx = (x_domain%end - x_domain%beg) / sum_factors
102-
103-
! ! Compute cell boundaries
104-
! x_cb(-1) = x_domain%beg + base_dx * factor(-1)
105-
! do i = 0, m
106-
! x_cb(i) = x_cb(i-1) + base_dx * factor(i)
107-
! end do
108-
! x_cb(m) = x_domain%end
109-
110-
111-
! Hard-coded for Shu-Osher
112-
factor(0:19) = 2d0/20d0
113-
factor(20:180) = 6d0/161d0
114-
factor(181:200) = 2d0/20d0
115-
do i = 0, 200
116-
factor(i) = factor(i) * (1.1d0 + sin(real(i, kind(0d0))))
117-
! if (i == 0) then
118-
! print *, sin(pi * real(i, kind(0d0)) / 10d0)
119-
! print *, pi * real(i, kind(0d0)) / 10d0
120-
! print *, pi * real(i, kind(0d0))
121-
! print *, real(i, kind(0d0))
122-
! print *, pi
123-
! print *, i
124-
! print *, ' '
125-
! print *, factor(i)
126-
! print *, ' '
127-
! print *, ' '
128-
! print *, ' '
129-
! print *, ' '
130-
! print *, ' -----------------'
131-
! end if
132-
end do
13362

134-
print *, factor
135-
136-
factor = factor / sum(factor) * 10d0
137-
138-
print *, factor
139-
140-
! x_cb(-1) = 0d0
141-
! dx = 2d0/20d0
142-
! do i = 0, 19
143-
! x_cb(i) = x_cb(i-1) + dx
144-
! end do
145-
! dx = 6d0/161d0
146-
! do i = 20, 180
147-
! x_cb(i) = x_cb(i-1) + dx
148-
! end do
149-
! dx = 2d0/20d0
150-
! do i = 181, 200
151-
! x_cb(i) = x_cb(i-1) + dx
152-
! end do
153-
x_cb(-1) = 0d0
154-
do i = 0, 200
155-
x_cb(i) = sum(factor(0:i))
63+
! Grid Generation in the x-direction ===============================
64+
dx = (x_domain%end - x_domain%beg)/real(m + 1, kind(0d0))
65+
66+
do i = 0, m
67+
x_cc(i) = x_domain%beg + 5d-1*dx*real(2*i + 1, kind(0d0))
68+
x_cb(i - 1) = x_domain%beg + dx*real(i, kind(0d0))
15669
end do
157-
x_cb(200) = 10d0
158-
159-
x_cc = (x_cb(0:m) + x_cb(-1:m - 1))/2d0
160-
161-
dx = minval(x_cb(0:m) - x_cb(-1:m - 1))
162-
163-
print *, ' '
164-
print *, size(x_cb)
165-
print *, x_cb
166-
print *, ' '
167-
print *, size(x_cc)
168-
print *, x_cc
169-
70+
71+
x_cb(m) = x_domain%end
17072

17173
if (stretch_x) then
17274

0 commit comments

Comments
 (0)