Guest User

Simulation_initBlok.F90

a guest
Jun 24th, 2014
262
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   if (NDIM == 1 .AND. meshGeom == SPHERICAL) then
  2.  
  3.      call Grid_getCellCoords(IAXIS,blockID, CENTER, .true.,xCenter,iSizeGC)
  4.      call Grid_getCellCoords(IAXIS,blockID,LEFT_EDGE, .true.,xLeft, iSizeGC)
  5.      call Grid_getCellCoords(IAXIS,blockID,RIGHT_EDGE,.true.,xRight,iSizeGC)
  6.  
  7.      do k = blkLimits(LOW,KAXIS),blkLimits(HIGH,KAXIS)
  8.         do j = blkLimits(LOW,JAXIS),blkLimits(HIGH,JAXIS)
  9.            do i = blkLimits(LOW,IAXIS),blkLimits(HIGH,IAXIS)
  10.  
  11.               ! the interpolation will be done using the parabolic interpolation
  12.               ! routine
  13.               if (xCenter(i) <= xzn(n1d_total)) then
  14.                  do ivar = 1, NUNK_VARS
  15.                     call parabolic_interp(xzn, model_1d(:,ivar), &
  16.                          n1d_total, xLeft(i), xCenter(i), xRight(i), var_interp)
  17.                     solnData(ivar,i,j,k) = var_interp
  18.                  end do
  19.               else
  20.                  call Driver_abortFlash("Beyond the 1D model data")
  21.               endif
  22.               ! multiply initial radial velocity, if desired
  23.               solnData(VELX_VAR,i,j,k) = sim_velMult*solnData(VELX_VAR,i,j,k)
  24.  
  25.               sumY = 1.0
  26.  
  27. #ifdef FLASH_MULTISPECIES
  28.               sum = 0.e0
  29.               do n = SPECIES_BEGIN,SPECIES_END
  30.                  solnData(n,i,j,k) = &
  31.                       max(sim_smallx, &
  32.                       min(1.e0,solnData(n,i,j,k)))
  33.                  sum = sum + solnData(n,i,j,k)
  34.               enddo
  35.               suminv = 1.e0 / sum
  36.               do n = SPECIES_BEGIN, SPECIES_END
  37.                  solnData(n,i,j,k) =  &
  38.                       max(sim_smallx, min(1.e0,suminv*&
  39.                       solnData(n,i,j,k)))
  40.               enddo
  41.               call Multispecies_getSumInv(A,sumY,solnData(SPECIES_BEGIN:SPECIES_END,i,j,k))
  42. #endif
  43. #ifdef SUMY_MSCALAR
  44.               solnData(SUMY_MSCALAR,i,j,k) = sumY
  45. #endif
  46.            axis(IAXIS) = i
  47.            axis(JAXIS) = j
  48.            axis(KAXIS) = k
  49.  
  50.            call RadTrans_mgdEFromT(blockId, axis, 11604.55, tradActual)
  51.            call Grid_putPointData(blockId, CENTER, TRAD_VAR, EXTERIOR, axis,tradActual)
  52.  
  53.            enddo
  54.         enddo
  55.      enddo
  56.  
  57.   endif
Advertisement
Add Comment
Please, Sign In to add comment