计算材料学和分子动力学(MD)

ops/2024/12/28 19:58:42/

文章目录

    • 1. 计算材料学
      • 1. 什么是计算材料学
      • 2. 计算材料学尺度
        • 1. 纳观尺度
        • 2. 微观尺度
        • 3. 介观尺度
        • 4. 宏观尺度
    • 2.分子动力学
      • 1.什么是分子动力学
        • 1. 历史上第一个分子动力学模拟
        • 2.第一个连续势场的分子动力学模拟
        • 3.第一个Lennard-Jones势分子动力学模拟
      • 2.分子动力学的并行
      • 3.常用MD软件
    • 3.分子动力学的步骤
      • 1.输入信息
        • 1.1 初始化-位置和速度
        • 1.2 初始化-边界条件
        • 1.3 初始化-原子间作用势
      • 2 3.时间步演化
        • 2.1 力的计算-近邻列表
        • 2.2 力的计算-原子间相互作用
        • 2.3 时间步积分-动力学演化
        • 2.4 时间步积分-步长选择
        • 3.1 温度与压强控制
        • 3.2 采样和平衡-趋衡过程
        • 3.3 采样和平衡-采样阶段
      • 4.后处理过程
        • 4.1 属性计算-热力学统计量
        • 4.2 分析与可视化
    • 4.分子动力学的优势与局限
      • 1.分子动力学的优势
      • 2.分子动力学的适用条件

1. 计算材料学

1. 什么是计算材料学

  • 计算材料学是一门新兴学科,融合了凝聚态物理、材料物理化学、材料力学、计算机编程等相关学科知识。
  • 研究方法的发展: 经验科学→理论推理→计算模拟→数据驱动

2. 计算材料学尺度

   计算材料学研究对象跨越超过12次方数量级的时间与空间尺度(ps→s,pm→m)

1. 纳观尺度
  • 基本粒子:电子
  • 主要理论:量子力学,薛定谔方程
    i ℏ ∂ ψ ∂ t = − ℏ 2 2 m ∂ ψ ∂ x 2 i\hbar \frac{\partial \psi}{\partial t}=-\frac{\hbar ^{2}}{2m}\frac{\partial \psi}{\partial x^{2}} itψ=2m2x2ψ
  • 主要方法:基于量子化学、密度泛函理论(Density Functional Theory,DFT)的第一性原理计算
  • 常用软件:
图片1 图片3 图片2
  • 主要特点
    1. 理论要求高
    2. 使用较容易:设置参数少、软件成熟、甚至可图形化操作
    3. 精度特别高:计算结果可以直接与实验结果进行比较
    4. 计算体系较小:计算体系局限在一百个原子左右,即便是超算也很难突破数千个原子
    5. 速度较慢:计算任务的时间通常以天为单位
  • 第一性原理方法基于量子力学,通过求解薛定谔方程来得到整个材料体系的性质,在材料的性能预测上已经得到了广泛应用
    1. 结构性质:分子、晶体结构预测
    2. 表面性质:重构、缺陷、表面能
    3. 力学性质:弹性常数、杨氏模量
    4. 磁性性质:磁性、自旋轨道耦合
    5. 电子性质:分子轨道、能带结构、价态
    6. 光学性质:吸收光谱、折射率
    7. 动力学模拟:扩散系数、反应动力学过程
2. 微观尺度
  • 基本粒子:原子
  • 主要理论:牛顿力学
    F → = m a → \overrightarrow{F} =m\overrightarrow{a} F =ma
  • 主要方法:蒙特卡洛(Monte Carlo,MC)
             分子动力学(Molecular Dynamics,MD)
  • 常用软件:
