Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
FCC 100和111晶格C代码_C_Mathematical Lattices - Fatal编程技术网

FCC 100和111晶格C代码

FCC 100和111晶格C代码,c,mathematical-lattices,C,Mathematical Lattices,我正在尝试使用C代码制作FCC 100和FCC 111晶格。 我已经配置了FCC 100 lattice,并且我做得很正确。然而,当我尝试制作FCC 111晶格时,它看起来与我预期的不同。 我使用参考FCC 111 lattice(由另一个GUI程序“阿姆斯特丹密度泛函”构建)来比较我的FCC 111 lattice(使用C代码)。 我的问题是,, 我在代码中用于生成FCC(111)的参数是否正确?如果他们不正确,请帮助我建立FCC 111晶格。提前谢谢 /**** To create FCC

我正在尝试使用C代码制作FCC 100和FCC 111晶格。 我已经配置了FCC 100 lattice,并且我做得很正确。然而,当我尝试制作FCC 111晶格时,它看起来与我预期的不同。 我使用参考FCC 111 lattice(由另一个GUI程序“阿姆斯特丹密度泛函”构建)来比较我的FCC 111 lattice(使用C代码)。 我的问题是,, 我在代码中用于生成FCC(111)的参数是否正确?如果他们不正确,请帮助我建立FCC 111晶格。提前谢谢

/**** To create FCC 100 lattice*********/
for(i=0; i<Xatom; i++){            // Number of Atoms in the X direction
for(j=0; j<Yatom; j++){        // Number of Atoms in the Y direction
    for(k=0; k<nL; k++) {       // Number of layers in the Z direction

x[i]= I * a_lattice;   y[j]= j * a_lattice;   z[k]= k * a_lattice;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);

x[i]= I * a_lattice;   y[j]= 0.5 * a_lattice +  j * a_lattice;    z[k]= 0.5 * a_lattice + k * a_lattice;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);

x[i]= 0.5 * a_lattice + I * a_lattice;  y[j]= j * a_lattice;   z[k]= 0.5 * a_lattice + k *a_lattice;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);

x[i]= 0.5 * a_lattice + i*a_lattice;  y[j] = 0.5 * a_lattice + j * a_lattice;   z[k]= k * a_lattice;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);
        }   
    }
}

/**** To create FCC 111 lattice*********/
ax = a_lattice * sqrt(2)/2;
ay = a_lattice * sqrt(6)/2;
az = a_lattice * sqrt(3);

x2 = sqrt(2)/4 * a_lattice;
y2 = sqrt(6)/4 * a_lattice;
y3 = sqrt(6)/6 * a_lattice;
y4 = sqrt(6)*5/12 * a_lattice;
y5 = sqrt(6)*2/6 * a_lattice;
y6 = sqrt(6)/12 * a_lattice;

for(i=0; i<Xatom; i++){
for(j=0; j<Yatom; j++){
  layer = 0;
for(k=0; k<nL; k++){

x[i] = I * ax;  y[j] = j * ay;  z[k]= layer/ 3.0 * az;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);


x[i] = x2 + I * ax;   y[j] = y2 + j * ay;   z[k] = layer/3.0 * az;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);

layer = layer + 1;

x[i] = I * ax;  y[j] = y3 + j*ay;  z[k] = layer/3.0 * az;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);

x[i] = x2 + I * ax;   y[j] = y4 + j * ay;   z[k]=layer/3.0 * az;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);

layer = layer + 1;

x[i] = I * ax;  y[j] = y5 + j * ay;     z[k] = layer/3.0 * az;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);

x[i] = x2 + I * ax;   y[j] = y6 + j * ay;   z[k] = layer/3.0 * az;
fprintf(fpo," %s\t %lf\t %lf\t %lf\n", AtomName, x[i], y[j], z[k]);
layer = layer + 1; 
        }
    }
}
/****创建FCC 100晶格*********/

对于(i=0;i来说,如果有人能看一下用于制作具有矩形横截面的FCC(111)晶格的C代码,并建议在该代码中可以修改什么以制作FCC(111),这将是非常有用的具有菱形横截面的晶格,与本问题中提供的GUI-REF相同。

如果有人可以查看用于制作具有矩形横截面的FCC(111)晶格的C代码,并建议可以在该代码中修改哪些内容以制作FCC(111),这将非常有用具有菱形横截面的晶格,与本问题中提供的GUI-REF相同。

两个屏幕截图显示了具有相同相对粒子位置的相同晶格。唯一不同的是粒子群的形式。这是您的问题吗?感谢您的回答。当我们比较这两种结构时,顶部晶格在X方向上都有10个原子和Y方向,但底部的一个似乎沿Y方向有20个原子(相邻两个原子之间的距离相当大)而且X面是完美的。此外,我想实现菱形。我还更改了FCC 111代码中的一些参数,我找不到完美的。两个屏幕截图显示的是相同的晶格,具有相同的相对粒子位置。唯一的区别是粒子群的形式。这是你的问题吗?谢谢你的回答。当我们比较时e两种结构,顶部晶格在X和Y方向上都有10个原子,但底部晶格在Y方向上似乎有20个原子(相邻两个原子之间的距离相当大)另外,我想得到钻石的形状。我还改变了FCC 111代码中的一些参数,我找不到完美的。