
Plotting a 2D crystal lattice from two primitive lattice vectors
    34 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Jennifer Garrison
 el 7 de Sept. de 2019
  
    
    
    
    
    Comentada: savitha muthanna
 el 16 de Ag. de 2021
            I am trying generate a plot of a crystal lattice based on two prmitive lattice vectors:
v1= -0.5i + -sqrt(3)/2j
v2= 1i
where i and j are orhtogonal unit vecotors to represent the x and y directions.
I am not sure where to begin.
2 comentarios
Respuesta aceptada
  John D'Errico
      
      
 el 8 de Sept. de 2019
        First, you need to understand that MATLAB does not understand what you intend by this notation:
v1= -0.5i + -sqrt(3)/2j
Both i and j are sqrt(-1) in MATLAB. They are not distinct. Instead, just write them as vectors:
v1= [-0.5, -sqrt(3)/2];
v2= [1 , 0];
[x,y] = meshgrid(0:10,0:5);
xy = [x(:),y(:)];
T = [v1;v2];
xyt = xy*T;
xt = reshape(xyt(:,1),size(x));
yt = reshape(xyt(:,2),size(y));
plot(xt,yt,'ro-')
hold on
plot(xt',yt','r-')
axis equal
axis square

3 comentarios
  Bjorn Gustavsson
      
 el 29 de Abr. de 2020
				Simply extend John's or my suggestion to 3-D. You can call meshgrid (or ndgrid) with 3 inputs and 3 outputs:
[i1,j2,k3] = meshgrid(0:3,0:4,0:2);
Then define your 3 lattice-vectors, and use plot3 to plot the grid.
  savitha muthanna
 el 16 de Ag. de 2021
				@John D'Errico Would you know the primitive lattice vectors to generate a hex lattice with triangular(equilateral) cells?
Más respuestas (2)
  Bjorn Gustavsson
      
 el 8 de Sept. de 2019
        If you do it stepwise it becomes "not too tricky": 
e1 = [-0.5; -sqrt(3)/2]; % Your unit
e2 = [1; 0];              % vectors
[I1,I2] = meshgrid(-10:10,-8:8); % A 2-D set of points
r_crystal = [e1,e2]*[I1(:)';I2(:)']; % calculate r_c = n*e1 + m*e2 for all points
plot(r_crystal(1,:),r_crystal(2,:),'.')
You can dood.e with how big crystal you want or what shape, but this should give you something.
HTH
Ver también
Categorías
				Más información sobre Condensed Matter & Materials Physics en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!






