Script mode examplesΒΆ

Examples of using the script mode of postgkyl.

Simple loading of data in grids:

import postgkyl as pg

def func_data(ionDensityData):
        ionDensityInterp = pg.data.GInterpModal(ionDensityData, 1, 'ms')
        interpGrid, ionDensityValues = ionDensityInterp.interpolate()

        # get cell center coordinates
        CCC = []
        for j in range(0,len(interpGrid)):
            CCC.append((interpGrid[j][1:] + interpGrid[j][:-1])/2)

        x_vals = CCC[0]
        y_vals = CCC[1]
        z_vals = CCC[2]
        X, Y = np.meshgrid(x_vals, y_vals)
        ionDensityGrid = np.transpose(ionDensityValues[:,:,z_slice,0])
        return x_vals,y_vals,X,Y,ionDensityGrid

ionDensity=DIR+'<filename>_ion_GkM0_%d'%data_num[i]+'.bp'
ionDensityData = pg.data.GData(ionDensity)

x_vals,y_vals,X,Y,ionDensityGrid = func_data(ionDensityData)

Evaluating derivative of data on grids:

import postgkyl as pg

def func_data(phiData):
        phiInterp = pg.data.GInterpModal(phiData, 1, 'ms')
        interpGrid, phiValues = phiInterp.interpolate()

        exValues = - np.gradient(phiValues,dx,axis = 0)
        dexdxValues = np.gradient(exValues,dx,axis = 0)
        eyValues = - np.gradient(phiValues,dy,axis = 1)

        # get cell center coordinates
        CCC = []
        for j in range(0,len(interpGrid)):
            CCC.append((interpGrid[j][1:] + interpGrid[j][:-1])/2)

        x_vals = CCC[0]
        y_vals = CCC[1]
        z_vals = CCC[2]
        X, Y = np.meshgrid(x_vals, y_vals)
        exGrid = np.transpose(exValues[:,:,z_slice,0])
        eyGrid = np.transpose(eyValues[:,:,z_slice,0])
        dexdxGrid = np.transpose(dexdxValues[:,:,z_slice,0])

        return x_vals,y_vals,X,Y,exGrid,eyGrid,dexdxGrid

phi=DIR+'<filename>_phi_%d'%data_num[i]+'.bp'
phiData = pg.data.GData(phi)

x_vals,y_vals,X,Y,exGrid,eyGrid,dexdxGrid = func_data(phiData)