我正在写一篇关于分子物理的实验室工作,作业包含以下计算,但是当我用 C++ 输入所有内容时,出现错误。我不明白他在抱怨什么以及如何解决它。“const double UCUT = 4 * EPS * ((SIGMA / RCUT ^ 12) - SIGMA / RCUT ^ 6);”行中的错误在第一个变量 SIGMA 处发誓
所有代码:
const double MASS = 66.335; // Масса одной частицы (атома аргона)
const double K_B = 1.380648528; // Постоянная Больцмана
const double EPS = 1.712; // Параметр энергии (глубина потенциальной ямы)
const double SIGMA = 0.3418; // Параметр длины взаимодействия
const double RCUT = 2.5 * SIGMA; // Радиус обрезания потенциала
const double RCUT2 = RCUT * RCUT;
const double UCUT = 4 * EPS * ((SIGMA / RCUT ^ 12) - SIGMA / RCUT ^ 6);
const double ACRIST = 1.0; // Длина ребра эл. ячейки, зависит от от термодинамического
состояния и модели
const double LX = NUMCRIST_X * ACRIST, LY = NUMCRIST_Y * ACRIST, LZ = NUMCRIST_Z *
ACRIST;
const double VOLUME = LX * LY * LZ; // Объём системы'''
编译器在 Lennard-Jones 势公式中
RCUT ^ 12发誓。RCUT ^ 6C++中的运算符
^并不是指幂,而是按位XOR(“异或”)运算,不适用于实数。你将需要一个函数
pow()