导体内部的稳定温度分布大物dtp

上传人:cjc****537 文档编号:47369781 上传时间:2018-07-01 格式:DOC 页数:9 大小:184.50KB
返回 下载 相关 举报
导体内部的稳定温度分布大物dtp_第1页
第1页 / 共9页
导体内部的稳定温度分布大物dtp_第2页
第2页 / 共9页
导体内部的稳定温度分布大物dtp_第3页
第3页 / 共9页
导体内部的稳定温度分布大物dtp_第4页
第4页 / 共9页
导体内部的稳定温度分布大物dtp_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《导体内部的稳定温度分布大物dtp》由会员分享,可在线阅读,更多相关《导体内部的稳定温度分布大物dtp(9页珍藏版)》请在金锄头文库上搜索。

1、导体内部的稳定温度分布导体内部的稳定温度分布严鹏熙 (物理与电信工程学院 物理学三班 20082301105)引言引言: 热学中一个物体的温度处于温恒态时各部分温度按一定规律分布,而导体内部的温度分布通常不可直接测量,有时我们需要掌握导体内部温度变化 规律,则可引入勒让德函数来建立这个物理模型,只要测出导体表面的温度, 导体内部的温度分布便可推知,同时我们可以画出导体内部温度分布变化图形, 以此来形象表达该模型。模型模型:一个半球形热良导体,在球坐标系(r,)下,其表面维持温度为函数 ,底面维持为 0,求这个导体内部的稳定温度分布。 解解 球体表面温度分布函数 与 无关,因此球体温度分布函数与

2、 无关, 于是 u 满足下列 Dirichlet 边值问题,20r0 0sinsin1122 2 lu rrurrr,2coslru200u2 由半球底面上的边界条件以及方程关于 的奇偶不变性,可以对0u2 关于 =做奇延拓为新未知函数,变成球面上的定解问题,ru2,ru ,20r0 0sinsin1122 2 lu rrurrr.,2coslru0设,作代换 x=,并记为,分析可知 R,P 分别 rRru ,cos xP满足 Euler 方程和 Legendre 方程 ,012“2RnnrRRr012“x12PnnxPP它们有物理意义的特解分别为和 P=。由叠加原理,可以设方程有nrR xP

3、n物理意义的级数解为 xPrarunnnn0,在变换 x=下,边界条件可以改写为。因此cos2x,lu xPlaxnnnn02又是 n 次多项式,而等式左边的次数为 2,因此,当 n时,。由 xPn30nalegendre 函数的正交关系可以求出n=0,1,2. ,dxxPxlnannn112 212是奇函数,所以。而 xP10a1,31 21112 0dxxa.32 213 2522112 22ldxxxla因此cos32 31222 Plrru,2 2222 cos331 lr lr从而,2 2222 cos331 lr lrru.20该半球形良导体内部的稳定温度分布解得图像如下:结论结论

4、:半球形导体的温度分布具有由球顶点向四周递增的特点。参考文献:数学物理方程与特殊函数 华中科技大学 李元杰数学物理方程 桂子鹏 康盛亮编程程序:#include “WizDemo.h“ #include float step; Text title; float P_radius, P_omega,V;/ 构造函数 demoApp:demoApp() : WizGLApp() viewMode = VIEW_PERSPECTIVE2;/ 观察视角模式 demoState = DEMO_STOP;/ 初始动画状态 wndWidth = 1024;/ 初始窗口宽度 wndHeight = 715;

5、/ 初始窗口高度 showParamWnd = true;/ 初始是否显示参数窗口 showInfoWnd = false;/ 初始是否显示信息窗口showToolbar = true;/ 初始是否显示工具栏 /wiz:Assign(bgColor, 0.32f, 0.72f, 0.54f, 0.0f);/ 设置背景色 / 析构函数 demoApp:demoApp() double BesselFun(int n, float x) double Result = 0.0f; double theta; int m, count;count = (abs(n)+1)*360; for (m=0

6、; m0; i-) den *= i; for (i=n-m; i0; i-)acc *= i; for (i=n-(2*m); i0; i-) acc *= i; for (i=m; i0; i-) acc *= i; Result += pow(-1, m) * den * pow(x, n-(2*m) / (pow(2, n) * acc); return Result; / / 在此创建场景 void demoApp:InitializeScenes() / 在此创建控件 void demoApp:InitializeControls(int sceneIndex) / 在此初始化控件

7、参数 void demoApp:InitializeParameters(int sceneIndex) P_radius =2; P_omega =34; V=2; / 场景切换时可在此作需要的设置 void demoApp:SwitchScene(int curScene, int prevScene) / / 与绘图相关的初始化工作 void demoApp:SetupRC() glt:SetDefaultLight(); glt:SetGlobalAmbient(wiz:cBLACK); title.LoadWords(L“球勒让德函数 22“, L“楷体_GB2312“, 32, w

8、iz:cBLACK, 280, 45); / 绘制场景void demoApp:RenderScene(int sceneIndex) title.Show(100, 0, 50, false);/ 在(0,0,0)处显示汉字内容,不可移动static Point3f p81161, p181161,q3, s2; static Color4f color=0.6,1.0,1.0,1,color1=0.2,0.8,0.9,0.8,cs81161; Orient direct = 0.0f, 90.0f; int i, j; float theta, phi, R,R1;s0.x=0; s0.y

9、=0; s0.z=0;s1.x=-80; s1.y=0; s1.z=0;q0.x=0; q0.y=80; q0.z=0;q1.x=80; q1.y=0; q1.z=0;q2.x=0; q2.y=0; q2.z=70;for(i=0;i1000)step=step-1000; / 动画暂停 void demoApp:DemoPause() / 动画停止 void demoApp:DemoStop() / / 按钮被点击 void demoApp:ButtonClick(int sceneIndex, UINT butSN) / 复选框被点击 void demoApp:CheckClick(int

10、 sceneIndex, UINT chkSN, bool checked) / 单选框被点击 void demoApp:RadioClick(int sceneIndex, UINT rdoSN) / 文本框内容被改变 void demoApp:TextboxChange(int sceneIndex, UINT txtSN) / 组合框下拉列表项被选择 void demoApp:ComboSelChange(int sceneIndex, UINT cmbSN, int index) / 组合框文本被改变 void demoApp:ComboTextChange(int sceneInde

11、x, UINT cmbSN) / 滑条被移动 void demoApp:ScrollMove(int sceneIndex, UINT sbSN, int value, float rate) float param = (float)value * rate; switch (sbSN) case 1: P_radius = param; break; case 2: P_omega = param; break; case 3: V= param; break; case 4: break; case 5: break; FlushScene(); / / 键盘建按下 void demoA

12、pp:KeyDown(UINT key) / 键盘建松开 void demoApp:KeyUp(UINT key) / 鼠标左键按下 void demoApp:LeftButtonDown(int x, int y, int keyFlag) / 鼠标左键松开 void demoApp:LeftButtonUp(int x, int y, int keyFlag) / 鼠标左键双击 void demoApp:LeftButtonDblClick(int x, int y, int keyFlag) / 鼠标右键按下void demoApp:RightButtonDown(int x, int y, int keyFlag) / 鼠标右键松开 void demoApp:RightButtonUp(int x, int y, int keyFlag) / 鼠标右键双击 void demoApp:RightButtonDblClick(int x, int y, int keyFlag) / 鼠标移动 void demoApp:MouseMove(int x, int y, int keyFlag) / 鼠标滚轮被滚动 void demoApp:MouseWheel(int x, int y, int zDelta, int keyFlag)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 经济/贸易/财会 > 经济学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号