lammps应用于热电材料
文章目录
- 1.热传导理论
- 1.热导率
- 2.晶格振动
- 3.晶体热容
- 4.声子平均自由程
- 5.傅里叶定律
- 2.lammps计算Ar热导率
- 3.lammps模拟SiGe热电材料
- 4.平衡分子动力学(EMD)
1.热传导理论
1.热导率
- 热传递机制随介质材料相的不同而改变:固体(热传导)、液体(热对流)、气体(对流和辐射)
- 热传导:热量从固体材料高温向低温部分转移的过程
- 热力学第二定律(克劳修斯表述):“不可能把热量从低温物体传向高温物体而不引起其他变化。”
在自然条件下热量只能从高温物体向低温物体转移,而不能由低温物体自动向高温物体转移,这个转变过程是自发、不可逆的 - 热导率:又称导热系数(coefficient of thermal conductivity),物质导热能力的量度
若物体的截面积为 1m2,相距 1m 的两个平面的温度差为 1K,则1秒内流过界面的热量就规定为该物质的热导率,标准单位为 W/(m·K) - T=0K,原子固定在平衡位置处,保持能量最低的状态
- 当T>0K时,原子在格点原子势场中热振动
2.晶格振动
- 材料各种热学性能的物理本质,均与其晶格热振动有关
- 绝缘材料中的导热现象主要由原子(晶格)的振动所引起
谐振子量子理论: H = 1 2 m x ˙ 2 + 1 2 k x 2 = 1 2 q ˙ 2 + 1 2 ω 2 q 2 H=\frac{1}{2}m\dot{x}^{2}+\frac{1}{2}kx^{2}=\frac{1}{2}\dot{q}^{2}+\frac{1}{2}\omega^{2}q^{2} H=21mx˙2+21kx2=21q˙2+21ω2q2 量子力学中,谐振子有分立的本征能量: ε n = ( n + 1 2 ) ℏ ω , n = 0 , 1 , . . . , ∞ \varepsilon_{n} =(n+\frac{1}{2})\hbar \omega,n=0,1,...,\infty εn=(n+21)ℏω,n=0,1,...,∞ - 材料热导率的差异来源于晶格原子振动对应的传递能力,声子(晶格振动的能量量子)之间的碰撞导致热量的传递
声子的能量: ℏ ω , ω = k m \hbar\omega,\omega=\sqrt{\frac{k}{m}} ℏω,ω=mk 原子/分子间的键越强,导热能力越强 - 声子对热导的贡献:
1.长波声子具有更长的波长,易发生倒逆过程,因此对热传导性质影响更大
2.通常声学声子对热传导的贡献远大于光学声子 - 热导率公式: κ = 1 3 C v ˉ λ ˉ \kappa =\frac{1}{3}C\bar{v}\bar{\lambda} κ=31Cvˉλˉ 1.与固体的比热 C 成正比,因为比热越大,每个固体分子可带的热量也越多
2.与声子的平均速率 v ˉ \bar{v} vˉ 成正比,因为声子速度越快,热也传送得越快
3.与声子的平均自由程 λ ˉ \bar{\lambda} λˉ (与声子碰撞频率相关)成正比, λ ˉ \bar{\lambda} λˉ 越大,声子携带的热能传得越远
其中,声子的平均速度与温度变化的关联性不大,多数情况可以作为常数处理。而平均自由程比较难计算,与温度和晶格声子碰撞的方式、频率等因素有关
3.晶体热容
C V = ( ∂ U ∂ T ) V C_{V}=(\frac{\partial U}{\partial T})_{V} CV=(∂T∂U)V C V = C V l + C V e C_{V}=C_{V}^{l}+C_{V}^{e} CV=CVl+CVe 其中, C V l C_{V}^{l} CVl 为晶格振动热容, C V e C_{V}^{e} CVe 为晶体电子热容
- 固体热容主要有两部分:一个是来源于晶格振动(声子),称为晶格热容;一个来源于电子的热运动,称为电子热容。除非在很低温,电子热运动的贡献往往很小。通常情况下, C V e < < C V l C_{V}^{e}<<C_{V}^{l} CVe<<CVl
- 实验规律:
1.在高温时,晶体的热容为: 3 N k B = 3 v R 3Nk_{B}=3vR 3NkB=3vR N 为晶体中原子的个数,kB = 1.38 × 10-23 J·K-1 为玻尔兹曼常量;v 为晶体中原子摩尔数,R = 8.31 J/K mol为普适气体常数
2.在低温时,绝缘体热容按 T 3 T^{3} T3 趋于零,导体热容按 T 趋于零 - 晶格振动的能量是量子化的,频率为 ω \omega ω 的声子能量为: E n = ( n + 1 2 ) ℏ ω E_{n}=(n+\frac{1}{2})\hbar\omega En=(n+21)ℏω 1 2 ℏ ω \frac{1}{2}\hbar\omega 21ℏω 代表零点振动能,对热容没有贡献 E n = n ℏ ω E_{n}=n\hbar\omega En=nℏω n n n 是频率为 ω \omega ω 的谐振子的平均声子数,据玻色统计理论: n ( ω ) = 1 e ℏ ω / k B T − 1 n(\omega)=\frac{1}{e^{\hbar\omega/k_{B}T}-1} n(ω)=eℏω/kBT−11 温度为 T T T 时,频率为 ω \omega ω 的振动的能量: E ˉ ( ω ) = ℏ ω e ℏ ω / k B T − 1 \bar{E}(\omega)=\frac{\hbar\omega}{e^{\hbar\omega/k_{B}T}-1} Eˉ(ω)=eℏω/kBT−1ℏω
- 爱因斯坦模型:
晶体由 N 个原子组成,每个原子有3个自由度,共有 3N 个分立的振动频率,晶体内能: U = ∑ i = 1 3 N E ˉ ( ω i ) = ∑ i = 1 3 N ℏ ω i e ℏ ω i / k B T − 1 U=\sum_{i=1}^{3N}\bar{E}(\omega_{i})=\sum_{i=1}^{3N}\frac{\hbar\omega_{i}}{e^{\hbar\omega_{i}/k_{B}T}-1} U=i=1∑3NEˉ(ωi)=i=1∑3Neℏωi/kBT−1ℏωi 爱因斯坦模型:假设所有原子以同样的频率振动 U = ∑ i = 1 3 N E ˉ ( ω i ) = 3 N ℏ ω e ℏ ω / k B T − 1 U=\sum_{i=1}^{3N}\bar{E}(\omega_{i})=\frac{3N\hbar\omega}{e^{\hbar\omega/k_{B}T}-1} U=i=1∑3NEˉ(ωi)=eℏω/kBT−13Nℏω
高温下,比热为 3 N K b 3NK_{b} 3NKb,与经典结果一致;低温下与实验偏差较大 - 德拜模型:
若频率分布可用一个积分函数表示: ∫ 0 ω m g ( ω ) d ω = 3 N \int_{0}^{\omega_{m}}g(\omega)d\omega=3N ∫0ωmg(ω)dω=3N
g ( ω ) d ω g(\omega)d\omega g(ω)dω 表示在频率范围 ω ∼ ω + d ω \omega \sim\omega+d\omega ω∼ω+dω 可取的频率数, ω m \omega_{m} ωm为最大的频率数, q q q 和 ω \omega ω 为准连续 U = ∑ i = 1 3 N ℏ ω i e ℏ ω i / k B T − 1 = ∫ 0 ω m ℏ ω e ℏ ω / k b T − 1 g ( ω ) d ω U=\sum_{i=1}^{3N}\frac{\hbar\omega_{i}}{e^{\hbar\omega_{i}/k_{B}T}-1}=\int_{0}^{\omega_{m}}\frac{\hbar\omega}{e^{\hbar\omega/k_{b}T}-1}g(\omega)d\omega U=i=1∑3Neℏωi/kBT−1ℏωi=∫0ωmeℏω/kbT−1ℏωg(ω)dω 热容: C V = ( ∂ U ∂ T ) V = ∫ 0 ω m k B ( ℏ ω k B T ) 2 e ℏ ω / k B T g ( ω ) d ω ( e ℏ ω / k B T − 1 ) 2 C_{V}=(\frac{\partial U}{\partial T} )_{V}=\int_{0}^{\omega_{m}}k_{B}(\frac{\hbar\omega}{k_{B}T})^{2}\frac{e^{\hbar\omega/k_{B}T}g(\omega)d\omega}{(e^{\hbar\omega/k_{B}T}-1)^{2}} CV=(∂T∂U)V=∫0ωmkB(kBTℏω)2(eℏω/kBT−1)2eℏω/kBTg(ω)dω 变量代换: f D ( θ D T ) = 3 ( T θ ) 3 ∫ 0 θ D T e x x 4 ( e x − 1 ) 2 d x f_{D}(\frac{\theta_{D}}{T})=3(\frac{T}{\theta})^{3}\int_{0}^{\frac{\theta_{D}}{T}}\frac{e^{x}x^{4}}{(e^{x}-1)^{2}}dx fD(TθD)=3(θT)3∫0TθD(ex−1)2exx4dx 低温下: C v ∼ 12 π 4 R ( T / θ D ) 3 5 C_{v}\sim12\pi^{4}R\frac{(T/\theta_{D})^{3}}{5} Cv∼12π4R5(T/θD)3 - 对于大多数固体来说,Debye模型可以给出相当精确的结果
4.声子平均自由程
κ = 1 3 C v ˉ λ ˉ \kappa=\frac{1}{3}C\bar{v}\bar{\lambda} κ=31Cvˉλˉ 与声子数密度成反比: λ ˉ ∝ 1 n \bar{\lambda}\propto\frac{1}{n} λˉ∝n1 频率为 ω \omega ω 的平均声子数: n ( ω ) = 1 e ℏ ω / k B T − 1 n(\omega)=\frac{1}{e^{\hbar\omega/k_{B}T}-1} n(ω)=eℏω/kBT−11 高温下: λ ˉ ∝ T − 1 , C 为常数, κ ∝ T − 1 \bar{\lambda}\propto T^{-1},C为常数,\kappa\propto T^{-1} λˉ∝T−1,C为常数,κ∝T−1 低温下: λ ˉ ∝ e α T , C ∝ T 3 , κ ∝ e a T \bar{\lambda}\propto e^{\frac{\alpha}{T}},C\propto T^{3},\kappa\propto e^{\frac{a}{T}} λˉ∝eTα,C∝T3,κ∝eTa
- 热容随温度增加,声子的平均自由程 λ ˉ \bar{\lambda} λˉ 随温度减小,两者竞争使得 κ \kappa κ 出现极小值
- 低温:声子平均自由程 λ ˉ \bar{\lambda} λˉ 近似为粒径大小, C V C_{V} CV 随 T 3 T^{3} T3 增大, κ \kappa κ 值增大
- 高温:声子的平均自由程 λ ˉ \bar{\lambda} λˉ 随温度升高减小,而声子热容 C C C 趋近于常数, κ \kappa κ 值降低
- 热电材料:
塞贝克(Seebeck)效应:用于热电能量转换,如节能、特殊电源、地热发电
珀尔贴(Peltier)效应:用于热电致冷,如冰箱、空调
评价热电转化效率的热电优值: Z T = S 2 T σ κ ZT=\frac{S^{2}T\sigma}{\kappa} ZT=κS2Tσ
5.傅里叶定律
- 傅里叶定律(热量输运方程): d Q d t = κ ⋅ A Δ T l \frac{dQ}{dt}=\kappa \cdot A\frac{\Delta T}{l} dtdQ=κ⋅AlΔT 其中, d Q d t \frac{dQ}{dt} dtdQ 为热流, κ \kappa κ 为热导率, Δ T l \frac{\Delta T}{l} lΔT 为温度梯度。描述了热量在材料内部的输运规律
- 计算出单位截面积的热流和温度梯度,就可以求得材料热导率
1.按照特定的方法对材料某一长度方向施加热流,计算热功率
2.经过一定时间后材料内部温度达到稳态,统计温度梯度
3.结合截面积和长度参数,计算热导率
2.lammps计算Ar热导率
- 模拟对象:FCC密排的Ar结构
模拟过程:使用傅里叶定律计算Ar的热导率,引入热流在Ar内部产生稳定的温度梯度 - lammps代码:
units lj atom_style atomic lattice fcc 0.6 region box block 0 10 0 10 0 20 create_box 1 box create_atoms 1 box mass 1 1.0 velocity all create 1.35 46423 pair_style lj/cut 2.5 pair_coeff 1 1 1.0 1.0 neighbor 0.3 bin # 定义0-1为热区,10-11为冷区 region hot block INF INF INF INF 0 1 region cold block INF INF INF INF 10 11 # 计算冷热两区的温度 compute Thot all temp/region hot compute Tcold all temp/region cold # 第一次跑平衡 fix 1 all nvt temp 1.35 1.35 0.5 thermo 100 run 1000 velocity all scale 1.35 unfix 1 # 第二次跑平衡 fix 1 all nve fix hot all heat 1 100.0 region hot # 常数热流交换法,对热区注入热量 ,每1时间步向hot区注入100能量单位的热量 fix cold all heat 1 -100.0 region cold # 同时冷区抽出能量,每1时间步从cold区抽出100能量单位的热量 thermo_style custom step temp c_Thot c_Tcold thermo 1000 run 10000compute ke all ke/atom variable temp atom c_ke/1.5 # 定义温度变量,方便计算各层温度 compute layers all chunk/atom bin/1d z lower 0.05 units reduced # 沿Z方向分20层,选低起始点,units reduced 将z方向无量纲看作1,每层厚度0.05 fix 2 all ave/chunk 10 100 1000 layers v_temp file profile.heat # 计算各层的温度并输出到文件 variable tdiff equal f_2[11][3]-f_2[1][3] # 计算第11层和第1层的温差 # 计算冷/热区温差,统计平均并输出 fix ave all ave/time 1 1 1000 v_tdiff ave running start 13000 # 从13000步开始,对上述温差进行时间平均 thermo_style custom step temp c_Thot c_Tcold v_tdiff f_ave run 20000
- fix ehex的原理、用法和fix heat一致,相比于fix heat,改进了算法,可以使用非对称的能量交换,改善了由于注入/抽出能量带来的能量漂移问题
- Muller-Plathe(速度交换)法:fix thermal/conductivity
units lj atom_style atomic lattice fcc 0.6 region box block 0 10 0 10 0 20 create_box 1 box create_atoms 1 box mass 1 1.0 velocity all create 1.35 46423 pair_style lj/cut 2.5 pair_coeff 1 1 1.0 1.0 neighbor 0.3 bin # 第一次跑平衡 fix 1 all nvt temp 1.35 1.35 0.5 thermo 100 run 1000 velocity all scale 1.35 unfix 1 # 第二次跑平衡 compute ke all ke/atom variable temp atom c_ke/1.5 # 定义温度变量,方便计算各层温度 fix 1 all nve compute layers all chunk/atom bin/1d z lower 0.05 units reduced # 沿Z方向分20层,选低起始点,units reduced 将z方向无量纲看作1,每层厚度0.05 fix 2 all ave/chunk 10 100 1000 layers v_temp file profile.mp # 计算各层的温度并输出到文件 fix 3 all thermal/conductivity 10 z 20 swap 2 # z方向分为20层,每10步,第1层原子速度最大的两个原子与第11层原子速度最小的两个交换速度,该命令计算交换的能量值 variable tdiff equal f_2[11][3]-f_2[1][3] # 计算第11层和第1层的温差 thermo_style custom step temp epair etotal f_3 v_tdiff thermo 1000 run 20000# 计算热导率 fix ave all ave/time 1 1 1000 v_tdiff ave running thermo_style custom step temp epair etotal f_3 v_tdiff f_ave run 20000
3.lammps模拟SiGe热电材料
- SiGe纳米线建模:
构建半径为1 nm,长度周期为 10 nm的圆柱形 SiGe(元素比1:1)纳米线# 初始化 units metal dimension 3 boundary f f p neighbor 2.0 bin neigh_modify every 10 delay 0 check yes atoms_style atomic lattice diamond 5.43 region box block -10 10 -10 10 0 20 create_box 2 box region SiGe cylinder z 0 0 2 0 20 units lattice create_atoms 1 region SiGe set type 1 type/ratio 2 0.5 13658 mass 1 14 mass 2 32 write_data SiGe.data
- 热传递过程模拟:
# 初始化 units metal timestep 0.001 atom_style atomic read_data SiGe.data pair_style tersoff pair_coeff * * SiCGe.tersoff Si(D) Ge mass 1 14 mass 2 32 minimize 1e-4 1e-6 100 1000 # 在100K下热平衡 dump 1 all atom 100 dump.atom fix 1 all nvt temp 100 100 0.5 run 20000 unfix 1 # MP方法产生温度梯度 compute ke all ke/atom variable KB equal 8.625e-5 variable temp atom c_ke/1.5/${KB} fix 1 all nve compute layers all chunk/atom bin/1d z lower 0.05 units reduced fix 2 all ave/chunk 10 100 1000 layers v_temp file profile.tmp fix 3 all thermal/conductivity 50 z 20 variable tdiff equal f_2[11][3]-f_2[1][3] # 第1层、11层温度差 thermo_style custom step temp epair etotal f_3 v_tdiff # 计算热导率 fix ave all ave/time 1 1 1000 v_tdiff ave running variable dQdt equal f_3 variable DeltaTemp equal f_ave fix extra all print 1000 "${dQdt} ${DeltaTemp}" file thermal_conductivity.dat screen no thermo_style custom step temp epair etotal f_3 v_tdiff f_ave run 100000
- 注意事项:
1.利用傅里叶定律计算热导率的关键和难点是要在系统中产生稳定、线性的能量梯度分布
2.无法获得温度梯度时,需要调整系综、热流交换速率和时间步等参数
3.温度梯度不宜太大,一般需要保持高温区和低温区的温差在100K以内,平均值在给定的系综温度附近,不宜有太大漂移
4.平衡分子动力学(EMD)
- Fourier 定律计算热导率:
1.模拟过程中对象各部分能量处于非平衡状态,常数热流交换(与外界有人为的能量交换)、MP方法(各组原子之间有人为的能量交换)
2.经过一段时间后,扩散效率与人为交换能量相当时,体系各组的温度趋向稳定
3.基于Fourier定律计算热导率的方法通常被称为非平衡分子动力学模拟(NEMD)
注:各向异性材料的热导率是一个张量,NEMD一次模拟只能获得一个方向的热导率,适合低维材料热导率的模拟 - EMD 特点:
1.不需要引入温度梯度,可同时计算其他性质(粘度等),效率高
2.尺寸效应相对小,理论上可计算无限大体系
3.要求体系必须达到平衡,弛豫时间较长 - EMD 实现方式:
1.在微正则系综(NVE)下进行长时间弛豫
2.记录体系热通量,直到自相关积分收敛
3.平衡后,通过Green-Kubo公式计算热导率 - 基于Green-Kubo线性响应理论,材料的热导率与平衡态下涨落-耗散的热流相关,可以通过平衡态的热流自相关函数来计算热导率
- EMD 核心公式: κ μ v ( τ m ) = 1 Ω k B T 2 ∫ 0 τ m ⟨ J ˉ μ ( τ ) J v ( 0 ) ⟩ d τ \kappa_{\mu v}(\tau_{m})=\frac{1}{\Omega_{k_{B}}T^{2}}\int_{0}^{\tau_{m}}\left \langle \bar{J}_{\mu}(\tau)J_{v}(0)\right \rangle d\tau κμv(τm)=ΩkBT21∫0τm⟨Jˉμ(τ)Jv(0)⟩dτ 其中, Ω k B \Omega_{k_{B}} ΩkB 为玻尔兹曼常数,T 为温度, τ m \tau_{m} τm 为平衡时间,J 为热通量
离散化时间步求平均: κ μ v ( τ M ) = Δ t Ω k B T 2 ∑ m = 1 M ( N − m ) − 1 ∑ m = 1 N − m J μ ( m + n ) J v ( n ) \kappa_{\mu v}(\tau_{M})=\frac{\Delta t}{\Omega_{k_{B}}T^{2}}\sum_{m=1}^{M}(N-m)^{-1}\sum_{m=1}^{N-m}J_{\mu}(m+n)J_{v}(n) κμv(τM)=ΩkBT2Δtm=1∑M(N−m)−1m=1∑N−mJμ(m+n)Jv(n) - EMD 计算热导率,核心是热通量信息的统计,而对于两体相互作用,热通量可简化为: J = 1 V [ ∑ i e i v i − ∑ i S i v i ] = 1 V [ ∑ i e i v i + ∑ i < j ( F i j ⋅ v j ) r i j ] J=\frac{1}{V}[\sum_{i}e_{i}v_{i}-\sum_{i}S_{i}v_{i}]=\frac{1}{V}[\sum_{i}e_{i}v_{i}+\sum_{i<j}(F_{ij}\cdot v_{j})r_{ij}] J=V1[i∑eivi−i∑Sivi]=V1[i∑eivi+i<j∑(Fij⋅vj)rij] J = 1 V [ ∑ i e i v i + 1 2 ∑ i < j ( F i j ⋅ ( v i + v j ) ) r i j ] J=\frac{1}{V}[\sum_{i}e_{i}v_{i}+\frac{1}{2}\sum_{i<j}(F_{ij}\cdot(v_{i}+v_{j}))r_{ij}] J=V1[i∑eivi+21i<j∑(Fij⋅(vi+vj))rij]
其中, e i e_{i} ei 为每原子能量(动能和势能), S i S_{i} Si 为每原子压力张量, v i v_{i} vi 为速度矢量 - lammps可通过内置命令轻松实现能量计算,并通过能量信息计算热通量: κ = V k B T 2 ∫ 0 ∞ ⟨ J x ( 0 ) J x ( t ) ⟩ d t = V 3 k B T 2 ∫ 0 ∞ ⟨ J ( 0 ) ⋅ J ( t ) ⟩ d t \kappa = \frac{V}{k_{B}T^{2}}\int_{0}^{\infty }\left \langle J_{x}(0)J_{x}(t) \right \rangle dt=\frac{V}{3k_{B}T^{2}}\int_{0}^{\infty}\left \langle J(0)\cdot J(t)\right \rangle dt κ=kBT2V∫0∞⟨Jx(0)Jx(t)⟩dt=3kBT2V∫0∞⟨J(0)⋅J(t)⟩dt 最后使用简化后的Green-Kubo方程计算热导率
- EMD 计算热导率关键命令:
# 计算每个原子的动能、势能以及应力 compute myStress all stress/atom NULL virial compute flux all heat/flux myKE myPE myStress # 对计算的热流分量的自相关函数进行采样平均 fix 1 all ave/correlate 100 10 100 c_flux[1] c_flux[2] c_flux[3]& type auto file profile.heatflux ave running
相关文章:
lammps应用于热电材料
文章目录 1.热传导理论1.热导率2.晶格振动3.晶体热容4.声子平均自由程5.傅里叶定律 2.lammps计算Ar热导率3.lammps模拟SiGe热电材料4.平衡分子动力学(EMD) 1.热传导理论 1.热导率 热传递机制随介质材料相的不同而改变:固体(热传导)、液体(热对流)、气体(对流和辐射…...
SAP资产盘盈盘亏的过账处理、入账价值错误调整、资产减值准备
文章目录 一、SAP资产盘盈盘亏处理1、ABNAN盘盈 (往年资产) ABZON (当年资产)2、ABAVN盘亏 二、资产价值入账错了(价值多了或少了),怎么调账1、价值少了2、价值多了 三、资产减值准备1、启用重估2、指定间隔…...
Adobe与MIT推出自回归实时视频生成技术CausVid。AI可以边生成视频边实时播放!
传统的双向扩散模型(顶部)可提供高质量的输出,但存在显著的延迟,需要 219 秒才能生成 128 帧的视频。用户必须等待整个序列完成才能查看任何结果。相比之下CausVid将双向扩散模型提炼为几步自回归生成器(底部ÿ…...
MYSQL学习笔记(一):准备数据和数据库的最基本命令
前言: 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇,涵盖入门、进阶、高级(一些原理分析);这一篇是入门准备数据和一些关于数据库的操作命令;虽然MYSQL命令很多&…...
求矩阵不靠边元素之和(PTA)C语言
求矩阵的所有不靠边元素之和,矩阵行的值m从键盘读入(2<m<10),调用自定义函数Input实现矩阵元素从键盘输入,调用Sum函数实现求和。(只考虑float型,且不需考虑求和的结果可能超出float型能表示的范围)。 函数接口定义&#x…...
仿infobip模板功能-可通过占位符配置模板内容
模仿infobip制作的模板功能,正文可在任意位置加参数的功能。如下图所示:在正文中通过{{\d}}进行占位,在使用模板时,可在此位置自定制内容,并预览效果。 代码: <template><div class"templa…...
STM32第6章、WWDG
一、简介 WWDG:全称Window watchdog,即窗口看门狗,本质上是一个能产生系统复位信号和提前唤醒中断的计数器。 特性: 是一个递减计数器。 看门狗被激活后, 当递减计数器值从 0x40减到0x3F时会产生复位(即T6位…...
没有正确使用HTTP Range Request,导致访问Azure Blob存储的视频没有实现流式播放
引文: 组里的小伙伴在修改视频播放相关的代码,修改之前的方案使用CDN转发,可以实现流式播放,修改之后的代码因为没有正确的使用Http Range Request, 导致画面访问Azure Blob存储的视频没有实现流式播放,整理下线索在这…...
React中Fiber树构建过程详解——react中render一个App组件(包含子组件)的流程详解
在 React 中,渲染一个包含子组件的组件涉及一系列底层流程,包括构建虚拟 DOM(React Element)、协调(Reconciliation)、Fiber 树管理和最终的 DOM 操作。以下是一个从底层解析的详细流程: 1. 初始…...
机器学习赋能的智能光子学器件系统研究与应用
在人工智能与光子学设计融合的背景下,科研的边界持续扩展,创新成果不断涌现。从理论模型的整合到光学现象的复杂模拟,从数据驱动的探索到光场的智能分析,机器学习正以前所未有的动力推动光子学领域的革新。据调查,目前…...
晨辉面试抽签和评分管理系统之七:面试成绩核算的三种方式
晨辉面试抽签和评分管理系统(下载地址:www.chenhuisoft.cn)是公务员招录面试、教师资格考试面试、企业招录面试等各类面试通用的考生编排、考生入场抽签、候考室倒计时管理、面试考官抽签、面试评分记录和成绩核算的面试全流程信息化管理软件。提供了考生…...
语音合成的预训练模型
语音合成的预训练模型 与 ASR(语音识别)和音频分类任务相比,语音合成的预训练模型检查点明显较少。在 Hugging Hub 上,可以找到近 300 个适合的检查点。 在这些预训练模型中,重点关注两种在 Huggingface Transformers 库中开箱即用的架构——SpeechT5 和 Massive Multili…...
Windows怎么搭建rust环境?
在Windows上搭建Rust开发环境相对简单,主要步骤如下: ### 1. 安装Rust 最简单的方法是使用官方提供的安装脚本。打开命令提示符(Command Prompt)或PowerShell,然后运行以下命令来下载并安装Rust: bash cu…...
【Flink】Flink内存管理
Flink内存整体结构图: JobManager内存管理 JVM 进程总内存(Total Process Memory)Flink总内存(Total Flink Memory):JVM进程总内存减去JVM Metaspace(元空间)和JVM Overhead(运行时开销)上图解释: JVM进程总内存为2G;JVM运行时开销(JVM Overh…...
React方向:react中5种Dom的操作方式
1、通过原生JS获取Dom去操作 通过document.querySelector(#title)原生js的方式去拿到dom节点,然后去进行操作。 import {Component} from "react";class App extends Component {//定义获取Dom的函数handleGetDom(){let title document.querySelector(#t…...
K8s数据存储之详解(Detailed Explanation of K8s Data Storage)
K8s数据存储相关概念详解(临时存储,节点存储,网络存储,PV/PVC) 本篇文章分享一下存储卷和数据持久化的相关概念: 存储卷概述 临时存储卷(Ephemeral Volumes) 节点存储卷ÿ…...
PyTorch 中的 Dropout 解析
文章目录 一、Dropout 的核心作用数值示例:置零与缩放**训练阶段****推理阶段** 二、Dropout 的最佳使用位置与具体实例解析1. 放在全连接层后2. 卷积层后的使用考量3. BatchNorm 层与 Dropout 的关系4. Transformer 中的 Dropout 应用 三、如何确定 Dropout 的位置…...
计算机网络 (41)文件传送协议
前言 一、文件传送协议(FTP) 概述: FTP(File Transfer Protocol)是互联网上使用得最广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型与格式(如指明是否使用ASCII码࿰…...
AOSP 14及以上userdebug无法调试的问题
参考链接:原文...
【Vue】点击侧边导航栏,右侧main对应显示
需求:点击侧边导航栏,右侧main对应显示 通过v-if或v-show等指令来控制不同内容的显示隐藏来实现 注意: 使用v-if时候进行导航栏切换,右侧显示区域可能会出现样式错乱;使用v-show则不会出现此错误 <template>&…...
Python Selenium 库学习指南
Python Selenium 库学习指南 目录 Selenium 基础介绍 Selenium 是什么安装 SeleniumSelenium 的工作原理 Selenium 基本用法 启动浏览器定位元素常见操作:点击、输入、滚动 高级用法 切换窗口与标签页模拟鼠标操作与键盘输入动态加载的网页处理 等待机制 显式等待…...
如何解决Webview和H5缓存问题,确保每次加载最新版本的资源
WebView 用于加载 H5 页面是常见的做法,它能够加载远程的 HTML、CSS、JavaScript 资源,并且让 Web 应用嵌入到原生 App 中。然而,WebView 的缓存机制有时会导致用户看到的是旧版本的页面或资源,尤其是在 H5 发版后,iOS…...
costmap 中点与多边形的相对位置关系
一、背景 近期在阅读move_base源码costmap部分(感觉想玩转movebase导航,costmap必须理解呀)。读到两处点与多边形的相对位置关系。在此总结一下,分别是: intersects: 利用待测点向右引出的射线与多边形的交点数来确定相对位置。有的称 射线交叉算法&am…...
C#与Vue2上传下载Excel文件
1、上传文件流程:先上传文件,上传成功,返回文件名与url,然后再次发起请求保存文件名和url到数据库 前端Vue2代码: 使用element的el-upload组件,action值为后端接收文件接口,headers携带session信…...
.NetCore 使用 NPOI 读取带有图片的excel数据
在.NetCore使用NPOI插件进行批量导入时,获取Excel中的所有的图片数据,存到集合中。 1.定义类PictureData 代码如下: public class PictureData { public byte[] Data { get; set; } } 2.数据集引用 using NPOI.XSSF.UserModel; usin…...
鸿蒙打包发布
HarmonyOS应用/元服务发布(打包发布) https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/ide-publish-app-V13?catalogVersionV13 密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式…...
C++并发编程之跨应用程序与驱动程序的单生产者单消费者队列
设计一个单生产者单消费者队列(SPSC队列),不使用C STL库或操作系统原子操作函数,并且将其放入跨进程共享内存中以便在Ring3(用户模式)和Ring0(内核模式)之间传递数据,是一…...
22、PyTorch nn.Conv2d卷积网络使用教程
文章目录 1. 卷积2. python 代码3. notes 1. 卷积 输入A张量为: A [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ] \begin{equation} A\begin{bmatrix} 0&1&2&3\\\\ 4&5&6&7\\\\ 8&9&10&11\\\\ 12&13&14&15 \end{b…...
智汇云舟参编《城市轨道交通安全防范系统技术要求》国标正式发布
近日,根据国家标准化管理委员会官网,全国标准信息公共服务平台发布的公告,国家标准《城市轨道交通安全防范系统技术要求》(GB/T 26718-2024)已由全国城市轨道交通标准化技术委员会上报国家标准化管理委员会,…...
C# 数据拟合教程:使用 Math.NET Numerics 的简单实现
C# 数据拟合实战:使用 Math.NET Numerics 快速实现 引言 在科学计算、工程建模或数据分析中,数据拟合是一个非常重要的技术。无论是线性拟合还是非线性拟合,借助适当的工具都可以快速解决问题。本文将向您展示如何使用 C# 和强大的数值计算…...
WEB攻防-通用漏洞_XSS跨站_权限维持_捆绑钓鱼_浏览器漏洞
目录 XSS的分类 XSS跨站-后台植入Cookie&表单劫持 【例1】:利用beef或xss平台实时监控Cookie等凭据实现权限维持 【例2】:XSS-Flash钓鱼配合MSF捆绑上线 【例3】:XSS-浏览器网马配合MSF访问上线 XSS的分类 反射型(非持久…...
瑞芯微 RK 系列 RK3588 使用 ffmpeg-rockchip 实现 MPP 视频硬件编解码-代码版
前言 在上一篇文章中,我们讲解了如何使用 ffmpeg-rockchip 通过命令来实现 MPP 视频硬件编解码和 RGA 硬件图形加速,在这篇文章,我将讲解如何使用 ffmpeg-rockchip 用户空间库(代码)实现 MPP 硬件编解码。 本文不仅适…...
MySQL数据库(SQL分类)
SQL分类 分类全称解释DDLData Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段)DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改DQLData Query Languag…...
SpringBoot-Day1
1.Springboot入门 创建Maven工程 导入spring-boot-stater-web起步依赖 编写Controller 提供启动类 2.yml配置信息书写与获取 书写 # 发件人信息 email:user: 172349823457qq.comcode: sajdajlwhjfgfkllwhost: smtp.qq.comauth: true # 学生爱好 hobbies:- 打篮球- 踢…...
【JavaScript】基础内容,HTML如何引用JavaScript, JS 常用的数据类型
HTML 嵌入 Javascript 的方式 引入外部 js 文件 <head> <script Language "javaScript" src"index.js"/> </head>内部声明 <head> <script language"javascript">function hello(){alert("hello word&qu…...
mysql中创建计算字段
目录 1、计算字段 2、拼接字段 3、去除空格和使用别名 (1)去除空格 (2)使用别名:AS 4、执行算术计算 5、小结 博主用的是mysql8 DBMS,附上示例资料: 百度网盘链接: https://pan.baidu.co…...
如何优化zibll子比主题SEO并设置有效robots文件
如果你不知道 robots.txt 是什么,也不确定如何正确地设置它,本篇文章会向您介绍适用于子比主题的 robots.txt 文件,利用它可以提升 SEO 的效果,避免收录无关页面,从而解决网站被收录但无权重的困境。 作为一款高效的 …...
线程间通信
线程间通信(Inter-Thread Communication, 简称ITC)是指在多线程编程中,不同线程之间如何交换信息或协调彼此的行为。良好的线程间通信机制是构建高效、可靠的并发程序的关键。Java语言提供了多种内置工具和库来支持线程间的通信,包…...
【实践】操作系统智能助手OS Copilot新功能测评
一、引言 数字化加速发展,尤其人工智能的发展速度越来越快。操作系统智能助手成为提升用户体验与操作效率的关键因素。OS Copilot借助语言模型,人工智能等,对操作系统的自然语言交互操作 推出很多功能,值得开发,尤其运…...
今年的电商年货节,主流的营销策略是怎样?
随着一年的年关将近,新一年的CNY营销也逐渐拉开帷幕。考虑到此时消费需求的膨胀,这个时间不论对于线上还是线下市场而言,都是重要的营销节点。今年CNY营销,电商平台上的主流营销策略是这样?就让我们来简单了解下概况。…...
Java设计模式——单例模式(特性、各种实现、懒汉式、饿汉式、内部类实现、枚举方式、双重校验+锁)
文章目录 单例模式1️⃣特性💪单例模式的类型与实现:类型懒汉式实现(线程不安全)懒汉式实现(线程安全)双重锁校验懒汉式(线程安全)饿汉式实现(线程安全)使用类的内部类实现⭐枚举方式实现单例(推荐)👍 单例…...
基于 Python 的学生成绩管理系统设计与实现
标题:基于 Python 的学生成绩管理系统设计与实现 内容:1.摘要 摘要:本文介绍了一个基于 Python 的学生成绩管理系统的设计与实现。该系统旨在提高学生成绩管理的效率和准确性,方便教师和学生进行成绩查询和分析。本文详细描述了系统的设计思路、功能模块…...
局域网共享文件夹实现两台Windows电脑之间传输文件
文章目录 1. 启用网络发现和文件共享2. 设置共享文件夹3. 记录主电脑的IP地址4. 在第二台电脑访问共享文件夹5. 故障排查6. 启用文件共享未生效方案1:检查服务状态方案2:检查防火墙设置方案3:检查网络类型方案4:使用“管理员命令提…...
JS的事件循环机制
<script>setTimeout(()>{console.log(1)},1000)setTimeout(()>{console.log(2)},3000)var start Date.now();while ( (Date.now() - start) < 10000 ){}console.log(3)</script>执行如下代码会发现先打印3,再打印1 再打印2。 现象本质还是因为…...
《自动驾驶与机器人中的SLAM技术》ch9:自动驾驶车辆的离线地图构建
目录 1 点云建图的流程 2 前端实现 2.1 前端流程 2.2 前端结果 3 后端位姿图优化与异常值剔除 3.1 两阶段优化流程 3.2 优化结果 ① 第一阶段优化结果 ② 第二阶段优化结果 4 回环检测 4.1 回环检测流程 ① 遍历第一阶段优化轨迹中的关键帧。 ② 并发计算候选回环对…...
环境搭建——Mysql、Redis、Rocket MQ部署
前言 在搭建分布式系统时,MySQL、Redis 和 RocketMQ 是常用的基础服务。每个服务各自的功能不同,但它们在数据存储、缓存、消息队列等方面不可或缺。如果你是初学者,别担心,本文会一步步详细教你如何在服务器上通过 Docker 部署这…...
Pycharm连接远程解释器
这里写目录标题 0 前言1 给项目添加解释器2 通过SSH连接3 找到远程服务器的torch环境所对应的python路径,并设置同步映射(1)配置服务器的系统环境(2)配置服务器的conda环境 4 进入到程序入口(main.py&#…...
git的基本操作
创建分支: 1,拉去develop代码; 2,git checkout develop切换到develop; 3,git branch lyb/lyb_develop ; 4,git push --set-upstream origin lyb/lyb_develop 切换分支,上…...
Linux软件包管理工具概览
目录 RPM(RedHat Package Manager) DPKG(Debian Packager) APT(Advanced Package Tool) YUM(Yellowdog Updater, Modified) DNF(Dandified YUM) 总结 在…...
unity学习16:unity里向量的计算,一些方法等
目录 1 unity里的向量: 2 向量加法 2.1 向量加法的几何意义 2.2向量加法的标量算法 3 向量减法 3.1 向量减法的几何意义 3.2 向量减法的标量算法 4 向量的标量乘法 5 向量之间的乘法要注意是左乘 还是右乘 5.1 注意区别 5.2 向量,矩阵&#x…...