图片1 图片2
  • 主要特点
    1. 理论比较简单
    2. 使用有点复杂:LAMMPS需要几十行命令,每条命令可能有十几个参数
    3. 精度还算不错:取决于势函数,最好的情况下能够媲美第一性原理
    4. 体系可以很大:上万原子的计算小菜一碟,上亿个原子的计算也有报道
    5. 速度要快很多:计算任务通常以小时为单位
  • 分子动力学是建立在牛顿力学上的材料 模拟方法,被广泛用于材料性能的模拟
    1. 力学性质:微观塑性变形机制、塑性变形机制、拉伸断裂机理
    2. 热学性质:相变、热膨胀系数
    3. 物质结构/相互作用:吸附过程、扩散、缺陷运动、超分子自组装、表面能
3. 介观尺度
  • 基本粒子:粗粒子(或组织、结构)
  • 主要理论:牛顿力学/统计热力学
  • 主要方法:格子玻尔兹曼(Lattice Boltzmann Method,LBM)
              耗散粒子动力学(Dissipative Paticle Dynamics,DPD)
              布朗动力学(Brownian Dynamics,BD)
              位错动力学(Discrete Dislocation Dynamics,DDD)
              相变动力学(Phase Transition Dynamics,PTD)
  • 主要特点能够处理与实验相比对尺度的结果,但相关理论还不够成熟
4. 宏观尺度
  • 基本粒子:连续体
  • 主要理论:理论力学、流体力学
  • 主要方法:有限元法(Finite Element Method,FEM)
              有限差分法(Finite Difference Method,FDM)
              有限体积法(Finite Volume Method,FVM)
  • 常用软件:
图片1 图片2
  • 主要特点
    1. 理论非常成熟
    2. 应用非常广泛:因和实际生产联系紧密,在工业中得到了广泛的应用,特别是在制造业
    3. 使用较为复杂:满足各种不同应用背景的使用需求,软件都会比较复杂 ,学习成本相对较高
    4. 体系范围很广:小到螺丝螺母,大到飞机轮船
    5. 速度依赖精度:精度越高,速度越慢,从几小时到几天或更长,但缺少微观图像
  • 有限元方法是建立在连续介质力学上的模拟和预测材料性质的方法,在宏观材料的计算模拟获得了广泛的应用
    1. 冲击损伤仿真
    2. 力/热/电/磁场耦合分析
    3. 温度分布模拟
    4. 切削表面形成过程
    5. 裂纹的扩展及应力分布等

2.分子动力学

1.什么是分子动力学

  • 分子动力学(Molecular Dynamics,MD)是一种通过数值模拟方法研究分子、原子或粒子系统在经典力学下时间演化的计算技术。通过分子动力学,我们可以观察和分析分子系统在微观尺度上的动态行为,通过统计物理的方法建立起微观和宏观之间的关系。
1. 历史上第一个分子动力学模拟
  • Alder和Wainwright在1957年报道了使用MD方法的第一次模拟(硬球系统的相变,J.Chem.Phys 27,1208-1209,1957)。他们研究了由硬质球体相互作用组成的系统中的固体流体转变瞬时碰撞。
  • 32个粒子经过3000次碰撞后的轨迹,在IBM704电脑上花费了一个小时。
  • Alder, Berni Julian, and Thomas Everett Wainwright. “Phase transition for a hard sphere system.” The Journal of chemical physics 27.5 (1957): 1208-1209.
2.第一个连续势场的分子动力学模拟
  • 1960年,连续排斥的Born-Mayer相互作用势能首次用于MD在布鲁克海文国家实验室进行的铜靶辐射损伤模拟(J.B. Gibson,Goland,M.Milgram和G.H.Vineyard,Dynamics of radiation damage,Phys. Rev. 120,1229-1253,1960)。这可能是材料科学中MD方法的第一个应用
  • 计算晶胞由446至998个铜原子组成。一个时间积分步骤在IBM704电脑上大约需要一分钟。
  • Gibson, J. B., et al. “Dynamics of radiation damage.” Physical Review 120.4 (1960): 1229.
