Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ClearAll[f1, f2, f3];
- f1[[Eta]_ /; [Eta] > 0] = 1.;
- f1[[Eta]_ /; [Eta] == 0] = 2.;
- f2[[Eta]_ /; [Eta] > 0] = 1./[Eta];
- f2[[Eta]_ /; [Eta] == 0] = 0.;
- f3[[Eta]_ /; [Eta] > 0] = 4./[Eta]^2 f[[Eta]];
- f3[[Eta]_ /; [Eta] == 0] = 4.;
- NDSolve[{f1[[Eta]] !(
- *SubscriptBox[([DifferentialD]), ([Eta], [Eta])](f[[Eta]])
- ) + f2[[Eta]] !(
- *SubscriptBox[([DifferentialD]), ([Eta])](f[[Eta]])) +
- f[[Eta]] - f3[[Eta]] - f[[Eta]]^3 == 0, f[0] == 0, f[10] == 1},
- f[[Eta]], {[Eta], 0, 10}]
- ode=1/η D[η D[f[η], η], η]+(1 - s^2/η^2) f[η] - f[η]^3 == 0//Expand//Collect[#, f[η]]&
- Needs["DifferentialEquations`InterpolatingFunctionAnatomy`"];
- Module[{minη, maxη},
- Manipulate[
- sol = Quiet@NDSolve[Join[{ode/.s->s0}, {f[1] ==f1, f'[1] ==fd1}], f, {η, 0, 10}];
- {minη, maxη} = First@InterpolatingFunctionDomain[f /. sol[[1]]];
- Plot[f[η] /. sol, {η, minη, maxη}, PlotRange->{{0, 10}, {0, 1}}]
- ,{{f1, 0.520052}, 0.52, 0.5205}, {{fd1,0.410635}, 0.409, 0.412}, {{s0,1}, 0, 3, 1}
- ]
- ]
- ode /. f -> (h[(#^2 - 1)/(#^2 + 1)]&) /. η -> Sqrt[(1 + z)/(1 - z)] // Simplify
- odez = (1 + z) # & /@ %
- Manipulate[
- sol2=Quiet@NDSolve[Join[{odez/.s->1},{h[4/5]==h0,h'[4/5]==hd0}],h{z,-1,1}];
- GraphicsColumn[
- {Plot[{h[z]/.sol2},{z,-1,1},PlotRange->{0,1}],
- Plot[{h[(η^2-1)/(η^2+1)]/.sol2,f[η]/.sol},{η,0,20},PlotRange->{0,1}]}
- ]
- ,{{h0,0.917477},0.90,0.94},{{hd0,0.546211827},0.5,0.6}
- ]
- Plot[{h[z] /. sol2, (1 + z)/2}, {z, -1, 1}, PlotRange -> {0, 1}]
- (1 + z)/2 /. z -> (η^2 - 1)/(η^2 + 1) // Simplify
- Plot[
- {h[(η^2 - 1)/(η^2 + 1)] /. sol2,
- η^2/(η^2 + 1)}, {η, 0, 20},
- PlotRange -> {0, 1}, AxesLabel -> {η}, AspectRatio -> 0.4
- ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement