I want a code for solving a coupled 3rd order and 2nd order ode using shooting method and RK-4 numerical technique , please if anyone could help
Show older comments
(1+2M*eta)f''' + 2M*f"+ f*f" -f'^2 - k1*f' + lambda*theta=0 ---------- (1)
(1+2M*eta)theta" + 2M*theta' + Pr(f*theta'-f'*theta)=0 -------(2)
'f' and 'theta' are functions of 'eta', eta is an independent variable
3 initial conditions are given: eta=0, f(0)=0, f'(0)=1,theta(0)=1
Say I reduce these equations (1) and (2) to five ode (shooting method)
f'=z ; f(0)=0 -----(3)
z'=p ; z(0)=1 ------(4)
p'= (-2M*f"-f*f"+f'^2+k1*f'-lamda*theta)/(1+2*M*eta) ;p(0)= (guess value) -----(5)
theta'= q ; theta(0)=1 -----(6)
q' = (-2M*theta'-Pr(f*theta'-f'*theta))/(1+2*M*eta) ; q(0)= (guess value) ------(7)
The boundary conditions that needs to be satisfied are: f'(eta=10)= 0 and theta(eta=10)=0 as eta=10
Given:
M= 1
k1= 0.1
lamda= 0.1
Pr= 0.7
taking step length: h= 0.01
4 Comments
You are not allowed to use a numerical method different from RK4 in combination with shooting ?
If you are free in the choice of the numerical method, use MATLAB's BVP4C (as already suggested). The length of your code for the above problem will be about 10 lines. Just make an attempt.
Best wishes
Torsten.
naygarp
on 15 Nov 2017
Torsten
on 16 Nov 2017
Here is the link to a very similar problem set up for BVP4C:
https://de.mathworks.com/matlabcentral/answers/366666-bvp4c-error-cannot-solve-collocation-equations-singular-jacobian
Best wishes
Torsten.
naygarp
on 21 Nov 2017
Accepted Answer
More Answers (2)
naygarp
on 28 Nov 2017
0 votes
7 Comments
naygarp
on 28 Nov 2017
naygarp
on 28 Nov 2017
To check the equations, I need the research paper.
I solved your equations using a different numerical tool (COMSOL) and I get the same results as you do.
So my guess is that the authors of the paper solved equations that somehow differ from yours.
Best wishes
Torsten.
naygarp
on 29 Nov 2017
Torsten
on 29 Nov 2017
You forgot one term in the definition of f''', but this doesn't change the curves drastically:
f = [y(2);y(3);(y(2)^2+k1*y(2) -y(1)*y(3) -2*M*y(3)-p*y(4))/(1+2*M*x);y(5);(Pr*y(2)*y(4)-Pr*y(1)*y(5)-2*M*y(5))/(1+2*M*x)];
Since we got similar results from two different software programs, my guess is that the results in the article are wrong.
Best wishes
Torsten.
naygarp
on 30 Nov 2017
Torsten
on 1 Dec 2017
I think no, but don't you have MATLAB available to test it ?
Best wishes
Torsten.
iqra
on 31 Jan 2024
0 votes
function main
global Pr k1 M lambda
Pr=0.7; k1=0.1; M=1; lambda=0.1;
rlow=0;
rhigh=10;
N=1000;
options=bvpset('stats','on','RelTol',1e-5);
solinit=bvpinit(linspace(rlow,rhigh,N),[0, -1, 0, 1 ,0]); %
sol=bvp4c(@projode,@mybcs,solinit,options);
function dy = projode(n,y)
global Pr k1 M lambda
dy = [y(2); y(3); (-2*M*y(3)-y(1)*y(3)+y(2)^2+k1*y(2)-lambda*y(4))/(1+2*M*n); y(5); (-2*M*y(5)-Pr*y(1)*y(5)+Pr*y(2)*y(4))/(1+2*M*n)];
function res = mybcs(ya,yb)
res = [ya(1); ya(2)-1.0; ya(4)-1.0 ; yb(2); yb(4)];
Categories
Find more on Mathematics in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

