In [1]:
%matplotlib inline
In [2]:
from catplot.grid_components.supercell import SuperCell2D
from catplot.grid_components.nodes import Node2D
from catplot.grid_components.edges import Edge2D
In [3]:
t1 = Node2D([0.0, 0.0], color="#2277D1")
In [4]:
t2 = t1.clone([0.0, 1.0])
t3 = t2.clone([1.0, 0.0])
t4 = t1.clone([1.0, 0.0])
In [5]:
b1 = Node2D([0.0, 0.5], color="#F87D05", style=">")
In [6]:
b2 = b1.clone([0.5, 0.5])
b2.style = "v"
b3 = b1.clone([0.5, -0.5])
b3.style = "^"
b4 = b1.clone([1.0, 0.0])
b4.style = "<"
In [7]:
h = Node2D([0.5, 0.5], color="#008800", style="s")
In [8]:
from catplot.grid_components.edges import Edge2D
In [9]:
e1 = Edge2D(t1, t2)
e2 = Edge2D(t2, t3)
e3 = Edge2D(t3, t4)
e4 = Edge2D(t1, t4)
In [10]:
e5 = Edge2D(b1, b2, style="dashed")
e6 = Edge2D(b1, b3, style="dashed")
e7 = Edge2D(b2, b4, style="dashed")
e8 = Edge2D(b3, b4, style="dashed")
In [11]:
from catplot.grid_components.supercell import SuperCell
In [12]:
supercell = SuperCell2D([t1, t2, t3, t4, b1, b2, b3, b4, h],
[e1, e2, e3, e4, e5, e6, e7, e8])
In [13]:
from catplot.grid_components.grid_canvas import Grid2DCanvas
In [14]:
canvas = Grid2DCanvas()
In [15]:
canvas.add_supercell(supercell=supercell)
In [16]:
canvas.draw()
canvas.figure
Out[16]:
In [17]:
supercell_clone = supercell.clone([1.0, 0.0])
In [18]:
canvas.add_supercell(supercell_clone)
In [19]:
canvas.nodes
Out[19]:
In [20]:
canvas.edges
Out[20]:
In [21]:
canvas.draw()
canvas.figure
Out[21]: