找回密码
 快速注册
搜索
查看: 66|回复: 2

Singular perturbation problem

[复制链接]

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2023-5-3 07:13 |阅读模式
Singular perturbation theory
  1. Singular perturbation 2. Construct leading-order inner and outer solutions to$$ϵu''(x)+u'(x)=\frac{u(x)+u(x)^3}{1+3 u(x)^2}, 0<x<1, u(0)=0, u(1)=1$$where $0 < ϵ ≪ 1$.

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

 楼主| hbghlyj 发表于 2023-5-3 09:39


Boundary layer is at $x=0$.

Find outer expansion

$u_0(x)$ satisfies$$u_0'(x)=\frac{u_0(x)+u_0(x)^3}{1 + 3u_0(x)^2}⇔\frac{d}{dx}\ln(u_0(x)+u_0(x)^3)=1$$Integrating gives$$\ln\Big(u_0(x)+u_0(x)^3\Big)=x+C$$Plugging in boundary condition $u_0(1)=1$ gives $C=\ln2-1$, hence our outer expansion satisfies$$u_0(x)+u_0(x)^3=2e^{x-1}⇒u_0(0)≈0.560074$$By monotonicity, $u_0(x)$ is unique.

Find inner expansion

Let $x=ϵX,u(x)=U(X)⇒u'(x)=\frac{U'(X)}ϵ,u''(x)=\frac{U''(X)}{ϵ^2}$ $$U_0''(X)+U_0'(X)=0,U_0(0)=0⇒U_0(X)=C(1-e^{-X})$$Using matching principle$$\lim_{X→∞}U_0(X)=C=u_0(0)$$The leading-order composite solution is$$u_0(x)+U_0(X)-\text{common limit}=u_0(x)-u_0(0)e^{-x/ϵ}$$

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

 楼主| hbghlyj 发表于 2023-5-3 10:27
本帖最后由 hbghlyj 于 2023-5-3 10:45 编辑

Asymptote文档发现有一个内置函数real[] cubicroots(real a, real b, real c, real d);
正好可以用来画这道题的$u_0(x)$的图象
import graph;size(300); real epsilon = 0.2; real f(real x) { return cubicroots(1,0,1,-2exp(x-1))[0]; } real xMin = 0; real xMax = 1; real yMin = 0; real yMax = 1; // Draw the function path myFunc = graph(f, xMin, xMax, n=1000, join=operator ..); draw(myFunc, blue, L=Label("$y^3+y=2e^{x-1}$", align=SE)); // Draw the dashed horizontal asymptote draw((xMin, 1)--(xMax, 1)--(xMax,0), dashed+red); // Draw the doublehead arrow and labels draw((1,0)--(epsilon,0), Arrows, L=Label("$O(\epsilon)$",position=1,align=S)); draw((epsilon,1)--(epsilon,f(epsilon))--(1,f(epsilon)),dashed); label("$0$", (0,0), SW); label("$1$", (xMax,0), S); label("$1$", (0,yMax), W); label("$C$", (0,0.560074), W); xaxis(xMin, xMax); yaxis(yMin, yMax);Outer expansion
import graph;size(300); real C = 0.560074; real epsilon = 0.2; real f(real x) { return C*(1-exp(-x/epsilon)); } real xMin = 0; real xMax = 1; real yMin = 0; real yMax = C*1.1; // Draw the function path myFunc = graph(f, xMin, xMax, n=1000, join=operator ..); draw(myFunc, blue, L=Label("$y=C(1-e^{-x/\epsilon})$", align=SE)); // Draw the dashed horizontal asymptote draw((xMin, C)--(xMax, C), dashed+red); // Draw the doublehead arrow and labels draw((0,0)--(epsilon,0), Arrows, L=Label("$O(\epsilon)$",position=1,align=S)); draw((epsilon,0)--(epsilon,f(epsilon))--(0,f(epsilon)),dashed); label("$0$", (0,0), SW); label("$1$", (xMax,0), S); label("$C$", (0,C), W); xaxis(xMin, xMax); yaxis(yMin, yMax);Inner expansion
import graph;size(300); real C = 0.560074; real epsilon = 0.2; real f(real x) { return C*(1-exp(-x/epsilon))+cubicroots(1,0,1,-2exp(x-1))[0]-C; } real xMin = 0; real xMax = 1; real yMin = 0; real yMax = 1; // Draw the function path myFunc = graph(f, xMin, xMax, n=1000, join=operator ..); draw(myFunc, blue, L=Label("$y=u_0(x)-Ce^{-x/\epsilon}$", align=SE)); draw((xMin, 1)--(xMax, 1)--(xMax,0), dashed+red); label("$0$", (0,0), SW); label("$1$", (xMax,0), S); label("$1$", (0,yMax), W); xaxis(xMin, xMax); yaxis(yMin, yMax);Composite expansion

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 12:32

Powered by Discuz!

× 快速回复 返回顶部 返回列表