- Simple plot of 1D data
- Simple plot of 2D data
- Cross section of velocity field for quantum vortex
- Density and order parameter on the same plot - 1D case
Simple plot of 1D data
The example below demonstrates how to plot 1D data, precisely:
datadim 1 # dimension of block size: 1=nx, 2=nx*ny, 3=nx*ny*nz
The simple plotting script may look like:
#!/usr/bin/python3
# Before the run:
# Get wdata lib:
# pip3 install wdata
# (add -U if you want to update)
# For more info see:
# https://pypi.org/project/wdata/
import numpy as np
import matplotlib.pyplot as plt
from wdata.io import WData, Var
# I read data directly from dwarf,
# Before running the script I mounted file system:
# sshfs gabrielw@dwarf.if.pw.edu.pl:/home2/ /home/gabrielw/home2-dwarf/
fwtxt="/home/gabrielw/home2-dwarf/scratch/barrus-gw/h1d/lambda006.wtxt"
data = WData.load(fwtxt)
fig, ax = plt.subplots()
ax.plot(data.xyz[0], data.rho_a[-1]) # plot last frame [-1]
ax.set(xlabel='x', ylabel=r'$n_{\uparrow}(x)$')
ax.grid()
fig.savefig("rho_a.png")
plt.show()
Simple plot of 2D data
The example below demonstrates how to plot 1D data, precisely:
datadim 2 # dimension of block size: 1=nx, 2=nx*ny, 3=nx*ny*nz
The simple plotting script may look like:
#!/usr/bin/python3
# Before run:
# Get wata lib:
# pip3 install wdata
# (add -U if you want to update)
# For more info see:
# https://pypi.org/project/wdata/
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from wdata.io import WData, Var
# I read data directly from dwarf,
# Before running the script I mounted file system:
# sshfs gabrielw@dwarf.if.pw.edu.pl:/home2/ /home/gabrielw/home2-dwarf/
fwtxt="/home/gabrielw/home2-dwarf/archive/ntg/repository/atomicjj/CALC-BCS/td-round5-bcs/td1-bcs-z0.02-V0.6.wtxt"
data = WData.load(fwtxt)
ratio=data.Nxyz[0]/data.Nxyz[1]
scale=2.0
fig, ax = plt.subplots(figsize=(scale*ratio,1.2*scale))
im = ax.imshow(np.transpose(data.rho_a[0]), interpolation='bilinear', extent=[0, data.Nxyz[0], 0, data.Nxyz[1]], aspect='auto')
fig.colorbar(im, ax=ax, orientation="horizontal")
plt.tight_layout()
fig.savefig("rho_a.png")
plt.show()
Cross section of velocity field for quantum vortex
#!/usr/bin/python3
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from scipy.interpolate import interp1d
from wdata.io import WData, Var
# This data set contains vortex solution of SLADE functional.
# It is provided as supplementary material of publication:
# https://arxiv.org/abs/2201.07626
fwtxt="/home/gabrielw/Desktop/st-vortex/sv-ddcc05p00-T0p05.wtxt"
data = WData.load(fwtxt)
j_a = data.j_a[-1] # last frame
rho_a = data.rho_a[-1] # last frame
x = data.xyz[0]
sec=int(data.Nxyz[0]/2)
j_a = j_a[0,sec,:] # extract x component of j_a along y axis for x=Nx/2 (center of box)
rho_a = rho_a[sec,:] # extract rho_a along y axis for x=Nx/2 (center of box)
vs = np.abs(j_a/rho_a) # computer velocity (absolute value)
# interpolate data
vs_int = interp1d(x[:,0], vs, kind='quadratic')
newx=np.linspace(-20,20,200)
# flow for ideal vortex
r = np.linspace(3,40,100) # take range [3-40]
vs_ideal = 0.5 / r # vs=1/2r (m=hbar=1, and factor 2 accounts for Cooper pairs)
# plot
fig, ax = plt.subplots()
ax.plot(x, vs, 'bo', markersize=3, label='data')
ax.plot(newx, vs_int(newx), 'b', linestyle="-")
ax.plot(r, vs_ideal, color="k", linestyle="--", label=r'$\sim 1/r$')
ax.plot(r*(-1.0), vs_ideal, color="k", linestyle="--")
ax.set(xlabel='y', ylabel=r'$v(0,y)$')
ax.set_xlim([-20,20])
ax.grid()
plt.legend(loc='upper right')
fig.savefig("velocity.png")
plt.show()
Density and order parameter on the same plot - 1D case
import numpy as np
import matplotlib.pyplot as plt
from wdata.io import WData, Var
# I read data directly from dwarf,
# Before running the script I mounted file system:
# sshfs gabrielw@dwarf.if.pw.edu.pl:/home2/ /home/gabrielw/home2-dwarf/
fwtxt="/home/gabrielw/home2-dwarf/scratch/loff-vortex/cold-atoms/st-two-vortices/DyK_120.wtxt"
data = WData.load(fwtxt)
fig, ax = plt.subplots()
ax.plot(data.xyz[0], data.rho_a[-1], color='red', label=r'$n_a$', lw=3.0) # plot last frame [-1]
ax.plot(data.xyz[0], data.rho_b[-1], color='blue', label=r'$n_b$', lw=3.0) # plot last frame [-1]
ax.set(xlabel='x', ylabel=r'$n(x)$')
ax2 = ax.twinx() # instantiate a second axes that shares the same x-axis
ax2.plot(data.xyz[0], np.abs(data.delta)[-1], color='black', label=r'$\Delta$', lw=2.0, ls="--") # plot last frame [-1]
ax2.set(ylabel=r'$\Delta(x)$')
fig.legend(loc="upper right", bbox_to_anchor=(1,1), bbox_transform=ax.transAxes)
fig.savefig("plot.png")