3.第一个Lennard-Jones势分子动力学模拟
  • 1964年,Argonne国家实验的A.Rahman数值求解了Lennard Jones势相互作用的粒子的运动轨迹(Phys .Rev. 136,A405(1964))
  • Rahman, Aneesur. “Correlations in the motion of atoms in liquid argon.” Physical review 136.2A (1964): A405.

2.分子动力学的并行

  • 串行计算机:只有单个处理器,顺序执行计算机程序
    并行计算机:有多个处理器组成,在这些处理器之间可以相互通信和协调
  • 分子动力学的并行相对比较简单(因为受力的计算都是局域的)
  • 超级计算机通常以共享内存或分布式内存的方式通过OpenMP和MPI框架实现并行
  • 共享内存:多个处理器(核心)共享相同的内存。线程(在核心之间分配工作)是有效的,例如在循环中。也可以使用GPU来完成
  • 分布式内存:处理器(节点)拥有自己的内存
                单程序多数据(SPMD)范式是有效的,其中相同的程序在每个节点上使用其自己在本地数据进行工作。
                数据仍然需要间歇性地与其他节点共享。
                域分解(将模拟盒分为物理域)是可行的,尤其是在短程相互作用中
  • 域分解:每个处理器拥有一部分仿真域以及其中的原子,处理器的域还扩展到包括所需的虚原子(位于其他处理器上的原子副本)。
            许多MD代码(包括LAMMPS)都使用这种最普遍的方法
图片1

3.常用MD软件

软件版权开发者
GROMACS开源University of Groningen, Netherlands
LAMMPS开源Sandia National Laboratories
CHARMM商业Martin Karplus and others(学术版),Boivia(商业版)
AMBER商业David Case,Rutgers University
NAMD开源Klaus Schulten, University of Illinois at Urbana-Champaign
DL_POLY商业W. Smith and T.R. Forester,Daresbury Laboratory
Materials Studio商业Biovia

3.分子动力学的步骤

图片1

1.输入信息

1.1 初始化-位置和速度
  • 初始速度
        初始速度一般按玻尔兹曼分布或者高斯分布取得,通常计算前检查粒子总动量为零,否则计算的系统本身产生移动而导致总能量的不稳定。
        Maxwell-Boltzmann速率分布
    f ( v ) = 4 π ( m 2 k T ) 3 2 v 2 e − m v 2 2 k T f(v)=\frac{4}{\sqrt{\pi}}(\frac{m}{2kT})^{\frac{3}{2}}v^{2}e^{-\frac{mv^{2}}{2kT}} f(v)=π 4(2kTm)23v2e2kTmv2
  • 用Python产生随机的Lammps原子坐标
    # 如何用Python产生随机的Lammps原子坐标
    def genRandomAtoms(natoms,atom_types = 1,system_size = 10,outputFileName = 'randomAtoms.dat')# 生成随机原子坐标dim = 3                  # 3维minDist = 0.3                     # 要求原子间的最小距离positions = np.zeros((natoms,dim))positions[0] = np.random.rand(dim)for i in range(1,natoms):iter,maxIter = 0, 1e5while True and iter<maxIter:iter += 1newpos = np.random.rand(dim)*system_sizedist = newpos - positions[0:i] if np.all(np.linalg.norm(dist,axis = 1) > minDist):breakassert(iter<maxIter)positions[i] = newpos
    
1.2 初始化-边界条件
  • 周期边界条件:系统在边界处是周期性重复
                  原子在一个边界上跑出边界后会重新出现在相邻边界的相对位置上
                  适合模拟晶体、周期性流通体系
  • 包裹边界条件:非周期性,界面无相互作用
                  边界可动,原子不会跑出模拟盒子边界
                  适合模拟孤立大分子、纳米颗粒
  • 固定边界条件:非周期性,界面无相互作用
                  盒子的两个表面固定,原子跑出边界则会丢失
                  适合薄膜生长的模拟
