HuangAnqi
理论相关
cp2k
cp2k参数
CP2K输入文件模板
Matlab批量计算CP2K的差分电荷的代码
全波电磁仿真
VESTA:制作差分电荷&导出图片
Oringin制作气泡能带图+DOS图
VASP
vasp+机器学习计算AlN的势函数
vsap机器学习
vasp算微波介电常数
VASP计算参数
vaspkit功能
VASP算bader电荷
计算带格林内森参数投影的高温声子谱
脚本合集
PWmat
用pwmat计算缺陷形成能
Hefei-NAMD
Quantum ESPRESSO
qe算声子谱
CALYPSO结构搜索
Oringin
Yambo
QE+yambo算光吸收虚部
Yambo 光吸收计算后处理
Yambo报错和解决办法
知识点
代码
佛祖保佑
心跳(html)
洛伦兹吸引子
用pandas读取excel 画dos图
用Matplotlib画折线图
蒙特卡洛方法求Π
TensorFlow 代码
罗盘时钟
MATLAB代码
批量重命名图片代码
用Pr将序列帧图片转成视频
蒙特卡洛方法模拟二维平面上的原子沉积和扩散
PyTorch
OVITO
Latex安装与使用
wannier+VASP拟合能带
VASP算有效质量
liuyaoze.com-文档系统
-
+
首页
vasp算微波介电常数
**首先计算动力学 会得到XDATCAR 使用deal.py做一个Data文件(改原子数)** ```python ff = open('data','w') ff.write('\n') for _ in range(100): #POSCAR中元素1的原子个数 ff.write('1\n') #ff.close() #ff = open('data','w') #ff.write('\n') for _ in range(100): #POSCAR中元素2的原子个数 ff.write('2\n') ff.close() ``` **然后在服务器里面用这个脚本correlation_vasp.sh(改步数)** ```bash #bin/bash #24 December, 2021;Data Extraction #To use it: bash r_dat for i in {1..10000}; #aimd step do cp data data-$i done for i in {1..10000}; do cat data-$i >> data1 #Generate atomic numbers done rm data-* cat XDATCAR | sed '1,7d' > data2 paste data1 data2 > data.dat #整合数据 ``` **得到data.dat文件后拿出来放进matlab里面处理数据correlation_vasp.m(改保存地址和原子数)** ``` clear all close all %Enter Parameters number=256; %number of atoms dt=1; %dump gap numbera=10000; %calculate the C(t) number; The number of data points to draw the graph; Usually we take 200 q=-1; %electric charge t=0; %Calculate the C(t) of the autocorrelation function from t=0 to t=t (Time_max=timestep*Nfreq) x_columns=2; %Number of vx columns in dump file y_columns=3; %Number of vy columns in dump file z_columns=4; %Number of vy columns in dump file fid = fopen('data.dat'); %open dump file data = textscan(fid, '%s', 'Delimiter', '\n'); count=[]; data=data{1,1}; for i=1:length(data) if strfind(data{i,1},'Direct configuration='); count=[count,i]; end end k=1; for j=1:length(count) for i=(count(j)+1):(count(j)+number) aaa(k)=data(i,1); k=k+1; end end data=str2num(char(aaa)); for j=1:length(count) sumx=0;sumy=0;sumz=0; for i=1:number x=(j-1)*number+i; if data(x,1)==1 %index of atom 1 sumx=sumx+data(x,x_columns)*q; sumy=sumy+data(x,y_columns)*q; sumz=sumz+data(x,z_columns)*q; elseif data(x,1)==2 %index of atom 2 sumx=sumx+data(x,x_columns)*(-q); sumy=sumy+data(x,y_columns)*(-q); sumz=sumz+data(x,z_columns)*(-q); end end vx(j)=sumx; vy(j)=sumy; vz(j)=sumz; end for j=1:numbera Cx=0; Cy=0;Cz=0;Call=0; for i=1:(length(vx)-t) Cx=vx(i)*vx(i+t)+Cx; Cy=vy(i)*vy(i+t)+Cy; Cz=vz(i)*vz(i+t)+Cz; Call=(vx(i)+vy(i)+vz(i))*(vx(i+t)+vy(i+t)+vz(i+t))+Call; end cx(j)=Cx/(length(vx)-t); cy(j)=Cy/(length(vy)-t); cz(j)=Cz/(length(vz)-t); call(j)=Call/(length(vx)-t); t=t+1; end c= [cx;cy;cz;call]'; %the C(t) of the autocorrelation function m=[0:dt:dt*(numbera-1)]'; %add index C=[m c]; %composite matrix save('C:\Users\82399\Desktop\output.txt','c','-ascii') %%%%%Fourier transform and plot %%%%%%%reference https://zhidao.baidu.com/question/235280965.html%% ta=C(:,1); %time cvx=C(:,2); %data cvx cvy=C(:,3); cvz=C(:,4); cvall=C(:,5); dt=ta(2)-ta(1); %dt:Sampling time interval fs=1/dt; %The maximum value of the Fourier transform; It's reciprocal with time cax=abs(fft(cvx)); %Fourier transform cay=abs(fft(cvy)); caz=abs(fft(cvz)); caall=abs(fft(cvall)); f=(0:length(ta)-1)*fs/length(ta); ca=[cax cay caz caall]; %%%plot figure figure(); subplot(811); plot(ta,cvx); subplot(812); plot(f(1:numbera/2),cax(1:numbera/2)); subplot(813); plot(ta,cvy); subplot(814); plot(f(1:numbera/2),cay(1:numbera/2)); subplot(815); plot(ta,cvz); subplot(816); plot(f(1:numbera/2),caz(1:numbera/2)); subplot(817); plot(ta,cvall); subplot(818); plot(f(1:numbera/2),caall(1:numbera/2)); save('C:\Users\82399\Desktop\output2.txt','ca','-ascii') ``` **matlab会直接生成图 x,y,z方向和总和的震荡图以及他们的傅里叶变换,共八个小图,跟下面示范图不一样**  **得到output1和output2,放进oringin作图 ** 
huanganqi
2023年3月13日 20:11
67
0 条评论
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
【温馨提示:本站文档可配置可见范围,如登录后可见、对特定群组可见等,看不到就是没权限】
注册码获取邮箱
work@liuyaoze.com
Markdown文件
Word文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码
有效期