Professional Documents
Culture Documents
Roll : 2021amm019
Code : AM 5176
Semester. : 1st
IIEST
1. Basic C program
· Addition, Multiplication, Maxima & Minima
· Ascending & Descending order
· Output in txt file and input in txt file
· Matrix Multiplication
2. 1D Program
· Diffusion problem
· Convection- Diffusion problem (Central differencing
scheme)
· Convection- Diffusion problem (Upwind scheme)
· SIMPLE algorithm
Basic C Programme :
Caption
START
Address
variable
Input the
Numbers Input the Numbers
STOP
Flow Chart :
Start
Address variable
STOP
CODE :
Caption
OUTPUT :
CODE :
Caption
OUTPUT :
Caption
Caption
Caption
CODE:
Caption
OUTPUT:
Caption
Matrix Multiplication:
Caption
Flow Chart :
Caption
Caption
Output:
Caption
1D Problems :
Caption
Flow Chart :
Caption
Code:
#include<stdio.h>
int main()
{
float l,grid,k,area,q; float dx,F,Ta, Tb,factor;
int i,n;
n = (int)grid;
float aw[n], ap[n], ae[n], Su[n], Sp[n];
float sup[n], diag[n], sub[n], source[n], temp[n];
printf("\narea in m2 = ");
scanf("%f",&area);
printf("\nthermal conductivity k in W/m.K = ");
scanf("%f",&k);
printf("\nheat generation in W/m3 = ");
scanf("%f",&q);
dx = l/grid;
printf("\nTemperature at the left boundary = ");
scanf("%f",&Ta);
printf("\nTemperature at the right boundary = ");
scanf("%f",&Tb);
} else {
aw[i]= (F/dx);
}
}
printf("\n\n"); for(i=0; i<n; i++) {
printf("aw[%d]= %f", i,aw[i]); printf("\n");
}
for(i=0; i<n; i++)
{
if(i==(n-1))
{
ae[i]=0;
} else {
ae[i]= (F/dx);
}
}
printf("\n\n"); for(i=0; i<n; i++) {
printf("ae[%d]= %f", i,ae[i]);
printf("\n");
}
return 0;
}
Output:
Caption
Central diffusion problem:
Caption
Flow Chart :
Caption
Code :
#include<stdio.h>
#include<stdlib.h>
int main()
{
float l,grid,k,density,u;
float dx,F,D, Ta, Tb,factor; int i,n;
printf("Length of domain in m: "); scanf("%f",&l);
printf("Number of grids : ");
scanf("%f", &grid); n = (int)grid;
float aw[n], ap[n], ae[n], Su[n], Sp[n];
float sup[n], diag[n], sub[n], source[n], temp[n];
printf("\ndensity of the fluid in kg/cubic-meter =
"); scanf("%f",&density);
printf("\nVelocity along axial direction 'u' in m/
s = ");
scanf("%f",&u);
printf("\nthermal conductivity k in W/m.K = ");
scanf("%f",&k);
dx = l/grid; D = k/dx;
F = density*u;
printf("\nTemperature at the left boundary = ");
scanf("%f",&Ta);
printf("\nTemperature at the right boundary = ");
scanf("%f",&Tb);
for(i=0; i<n; i++) {
if(i==0)
{
aw[i] = 0;
} else {
aw[i]= (D+(F/2));
}
}
for(i=0; i<n; i++)
{
if(i==(n-1)) {
ae[i]=0;
} else {
ae[i]= (D-(F/2));
}
}
for(i=0; i<n; i++) {
if(i==0)
{
Sp[i]= -(F+(2*D));
}
else if(i==(n-1))
{
Sp[i]= -(-F+(2*D));
} else {
Sp[i]=0;
}
for(i=0; i<n; i++)
{
ap[i]=(aw[i]+ae[i]-Sp[i]);
}
}
for(i=0; i<n; i++) {
sup[i]= -ae[i];
}
for(i=0; i<n; i++) {
source[i]= Su[i];
} for(i=1;i<=n;i++) {
factor = sub[i]/diag[i-1];
diag[i] = diag[i] - factor*sup[i-1];
source[i] = source[i] - factor*source[i-1];
}
temp[n-1] = source[n-1]/diag[n-1]; for(i=(n-2);
i>=0; i--)
{
temp[i] = (source[i] - sup[i]*temp[i+1])/diag[i];
}
printf("\n\n TEMPERATURE PROFILE \n"); for(i=0;
i<n; i++)
{
printf("temperature at node%d = %f",i+1,temp[i]);
printf("\n");
}
return 0;
}
Output :
Caption
Upwind Scheme :
Caption
Flow Chart:
Caption
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
int nc,i,j,k;
float
del_x,length,density,T,u,Ta,Tb,fac,D,F;
printf("\n enter the value of velocity,u in
m/s :\n "); scanf("%f",&u);
printf("\nenter the value of density:\n");
scanf("%f",&density);
printf("\nenter the value of thermal
conductivity:\n"); scanf("%f",&T);
printf("\nenter the length of the domain (in
m)\n"); scanf("%f",&length);
printf("\nenter the number of cells the
domain has to be split into:\n");
scanf("%d",&nc);
del_x=length/nc;
printf("\nlength of each cell =%f m
\n",del_x); printf("\nTemperature at the
left boundary : \n"); scanf("%f",&Ta);
printf("\nTemperature at the right
boundary : \n"); scanf("%f",&Tb);
F = density*u; printf("F=%f\n",F) ; D = T/
del_x; printf("D=%f\n",D) ;
float aw[nc],ap[nc],ae[nc],Su[nc],Sp[nc];
float sup[nc], diag[nc], sub[nc],
source[nc], temp[nc];
aw[i] = 0;
} else {
aw[i]= (D+(F));
}
}
printf("\n"); for(i=0; i<nc; i++)
}
for(i=0; i<nc; i++)
{
sub[i]= -aw[i];
}
for(i=0; i<nc; i++) {
diag[i]= ap[i];
}
for(i=0; i<nc; i++) {
sup[i]= -ae[i];
}
for(i=0; i<nc; i++) {
source[i]= Su[i];
}
return o;
}
Output :
U= 0.1
Caption
Caption
Caption
Simple Method :
Caption
Flow Chart :
Caption
Code Simple Algorithm :
Caption
Caption
Caption
Caption
Caption
RESULTS:
Caption
Caption
Caption
CONVERGENCE:
Caption