1.3 初始化-原子间作用势
  • 原子间作用势:描述原子间相互作用关系的函数或模型,直接决定了原子模拟结果的可靠性
  • Interatomic Potentials:https://www.ctcms.nist.gov/potentials/
  • 按照多体相互作用的数目分类:二体势(LJ势/Morse势)、三体势(Tersoff势)、多体势(嵌入原子势、反应力场、机器学习势)。其中,机器学习势为基于第一性原理数据驱动,而其他势为半经验势
  • 根据模拟对象的键合类型进行选择原子间作用势

2 3.时间步演化

2.1 力的计算-近邻列表
  • 在分子动力学过程中,通常会维护一个近邻列表来加速原子受力的计算
  • 当有正确的近邻列表时,受力计算将会变得非常简单
图片1
2.2 力的计算-原子间相互作用
  • Lennard-Jones V ( r ) = 4 ε [ ( σ r ) 12 − ( σ r ) 6 ] V(r)=4\varepsilon [(\frac{\sigma}{r})^{12}-(\frac{\sigma}{r})^{6}] V(r)=4ε[(rσ)12(rσ)6]
    其中, ( σ r ) 12 (\frac{\sigma}{r})^{12} (rσ)12为短程排斥作用的Pauli exclusion principle − ( σ r ) 6 -(\frac{\sigma}{r})^{6} (rσ)6为远程吸引作用的London dispersion
  • 惰性气体的Lennard-Jones势参数
参数NeArKrXeN
σ \sigma σ(nm)0.2750.3410.3600.4100.370
ε / k B \varepsilon/k_{B} ε/kB3612017122195
2.3 时间步积分-动力学演化
  • 优化与声子:轨迹紧贴着势能面(PES),局部最优和全局最优,势能面的最低点接近于简谐势
  • 构型优化:在分子动力学中,找到系统最低势能状态是一项基础而关键的任务。这通常涉及到大量变量和复杂的目标函数,因此需要高度专门化的优化算法,如最速下降、共轭梯度等。
  • 分子动力学演化:轨迹高于势能面(动能贡献),需要在相空间上很好的撒点
  • 动力学演化
    N个原子组成的分子体系,第i个原子运动的牛顿方程是:
    f i = m i d 2 r i d t 2 = m i r ˉ i … ( i = 1 , 2 , 3 , . . . , N ) f_{i}=m_{i}\frac{d^{2}r_{i}}{dt^{2}}=m_{i}\bar{r} _{i}\dots(i=1,2,3,...,N) fi=midt2d2ri=mirˉi(i=1,2,3,...,N)对其速度进行积分即为粒子的位置轨迹 r ( t ) = ∫ 0 t v ( t ) d t r(t)=\int_{0}^{t}v(t)dt r(t)=0tv(t)dt r ( t + Δ t ) = r ( t ) + v ( t ) Δ t + O ( Δ t ) 2 r(t+\Delta t)=r(t)+v(t)\Delta t+O(\Delta t)^{2} r(t+Δt)=r(t)+v(t)Δt+O(Δt)2 v ( t + Δ t ) = v ( t ) + F ( t ) m Δ t + O ( Δ t ) 2 v(t+\Delta t)=v(t)+\frac{F(t)}{m}\Delta t+O(\Delta t)^{2} v(t+Δt)=v(t)+mF(t)Δt+O(Δt)2 通过算法对下一时刻原子速度和位置进行求解,算法主要包括:Euler算法Velert算法Leap-frog算法Velocity-velert算法
2.4 时间步积分-步长选择
  • 简单原则:步长 Δ t \Delta t Δt的选取必须保证体系能量守恒,其轨迹具有时间可逆性
  • 复杂要求:当系统中存在多个不同时间尺度时,例如不同质量的混合粒子,溶剂聚合体,柔性和刚性的共存分子等,步长的选择必须依照体系中动力学变化最快的成分或模型
  • 动力学模拟受限于最高频率,时间步长应约为最高频率的1/10。大多数情况下,C-H键的振动(10-14s),时间步长为1fs(10-15s)
