wiki:u/bliu/pnMapping

Version 22 (modified by Baowei Liu, 3 years ago) ( diff )

3.1.2022

New Data new Scales

logRho_scaled XY
logRho_scaled XZ
logRho_scaled YZ

2.28.2022

New Data long run

High CFL

Mass =       0.591509E+15
Position =       0.000000E+00      0.000000E+00      0.000000E+00
 Initializing Grids on level           0
 Initializing Grids on level           1
 Initializing Grids on level           2
 level          -2
 level          -1
 level           0
 level           1
 level           2
Time to make output file    0:  12.3188 seconds.
High hydro CFL (  0.91E+09 >   0.10E+01) found at position ( -0.7008E+04,  -0.6961E+04,  -0.4141E+03) on processor      3, due to a maxspeed of   0.21E+14 - Restarting Step
High hydro CFL (  0.74E+05 >   0.10E+01) found at position ( -0.3164E+03,   0.5859E+02,  -0.2617E+03) on processor     17, due to a maxspeed of   0.17E+10 - Restarting Step
High hydro CFL (  0.77E+06 >   0.10E+01) found at position (  0.2285E+03,   0.2988E+03,  -0.9766E+01) on processor     87, due to a maxspeed of   0.18E+11 - Restarting Step
 Info allocations    =    12.4 gb  195.5 mb
 message allocations =   ------     52.4 mb
 sweep allocations   =   ------    248.9 mb
logRho_scaled XZ
logRho_scaled YZ
       CALL CreateOutflow(Particle%OutflowObj)
       call addtracer(particle%outflowobj%iTracer,'Outflow_Tracer')
       Particle%OutflowObj%duration=3e9/timescale
       Particle%OutflowObj%radius=REAL(radiusw,qPREC)*sink_dx
       Particle%OutflowObj%thickness=REAL(radiusw,qPREC)*sink_dx
       Particle%OutflowObj%open_angle=Pi/2
       Particle%OutflowObj%theta=0
       Particle%OutflowObj%phi=0
       Particle%OutflowObj%density=outflowdensity/rscale
       Particle%OutflowObj%temperature=30000/tempscale
       Particle%OutflowObj%speed=0/velscale
       Particle%OutflowObj%fade=0d0
       Particle%OutflowObj%velocity(1:nDim)=Particle%Q(imom(1:nDim))
       Particle%OutflowObj%position= Particle%xloc
       Particle%OutflowObj%begin=-1d0
       CALL UpdateOutflow(Particle%OutflowObj)

2.14.2022

New Data short run

ass =       0.591509E+15
Position =       0.000000E+00      0.000000E+00      0.000000E+00
 Initializing Grids on level           0
 Initializing Grids on level           1
 Initializing Grids on level           2
 level          -2
 level          -1
 level           0
 level           1
 level           2
Time to make output file    0:  12.7837 seconds.
 Advanced level  0 to tnext= 0.2000E-06 with dt= 0.2000E-06 CFL= 0.3727E-01 max speed= 0.8736E+07
 particle_speed= 0.0000E+00
   Advanced level  1 to tnext= 0.1000E-06 with dt= 0.1000E-06 CFL= 0.3797E-01 max speed= 0.8900E+
07 particle_speed= 0.0000E+00
     Advanced level  2 to tnext= 0.5000E-07 with dt= 0.5000E-07 CFL= 0.3871E-01 max speed= 0.9073
E+07 particle_speed= 0.0000E+00
     Advanced level  2 to tnext= 0.1000E-06 with dt= 0.5000E-07 CFL= 0.3929E-01 max speed= 0.9208
E+07 particle_speed= 0.0000E+00
   Advanced level  1 to tnext= 0.2000E-06 with dt= 0.1000E-06 CFL= 0.3913E-01 max speed= 0.9172E+
07 particle_speed= 0.0000E+00

logRho_scaled XZ
logRho_scaled YZ

New scaling parameters converting Phantom Units to astrobear CU

