示例#1
0
    # 			z[n+1] = (R+dR)*   np.cos(thM)

    # 			n=n+2

    dPhiStr = "Phi-%f" % (PhiC)

    DefineScalarExpression("dPhi", dPhiStr)

    print("Generating %d streamlines\n" % (Np))

    #Add phi slice
    #pyv.lfmPCol(db,"dBz",vBds=(-dBzMax,dBzMax),Inv=True,pcOpac=pcOpacP,Light=False,Legend=False)
    pyv.lfmPCol(db,
                "Bmag",
                vBds=(1, 500),
                cMap="viridis",
                Log=True,
                pcOpac=pcOpacP,
                Light=False,
                Legend=False)

    AddOperator("Slice")
    sOps = GetOperatorOptions(0)
    sOps.axisType = 4
    sOps.project2d = 0
    sOps.phi = 0
    sOps.theta = PhiC
    SetOperatorOptions(sOps)

    #Block out central cutout
    AddPlot("Contour", "RadAll")
    cOps = GetPlotOptions()
示例#2
0
#Now do visit initialization
if (Quiet):
    LaunchNowin()
else:
    Launch()

#Do some defaults
pyv.lfmExprsEB()
pyv.pvInit()

#Field data
OpenDatabase(SrcF)
pyv.lfmPCol(SrcF,
            "Bmag",
            vBds=[1, 500],
            cMap=SlcCmap,
            pcOpac=0.85,
            Legend=False,
            Log=True)

AddOperator("Slice")
sOp = GetOperatorOptions(0)
sOp.axisType = 2
sOp.project2d = 0
#print(sOp)
SetOperatorOptions(sOp)

#Do field lines
pyv.lfmStream(SrcF, "Bfld", x, y, z, cMap=FldCmap, tRad=tRadFld, Legend=False)
icOp = GetOperatorOptions(0)
icOp.criticalPointThreshold = 0.1
示例#3
0
pyv.lfmExprs()

pyv.plotMesh(dbs[0],
             'STL_mesh',
             meshColor=(240, 240, 240, 255),
             opaqueColor=(240, 240, 240, 255))
pyv.plotMesh(dbs[1],
             'STL_mesh',
             meshColor=(0, 0, 0, 255),
             opaqueColor=(0, 0, 0, 255))

pyv.lfmPCol(dbs[2],
            varNames[vi],
            vBds=bnds,
            Log=True,
            cMap='plasma',
            Light=True,
            Legend=True)
pyv.addThreshold(varNames[vi], bnds[0], 1e10)
pyv.addThreshold("Phi", 90, 270, opNum=1)
pyv.lfmPCol(dbs[3],
            varNames[vi],
            vBds=bnds,
            Log=True,
            cMap='plasma',
            Light=True,
            Legend=False)