MotionTime Scale (sec)
Bond stretching10-14 to 10-13
Elastic vibrations10-12 to 10-11
Rotations of surface sidechains10-11 to 10-10
Hinge bending10-11 to 10-7
Rotation of buried sidechains10-4 to 1 sec
Allosteric transistions10-5 to 1 sec
Local denaturations10-5 to 10 sec
3.1 温度与压强控制
  • 在实际分子动力学模拟中,能量守恒体系的模拟非常少见:
    1. 能量守恒的NVE系综通常不能真实反映体系所处的实验情况
    2. 分子动力学的算法误差积累倾向于使得体系变热
      可以将体系连接到热浴的办法来吸收多余的热量
  • 系综(ensemble)是由具有相同宏观条件(例如体积、能量、温度等)的许多微观态组成的集合。这些微观态在某一时刻可以被看作是系统的一个可能的状态。通过研究这些微观态的统计行为,可以得到系统的平均宏观性能
  • 分子动力学中常用系综:Microcanonical(const. NVE)、Canonical(const. NVT)、Grand Canonical(const. μ \mu μVT)、Gibbs or Isobaric-isothermal(const. NPT)
3.2 采样和平衡-趋衡过程
  • 当系统刚完成初始化,或者某个模拟参量发生变化时,体系通常会处于非平衡态。这时候体系的各项性质会随着时间步而漂移,趋向于新的平衡态,这个过程叫做趋衡过程
  • 经过一段时间后,体系持续给出确定能量值,称这时系统达到平衡态,达到平衡态所需的时间称为弛豫时间
3.3 采样和平衡-采样阶段
  • 分子动力学方法通过统计平均的方法获得平衡体系的物理量。在平衡后的模拟过程中收集数据进行统计分析
  • 对于简单物理量 U = ⟨ E ⟩ = 1 M ∑ i = 1 M E i U=\left \langle E \right \rangle=\frac{1}{M}\sum_{i=1}^{M} E_{i} U=E=M1i=1MEi

4.后处理过程

4.1 属性计算-热力学统计量
  • MD是一种统计力学方法:它生成一组符合统计分布规律的构型,通过计算系综平均来得到物理量的宏观测量值(长时间平均值)。一般不感兴趣单个原子的轨迹,而是通过对所有原子/时间进行平均,从而获得热力学量及宏观性质
  • 物理量大致分为以下几类:1.结构特征:径向分布函数、动态结构因子等
                            2.状态方程:自由能函数、相图、热膨胀系数等
                            3.输运:粘度、热导率、相关系数、扩散系数
