NS方程由精确解求源项matlab代码
2016-04-20 11:41
489 查看
有时候在NS方程中我们需要构造有精确解的例子去测试格式的精度,这时候往往都是先给出精确解的表达式,然后带入原NS方程求出源项。如何求这个源项呢,对于可压流NS方程来说手动求导数会很麻烦。所以,这里我们用matlab符号计算来求源项。
clear all syms x y u1 u2 u3 u4 pressure gamma txx txy tyx tyy mu Pr kTx kTy %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%各变量定义%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %x x方向坐标 %y y方向坐标 %u1 密度 %u2 x方向动量 %u3 y方向动量 %u4 总能 %pressure 压强 %gamma 气体常数 %txx txy tyx tyy 粘性应力张量 %mu 粘性系数 %Pr Prandtl数 %kTx $\kappa T_x$ %kTy $\kappa T_y$ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% u1 = sin(2*(x+y)) + 4; u2 = sin(2*(x+y)) + 4; u3 = sin(2*(x+y)) + 4; u4 = (sin(2*(x+y)) + 4)^2; pressure = (gamma - 1)*(u4 - 0.5*(u2^2+u3^2)/u1); txx = 2.0/3.0 * mu * (2*diff(u2/u1,x)-diff(u3/u1,y)); txy = mu*(diff(u2/u1,y)+diff(u3/u1,x)); tyx = mu*(diff(u3/u1,x)+diff(u2/u1,y)); tyy = 2.0/3.0*mu*(2*diff(u3/u1,y)-diff(u2/u1,x)); kT = mu * gamma / Pr *(u4/u1-0.5*(u2^2+u3^2)/(u1*u1)); kTx = diff(kT,x); kTy = diff(kT,y); f1x = u2; f1y = u3; g1x = 0; g1y = 0; f2x = u2^2/u1 + pressure; f2y = u2*u3/u1; g2x = txx; g2y = txy; f3x = u2*u3/u1; f3y = u3^2/u1 + pressure; g3x = txy; g3y = tyy; f4x = u2/u1*(u4+pressure); f4y = u3/u1*(u4+pressure); g4x = u2/u1*txx + u3/u1*txy + kTx; g4y = u2/u1*txy + u3/u1*tyy + kTy; d1 = diff(f1x,x) + diff(f1y,y) - diff(g1x,x) - diff(g1y,y); d2 = diff(f2x,x) + diff(f2y,y) - diff(g2x,x) - diff(g2y,y); d3 = diff(f3x,x) + diff(f3y,y) - diff(g3x,x) - diff(g3y,y); d4 = diff(f4x,x) + diff(f4y,y) - diff(g4x,x) - diff(g4y,y); d1 = simplify(d1) d2 = simplify(d2) d3 = simplify(d3) d4 = simplify(d4)
相关文章推荐
- ubuntu12.04下配置opencv2.4.9,nvida显卡驱动,matlab2015a,caffe
- Matlab之fgetl函数
- matlab如何建立一个空矩阵,然后往里面赋值
- matlab中的xcorr 自相关函数
- Matlab 2012安装图解
- MATLAB axis和axes的区别
- Matlab&Simulink开发STM32F4
- matlab size、length和numel函数
- Matlab 的fspecial函数用法
- 在Isight软件里如何调用matlab子程序?
- Matlab中rand('state',sum(clock))解析
- matlab中 rand和 randn的区别
- matlab中repmat函数的用法
- matlab sumsqr函数 求矩阵的平方和
- matlab 实现 kernel SVD 高斯核
- matlab tensor toolbox 实现HOSVD(高阶奇异值分解)推荐系统
- 在MATLAB和OpenCV环境下写的灰度图像分段线性变换源码!
- 语音信号的端点检测的matlab代码(子带谱熵法法)
- Matlab之fopen、fprintf函数
- MATLAB--数据处理