Mekanika Fluida - Josiah Enrico S (1906356286)

From ccitonlinewiki
Revision as of 23:18, 6 June 2021 by JosiahEnrico (talk | contribs) (Methodology)
Jump to: navigation, search

Title: Modelica-based Simulation of Viscous Flow Through Pipes Using Finite Element Formulation

Abstract

Introduction

Objectives

Methodology

model Tugas_Besar_Mekflu

// ==================================== DEFINITION PHASE ====================================

parameter Real miu = 0.3 "dynamic viscosity"; parameter Real rho = 900 "density";

parameter Real Qinlet = 5e-4 "flow rate inlet"; parameter Real Pinlet = 39182 "pressure inlet"; parameter Real Poutlet = -3665 "pressure inlet"; parameter Integer boundary[:] = {1, 6} "Boundary Point";

parameter Integer nPipe = 6 "number of piping"; parameter Integer nPoint = 6 "number of point connected"; final constant Real pi=2*Modelica.Math.asin(1.0);

//Inputing pipe connection, length (L) and diameter (D) parameter Real data[nPipe,2] = [ 70.71, 0.1  ;

                                50.99, 0.075 ;
                                50   , 0.075 ;
                                53.85, 0.05  ;
                                70.71, 0.05  ;
                                60   , 0.1   ];
                                

parameter Integer no[nPoint,2] = [ 1, 2;

                                  2, 3;
                                  2, 4;
                                  3, 5;
                                  4, 5;
                                  5, 6];

//Solution Real Pressure[nPoint], Flowrate[nPipe], Reynolds[nPipe];

protected Real g[nPoint,nPoint], G[nPoint,nPoint], id[nPoint,nPoint]=identity(nPoint), P[nPoint], Res;

// ==================================== SOLUTION PHASE ====================================

algorithm //Iterating to create global matrice for i in 1:nPipe loop

 Res:= pi*data[i,2]^4/(128*data[i,1]*miu);
 
 g:=zeros(nPoint,nPoint);          
 g[no[i,1],no[i,1]]:= Res;
 g[no[i,1],no[i,2]]:= -Res; 
 g[no[i,2],no[i,1]]:= -Res; 
 g[no[i,2],no[i,2]]:= Res;
 
 G:= G+g;

end for;

//Implementing boundary for i in boundary loop

 for j in 1:nPoint loop
   G[i,j]:= id[i,j];
 end for;

end for;

//Solving pressure in each point connected P[boundary[1]]:= Pinlet; P[boundary[2]]:= Poutlet; Pressure:= Modelica.Math.Matrices.solve(G,P);

//Solving flowrate in each pipe for i in 1:nPipe loop

 Flowrate[i]:= pi*data[i,2]^4/(128*data[i,1]*miu)*(Pressure[no[i,1]]-Pressure[no[i,2]]);

end for;

//Solving Reynolds Number in each pipe flow for i in 1:nPipe loop

 Reynolds[i]:= 4*rho*Flowrate[i]/(pi*miu*data[i,2]);

end for;

end Tugas_Besar_Mekflu;

Result and Analysis

Conclusions

Acknowledgement

References