QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2534|回复: 0
打印 上一主题 下一主题

[建模教程] 偏微分方程的数值解(四): 化工应用————扩散系统之浓度分布

[复制链接]
字体大小: 正常 放大
浅夏110 实名认证       

542

主题

15

听众

1万

积分

  • TA的每日心情
    开心
    2020-11-14 17:15
  • 签到天数: 74 天

    [LV.6]常住居民II

    邮箱绑定达人

    群组2019美赛冲刺课程

    群组站长地区赛培训

    群组2019考研数学 桃子老师

    群组2018教师培训(呼伦贝

    群组2019考研数学 站长系列

    跳转到指定楼层
    1#
    发表于 2020-6-10 10:29 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta |邮箱已经成功绑定

      N# u1 _3 t0 O  _0 r4 c题意解析:
    * g6 m, d% k# A, I9 `
    # c. y3 l  s6 q1 t) a(a) 因气体 A 与液体 B 不发生反应,故其扩散现象的质量平衡方程如下:
    ) h0 w3 g& l4 b' k
    : H, F: r7 G: h7 t, I5 l1 B& K; D! F) }4 x2 J* g
    % u0 |$ O: Y6 `: M: [1 |5 E3 R
    (b) 在气体 A 与液体 B 会发生一次反应的情况下,其质量平衡方程需改写为
    ) q+ j( X/ O4 ?$ w/ H9 [. v" y
    7 s  I3 a$ I9 b/ m
    . Z8 h" m" ]; B% _
    . ]$ p0 }' z0 [  b* ?4 u1 g而起始及边界条件同上。! n8 D+ u" q  A
    8 x; ]& s6 L9 G. g8 G' b  B
    在获得浓度分布后,即可以 Fick’s law5 T+ M& R5 V4 d1 J# O# [( ?
    $ ]. {4 D# Y  h" b
    7 r+ ^8 S. O3 x8 \
    * a* T4 z' N; V+ T: i
    计算流通量。6 W7 G/ u5 H$ y  ^
    2 v: T# `0 C* V$ d; n: w
    MATLAB 程序设计: 此问题依旧可以利用 pdepe 迅速求解。现就各状况的处理过程简述如下
    # \+ k- Y: N3 l7 C% _
    4 e9 P# q* Y& l, @) Z# c8 q$ V  O/ o

    & _. v5 _5 a" `% R8 F' V利用以上的处理结果,可编写 MATLAB 参考程序如下:
    * S7 {8 C9 H, j% S1 h8 ~: Y  H, V9 b- u5 o# S7 D
    function ex20_3_2: m1 i% e4 `- t2 w
    %*****************************
    ) a: P, @0 f5 B4 _$ G. @: I, t% 扩散系统之浓度分布
    " G" c: I' L- U/ O& P7 Q. E* N%*****************************
    ' V# \1 i& K  Cclear9 [' U/ r1 Z- g7 ?
    clc% \& F& Q/ r, x0 }) ]
    global DAB k CA00 Y" c" k# P. `9 d& {
    %******************************  h* N- Q6 E% [5 _8 O2 h
    % 给定数据
    ; w7 I$ e, m; u7 n. x' u6 Z%******************************
    9 n6 [) O! I* xCA0=0.01;
    ) V2 j0 J' V0 j. l, c! n" kL=0.1;
    , {9 L8 w9 a1 t/ @DAB=2e-9;/ @2 q# P9 ?9 ?' c
    k=2e-7;& j) k4 \: H  h8 @5 O
    h=10*24*3600;4 }# Z' W! M7 C; I7 ]
    %******************************** t7 I6 N- ?: f! ]+ l; U
    % 取点
    % a6 _2 n, U; M1 x  K+ {%*******************************# {/ j) N% Z  E" D! o8 `* t2 B9 ^
    t=linspace(0,h,100);
    9 |2 q9 Z% H4 F. v, F4 a9 yz=linspace(0,L,10);
    3 Y6 W* K+ m# f6 J; S%*******************************) d' o# J* N1 h7 F! i
    % case (a)
    . w* \8 s1 r+ H( t( A9 R%*******************************
    $ E8 k3 x3 U8 um=0;
    ( s% v# q* d# S/ T8 Hsol=pdepe(m,@ex20_3_2pdefuna,@ex20_3_2ic,@ex20_3_2bc,z,t);
    , ~' n& L7 w  m: O2 V7 `CA=sol(:,:,1);1 q* Q* x' J7 a- e* n7 C
    for i=1:length(t)
    8 U0 D9 [9 j. [5 \$ }* m, X [CA_i,dCAdz_i]=pdeval(m,z,CA(i,,0);1 ]3 i- a9 {2 Y7 A. p/ J0 k2 ^/ I& |
    NAz(i)=-dCAdz_i*DAB;
    ) Q' E8 x0 X- z3 eend
    - V0 L* R+ R, q2 V! T4 U! Gfigure(1)
    / \5 n( Q1 E. C6 a! S1 t( Bsubplot(211)
    ! {, `* f* Q% _$ C6 S, Ssurf(z,t/(24*3600),CA)8 u1 X' Z( n% x
    title('case (a)') 1 G4 C) ]" `* X" V5 P4 r9 z: O
    xlabel('length (m)')8 \$ X/ Y$ h5 h( ]( t& W  p
    ylabel('time (day)')
    : t) j+ A" P6 r5 Xzlabel('conc. (mol/m^3)')$ i4 ]' K  z7 w
    subplot(212)( ~" d. t1 J0 ?0 {5 J$ D) b
    plot(t/(24*3600),NAz'*24*3600)
    + h; v& \* }4 F4 exlabel('time (day)')
    ' r! V, V% R+ D5 i7 Lylabel('flux (mol/m^2.day)')
    7 ^. D/ D' F1 _1 G%************************************# \4 J" L  ^) w. _9 B3 F& A
    % case (b)
    1 M+ i9 u+ _$ R8 ?/ p%************************************( n3 j; D$ y( L( l; X: l# g2 r( i
    m=0;
    + S7 _9 r7 p5 o7 n7 P" Q+ Ysol=pdepe(m,@ex20_3_2pdefunb,@ex20_3_2ic,@ex20_3_2bc,z,t);
    3 R3 j$ B6 b7 e0 X! x9 g/ @; A& ^# ZCA=sol(:,:,1);! u; [5 K7 w3 W# y
    for i=1:length(t)" u( J1 k/ x! `* A0 N5 v' c
    [CA_i,dCAdz_i]=pdeval(m,z,CA(i,,0);2 M, W/ T+ [3 y
    NAz(i)=-dCAdz_i*DAB;( D" P' M+ S0 n4 P' D
    end' `" c8 A! l4 `+ E& @* m
    %4 w/ C5 H7 o4 T: b; u' y) b
    figure(2)
    - J) i* M: x4 isubplot(211)% ?" o: m% E, F& Z0 D+ ?0 q/ Z
    surf(z,t/(24*3600),CA)
    8 E" S5 N5 A$ D: }4 Utitle('case (b)')- F. M2 ]% H8 \" s
    xlabel('length (m)')
    + Y- F5 ?0 y8 p" L% S, cylabel('time (day)'); F$ m! @; J8 l7 Y9 L! c" Q, t
    zlabel('conc. (mol/m^3)')
    * v# f( n. Y* [) zsubplot(212). A! A! y4 s: d* R6 @( [
    plot(t/(24*3600),NAz'*24*3600)6 f. h$ D. ?. M% F( B, B# k- a0 K
    xlabel('time (day)')2 ~5 l. u! n( u9 J6 G& w/ j  v
    ylabel('flux (mol/m^2.day)')) u& }8 U" }: D/ ~8 l1 R
    %********************************************- F# R2 r  o% k# @) F
    % PDE 函数/ `0 N0 P: X0 C4 j
    %********************************************
    7 e) k; v2 x  [  K, @% case (a)7 ?8 c. \: w! z' T$ c- x# a. V
    %********************************************
    * Y  `7 v7 V8 }function [c,f,s]=ex20_3_2pdefuna(z,t,CA,dCAdz)
    ( Z: t2 _5 {. |6 Y$ i- ?global DAB k CA0
    - Q0 o! G3 Z: I, [  ?4 zc=1;
    8 t6 A( u. h5 z) Z" [/ }; Gf=DAB*dCAdz;" r% e2 K9 h) [8 g
    s=0;
    & o8 `2 D! I( ?0 I! Z5 ^%*********************************************" ?; Z( a" e/ U1 C" d
    % case (a)  C* O, F- K5 ~0 q
    %*********************************************
    1 v$ X: m4 \, ]2 R/ x" wfunction [c,f,s]=ex20_3_2pdefunb(z,t,CA,dCAdz)2 h* v4 |6 F: H0 F7 ?
    global DAB k CA08 m7 F! i8 w0 i! t7 V
    c=1;) W2 A1 M2 O- J6 @* ?+ I4 b; m
    f=DAB*dCAdz;/ s7 E) _  ?- M; `/ X
    s=k*CA;* a* o8 e; Y8 j. n2 Z+ k, _
    %**********************************************
    6 I6 f3 c$ P$ W% J; j! P4 s% 初始条件函数
    ! C  x. j0 B/ ^6 y/ b. c%**********************************************+ f6 h9 O9 ~! o8 K3 m
    function CA_i=ex20_3_2ic(z)% R7 y  i' c% ]% \( v' S0 j
    CA_i=0;+ x6 T& Y8 j3 W6 f3 n
    %************************************************   j) {% i8 o: w1 i2 L
    % 边界条件函数
    ( Y8 Y3 r2 {  G3 |% M1 w% R%************************************************, ]* `+ c) I* A% J, Z, t8 q
    function [pl,ql,pr,qr]=ex20_3_2bc(zl,CAl,zr,CAr,t)
    5 g' L% e6 o+ ^% u& hglobal DAB k CA0# O, K' }5 L  r6 m
    pl=CAl-CA0;$ l6 y, |. B( N5 S( {
    ql=0;3 F& c( y8 i4 D# J
    pr=0;
    ! G: W) T* }  v7 E9 m2 i! |qr=1/DAB;   \0 z- W  k7 V- l% X4 W* B

    5 M+ Y; U! E, C' |————————————————  \- R) c5 }0 a5 y4 K
    版权声明:本文为CSDN博主「wamg潇潇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    ' X' O& r4 \" H" g原文链接:https://blog.csdn.net/qq_29831163/article/details/897116946 s6 t( ~$ H, V
    / ^+ X" {9 ^; q1 i9 m. c! N

    / u) ^) U) g- `/ z2 k
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-11 09:30 , Processed in 0.292794 second(s), 51 queries .

    回顶部