!    a(:,:,:,5)=a(:,:,:,5)*a(:,:,:,1)*1.907e15*efact / pscale !< rescale internal energy for simulation gamma
    a(:,:,:,1)=a(:,:,:,1)*5.901/rscale
    a(:,:,:,5)=a(:,:,:,5)*1.907e15*a(:,:,:,1)*efact / pscale !< rescale internal energy for simulation gamma !! moved from top by B.Liu, 1.12.2022
    a(:,:,:,2:4)=a(:,:,:,2:4)*4.367e7/velscale * spread(a(:,:,:,1),4,3)
    a(:,:,:,5)=a(:,:,:,5)+.5*sum(a(:,:,:,2:4)**2,4)/a(:,:,:,1)

    ! Calculate overlap
    mb(:,2)=min(ibox(:,2), info%mglobal(:,2))

12.06.2021

1. old data run revised

added gridsData namelist (largeGridSize, mediumGridSize, smallGridSize, gridPos(3))

&GridsData
largeGridSize   = 64000d0
mediumGridSize  = 4000d0
smallGridSize   = 750d0
gridPos         = 750d0,750d0,0d0 

old data with new AMR7 as 500

2. New Data lattice

large grid cell: 2.4e4/512=46.875; 1.4e4/299 = 46.8227424749
medium grid cell: 1e4/512=19.53125
small grid cell: 5e3/512 = 9.765625

cell ratio:

large grid: ~4.8 
medium grid: 2
small grid: 1

2. Old Data lattice

cell ratio:

large grid: 0 AMR level: 1/1
medium grid: 4 AMR level: 1/16
small grid: 7 AMR level: 1/128

9.21.2021 New Phantom data from Orsola

1. Dimensions

A small correction.
The resolution of the three boxes is:

Grid 1 (r+g+b): 512x512x299

Grid 2 (g+b): 512x512x512

Grid 3 (b): 512x512x512

Grid 1:

# SPLASH: A visualisation tool for SPH data (c)2004-2021 Daniel Price and contributors
# binary_08000_density_grid.dat produced using "splash to grid" on file binary_08000
#
# time:
#   2.0201106E+01
#
# xmin,xmax,ymin,ymax,zmin,zmax:
#  -1.2000000E+04   1.2000000E+04  -1.2000000E+04   1.2000000E+04  -7.0000000E+03   7.0000000E+03
#
# file contains:
# density interpolated to 3D cartesian   x,y,z grid 
#
# written in the form: 
#   do k=1,nz
#      do j=1,ny
#         write(*,*) (dat(i,j,k),i=1,nx)
#      enddo
#   enddo
#
# grid dimensions:
# nx   ny   nz
         512         512         299

Grid 2:

# SPLASH: A visualisation tool for SPH data (c)2004-2021 Daniel Price and contributors
# binary_08000_density_grid.dat produced using "splash to grid" on file binary_08000
#
# time:
#   2.0201106E+01
#
# xmin,xmax,ymin,ymax,zmin,zmax:
#  -5.0000000E+03   5.0000000E+03  -5.0000000E+03   5.0000000E+03  -5.0000000E+03   5.0000000E+03
#
# file contains:
# density interpolated to 3D cartesian   x,y,z grid 
#
# written in the form: 
#   do k=1,nz
#      do j=1,ny
#         write(*,*) (dat(i,j,k),i=1,nx)
#      enddo
#   enddo
#
# grid dimensions:
# nx   ny   nz
         512         512         512

Grid 3:

# SPLASH: A visualisation tool for SPH data (c)2004-2021 Daniel Price and contributors
# binary_08000_density_grid.dat produced using "splash to grid" on file binary_08000
#
# time:
#   2.0201106E+01
#
# xmin,xmax,ymin,ymax,zmin,zmax:
#  -2.5000000E+03   2.5000000E+03  -2.5000000E+03   2.5000000E+03  -2.5000000E+03   2.5000000E+03
#
# file contains:
# density interpolated to 3D cartesian   x,y,z grid 
#
# written in the form: 
#   do k=1,nz
#      do j=1,ny
#         write(*,*) (dat(i,j,k),i=1,nx)
#      enddo
#   enddo
#
# grid dimensions:
# nx   ny   nz
         512         512         512

2. scales

