21
Vijay Choudhary [email protected] Department of Civil Engineering Poornima University, Jaipur

Numerical solution using runge kutta with programming in c++

Embed Size (px)

DESCRIPTION

Numerical Solution using Runge Kutta Method by the help of Programming in C++

Citation preview

Page 1: Numerical solution using runge kutta with programming in c++

Vijay Choudhary

[email protected]

Department of Civil Engineering

Poornima University, Jaipur

Page 2: Numerical solution using runge kutta with programming in c++

Introduction Formulation of the problem Solution of the problem Approximations, errors Graphical representation Conclusion References Further Scope

Page 3: Numerical solution using runge kutta with programming in c++

A physical problem of finding how much concentration of the pollutant would be there in a lake after certain time. To find the concentration of the bacteria (pollutant), the problem is modeled as an ordinary differential equation.

Runge Kutta 4th order method is used. Solutions obtained are compared with exact solutions and are graphically discussed and analyzed.

Page 4: Numerical solution using runge kutta with programming in c++

A polluted lake has an initial concentration of a bacteria of 107 parts/m3 , while the acceptable level is only 5*106 parts/m3 . The concentration of the bacteria will reduce as fresh water enters the lake. Find the concentration of the pollutant after 7 weeks.

006.0 Cdt

dC

Page 5: Numerical solution using runge kutta with programming in c++

The differential equation that governs the concentration C of the pollutant as a function of time (in weeks) is given by

We Use the Runge-Kutta 4th order method and take a step size of 3.5 weeks.

610)0(,006.0 CCdt

dC

Page 6: Numerical solution using runge kutta with programming in c++
Page 7: Numerical solution using runge kutta with programming in c++
Page 8: Numerical solution using runge kutta with programming in c++
Page 9: Numerical solution using runge kutta with programming in c++
Page 10: Numerical solution using runge kutta with programming in c++
Page 11: Numerical solution using runge kutta with programming in c++
Page 12: Numerical solution using runge kutta with programming in c++

#include<conio.h>#include<iostream.h>void main(){ float c[10],f,t[10],h,n; cout<<"enter the initial values of concentration of

bacteria "; int i; cin>>c[0]; cout<<"enter the initial value of time ";cin>>t[0]; cout<<"enter the value of time in weeks at which

we want to see the concentration ";cin>>f; cout<<"enter the difference ";cin>>h; n= (f-c[0])/h;

Page 13: Numerical solution using runge kutta with programming in c++

for(i=1;i<=n;i++){a=0 k1=-(.06*c[a]); k2=-h*(.06*(c[a]+k1/2)); k3=-h*(.06*(c[a]+k2/2)); k4=-h*(.06*(c[a]+k3)); k=(k1+2*k2+2*k3+k4)/6;

y[i]=y[a]+1;a++;

}Cout<<“\n Table";for(i=0;i<n;i++){ cout<<"\t x=%f\ty=%f",val[i][0],val[i][1]);cout<<"\n");getch();}

Page 14: Numerical solution using runge kutta with programming in c++
Page 15: Numerical solution using runge kutta with programming in c++

1

Page 16: Numerical solution using runge kutta with programming in c++

2

Page 17: Numerical solution using runge kutta with programming in c++

Figure 1 compare the exact solution with the numerical solution using Runge kutte 4th order method using different step size. It is observed that there is significant error when the calculation is done using Runge Kutte 4th order method with step size 7. This error can be minimized if we reduce the step size from 7 to 3.5. Now the numerical solution is close to the exact solution. Further reduction of step size from 3.5 to 1.75 does not bring any major error reduction.

In Figure 2, we are comparing the exact results with Runge Kutte 1st order method (Euler), Runge Kutte 2nd order method( Heun) and the Runge Kutte 4th order method. It is observed that 4th order method give close approximation to exact solution than Heun’s method and Euler’s method

Page 18: Numerical solution using runge kutta with programming in c++

Book Numerical Solutions using Programming in C++, Volume I, Mittal Publication

Chapter/Papers AP Azai , ., Graph Behaviour, Sindh College Of Engineering, Sindh (*paper)

64 Pages

Internet James Amtoel , Contouring and Its Applications[online] http://www.civilogyusa.gov

document [21/02/2014].

http://civilsimplified.com

http://www.bournemouth.ac.uk/library/using/numerical-equations.html

[Accessed 4 Feb 2014].

Page 19: Numerical solution using runge kutta with programming in c++

By the help of C++ program, it would be easy to analysis results on different cases like step size, initial conditions, boundary values, type of method etc.

Like application of 1st order differential equations in Radioactive science, we can use 2nd order differential equation in practical applications.

We can mould problems of Density, Population, Traffics etc into 2nd order differential equations and can study the behavior of result via graph on different inputs.

Page 20: Numerical solution using runge kutta with programming in c++

Program 1 Program 2

Page 21: Numerical solution using runge kutta with programming in c++