PropertyDefinitionApplication
Temperature T = 1 3 1 N k B ⟨ ∑ i = 1 N m i v ⃗ i 2 ⟩ v ⃗ i 2 = v ⃗ i ⋅ v ⃗ i T=\frac{1}{3}\frac{1}{Nk_{B}}\left \langle \sum_{i=1}^{N} m_{i} \vec{v}_{i}^{2}\right \rangle \quad \vec{v}_{i}^{2}=\vec{v}_{i}\cdot \vec{v}_{i} T=31NkB1i=1Nmiv i2v i2=v iv iDirect
Pressure P = 1 3 V ⟨ ∑ i = 1 N ( m i v ⃗ i 2 + r ⃗ i ⋅ f ⃗ i ) ⟩ P=\frac{1}{3V}\left \langle \sum_{i=1}^{N}(m_{i}\vec{v}_{i}^{2}+\vec{r}_{i}\cdot \vec{f}_{i}) \right \rangle P=3V1i=1N(miv i2+r if i)Direct
Stress σ i j = 1 Ω ⟨ ( − ∑ α m α u α , i u α , j + 1 2 ∑ α , β , α ≠ β ∂ ϕ ( r ) ∂ r r i r ⋅ r j ∣ r = r α β ) ⟩ \sigma _{ij}=\frac{1}{\Omega}\left\langle (-\sum_{\alpha}m_{\alpha}u_{\alpha,i}u_{\alpha,j}+\frac{1}{2}\sum_{\alpha,\beta,\alpha\ne\beta}\frac{\partial \phi (r) }{\partial r}\frac{r_{i}}{r}\cdot r_{j}\mid_{r=r_{\alpha\beta}}) \right\rangle σij=Ω1(αmαuα,iuα,j+21α,β,α=βrϕ(r)rrirjr=rαβ)Direct
MSD ⟨ Δ r 2 ( t ) ⟩ = 1 N ∑ i ( r i ( t ) − r i ( t = 0 ) ) 2 \left\langle \Delta r^{2}(t) \right\rangle=\frac{1}{N}\sum_{i}(r_{i}(t)-r_{i}(t=0))^{2} Δr2(t)=N1i(ri(t)ri(t=0))2Diffusivity
RDF g ( r ) = ⟨ N ( r ± Δ r 2 ) Ω ( r ± Δ r 2 ) ρ ⟩ g(r)=\left\langle \frac{N(r\pm \frac{\Delta r}{2})}{\Omega(r\pm \frac{\Delta r}{2})\rho} \right\rangle g(r)=Ω(r±2Δr)ρN(r±2Δr)Atomic structure(signature)
VAF ⟨ v ( 0 ) v ( t ) ⟩ = 1 N ∑ i = 1 N 1 N i ∑ k = 1 N i v i ( t k ) v i ( t k + t ) \left\langle v(0)v(t) \right\rangle=\frac{1}{N}\sum_{i=1}^{N}\frac{1}{N_{i}}\sum_{k=1}^{N_i}v_{i}(t_{k})v_{i}(t_{k}+t) v(0)v(t)=N1i=1NNi1k=1Nivi(tk)vi(tk+t)Diffusivity,phase state,transport properties
4.2 分析与可视化
  • 对分子结构和模拟结果的输出进行直观分析,帮助理解内在微观机理
  • 通过温度、压力等场的可视化,可以更直观地了解这些宏观参数在微观层面地分布和变化
  • 通过可视化,可能会发现一些非预期的行为或者错误,有助于调试和优化模拟参数

4.分子动力学的优势与局限

1.分子动力学的优势

  • 基于量子力学的第一性原理计算通常精度较高,但是可以处理的体系大小一般为~ 1000个原子,但是和连续介质力学模型通常并不兼容
  • 分子动力学可以拓展到百万个到上亿个原子体系,与连续介质力学可以很好的衔接
  • 分子动力学提供了分子和原子层面的详细信息,揭示了无法通过直接实验观察到的微观现象和结构
  • 适用于多个领域,包括物理、化学、生物学和材料科学等,能够模拟各种不同的系统和条件
  • MD是一个确定性的过程:给定初始位置和速度,体系随时间的演变原则上是完全确定的。MD方法的一大优点是研究快速非平衡过程时具有原子级分辨率(例如由于冲击波引起的损失/塑性变形,动态断裂和裂纹扩展,离子轰击,簇冲击等等)。对于许多这类问题,除了MD方法外没有其他选择

