Exemplo n.º 1
0
 def testNodes(self):
     # Test if node values are returned when the interpolating grid
     # is exactly along the nodes
     for i in range(lcgrid):
         cgrid[i] = i + 1
     flag = fittogrid.fittogrid_func(datain, cgrid, interp, dataout, nthreads, 0)
     self.assertEqual(flag, 0)
     for i in range(lcgrid):
         self.assertAlmostEqual(dataout.GetVal(0, 0, i), datain.GetVal(0, 0, 0, i))
Exemplo n.º 2
0
 def testNodes(self):
     # Test if node values are returned when the interpolating grid
     # is exactly along the nodes
     for i in range(lcgrid):
         cgrid[i] = i + 1
     flag = fittogrid.fittogrid_func(datain, cgrid, interp, dataout,
                                     nthreads, 0)
     self.assertEqual(flag, 0)
     for i in range(lcgrid):
         self.assertAlmostEqual(dataout.GetVal(0, 0, i),
                                datain.GetVal(0, 0, 0, i))
Exemplo n.º 3
0
 def testExtrap2(self):
     # Test if extrapolation caught and data is correctly extrapolated (extrap = off)
     for i in range(lcgrid - 2):
         cgrid[i+1] = i + 2
     cgrid[0] = 0
     cgrid[lcgrid-1] = 11
     flag = fittogrid.fittogrid_func(datain, cgrid, interp, dataout, nthreads, 0)
     self.assertEqual(flag, 1)
     for i in range(lcgrid - 2):
         self.assertAlmostEqual(dataout.GetVal(0, 0, i+1), datain.GetVal(0, 0, 0, i+1))
     self.assertEqual(dataout.GetVal(0, 0, 0), 0)
     self.assertEqual(dataout.GetVal(0, 0, lcgrid-1), 0)
Exemplo n.º 4
0
 def testExtrap2(self):
     # Test if extrapolation caught and data is correctly extrapolated (extrap = off)
     for i in range(lcgrid - 2):
         cgrid[i + 1] = i + 2
     cgrid[0] = 0
     cgrid[lcgrid - 1] = 11
     flag = fittogrid.fittogrid_func(datain, cgrid, interp, dataout,
                                     nthreads, 0)
     self.assertEqual(flag, 1)
     for i in range(lcgrid - 2):
         self.assertAlmostEqual(dataout.GetVal(0, 0, i + 1),
                                datain.GetVal(0, 0, 0, i + 1))
     self.assertEqual(dataout.GetVal(0, 0, 0), 0)
     self.assertEqual(dataout.GetVal(0, 0, lcgrid - 1), 0)
Exemplo n.º 5
0
# Fill cgrid with numbers
for i in range(0, lcgrid):
    cgrid[i] = 2.5 + i / 2.0

# Print the input w~ and c~
dummy = "wc"
for i in range(0, 2):
    print "%c~ is:" % dummy[i]
    for j in range(0, dim4):
        print "%6.3f" % datain.GetVal(i, 0, 0, j),
    print ""

# Print cgrid
print "cgrid is:"
for i in range(0, lcgrid):
    print "%6.3f" % cgrid[i],
print ""

# Interpolate w~ along the cgrid
flag = fittogrid.fittogrid_func(datain, cgrid, interp, dataout)
if flag == 1:
    print "Interpolation failed: interpolation value out of bounds"
    exit()

# Print w~ values interpolated along cgrid
print "w~ inteprolated along cgrid is:"
for i in range(0, lcgrid):
    print "%6.3f " % dataout.GetVal(0, 0, i),
print ""
Exemplo n.º 6
0
for i in range(0, lcgrid):
	cgrid[i] = 2.5 + i/2.0
	
# Print the input w~ and c~
dummy = "wc"
for i in range(0, 2):
	print "%c~ is:" % dummy[i]
	for j in range(0, dim4):
		print "%6.3f" % datain.GetVal(i, 0, 0, j),
	print ""

	
# Print cgrid
print "cgrid is:"
for i in range(0, lcgrid):
	print "%6.3f" % cgrid[i],
print ""
		
# Interpolate w~ along the cgrid
flag = fittogrid.fittogrid_func(datain, cgrid, interp, dataout)
if flag == 1:
	print "Interpolation failed: interpolation value out of bounds"
	exit()
	
# Print w~ values interpolated along cgrid
print "w~ inteprolated along cgrid is:"
for i in range(0, lcgrid):
	print "%6.3f " % dataout.GetVal(0, 0, i),
print ""
	
Exemplo n.º 7
0
            for k in range(ZvarPoints):
                if i == 0:
                    datain.SetVal(i,j,k,l,convolutedST[l].GetVal(k,j))
                if i == 1:
                    datain.SetVal(i,j,k,l,convolutedC[l].GetVal(k,j))

# Run fit to grid and print results
if options["gridextrapolate"][0] == 'yes':
    extrap = 1
    print("WARNING: extrapolating to fit to cgrid (may take minutes)")
elif options["gridextrapolate"][0] == 'no':
    extrap = 0
    print("No extrapolation used to fit to grid")
else:
    raise IOError ("must say <yes> or <no> for extrapolate in fittogrid:")
f2gflag = fittogrid.fittogrid_func(datain, cgrid, interp, dataout, int(options["nothreads"][0]), extrap)    
FinalData = np.zeros((lcgrid, dim2, dim3))
f = open("".join(["output/",options["OutputFile"][0]]),'w')
f.write('C        \tZmean      \tZvar      \tSourceTerm \n')
for j in range(lcgrid):
    for i in range(dim2):
        for k in range(dim3):
            FinalData[j,i,k] = dataout.GetVal(i,k,j)
            f.write('%8.5g\t %8.5g\t %8.5g\t %g\n' % (cgrid[j], Zmean[i], Zvar[k], FinalData[j,i,k]))
f.close()
print "\nFinal data written to file: output/%s" % options["OutputFile"][0]

# Create contour plots of the chemical source term
noplots = 10
if ZvarPoints > (noplots + 1):
    plots = range(noplots)
Exemplo n.º 8
0
            for k in range(ZvarPoints):
                if i == 0:
                    datain.SetVal(i, j, k, l, convolutedST[l].GetVal(k, j))
                if i == 1:
                    datain.SetVal(i, j, k, l, convolutedC[l].GetVal(k, j))

# Run fit to grid and print results
if options["gridextrapolate"][0] == 'yes':
    extrap = 1
    print("WARNING: extrapolating to fit to cgrid (may take minutes)")
elif options["gridextrapolate"][0] == 'no':
    extrap = 0
    print("No extrapolation used to fit to grid")
else:
    raise IOError("must say <yes> or <no> for extrapolate in fittogrid:")
f2gflag = fittogrid.fittogrid_func(datain, cgrid, interp, dataout,
                                   int(options["nothreads"][0]), extrap)
FinalData = np.zeros((lcgrid, dim2, dim3))
f = open("".join(["output/", options["OutputFile"][0]]), 'w')
f.write('C        \tZmean      \tZvar      \tSourceTerm \n')
for j in range(lcgrid):
    for i in range(dim2):
        for k in range(dim3):
            FinalData[j, i, k] = dataout.GetVal(i, k, j)
            f.write('%8.5g\t %8.5g\t %8.5g\t %g\n' %
                    (cgrid[j], Zmean[i], Zvar[k], FinalData[j, i, k]))
f.close()
print "\nFinal data written to file: output/%s" % options["OutputFile"][0]

# Create contour plots of the chemical source term
noplots = 10
if ZvarPoints > (noplots + 1):