Phantom units Conversion factor
Length 6.960E+10 cm
Mass 1.989E+33 g
Density 5.901E+00g/cm3
Velocity 4.367E+07 cm/s

3. Figures

http://www.pas.rochester.edu/~bliu/pnMapping/newData/newData_fig1.png http://www.pas.rochester.edu/~bliu/pnMapping/newData/newData_fig2.png http://www.pas.rochester.edu/~bliu/pnMapping/newData/newData_fig3.png

9.13.2021 Old data mapping and Simulations

1. Phantom data

Large grid:

# SPLASH: A visualisation tool for SPH data (c)2004-2014 Daniel Price
# time:
#   1.5868375E+01
#
# file contains:
# density [g/cm\u3\d] interpolated to 3D grid 
#
# written in the form: 
#   do k=1,nz
#      do j=1,ny
#         write(*,*) (dat(i,j,k),i=1,nx)
#      enddo
#   enddo
#
# grid dimensions:
# nx    ny    nz
         128         128         128

Medium grid:

#
# grid dimensions:
# nx    ny    nz
         128         128         128

Small grid

# grid dimensions:
# nx    ny    nz
         192         192         192


Details density large grid density medium grid density small grid

2. Parameters and Mapping code in Astrobear

!=============================================================================================
! Parameters Related to Space
!=============================================================================================
nDim     = 3                            ! number of dimensions for this problem (1-3)
GmX      = 128,128,128                  ! Base grid resolution [x,y,z]
MaxLevel = 7                            ! Maximum level for this simulation (0 is fixed grid)
LastStaticLevel = 0                     ! Use static AMR for levels through LastStaticLevel [-1]
GxBounds = -64000d0,-64000d0,-64000d0,64000d0,64000d0,64000d0   ! Problem boundaries in computational units,format: 
                                        ! (xlower, ylower, zlower, xupper, yupper, zupper)
                                        ! For 2D problems, set zlower and zupper to 0.d0.