2.分子动力学的适用条件

  • 在分子动力学模拟中,用牛顿方程替代了原子核的薛定谔方程
  • 此近似有效性的一个重要判断依据是德布罗意波长:当德布罗意波长 Λ \Lambda Λ远大于粒子间距 d d d的时候,量子效应将会非常的显著
  • 对于热运动,可求得德布罗意波长,T=300K平衡态时 Λ t h = 1 2 π m k B T \Lambda_{th}=\frac{1}{\sqrt{2\pi mk_{B}T}} Λth=2πmkBT 1 Λ t h = 1 A ˚ f o r a H a t o m ( m H = 1 a m u ) \Lambda_{th}=1\AA \; \mathrm{for \; a \; H \; atom \; (m_{H}=1amu)} Λth=1A˚foraHatom(mH=1amu) Λ t h = 0.19 A ˚ f o r a S i a t o m ( m S i = 28 a m u ) \Lambda_{th}=0.19\AA \; \mathrm{for \; a \; Si \; atom \; (m_{Si}=28amu)} Λth=0.19A˚foraSiatom(mSi=28amu) Λ t h = 0.07 A ˚ f o r a A u a t o m ( m A u = 197 a m u ) \Lambda_{th}=0.07\AA \; \mathrm{for \; a \; Au \; atom \; (m_{Au}=197amu)} Λth=0.07A˚foraAuatom(mAu=197amu)
  • 所以在绝大多数足够高温度的情况下,除了H、He、Ne等轻原子外,原子可以用质点来描述( d > > Λ d>>\Lambda d>>Λ),可以用牛顿方程来描述原子的运动
  • 分子动力学模拟的时间和尺寸:~ 纳秒(1-100ns),~ 108个原子

http://www.ppmy.cn/ops/144612.html

相关文章

.net core sdk 项目多版本切换

使用global.json文件指定项目要使用的sdk版本&#xff1a; 在项目根目录下执行cmd命令&#xff08;sdk的版本默认为当前使用的最新的sdk的版本&#xff09; 默认sdk&#xff1a;dotnet new globaljson指定sdk&#xff1a;dotnet new globaljson --sdk-version <version>…

【Git】-- 版本说明

Alpha&#xff1a;是内部测试版,一般不向外部发布,会有很多 Bug .一般只有测试人员使用。Beta&#xff1a;也是测试版&#xff0c;这个阶段的版本会一直加入新的功能。在 Alpha 版之后推出。RC&#xff1a;(Release Candidate) 顾名思义么 ! 用在软件上就是候选版本。系统平台…

QT信号槽

目录 概念 函数原型 实现 3.1 自带信号→自带槽 3.2 自带信号→自定义槽 3.3 自定义信号 信号槽传参 对应关系 5.1 一对多 5.2 多对一 信号槽的优势 信号槽的注意事项 概念 信号和槽是Qt框架在C语言基础上扩展的一种机制&#xff0c;用于对象之间的通信。这一机制类…

SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常适…

如何在电脑上控制手机?

在现代生活中&#xff0c;通过电脑控制手机已经成为一种高效的工作和娱乐方式。Total Control 是一款实用的电脑端软件&#xff0c;通过USB或Wi-Fi连接&#xff0c;用户可以在电脑上直接操作多台手机,通过电脑键盘输入文字&#xff0c;提高操作效率。特别适合需要大屏操作的用户…

MySQL篇之对MySQL进行参数优化,提高MySQL性能

1. MySQL参数优化说明 MySQL 参数调优是提高数据库性能的重要手段之一。通过调整 MySQL 的配置参数&#xff0c;可以优化查询速度、提升并发处理能力、减少资源消耗等。 MySQL 的性能优化涉及到多个方面&#xff0c;包括内存管理、磁盘 I/O、查询优化、连接管理、复制配置等。…

Apache Tomcat 漏洞CVE-2024-50379条件竞争文件上传漏洞 servlet readonly spring boot 修复方式

1&#xff0c;关于漏洞 Apache Tomcat是一个流行的开源 Web 服务器和 Java Servlet 容器。 二、 漏洞描述 Apache Tomcat中修复了个 TOCTOU 竞争条件远程代码执行漏洞 (CVE-2024-50379)&#xff0c;该漏洞的 CVSS 评分为 9.8。Apache Tomcat 中 JSP 编译期间存在检查时间使用时…

xcode15 报错 does not contain ‘libarclite‘

新建pod私有库 在xcode15 无法运行 报错 SDK does not contain libarclite at the path /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphoneos.a; try increasing the minimum deployment target 下载 资源文件…