Question: Problem with iterative process

I have a similar problem to a previous problem of mine. I want to put an iterative process inside an iterative process. I have reduced the a PDE to the fourth order ODE below

F’’’’(η)+αη F’’’(η)+2α F’’(η)-R(F’(η)F’’(η)-F(η) F’’’(η))=0                                   (1)

With boundary conditions

F(1)=1, F(-1)=-1,F’(1)=0,F’(-1)=0

I want to use a small-R approximation F=n=0RFnto equate powers of R. Using this substitution I get for R:

F0’’’’(η)+αη F0’’’(η)+2α F0’’(η)=0                                                                          (2)

I then want to go on to substitute a small-α approximation F0=n=0αF0n. Equating powers of α now I get

F00’’’’=0 with boundary conditions

F00(1)=1, F00(-1)=-1,F00’(1)=0,F00’(-1)=0

Which can be solved and used again when solving the equation corresponding to the coefficients of α. I want to keep iterating the process using equation (2) and the small-α approximation. So I will have an equation for F0 using F0=n=0αF0n. I want to go back to look at the equation corresponding to the coefficients of R in the small R expansion. Which is

F1’’’’(η)+αη F0’’’(η)+2α F0’’(η)-F0’F0’’-F0F0’’’=0         

Again apply the small α approximation to get for α

F10’’’’-F00’’F00’’-F00F00’’’=0

Boundary conditions: F10(1)=0, F10(-1)=0,F10’(1)=0,F10’(-1)=0

But I will have calculated F00 already so I want to repeat the process eventually getting an equation for F using F=n=0RFn.

I have tried to adapt some of the code from an old post of mine but I don’t know where to go with it. I’m not very experienced with maple but the nature of this problem means i cannot keep doing this by hand. It’s driving me crazy!

Here is the code

> restart;

> with(plots);

> with(LinearAlgebra);

 > nmax:=30:

> Order:=nmax+1:

> de1:=diff(F(eta,alpha),eta$4)+alpha*eta*diff(F(eta,alpha),eta$3)+2*alpha*diff(F(eta,alpha),eta$2);

> S1:=series(eval(de1,F(eta,alpha)=add(F[k](eta)*alpha^k,k=0..nmax)),alpha):

> des1:=[seq(coeff(S1,alpha,k),k=0..nmax)]:

> bcs:=k->(F[k](-1)=`if`(k=0,-1,0),F[k](1)=`if`(k=0,1,0),D(F[k])(-1)=0,D(F[k])(1)=0);

> for k from 1 to nmax+1 do

      gsol:=unapply(rhs(dsolve(des1[k],useint)), eta):

      F[k-1]:=subs(solve(eval({bcs(k-1)},F[k-1]=gsol)),eval(gsol));

end do:

This just goes through the small-α approximation for equation (2) 30 times.

Any help would be greatly appreciated.

Please Wait...