Пример #1
0
#X3Start = 0.; X3End = 1.
Rin = 0.98 * (1. + np.sqrt(1. - blackHoleSpin * blackHoleSpin))
Rout = 40.

X1Start = np.log(Rin)
X1End = np.log(Rout)
X2Start = 1e-8
X2End = 1. - 1e-8
X3Start = 0.
X3End = 2. * np.pi
periodicBoundariesX1 = False
periodicBoundariesX2 = False
periodicBoundariesX3 = False

numVars = 10
prim = gridPy.gridPy(N1, N2, N3, dim, numVars, numGhost, periodicBoundariesX1,
                     periodicBoundariesX2, periodicBoundariesX3)
fluxesX1 = gridPy.gridPy(N1, N2, N3, dim, numVars, numGhost,
                         periodicBoundariesX1, periodicBoundariesX2,
                         periodicBoundariesX3)

XCoords = gridPy.coordinatesGridPy(N1, N2, N3, dim, numGhost, X1Start, X1End,
                                   X2Start, X2End, X3Start, X3End)
X1Coords, X2Coords, X3Coords = XCoords.getCoords(gridPy.CENTER)

geom = geometryPy.geometryPy(geometryPy.MODIFIED_KERR_SCHILD, blackHoleSpin,
                             hSlope, XCoords)
elem = physicsPy.fluidElementPy(prim, geom)
numReads, numWrites = elem.computeFluxes(gridPy.X1, fluxesX1)
print "numReads = ", numReads, " numWrites = ", numWrites
Пример #2
0
X2Start = 0.; X2End = 1.
X3Start = 0.; X3End = 1.
periodicBoundariesX1 = False
periodicBoundariesX2 = False
periodicBoundariesX3 = False

XCoords = gridPy.coordinatesGridPy(N1, N2, N3,
                                   dim, numGhost,
                                   X1Start, X1End,
                                   X2Start, X2End,
                                   X3Start, X3End
                                  )
X1Coords, X2Coords, X3Coords = XCoords.getCoords(gridPy.CENTER)

geomMinkowski = geometryPy.geometryPy(geometryPy.MINKOWSKI,
                                      0., 0.,
                                      XCoords
                                     )

def test_minkowski_params():
  np.testing.assert_equal(N1,       geomMinkowski.N1)
  np.testing.assert_equal(N2,       geomMinkowski.N2)
  np.testing.assert_equal(N3,       geomMinkowski.N3)
  np.testing.assert_equal(dim,      geomMinkowski.dim)
  np.testing.assert_equal(numGhost, geomMinkowski.numGhost)

def test_minkowski_gCov():
  np.testing.assert_allclose(geomMinkowski.gCov[0][0], -1.)
  np.testing.assert_allclose(geomMinkowski.gCov[0][1],  0.)
  np.testing.assert_allclose(geomMinkowski.gCov[0][2],  0.)
  np.testing.assert_allclose(geomMinkowski.gCov[0][3],  0.)
  np.testing.assert_allclose(geomMinkowski.gCov[1][0],  0.)
Пример #3
0
numGhost = 3
X1Start = 0.
X1End = 1.
X2Start = 0.
X2End = 1.
X3Start = 0.
X3End = 1.
periodicBoundariesX1 = False
periodicBoundariesX2 = False
periodicBoundariesX3 = False

XCoords = gridPy.coordinatesGridPy(N1, N2, N3, dim, numGhost, X1Start, X1End,
                                   X2Start, X2End, X3Start, X3End)
X1Coords, X2Coords, X3Coords = XCoords.getCoords(gridPy.CENTER)

geomMinkowski = geometryPy.geometryPy(geometryPy.MINKOWSKI, 0., 0., XCoords)


def test_minkowski_params():
    np.testing.assert_equal(N1, geomMinkowski.N1)
    np.testing.assert_equal(N2, geomMinkowski.N2)
    np.testing.assert_equal(N3, geomMinkowski.N3)
    np.testing.assert_equal(dim, geomMinkowski.dim)
    np.testing.assert_equal(numGhost, geomMinkowski.numGhost)


def test_minkowski_gCov():
    np.testing.assert_allclose(geomMinkowski.gCov[0][0], -1.)
    np.testing.assert_allclose(geomMinkowski.gCov[0][1], 0.)
    np.testing.assert_allclose(geomMinkowski.gCov[0][2], 0.)
    np.testing.assert_allclose(geomMinkowski.gCov[0][3], 0.)
Пример #4
0
numVars=10
prim = gridPy.gridPy(N1, N2, N3, 
                     dim, numVars, numGhost,
                     periodicBoundariesX1,
                     periodicBoundariesX2,
                     periodicBoundariesX3
                    )
fluxesX1 = gridPy.gridPy(N1, N2, N3, 
                     dim, numVars, numGhost,
                     periodicBoundariesX1,
                     periodicBoundariesX2,
                     periodicBoundariesX3
                    )

XCoords = gridPy.coordinatesGridPy(N1, N2, N3,
                                   dim, numGhost,
                                   X1Start, X1End,
                                   X2Start, X2End,
                                   X3Start, X3End
                                  )
X1Coords, X2Coords, X3Coords = XCoords.getCoords(gridPy.CENTER)

geom = geometryPy.geometryPy(geometryPy.MODIFIED_KERR_SCHILD,
                             blackHoleSpin, hSlope,
                             XCoords
                            )
elem = physicsPy.fluidElementPy(prim, geom)
numReads, numWrites = elem.computeFluxes(gridPy.X1, fluxesX1)
print "numReads = ", numReads, " numWrites = ", numWrites