лабораторная работа, требуется реализовать 4 лаб на питоне + ovito, и 7 на lammps + ovito.
Пример как выглядят сами лабы прикрепил всего их 11
пример решения одной задачи:
import subprocess
import numpy as np
import matplotlib.pyplot as plt
temperatures = [273, 373, 473, 573, 673, 773, 873, 973, 1073]
results = []
for temp in temperatures:
# Создание входного файла для каждой температуры
with open('in.therm', 'w') as f:
f.write(f"""
units metal
boundary p p p
lattice hcp 2.951
region box block 0 8 0 8 0 5
create_box 1 box
create_atoms 1 box
mass 1 47.867
pair_style eam/fs
pair_coeff * * Ti1.eam.fs Ti
timestep 0.001
thermo 1000
velocity all create {temp} 12345
fix 1 all npt temp {temp} {temp} 0.1 aniso 0 0 0.1
run 50000
variable la equal lx/8
variable lc equal lz/5
print "a_parameter: ${{la}}"
print "c_parameter: ${{lc}}"
""")
# Запуск LAMMPS
result = subprocess.run(['lmp_serial', '-in', 'in.therm'],
capture_output=True, text=True)
# Парсинг результатов
for line in result.stdout.split('\n'):
if 'a_parameter:' in line:
a = float(line.split()[-1])
elif 'c_parameter:' in line:
c = float(line.split()[-1])
results.append({'T': temp, 'a': a, 'c': c})
# Анализ данных
results = np.array(results)
Разделы:
Опубликован:
20.11.2025 | 12:56 [поднят: 20.11.2025 | 12:56]
Заказ находится в архиве