SUBROUTINE ProblemModuleInit()
    INTEGER :: n,i,j,k,edge
    real(KIND=qPREC) :: rhoambient,pambient,mass,xloc(3),vel(3),alpha,radiusw
    integer :: grav_soft_rad
    TYPE(ProjectionDef), POINTER :: Projection
    NAMELIST/AmbientData/ rhoambient,pambient
    NAMELIST /ParticleData/ mass,xloc,vel,alpha,radiusw,grav_soft_rad
    NAMELIST/ProblemData/ outflowstarttime, outflowendtime, outflowdensity, mintracer
    open(unit=problem_data_handle,file='problem.data',status='old')
    read(problem_data_handle,nml=ProblemData)

    ! Make sure interpopts starts at zero for initial grid setup
    if (.not. lRestart) then
        InterpOpts=0
        MinDensity=4d-6  ! << set mindensity higher to overwrite the odd spherical region, change to 1d-10 later in ProblemBeforeGlobalStep 
        MinTemp=20       ! << set mintemp higher for frame 0, change to 10 later in ProblemBeforeGlobalStep 
    end if

    if (lRestart) then
        particle=>SinkParticles%self                ! handle to the particle 
        Call addtracer(particle%outflowobj%iTracer,'Outflow_Tracer')  ! <<< tracers need to be added in the same order when the code is restarted, but don't re-creat the particle - or the outflow object   
    end if

    ! Physical bounds of boxes
    box_0=64000*reshape((/-1,-1,-1,1,1,1/),(/3,2/))
    box_4=4000*reshape((/-1,-1,-1,1,1,1/),(/3,2/))
    box_7=750*reshape((/-1,-1,-1,1,1,1/),(/3,2/))

    ! index of boxes in each level's index space
    ibox_0=nint(box_0-spread(GxBounds(:,1),2,2))/levels(0)%dx + spread((/1,0/),1,3)
    if (maxlevel >= 4) then
       ibox_4=nint(box_4-spread(GxBounds(:,1),2,2))/levels(4)%dx + spread((/1,0/),1,3)
       if (maxlevel >= 7) then
          ibox_7=nint(box_7-spread(GxBounds(:,1),2,2))/levels(7)%dx + spread((/1,0/),1,3)
       end if
    end if

    CALL CreateRefinement(RefineJet)
    CALL CreateShape(RefineJet%shape, RECTANGULAR_PRISM, (/750d0,750d0,0d0/)) !position defaults to 0,0,0
    RefineJet%type=REFINE_INSIDE

    nx=Info%mx(1)
    ny=Info%mx(2)
    nz=Info%mx(3)
    IF (lRestart) RETURN
    IF (.NOT. ANY(Info%level == (/0,4,7/))) RETURN
    SELECT CASE(Info%level)
    CASE(0)
       open(unit=195,file='density_grid1.dat',status='old',form='formatted',action='read')
       open(unit=196,file='v_x_grid1.dat',status='old',form='formatted',action='read')
       open(unit=197,file='v_y_grid1.dat',status='old',form='formatted',action='read')
       open(unit=198,file='v_z_grid1.dat',status='old',form='formatted',action='read')
       open(unit=199,file='NewLargeGrid_u_erg_g_grid.dat',status='old',form='formatted',action='read')
       ibox=ibox_0
    CASE(4)
       open(unit=195,file='density_grid2.dat',status='old',form='formatted',action='read')
       open(unit=196,file='v_x_grid2.dat',status='old',form='formatted',action='read')
       open(unit=197,file='v_y_grid2.dat',status='old',form='formatted',action='read')
       open(unit=198,file='v_z_grid2.dat',status='old',form='formatted',action='read')
       open(unit=199,file='NewMedGrid_u_erg_g_grid.dat',status='old',form='formatted',action='read')
       ibox=ibox_4
    CASE(7)
       open(unit=195,file='density_grid3.dat',status='old',form='formatted',action='read')
       open(unit=196,file='v_x_grid3.dat',status='old',form='formatted',action='read')
       open(unit=197,file='v_y_grid3.dat',status='old',form='formatted',action='read')
       open(unit=198,file='v_z_grid3.dat',status='old',form='formatted',action='read')
       open(unit=199,file='NewSmallGrid_u_erg_g_grid.dat',status='old',form='formatted',action='read')
       ibox=ibox_7
    END SELECT

   do i=1,19  !< Reads the first 19 lines from each file - presumably containing meta data
       read(195,*)
       read(196,*)
       read(197,*)
       read(198,*)
       read(199,*)
    end do


    ! Allocate space to store local box
    allocate(a(ibox(1,1):ibox(1,2), ibox(2,1):ibox(2,2), ibox(3,1):ibox(3,2), 5))

    ! Read in data
    read(195,*),a(:,:,:,1) !< must be density in g
    read(196,*),a(:,:,:,2) !< x-velocity in cm/s
    read(197,*),a(:,:,:,3) !< y-velocity in cm/s
    read(198,*),a(:,:,:,4) !< z-velocity in cm/s
    read(199,*),a(:,:,:,5) !< internal energy in erg/g
    close(195)
    close(196)
    close(197)
    close(198)
    close(199)

    a(:,:,:,5)=a(:,:,:,5)*a(:,:,:,1)*efact / pscale !< rescale internal energy for simulation gamma
    a(:,:,:,1)=a(:,:,:,1)/rscale
    a(:,:,:,2:4)=a(:,:,:,2:4)/velscale * spread(a(:,:,:,1),4,3)
    a(:,:,:,5)=a(:,:,:,5)+.5*sum(a(:,:,:,2:4)**2,4)/a(:,:,:,1)

    ! Calculate overlap
    mb(:,2)=min(ibox(:,2), info%mglobal(:,2))
    mb(:,1)=max(ibox(:,1), info%mglobal(:,1))
    mc=mb-spread(info%mglobal(:,1),2,2)+1

    ! Update Info%q
    Info%q(mc(1,1):mc(1,2), mc(2,1):mc(2,2), mc(3,1):mc(3,2),1:5)=a(mb(1,1):mb(1,2), mb(2,1):mb(2,2), mb(3,1):mb(3,2), :)
    deallocate(a)


Details problem.f90 global.data physics.data problem.data

3. output from AstroBear

(z,x,y)

Attachments (2)

Note: See TracWiki for help on using the wiki.