标签:
边界条件求解对话框偏微分方程特征值 |
分类: 学科知识 |
上一篇博文以一个简单的椭圆型偏微分方程为例展示了PDE工具箱的使用,下面对其他类型的偏微分方程的简单例子做求解。
抛物线型
受热金属块的热传导问题:
一块受热的有矩形裂纹的金属块。金属块的左侧被加热到100℃,右侧热量则以恒定速率降低到周围空气的温度,所有其他边界都是独立的,于是边界条件为
初始温度为0℃。指定起始时间为0,研究5s的热扩散问题。
求解结果如下
具体步骤:
a) 建模。先画一个起点为(-0.5,-0.8),终点为(0.5,0.8)的矩形,再建另一个矩形,起点(-0.05,-0.4),终点(0.05,0.4),然后在设置公式中输入R1-R2;
b) 设置边界条件;
c) PDE中设置参数,d=1,c=1,a=0,f=0;
d) 初始化网格并细化一次;
e) 在Solve Parameter…中,设置u0=0,时间为[0:0.5:5],然后求解。
注意到金属块的温度升高很快,可试着改变时间列表的表达式为logspace(-2,0.5,20)以便观察。
双曲线型
满足边界条件的初值为
求解结果如下
具体步骤:
a) 建模,画出起点(-1,-1),终点(1,1)的矩形;
b) 确定边界条件;
c) PDE Specification对话框中选择双曲线型,参数设为c=1,a=0,f=0,d=1;
d) 初始化网格,并细化一次;
e) 在Solve Parameters对话框的时间中输入linspace(0,5,31),u的初值为atan(cos(pi/2*x)),一次偏导的初值为3*sin(pi*x).*exp(sin(pi/2*y)),然后求解。
本征值型
L形薄膜的特征值和特征函数:
计算所有特征值<100的特征模式,边界上为u=0。结果中的两种模态如下
a) 建模,如上图;
b) 边界条件使用默认即可;
c) 初始化网格并细化两次;
d) PDE对话框中选择Eigenmodes,参数使用默认值c=1,a=0,d=1;
e) 在Solve Parameter…对话框中,输入特征值搜索范围,使用默认值即可[0 100];
f) 求解。
非线性问题
单位圆盘的最小表面问题
计算域为单位圆盘,边界条件为
本问题为非线性问题,不能用常规的椭圆型方程求解器进行求解,而需要使用非线性求解器pdenonlin。结果如下
具体步骤:
a) 画出单位圆;
b) 选择所有边界,在Boundary Condition对话框中,设置r为x.^2,即定义边界条件Dirichlet条件u=x^2;
c) 然后在PDE Specification对话框中,选择椭圆型方程,在c中输入1./sqrt(1+ux.^2+uy.^2);
d) 初始化网格并细化一次;
e) 求解前,选择Solve菜单中的Parameters…选项,选择Use nonlinear solver选项,将容限参数设为0.001,然后求解。