Eastsheng's Wiki

LAMMPS计算相图

2024-06-17 18:37:28

[toc]

dCCI method

dynamic Clausius–Clapeyron integration (dCCI)

dCCI方法的优点在于,它使用相对较短的单次非平衡模拟,提供了跨越大范围热力学状态的共存曲线

安装配置环境

Clone DCCI库到src文件

1
2
cd ./lammps-23Jun2022/src/
git clone https://github.com/samuelcajahuaringa/dCCIforLAMMPS.git DCCI

Copy文件

1
2
cd ./DCCI
cp fix.h fix_nh.* fix_adapt_dcci.* dcci.cpp dcci.h ../

如何理解:the pair style modified to scale the forces such as pair lj. 需要做什么修改?

不做修改,make mpi未报错。

构建dcci和编译lammps

1
2
3
cd ..
make yes-DCCI
make mpi -j8

成功编译

LAMMPS版本:23Jun2022

测试环境:WSL Ubuntu20.04

Lennard-Jones固-液相边界例子

运行测试

1
2
cd lammps-23Jun2022/src/DCCI/example/lj
mpirun -np 2 ~/softwares/Lammps/lammps-23Jun2022/src/lmp_mpi -partition 2x1 -in in.dcci

报错调试

  • 2个处理器以上报错:ERROR: Processor partitions do not match number of allocated processors (../lammps.cpp:449)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ERROR: Processor partitions do not match number of allocated processors (../lammps.cpp:449)
    --------------------------------------------------------------------------
    Primary job terminated normally, but 1 process returned
    a non-zero exit code. Per user-direction, the job has been aborted.
    --------------------------------------------------------------------------
    --------------------------------------------------------------------------
    mpirun detected that one or more processes exited with non-zero status, thus causing
    the job to be terminated. The first process to do so was:

    Process name: [[25094,1],1]
    Exit code: 1
  • 默认两个处理器跑也报错:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    LAMMPS (23 Jun 2022)
    Running on 2 partitions of processors
    --------------------------------------------------------------------------
    MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD
    with errorcode 1.

    NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
    You may or may not see output from other processes, depending on
    exactly when Open MPI kills them.
  • 发现报错处理器数无关

    • -partition 2x1 参数表示采用两个处理器分区,每个处理器分区中都运行一个 MPI 进程

    • 如果增加总进程为8,则需要修改为:-partition 2x4

      采用两个处理器分区,每个处理器分区中都运行4个 MPI 进程

  • 查看log文件发现还是报错:

    1
    2
    ERROR: Thermo fix does not compute scalar (../thermo.cpp:1019)
    Last command: thermo_style custom step temp ke pe etotal press vol f_f3

    f3是一个标量?

    注释 f_f3后不报错了

结果分析

  • 结果在log.lammps中;
  • 对比分析:
    • test

参考

[1] Cajahuaringa S, Antonelli A. Non-equilibrium free-energy calculation of phase-boundaries using LAMMPS[J]. Computational Materials Science, 2022, 207: 111275.

[2] dCCIforLAMMPS: Examples demonstrating how to reproduce the results in the paper [1].