Forgot password?
 Create new account
View 134|Reply 2

Singular perturbation problem

[Copy link]

3148

Threads

8489

Posts

610K

Credits

Credits
66148
QQ

Show all posts

hbghlyj Posted at 2023-5-3 07:13:15 |Read mode
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$.

3148

Threads

8489

Posts

610K

Credits

Credits
66148
QQ

Show all posts

 Author| hbghlyj Posted at 2023-5-3 09:39:12
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/ϵ}$$

3148

Threads

8489

Posts

610K

Credits

Credits
66148
QQ

Show all posts

 Author| hbghlyj Posted at 2023-5-3 10:27:46
Last edited by hbghlyj at 2023-5-3 10:45:00Asymptote文档发现有一个内置函数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

手机版Mobile version|Leisure Math Forum

2025-4-20 11:51 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list