pyv.addThreshold(varNames[vi], bnds[0], 1e10)
pyv.addThreshold("Theta", 0, 90, opNum=1)
pyv.lfmPCol(dbs[4],
示例#4
0
pyv.lfmExprs()

pyv.plotMesh(dbs[0],
             'STL_mesh',
             meshColor=(240, 240, 240, 255),
             opaqueColor=(240, 240, 240, 255))
pyv.plotMesh(dbs[1],
             'STL_mesh',
             meshColor=(0, 0, 0, 255),
             opaqueColor=(0, 0, 0, 255))

pyv.lfmPCol(dbs[2],
            varNames[vi],
            vBds=bnds,
            Log=True,
            cMap='plasma',
            Light=True,
            Legend=True)
pyv.addThreshold(varNames[vi], bnds[0], 1e10)
pyv.addThreshold("Phi", 90, 270, opNum=1)

pyv.lfmPCol(dbs[3],
            "BCurlMagNorm",
            vBds=[0, 1],
            Log=False,
            cMap='viridis',
            Light=True,
            Legend=True)
pyv.addThreshold('RadAll', 2.1, 1e10)
pyv.addSlice(originType="Percent",
示例#5
0
                n = n + 2

    dPhiStr = "Phi-%f" % (PhiC)

    DefineScalarExpression("dPhi", dPhiStr)

    print("Generating %d streamlines\n" % (Nr * Nl))

    #Add phi slice
    #pyv.lfmPCol(db,"Bmag",vBds=(10,500),cMap="viridis",Log=True,pcOpac=pcOpacP,Light=False,Legend=False)
    #pyv.lfmPCol(db,"RadGyro100",vBds=(1.0e-2,15),cMap="viridis",Log=True,pcOpac=pcOpacP,Light=False,Legend=True)
    pyv.lfmPCol(db,
                "RadGyro100",
                vBds=(0, 2.5),
                cMap="viridis",
                Log=False,
                pcOpac=pcOpacP,
                Light=False,
                Legend=True)

    AddOperator("Slice")
    sOps = GetOperatorOptions(0)
    sOps.axisType = 4
    sOps.project2d = 0
    sOps.phi = 0
    sOps.theta = PhiC
    SetOperatorOptions(sOps)

    #Block out central cutout
    AddPlot("Contour", "RadAll")
    cOps = GetPlotOptions()
示例#6
0
		for j in range(Nl):

			th = Theta[j]*np.pi/180.0
			R = Rad[i]
			x[n] = R*Cp*np.sin(th)
			y[n] = R*Sp*np.sin(th)
			z[n] = R*np.cos(th)
			n=n+1

	dPhiStr = "Phi-%f"%(PhiC)
	#dRpStr = "Rcyl*(3.141/180)*%f - Rp"%(PhiC)
	DefineScalarExpression("dPhi",dPhiStr)
	#DefineScalarExpression("MLatC","if( ge(Phi, 90), MLat, 0.0)")
	
	print("Generating %d streamlines\n"%(Nr*Nl))
	pyv.lfmPCol(db,"dBz",vBds=(-25,25),Inv=True,pcOpac=pcOpac,Light=False)
	
	#Field slice, equatorial
	AddOperator("Slice")
	sOps = GetOperatorOptions(0); 
	sOps.axisType=2; sOps.project2d=0
	SetOperatorOptions(sOps)
	
	#Add phi slice
	pyv.lfmPCol(db,"dBz",vBds=(-25,25),Inv=True,pcOpac=pcOpacP,Light=False,Legend=False)
	
	AddOperator("Slice")
	sOps = GetOperatorOptions(0); 
	sOps.axisType=4; sOps.project2d=0
	sOps.phi = 0; sOps.theta = PhiC
	SetOperatorOptions(sOps)
示例#7
0
Src1 = pDir + "/" + pStub[RunID] + ".h5part"

dbs = [Src0, Src1]

#Do some defaults
pyv.lfmExprs(doTrace=True)

#Open databases
OpenDatabase(dbs[0])
OpenDatabase(dbs[1])

#Create database correlation
CreateDatabaseCorrelation("P2Fld", dbs, 0)

#Create fields/particle plots
pyv.lfmPCol(dbs[0], "dBz", vBds=dBzBds, pcOpac=0.7, Inv=True)
pyv.lfmPScat(dbs[1], v4="Trapped", vBds=[0, 1], cMap=pCMap, Inv=False)

SetActivePlots((1, 2))
pyv.cutOut()

#Gussy things up
#tit = pyv.genTit( t**S=t**S )
#pyv.cleanLegends(plXs,plYs,plTits)
pyv.setAtts()

#Let's see what we got
DrawPlots()

#Do time loop
#pyv.doTimeLoop(Nfin=None,T0=0.0,dt=dt,Save=True,tLabPos=(0.3,0.05) )
示例#8
0
pyv.lfmExprs()
pyv.setAtts()

#Open databases
OpenDatabase(Src0)
md0 = GetMetaData(Src0)

#Get time
Time = np.array(md0.times)
Nt = np.argmax(Time >= T0)

DefineScalarExpression("PCut", "Phi*RCut0*RCut1")
DefineScalarExpression("RCut", "Rcyl*PCut0*PCut1")

#Draw field marker
pyv.lfmPCol(Src0, "dBz", vBds=dBzBds, pcOpac=0.7, Inv=True)

#Draw wedges

for n in range(Nw0, Nw):
    DefineScalarExpression("RCut0_%d" % (n),
                           "if( ge(Rcyl, %f), 1, 0)" % (R0s[n]))
    DefineScalarExpression("RCut1_%d" % (n),
                           "if( le(Rcyl, %f), 1, 0)" % (R1s[n]))
    DefineScalarExpression("PCut0_%d" % (n),
                           "if( ge(Phi, %f), 1, 0)" % (Phi0s[n]))
    DefineScalarExpression("PCut1_%d" % (n),
                           "if( le(Phi, %f), 1, 0)" % (Phi1s[n]))
    DefineScalarExpression(
        "Wedge_%d" % (n), "RCut0_%d*RCut1_%d*PCut0_%d*PCut1_%d" % (n, n, n, n))
示例#9
0
pyv.lfmExprs()

pyv.plotMesh(dbs[0],
             'STL_mesh',
             meshColor=(240, 240, 240, 255),
             opaqueColor=(240, 240, 240, 255),
             Legend=False)
pyv.plotMesh(dbs[1],
             'STL_mesh',
             meshColor=(0, 0, 0, 255),
             opaqueColor=(0, 0, 0, 255),
             Legend=False)

if usebnds:
    pyv.lfmPCol(dbs[2], varNames[vi], vBds=bnds, Log=True, cMap='plasma')
else:
    pyv.lfmPCol(dbs[2], varNames[vi], Log=False, cMap='plasma')
pyv.addThreshold(varNames[vi], bnds[0], 1e10)

if plotB:
    pyv.plotContour(dbs[3],
                    'Bmag',
                    cmap='viridis',
                    values=(10, 20, 30, 40, 50, 60, 70, 80),
                    Legend=True,
                    lineWidth=0,
                    lineStyle='solid')
    # pyv.plotContour(dbs[3], 'Bz', cmap='RdYlBu', values=(-30,-20,-10,0,10,20,30), Legend=True, lineWidth=0, lineStyle='solid')
    pyv.to3D()
示例#10
0
else:
    Launch()

#Do some defaults
pyv.lfmExprsEB()
pyv.pvInit()
DefineScalarExpression("radius", "sqrt(x*x+y*y+z*z)")

#Field data
OpenDatabase(Src0)
vBds = [-35, 35]
#pyv.lfmPCol(Src0,"dBz",vBds=vBds,Inv=True,pcOpac=0.75,Legend=False)
pyv.lfmPCol(Src0,
            "Bmag",
            vBds=[1, 500],
            cMap="viridis",
            pcOpac=0.5,
            Legend=True,
            Log=True)

AddOperator("Slice")
sOp = GetOperatorOptions(0)
sOp.axisType = 2
sOp.project2d = 0
print(sOp)
SetOperatorOptions(sOp)

pyv.lfmPCol(Src0,
            "Bmag",
            vBds=[1, 500],
            cMap="viridis",
示例#11
0
AddPlot("Contour", "RadAll")
ops = GetPlotOptions()
ops.contourMethod = 1
ops.contourValue = (Rin)
ops.colorType = 0
ops.singleColor = (211, 211, 211, 255)
ops.legendFlag = 0
SetPlotOptions(ops)

#pyv.plotContour(gdata,"RadAll",values=[Rin])

#Field perturbation
pyv.lfmPCol(gdata,
            "dBz",
            vBds=[-25, 25],
            Inv=True,
            Light=False,
            Legend=True,
            cMap="RdGy")
pOp = GetPlotOptions()
pOp.centering = pCent
SetPlotOptions(pOp)

AddOperator("Slice", 0)
ops = GetOperatorOptions(0)
ops.project2d = 0
ops.axisType = 2
SetOperatorOptions(ops)

#Pressure poloidal
pyv.lfmPCol(gdata,
示例#12
0
Scl = (1.0e+6) / (q * 6.242e+15 * 1.0e+3)
#Drift velocity (km/s per Joule)
DefineScalarExpression("VDpN", "1.0e+6*BxGB/(%f*BmagC)" % (q))
DefineScalarExpression("VdPkev", "%f*BxGB/BmagC" % (Scl))

#Equality energy (in kev), 2/3 from assuming alpha=45o
DefineScalarExpression("eqKevA", "(2/3.0)*Veb/VdPkev")
DefineScalarExpression("eqKev", "if( ge(RadC,2.0), eqKevA,0.0)")
DefineScalarExpression("eqKevC", "recenter(eqKev)")
cMap = "viridis"
cMap = "RdYlBu"
Kbd = [1, 500]

#Create slice of eqKev
if (doPic):
    pyv.lfmPCol(fldSlc, "eqKevC", cMap=cMap, vBds=Kbd, Log=True)
    pcOp = GetPlotOptions()
    pcOp.centering = 2
    SetPlotOptions(pcOp)

    AddOperator("Slice", 0)
    slOp = GetOperatorOptions(0)
    slOp.axisType = 2
    slOp.originIntercept = zSlc
    SetOperatorOptions(slOp, 0)

    AddOperator("Threshold", 1)
    tOp = GetOperatorOptions(1)
    tOp.listedVarNames = ("RadAll")
    tOp.lowerBounds = (2)
    SetOperatorOptions(tOp, 1)
示例#13
0
    "BxGB", "magnitude(cross(Bfld,gradient(Bmag)))/(Bmag*Bmag*6380.0)")

#Non-energy part of Vd
q = 1.6021766e-19  #Coulombs
#Will calculate drift velocity (m/s per Joule, want km/s per kev)
Scl = (1.0e+6) / (q * 6.242e+15 * 1.0e+3)
#Drift velocity (km/s per Joule)
DefineScalarExpression("VDpN", "1.0e+6*BxGB/(%f*Bmag)" % (q))
DefineScalarExpression("VdPkev", "%f*BxGB/Bmag" % (Scl))

#Equality energy (in kev), 2/3 from assuming alpha=45o
DefineScalarExpression("eqKevA", "(2/3.0)*Veb/VdPkev")
DefineScalarExpression("eqKev", "if( ge(RadAll,2.0), eqKevA,0.0)")
#Create slice of eqKev

pyv.lfmPCol(fldSlc, "eqKev", cMap="hot_desaturated", vBds=[1, 750], Log=True)

AddOperator("Slice", 0)
slOp = GetOperatorOptions(0)
slOp.axisType = 2
slOp.originIntercept = zSlc
SetOperatorOptions(slOp, 0)

AddOperator("Threshold", 1)
tOp = GetOperatorOptions(1)
tOp.listedVarNames = ("RadAll")
tOp.lowerBounds = (2)
SetOperatorOptions(tOp, 1)

pyv.cleanLegends([0.025], [0.9], ["Particle Energy (keV)\nDrift/ExB Equality"])
DrawPlots()