掺杂、替换
同价态掺杂、==改变离子半径-改变晶体形貌-改变势垒 改变离子质量-改变晶格振动-改变跳跃几率-改变MNR==
同价态替换 改变离子半径-改变晶体形貌-改变势垒 改变离子质量-改变晶格振动-改变跳跃几率-改变MNR
不同价态掺杂 ==改变迁移离子的浓度==、改变质量、改变离子半径
电子结构角度:成键与极化、软硬酸碱
价态与配位应该与原材料相匹配,不能原来是四价4配位,改成5价六配位,可以改成5价4配位
先同价替换找单元素最高,在单元素最高基础上掺杂、替换
掺杂的比例应该控制得当,比如按照一定的数列规则
Si (0.26)
同价替换 找最合适的尺寸 Ti (0.42) Hf(0.58) Zr(0.59) Ge(0.39) Cr(0.41) Mn(0.39) Co(0.4) Sn (0.55) Pb(0.65) Te(0.66)
同价掺杂
异价掺杂 3价(增加离子浓度) Fe(0.49) B(0.11) Al(0.39) Ga(0.47) In(0.62)
5价 (降低离子浓度) V (0.46) Nb(0.48) Cr(0.345) Mo(0.46) Mn(0.33) P(0.17) As(0.335)
Y (3) 0.9
同价替换 La(1.032) Ce(1.01) Pr(0.99) Nd(0.983) Pm(0.97)Eu(0.947) Sm(0.958)Gd(0.938)Tb(0.923) Dy(0.912) Ho(0.901) Er (0.89) Tm(0.88) Yb(0.868) Sc (0.745) Lu(0.861) Ti(0.67) V(0.64) Nb(0.72) Ta(0.72) Cr(0.615) Mo(0.69) Mn(0.58) Fe(0.55) Ru(0.68) Co(0.61) Rh(0.665) Ir(0.68) Ni(0.6) Pd(0.76) Cu(0.54) B(0.27) Al(0.535) Ga(0.62) In(0.8) N(0.16) P(0.44) Sb(0.76) Bi(1.03)
文献中已有的实验数据,其中比Y低的元素包括 Er Lu Sc Fe Tm
同价掺杂
异价掺杂 2价 Mg(0.72) Ca(1) Sr(1.18) Ba(1.35) Ti(0.86) V(0.79) Cr(0.73) Mn(0.67 0.83) Fe(0.61 0.78) Co(0.65 0.75) Ni(0.69) Pd(0.86) Pt(0.8) Cu(0.73) Zn(0.74) Cd(0.95) Ge(0.73) Pb(1.19)
4价 Ti(0.605) Zr(0.72) Hf(0.71) V(0.58) Nb(0.68) Ta(0.68) Cr(0.55) Mo(0.65) W(0.66) Mn(0.53) Re(0.63) Fe(0.585) Ru(0.62) Os(0.63) Co(0.53) Rh(0.6) Ir(0.625) Ni(0.48) Pd(0.615) Pt(0.625) Ge(0.53) Si(0.4) C(0.16) Sn(0.69) Pb(0.775) S(0.37) Se(0.5) Te(0.97)
==要搞清楚掺杂、替换本质在做什么,改变了什么==
**Si (0.26) **
==同价替换 /掺杂==
Ti (0.42) Hf(0.58) Zr(0.59) Ge(0.39) Cr(0.41) Mn(0.39) Co(0.4) Sn (0.55) Pb(0.65) Te(0.66)
==异价掺杂== 3价(增加离子浓度) Fe(0.49) B(0.11) Al(0.39) Ga(0.47) In(0.62)
5价 (降低离子浓度) V (0.46) Nb(0.48) Cr(0.345) Mo(0.46) Mn(0.33) P(0.17) As(0.335)
**Y 0.9 **
==同价替换/掺杂==
**La(1.032) Ce(1.01) Pr(0.99) Nd(0.983) Pm(0.97)Eu(0.947) Sm(0.958)Gd(0.938)Tb(0.923) Dy(0.912) Ho(0.901) Er (0.89) Tm(0.88) Yb(0.868) Sc (0.745) Lu(0.861) Ti(0.67) V(0.64) Nb(0.72) Ta(0.72) Cr(0.615) Mo(0.69) Mn(0.58) Fe(0.55) Ru(0.68) Co(0.61) Rh(0.665) Ir(0.68) Ni(0.6) Pd(0.76) Cu(0.54) B(0.27) Al(0.535) Ga(0.62) In(0.8) N(0.16) P(0.44) Sb(0.76) Bi(1.03) **
==异价掺杂== **2价 Mg(0.72) Ca(1) Sr(1.18) Ba(1.35) Ti(0.86) V(0.79) Cr(0.73) Mn(0.67 0.83) Fe(0.61 0.78) Co(0.65 0.75) Ni(0.69) Pd(0.86) Pt(0.8) Cu(0.73) Zn(0.74) Cd(0.95) Ge(0.73) Pb(1.19) **
4价 Ti(0.605) Zr(0.72) Hf(0.71) V(0.58) Nb(0.68) Ta(0.68) Cr(0.55) Mo(0.65) W(0.66) Mn(0.53) Re(0.63) **Fe(0.585) Ru(0.62) Os(0.63) Co(0.53) Rh(0.6) Ir(0.625) Ni(0.48) Pd(0.615) Pt(0.625) Ge(0.53) Si(0.4) C(0.16) Sn(0.69) Pb(0.775) S(0.37) Se(0.5) Te(0.97) **
2.运动模式
在沿着c轴方向的一个通道中,有两个稳定的位置,呈长条状
长条就像是树的枝干,延伸出连接不同水平方向位置的枝条
neb的计算结果显示,在树木的同一长条内的运动更容易,但是在不同长条间的运动更加困难
沿着c轴通道的运动,需要跨过SiO4组成的不同的环,需要跨过两个正对的SiO4四面体的区域,带来大的势垒,增加Y位置的尺寸,确实会拓宽通道
使用主动学习分子动力学是十分有必要的,-否则数据不够线性
离子的运动是离不开在长条内的运动的,因为需要在不同的长条位置迁移。
针对长条中的离子扩散,降低离子的迁移势垒,目前有几种方案:
- 拓宽空间、2. 降低Si的价态 3. 增加或者减少离子
需要考察高压下的离子扩散行为,为什么会增加电导率
NEB有两种形貌,左凸型和右凸型,左凸型的通道内的势垒曲线是瀑布型,其相邻x方向的离子受到束缚更少,看上去更松散,两类离子可以运动。右凸型的通道内的势垒曲线是山峰型,相邻x方向的离子受到束缚更大,看上去更紧密,只有通道内可以运动
左凸型
右凸型
右凸型
左凸和右凸在结构优化之后就已经确定了,左凸的中心不对齐,右侧凸的中心对齐
左凸起的结构的八面体起伏更大,原子共线更差,右凸起的结构原子共线更好
和元素种类相关?和半径或者化合价相关?
可能水平面内的运动依赖于非共线的形成,
4.周边位置的Na的作用很明显,瀑布型的能垒曲线的末态周边原子已经占领了中心通道的位置
非晶化 确实是个很好的问题 。Na中Y的非晶化要更难、Sm的非晶化更容易、Li的非晶化容易 用结构的扭曲程度来表征非晶化的可能性
找非晶化提升离子电导率的机制、有没有其他非晶化的例子
Na为什么测出来不是直线:正常
非晶化是不是结构破坏,是的,但是还是不知道为什么非晶化之后离子电导率会增加
相比于日本小组,做出来的晶体更纯,微晶玻璃中微晶的存在会抑制电导率
总结领域内新兴的方向,做热点的方向,卤化物固态电解质
算XRD 和实验来比较,
加速分子动力学(meta),可以加速发现相变发生的过程和非晶化的过程 ,可以给sm和Li分别做一做
1.为什么非晶化能够提升离子电导率
- 有没有其他的非晶化可能的材料(硫化物、氧化物)
PPT的问题:让人知道下一步要做啥,因为是新的发现
1.neb形状的起因 其他钠离子的影响
2 元素更加紧密的原因 元素
3. 关于大模型
不做大模型的理由
- 我本身并不关心大模型及其应用,而更关心机制和原理
- 在训练大模型的过程中有太多未知的困难,无法预料,无法按时毕业
- 做大模型变成了机器学习的应用,并不是我自己的工作
要做什么
单个的元素替换的机器学习势,高压下MNR关系的探讨
元素替换脚本
import os
import shutil
# 创建文件夹
base_path = "./" # 替换为你的根目录路径
element_symbols = ["La", "Ce","Pr","Nd","Pm","Eu","Sm","Gd","Tb","Dy","Ho","Er","Tm","Sc","Ti","V","Nb","Ta","Cr","Mo","Mn","Fe","Ru","Co","Rh","Ir","Ni","Pd","Cu","B","Al","Ga","In","N","P","Sb","Bi"]
for idx, element in enumerate(element_symbols, start=1):
folder_name = f"{idx}-{element}"
folder_path = os.path.join(base_path, folder_name)
if not os.path.exists(folder_path):
os.makedirs(folder_path)
# 读取原始 POSCAR 文件
input_file = "./POSCAR" # 替换为你的 POSCAR 文件路径
with open(input_file, "r") as file:
lines = file.readlines()
# 逐个元素进行替换并创建文件夹
for idx, element in enumerate(element_symbols, start=1):
folder_name = f"{idx}-{element}"
folder_path = os.path.join(base_path, folder_name)
modified_lines = [line.replace("Y", element) for line in lines]
# 写入修改后的内容到对应的文件夹
output_file = os.path.join(folder_path, "POSCAR")
with open(output_file, "w") as file:
file.writelines(modified_lines)
# 复制同名的 INCAR 文件到对应的文件夹
incar_source = "./INCAR" # 替换为你的 INCAR 文件路径
incar_destination = os.path.join(folder_path, "INCAR")
shutil.copy(incar_source, incar_destination)
lsf_source = "./vasp.pbs" # 替换为你的 INCAR 文件路径
lsf_destination = os.path.join(folder_path, "opt.lsf")
shutil.copy(lsf_source, lsf_destination)
print("Replacement and file writing complete.")
扩胞脚本
from pymatgen.io.vasp import Poscar
# 读取 POSCAR 文件
poscar = Poscar.from_file("POSCAR")
# 扩胞为 2x2x3
supercell = poscar.structure * [3,3,3]
# 将扩胞后的结构写入新的 POSCAR 文件
poscar = Poscar(supercell)
poscar.write_file("POSCAR666.vasp")
轨迹转换脚本
from ase.io import read, write
# 读取原始轨迹文件
atoms = read('atoms.traj', index=':')
# 将轨迹写入 XDATCAR 格式
write('XDATCAR', atoms)
计算体积脚本
from pymatgen.core import Structure
# 读取POSCAR文件
#structure = Structure.from_file("POSCAR.vasp")
structure = Structure.from_file("POSCAR.vasp")
# 计算体积
volume = structure.volume
# 输出体积
print(f"{volume} ų")
使用ASE进行包括晶胞的结构优化
from mattersim.applications.moldyn import MolecularDynamics
from ase.io import read, write
from mattersim.forcefield import MatterSimCalculator
from mattersim.applications.relax import Relaxer
import numpy as np
from ase.optimize import LBFGS
from ase.filters import ExpCellFilter
from ase.io import Trajectory
# calc = MatterSimCalculator(device='cuda')
# calc = MatterSimCalculator(device='cuda:0')
calc = MatterSimCalculator(load_path="MatterSim-v1.0.0-5M.pth", device='cuda:0')
#relaxer = Relaxer(
# optimizer="BFGS", # the optimization method FIRE, BFGS
# filter=None, # filter to apply to the cell
# constrain_symmetry=True, # whether to constrain the symmetry
#)
atoms = read("POSCAR",format='vasp')
atoms.calc = calc
ecf = ExpCellFilter(atoms)
traj = Trajectory('optimization.traj', 'w', atoms)
#converged, relaxed_structure = relaxer.relax_structures(atoms,optimizer="BFGS", # the optimization method FIRE, BFGS
# filter=None,
# constrain_symmetry=True, fmax=0.01 )
opt = LBFGS(ecf)
opt.attach(traj.write, interval=1)
opt.run(fmax=0.01)
write("POSCAR.vasp", atoms, format="vasp")
转载请注明来源 有问题可通过github提交issue