当前位置: 首页 > news >正文

青岛网站建设方案优化免费的公司起名网

青岛网站建设方案优化,免费的公司起名网,上海建设网站定做,移动网站建设哪家好固体比热模型中的德拜模型和爱因斯坦模型是固体物理学中用于估算固体热容的两种重要原子振动模型。 爱因斯坦模型基于三种假设:1.晶格中的每一个原子都是三维量子谐振子;2.原子不互相作用;3.所有的原子都以相同的频率振动(与德拜…

固体比热模型中的德拜模型和爱因斯坦模型是固体物理学中用于估算固体热容的两种重要原子振动模型。

爱因斯坦模型基于三种假设:1.晶格中的每一个原子都是三维量子谐振子;2.原子不互相作用;3.所有的原子都以相同的频率振动(与德拜模型不同)。

在高温下,爱因斯坦模型与实验结果一致,特别是与杜隆-珀替定律相符‌。

图片

德拜模型将晶体中的原子振动视为连续弹性介质中传播的弹性波。固体的热容主要由低频的声学支声子贡献,存在截止频率,并未考虑光学支声子的贡献。在低温区与实验结果高度一致。

图片

基本设置

import numpy as npimport osimport matplotlib.pyplot as pltfrom scipy.optimize import curve_fitimport scipy.integrate as integrate
from scipy.integrate import quad
R = 8.3144  # unit: J/ (mol·K)N = 10   #number of atomsn = 0.5 #Debye/(Debye+Einstein)names = ["data.dat"]colors = 'rgbmpyckrgbmpyc'

数据读入

def readata(name):    try:        data = np.loadtxt(name)          T = data[:, 0]        T = np.flipud(T)        HC = data[:, 1]  # HC        HC = np.flipud(HC)        #print(f"Data read from {name}:")        #print("T:", T)        #print("HC:", HC)        return T, HC    except ValueError:        print('empty value encountered in', name)        return None, None

德拜模型

    def intdebye(x):        return x**4 * np.exp(x) / (np.exp(x) - 1)**2       HC_calc_debye = []        for Ti in T:        A1 = quad(intdebye, 0, ThetaD / Ti)[0]          debye_value = 9 * R * N * (Ti / ThetaD)**3 * A1        HC_calc_debye.append(debye_value)    HC_calc_debye = np.array(HC_calc_debye)

爱因斯坦模型

    HC_calc_Einstein = []       for Ti in T:        einstein_value = 3 * R * N * (ThetaE / Ti)**2 * np.exp(ThetaE / Ti) / (np.exp(ThetaE / Ti) - 1)**2        HC_calc_Einstein.append(einstein_value)    HC_calc_Einstein = np.array(HC_calc_Einstein)

HC模型混合(将D和E模型填入)

def HC_lattice(T, ThetaD, ThetaE):    HC_lattice = n * HC_calc_debye + (1 - n) * HC_calc_Einstein        return HC_lattice    

磁熵或相变熵值计算和统计

def S_CT(T, C_mag):    CoT = C_mag / T    S = np.cumsum(CoT)    #print("S:", S)    return S    S_integral = integrate_S(T, S, 0, 50)    #print(f'n={n:.1f}, S_integral from 0 to 50: {S_integral:.3f}')    print("S:", S_integral)    return S_integral

拟合区间函数设定

def FitRange(lower, upper, numbers):    ii = np.argmin(np.abs(numbers - lower))    jj = np.argmin(np.abs(numbers - upper))    return min(ii, jj), max(ii, jj)    #lower, upper = FitRange(25, 200, T)  # claim the lower and upper range of fitting    #popt, pcov = curve_fit(HC_lattice, T[lower:upper], HC[lower:upper])   

读入数据拟合和绘图

for i, name in enumerate(names):    print(name)    T, HC = readata(name)        if T is not None and HC is not None:        if 'data' in name:            color = colors[i]            plt.subplot(2,2,1)            plt.plot(T, HC, color + 'o', label=name)            plt.xlabel('T(K)')            plt.ylabel('HC(J/K/mol)')            plt.legend()                        lower, upper = FitRange(25, 200, T)  # claim the lower and upper range of fitting            popt, pcov = curve_fit(HC_lattice, T[lower:upper], HC[lower:upper])                        ThetaD,ThetaE=popt            print('fit:  ThetaD=%5.3f, ThetaE=%5.3f' % (ThetaD,ThetaE))            plt.subplot(2,2,2)            plt.plot(T, HC_lattice(T, *popt), 'k-', label="HC_lattice")            plt.plot(T, HC, color + '*', label="HC_exp")            plt.xlabel('T(K)')            plt.ylabel(r'$HC(J/K/mol)$')            plt.legend()                        C_mag = HC - HC_lattice(T, *popt)            plt.subplot(2,2,3)            plt.plot(T, C_mag, 'k*', label="C_mag")            plt.plot(T, HC, color + '*')            plt.xlabel('T(K)')            plt.ylabel(r'$HC_mag(J/K/mol)$')            plt.legend()                                                plt.subplot(2,2,4)                        S_mag = S_CT(T[1:], C_mag[1:])            plt.plot(T[1:], S_mag, 'k-', label="S_mag")            plt.plot([0, 300], [R * np.log(2 * 5 / 2 + 1), R * np.log(2 * 5 / 2 + 1)], 'r-', label="S=5/2")            plt.plot([0, 300], [R * np.log(2 * 4 / 2 + 1), R * np.log(2 * 4 / 2 + 1)], 'b-', label="S=2")            plt.plot([0, 300], [R * np.log(2 * 4 / 4 + 1), R * np.log(2 * 4 / 4 + 1)], 'm-', label="S=1")            plt.legend()
plt.show()#plt.savefig("1.png")

http://www.yingshimen.cn/news/582/

相关文章:

  • 如何做qq钓鱼网站群晖nas可以做网站服务器
  • 免费制作网站平台哪个好爱企查商标查询
  • 石家庄网站建设招聘天元建设集团有限公司年产值
  • 网站建设服务专业常德网
  • 买app的网站建设建一个网站需要多长时间
  • 可以做本地生活服务的有哪些网站全国有名的网站建设公司
  • 做网站seo优化的公司做宣传用什么网站好
  • 关键词挖掘ppt福州seo顾问
  • p2p网站建设多少钱西安企业建站系统模板
  • 一起做网店网站济南网站建设内容设计
  • 网站备案网站类型查企业免费的网站
  • 想学网站建设开发微信小程序开通流程
  • 大连最好的做网站的公司装修公司网站asp源码
  • 阿里云备案增加网站wordpress性能承载量
  • 网站建设营销策划书WordPress问答插件路由
  • 网站安全建设工作总结情侣网站建设策划书
  • 无锡建设机械网站制作网站建设前言
  • 网站建设公司软件开新闻类网站设计
  • 白山做网站临沂品牌网站制作
  • 优购物官方网站手机版网站上怎么做艳丽的色
  • 平板电脑网站模板百度公司可以做网站么
  • 个人网站模板html判断网站做的好坏
  • 网站后台管理系统栏目位置网络营销推广方法包括有哪些?
  • 设计师 推荐 网站嘉兴在线 官网
  • 婚恋网站建设公司排名wordpress模板博客
  • 网站怎么做透明导航百度网盘怎么增大免费空间
  • 山西建设执业资格注册管理中心网站如何制作一个简单的网页链接
  • 昆山网站公司珠海企业网站建设服务
  • 深圳网站优化方法网站开发seo规范
  • 一个完整的工程项目流程长沙竞价优化