@@ -27,10 +27,10 @@ module m_initial_condition
2727 use m_patches
2828
2929 use m_assign_variables
30-
31- use m_eigen_solver ! Subroutines to solve eigenvalue problem for
30+
31+ use m_eigen_solver ! Subroutines to solve eigenvalue problem for
3232 ! complex general matrix
33-
33+
3434 ! ==========================================================================
3535 ! ==========================================================================
3636
@@ -298,37 +298,38 @@ contains
298298 subroutine s_superposition_instability_wave () ! ------------------------
299299 real (kind (0d0 )), dimension (5 ,0 :m,0 :n,0 :p) :: wave,wave1,wave2,wave_tmp
300300 real (kind (0d0 )) :: tr,ti
301- real (kind (0d0 )) :: Ly
301+ real (kind (0d0 )) :: Lx,Lz
302302 integer :: i,j,k
303303
304- Ly = y_domain%end - y_domain%beg
304+ Lx = x_domain%end - x_domain%beg
305+ Lz = z_domain%end - z_domain%beg
305306
306307 wave = 0d0
307308 wave1 = 0d0
308309 wave2 = 0d0
309310
310311 ! Compute 2D waves
311- call s_instability_wave(2 * pi* 4.0 / Ly ,0d0 ,tr,ti,wave_tmp,0d0 )
312+ call s_instability_wave(2 * pi* 4.0 / Lx ,0d0 ,tr,ti,wave_tmp,0d0 )
312313 wave1 = wave1 + wave_tmp
313- call s_instability_wave(2 * pi* 2.0 / Ly ,0d0 ,tr,ti,wave_tmp,0d0 )
314+ call s_instability_wave(2 * pi* 2.0 / Lx ,0d0 ,tr,ti,wave_tmp,0d0 )
314315 wave1 = wave1 + wave_tmp
315- call s_instability_wave(2 * pi* 1.0 / Ly ,0d0 ,tr,ti,wave_tmp,0d0 )
316+ call s_instability_wave(2 * pi* 1.0 / Lx ,0d0 ,tr,ti,wave_tmp,0d0 )
316317 wave1 = wave1 + wave_tmp
317318 wave = wave1* 0.05
318-
319+
319320 if (p > 0 ) then
320321 ! Compute 3D waves with phase shifts.
321- call s_instability_wave(2 * pi* 4.0 / Ly , 2 * pi* 4.0 / Ly ,tr,ti,wave_tmp,2 * pi* 11d0 / 31d0 )
322+ call s_instability_wave(2 * pi* 4.0 / Lx , 2 * pi* 4.0 / Lz ,tr,ti,wave_tmp,2 * pi* 11d0 / 31d0 )
322323 wave2 = wave2 + wave_tmp
323- call s_instability_wave(2 * pi* 2.0 / Ly , 2 * pi* 2.0 / Ly ,tr,ti,wave_tmp,2 * pi* 13d0 / 31d0 )
324+ call s_instability_wave(2 * pi* 2.0 / Lx , 2 * pi* 2.0 / Lz ,tr,ti,wave_tmp,2 * pi* 13d0 / 31d0 )
324325 wave2 = wave2 + wave_tmp
325- call s_instability_wave(2 * pi* 1.0 / Ly , 2 * pi* 1.0 / Ly ,tr,ti,wave_tmp,2 * pi* 17d0 / 31d0 )
326+ call s_instability_wave(2 * pi* 1.0 / Lx , 2 * pi* 1.0 / Lz ,tr,ti,wave_tmp,2 * pi* 17d0 / 31d0 )
326327 wave2 = wave2 + wave_tmp
327- call s_instability_wave(2 * pi* 4.0 / Ly ,- 2 * pi* 4.0 / Ly ,tr,ti,wave_tmp,2 * pi* 19d0 / 31d0 )
328+ call s_instability_wave(2 * pi* 4.0 / Lx ,- 2 * pi* 4.0 / Lz ,tr,ti,wave_tmp,2 * pi* 19d0 / 31d0 )
328329 wave2 = wave2 + wave_tmp
329- call s_instability_wave(2 * pi* 2.0 / Ly ,- 2 * pi* 2.0 / Ly ,tr,ti,wave_tmp,2 * pi* 23d0 / 31d0 )
330+ call s_instability_wave(2 * pi* 2.0 / Lx ,- 2 * pi* 2.0 / Lz ,tr,ti,wave_tmp,2 * pi* 23d0 / 31d0 )
330331 wave2 = wave2 + wave_tmp
331- call s_instability_wave(2 * pi* 1.0 / Ly ,- 2 * pi* 1.0 / Ly ,tr,ti,wave_tmp,2 * pi* 29d0 / 31d0 )
332+ call s_instability_wave(2 * pi* 1.0 / Lx ,- 2 * pi* 1.0 / Lz ,tr,ti,wave_tmp,2 * pi* 29d0 / 31d0 )
332333 wave2 = wave2 + wave_tmp
333334 wave = wave + 0.15 * wave2
334335 end if
@@ -346,7 +347,7 @@ contains
346347 end do
347348 end do
348349
349- end subroutine s_superposition_instability_wave ! ----------------------
350+ end subroutine s_superposition_instability_wave ! ----------------------
350351
351352 !> This subroutine computes instability waves for a given set of spatial
352353 !! wavenumbers (alpha, beta) in x and z directions.
@@ -360,7 +361,7 @@ contains
360361 real (kind (0d0 )),dimension (0 :n,0 :n) :: d !< differential operator in y dir
361362 real (kind (0d0 )),dimension (0 :5 * (n+1 )- 1 ,0 :5 * (n+1 )- 1 ) :: ar,ai,br,bi,ci !< matrices for eigenvalue problem
362363 real (kind (0d0 )),dimension (0 :5 * (n+1 )- 1 ,0 :5 * (n+1 )- 1 ) :: zr,zi !< eigenvectors
363- real (kind (0d0 )),dimension (0 :5 * (n+1 )- 1 ) :: wr,wi !< eigenvalues
364+ real (kind (0d0 )),dimension (0 :5 * (n+1 )- 1 ) :: wr,wi !< eigenvalues
364365 real (kind (0d0 )),dimension (0 :5 * (n+1 )- 1 ) :: fv1,fv2,fv3 !< temporary memory
365366 real (kind (0d0 )) :: tr,ti !< most unstable eigenvalue
366367 real (kind (0d0 )),dimension (0 :5 * (n+1 )- 1 ) :: vr,vi,vnr,vni !< most unstable eigenvector and normalized one
@@ -380,9 +381,9 @@ contains
380381
381382 ! Assign mean profiles
382383 do j= 0 ,n
383- u_mean(j)= tanh (y_cc(j))
384- t_mean(j)= 1+0.5 * (gam-1 )* mach** 2 * (1 - u_mean(j)** 2 )
385- rho_mean(j)= 1 / T_mean(j)
384+ u_mean(j)= tanh (y_cc(j))
385+ t_mean(j)= 1+0.5 * (gam-1 )* mach** 2 * (1 - u_mean(j)** 2 )
386+ rho_mean(j)= 1 / T_mean(j)
386387 end do
387388
388389 ! Compute differential operator in y- dir
@@ -393,24 +394,24 @@ contains
393394 d(1 ,0 )=- 1 / (2 * dy)
394395 d(1 ,2 )= 1 / (2 * dy)
395396 do j= 2 ,n-2
396- d(j,j-2 )= 1 / (12 * dy)
397- d(j,j-1 )=- 8 / (12 * dy)
398- d(j,j+1 )= 8 / (12 * dy)
399- d(j,j+2 )=- 1 / (12 * dy)
397+ d(j,j-2 )= 1 / (12 * dy)
398+ d(j,j-1 )=- 8 / (12 * dy)
399+ d(j,j+1 )= 8 / (12 * dy)
400+ d(j,j+2 )=- 1 / (12 * dy)
400401 end do
401402 d(n-1 ,n-2 )=- 1 / (2 * dy)
402403 d(n-1 ,n) = 1 / (2 * dy)
403404
404405 ! Compute y- derivatives of rho, u, T
405406 do j= 0 ,n
406- drho_mean(j)= 0
407- du_mean(j)= 0
408- dt_mean(j)= 0
409- do k= 0 ,n
410- drho_mean(j) = drho_mean(j)+ d(j,k)* rho_mean(k)
411- du_mean(j) = du_mean(j)+ d(j,k)* u_mean(k)
412- dt_mean(j) = dt_mean(j)+ d(j,k)* t_mean(k)
413- end do
407+ drho_mean(j)= 0
408+ du_mean(j)= 0
409+ dt_mean(j)= 0
410+ do k= 0 ,n
411+ drho_mean(j) = drho_mean(j)+ d(j,k)* rho_mean(k)
412+ du_mean(j) = du_mean(j)+ d(j,k)* u_mean(k)
413+ dt_mean(j) = dt_mean(j)+ d(j,k)* t_mean(k)
414+ end do
414415 end do
415416
416417 ! Compute B and C, then A = B + C
@@ -455,7 +456,7 @@ contains
455456
456457 ! Compute eigenvalues and eigenvectors
457458 call cg(5 * (n+1 ),5 * (n+1 ),ar,ai,wr,wi,zr,zi,fv1,fv2,fv3,ierr)
458-
459+
459460 ! Generate instability wave
460461 call s_generate_wave(5 * (n+1 ),wr,wi,zr,zi,alpha,beta,wave,shift)
461462
@@ -485,9 +486,9 @@ contains
485486 end do
486487 vr = zr(:,k)
487488 vi = zi(:,k)
488-
489+
489490 ! Normalize the eigenvector by its component with the largest modulus.
490- norm = 0d0
491+ norm = 0d0
491492 do i= 0 ,nl-1
492493 if (dsqrt(vr(i)** 2 + vi(i)** 2 ) .gt. norm) then
493494 idx = i
@@ -502,7 +503,7 @@ contains
502503 vnr(i) = cr
503504 vni(i) = ci
504505 end do
505-
506+
506507 ! Generate an instability wave
507508 do i= 0 ,m
508509 do j= 0 ,n
@@ -512,17 +513,17 @@ contains
512513 else
513514 ang = alpha* x_cc(i)+ beta* z_cc(k)+ shift
514515 end if
515- wave(1 ,i,j,k) = vnr(j)* cos (ang)- vni(j)* sin (ang) ! rho
516- wave(2 ,i,j,k) = vnr((n+1 )+ j)* cos (ang)- vni((n+1 )+ j)* sin (ang) ! u
517- wave(3 ,i,j,k) = vnr(2 * (n+1 )+ j)* cos (ang)- vni(2 * (n+1 )+ j)* sin (ang) ! v
518- wave(4 ,i,j,k) = vnr(3 * (n+1 )+ j)* cos (ang)- vni(3 * (n+1 )+ j)* sin (ang) ! w
519- wave(5 ,i,j,k) = vnr(4 * (n+1 )+ j)* cos (ang)- vni(4 * (n+1 )+ j)* sin (ang) ! T
516+ wave(1 ,i,j,k) = vnr(j)* cos (ang)- vni(j)* sin (ang) ! rho
517+ wave(2 ,i,j,k) = vnr((n+1 )+ j)* cos (ang)- vni((n+1 )+ j)* sin (ang) ! u
518+ wave(3 ,i,j,k) = vnr(2 * (n+1 )+ j)* cos (ang)- vni(2 * (n+1 )+ j)* sin (ang) ! v
519+ wave(4 ,i,j,k) = vnr(3 * (n+1 )+ j)* cos (ang)- vni(3 * (n+1 )+ j)* sin (ang) ! w
520+ wave(5 ,i,j,k) = vnr(4 * (n+1 )+ j)* cos (ang)- vni(4 * (n+1 )+ j)* sin (ang) ! T
520521 end do
521522 end do
522523 end do
523-
524- end subroutine s_generate_wave
525-
524+
525+ end subroutine s_generate_wave
526+
526527 !> Deallocation procedures for the module
527528 subroutine s_finalize_initial_condition_module () ! ---------------------
528529
0 commit comments