Difference between revisions of "Valve - M. D. Fachturrohman"
(→Tugas IV) |
(→Jawaban UAS) |
||
(11 intermediate revisions by the same user not shown) | |||
Line 319: | Line 319: | ||
- proses ini diasumsikan kondisi steady state dan energi kinetic potensial diabaikan | - proses ini diasumsikan kondisi steady state dan energi kinetic potensial diabaikan | ||
− | '''4. Flow line pada | + | '''4. Flow line pada jalur hitam, <span style="color:#ff0000">merah</span>, dan <span style="color:#0000ff">biru</span> sesuai dengan interkoneksi yang ada''' |
− | A. | + | A. '''Jalur Hitam''': Sebagai jalur energi keluar yang dimanfaatkan sebagai penggerak. |
− | B. | + | B. <span style="color:#ff0000">'''Jalur merah''': Sebagai aliran fluida high temperature.</span> |
− | C. Warna Biru : Sebagai jalur Fluida low Temperature. | + | C. <span style="color:#0000ff">'''Warna Biru''' : Sebagai jalur Fluida low Temperature.</span> |
+ | |||
+ | |||
+ | = '''Pertemuan Ke Lima''' = | ||
+ | |||
+ | Hari ini pak Hariyotejo memberikan materi tentang example di library Test Compressor | ||
+ | |||
+ | [[File:MessageImage_1607592136822.jpg|700px]] | ||
+ | |||
+ | |||
+ | = '''Pertemuan ke Enam''' = | ||
+ | |||
+ | Pada pertemuan ini, saya diajar oleh dosen tamu yaitu CEO dari PT. Indopower Internasional, Bapak Dr. Ir. Harun Al Rasyid tentang Combined Cycle Power Plant. Beliau awalnya memberi tau kami tentang pengenalan turbin gas, yaitu merupakan combustion turbine yang memiliki beberapa konfigurasi seperti turbojet, turboprop, turboshaft, high-bypass turbofan, low bypass afterburning turbofan. Terdapat beberapa pertimbangan dalam memilih turbin gas, beberapa pertimbangan tersebut adalah tahun dibuat produknya, efisiensi site, heat rate, dan fuel consumption. Combined Cycle Power Plant merupakan pembangkit listrik menggunakan siklus dari Turbin gas dan juga Turbin uap yang penjelasan setiap part dan juga rangkaian sistemnya seperti tugas yang diberikan oleh Pak Hariyotejo | ||
+ | |||
+ | |||
+ | = '''Sinopsis Tugas Besar''' = | ||
+ | |||
+ | Kali ini, saya diberikan tugas besar oleh Pak Ahmad Indra untuk merangkum kurang lebih apa yang saya pelajari selama di sistem fluida ini. Saya disini akan membuat suatu sistem fluida yaitu sistem perpipaan | ||
+ | |||
+ | |||
+ | == '''Latar Belakang''' == | ||
+ | |||
+ | Dari awal saya mempelajari sistem fluida ini, saya menggunakan beberapa software yaitu CFDSOF, sedikit dari Autodesk Inventor, dan juga OpenModelica. Dari semua yang sudah saya pelajari itu, saya diminta untuk melakukan analisis dengan tools tugas besar ini untuk memperdalam ilmu saya dalam analisa pada suatu sistem fluida dan disini saya akan menggunakan ketiga software OpenModelica untuk menganalisa Water Heating System yang ada pada library OpenModelica | ||
+ | |||
+ | |||
+ | == '''Tujuan''' == | ||
+ | |||
+ | Dari tugas ini, tujuan yang akan saya capai adalah memahami water heating system, mampu membuat pemodelan pada water heating system didalam OpenModelica, memahami parameter-parameter yang ada, mendapat hasil akhir yang didapat setelah melakukan simulasi | ||
+ | |||
+ | |||
+ | == '''Metodologi''' == | ||
+ | |||
+ | Metodologi yang akan saya gunakan adalah | ||
+ | |||
+ | 1. Saya akan mempelajari terlebih dahulu model nyata atau flow diagram dari water heating system | ||
+ | |||
+ | 2. Membuat model system di OpenModelica | ||
+ | |||
+ | 3. Lalu saya menginput atau merubah parameter yang ada di dalam sistem ini | ||
+ | |||
+ | 4. Simulasi | ||
+ | |||
+ | 5. Jika terdapat error pada saat ingin simulasi atau pada saat tahap pengecekan, saya akan merubah parameter atau codingan yang ada | ||
+ | |||
+ | 6. Jika tidak ada error, saya akan mendapatkan output yang saya inginkan | ||
+ | |||
+ | |||
+ | == '''Konsep Water Heating System''' == | ||
+ | |||
+ | Jadi dari gambar yang bisa dilihat dibawah dari simulasi water heating system yang ada di dalam library OpenModelica, pada sistem ini tahapannya adalah yang pertama air yang berada didalam tank atau biasanya torent dialirkan melalui pipa ke pompa yang ada dan dialirkan ke boiler pada sistem heaeter yang ada, lalu uap panas yang dihasilkan mengalir kembali melalui valve yang memiliki sensor terbuka dan tertutup, pada sistem ini setelah 2000 second simulasi, valve tersebut akan terbuka. Lalu akan mengalir ke radiator sebagai pengaturan temperature lagi untuk disalurkan lagi ke outflow yang ada. | ||
+ | |||
+ | [[File:bagolz.jpg|700px]] | ||
+ | |||
+ | Valve ini akan mengatur heating system yang ada dari terbuka dan tertutupnya valve ini. Selain valve, boiler (heater) dan pompa yang ada juga memiliki peran yang sangat penting untuk mengatur Temperature (T) dan juga Pressure (p) | ||
+ | |||
+ | Disini saya mencoba untuk meremodel sistem yang ada seperti gambar diatas, disana saya mencoba meremodel dari parameter pada T di heater dan juga T di Radiator untuk mengubah output Temperature yang dikeluarkan. Disini saya juga mengubah outflow dari radiator yang tadinya ke tanki awal kembali sekarang saya mengubahnya untuk mendistribusikan ke tanki lain. | ||
+ | |||
+ | Berikut merupakan pemodelan yang saya lakukan berikut juga dengan codingnya | ||
+ | |||
+ | [[File:99481.jpg|1000px]] | ||
+ | |||
+ | model Tubes_Sisflu | ||
+ | replaceable package Medium = | ||
+ | Modelica.Media.CompressibleLiquids.LinearWater_pT_Ambient | ||
+ | constrainedby Modelica.Media.Interfaces.PartialMedium; | ||
+ | Modelica.Fluid.Vessels.OpenTank tank( | ||
+ | redeclare package Medium = Medium, | ||
+ | crossArea=0.01, | ||
+ | height=2, | ||
+ | level_start=1, | ||
+ | nPorts= 2, | ||
+ | massDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, | ||
+ | use_HeatTransfer=true, | ||
+ | portsData={Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter= | ||
+ | 0.01),Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter= | ||
+ | 0.01)}, | ||
+ | redeclare model HeatTransfer = | ||
+ | Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=10), | ||
+ | ports(each p(start=1.1e5)), | ||
+ | T_start=Modelica.SIunits.Conversions.from_degC(13)) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {-83, 61}, extent = {{-9, -9}, {9, 9}}, rotation = 0))); | ||
+ | inner Modelica.Fluid.System system annotation( | ||
+ | Placement(visible = true, transformation(origin = {-89, 86}, extent = {{-11, -10}, {11, 10}}, rotation = 0))); | ||
+ | Modelica.Fluid.Machines.ControlledPump Pompa( | ||
+ | redeclare package Medium = Medium, | ||
+ | N_nominal=1500, | ||
+ | use_T_start=true, | ||
+ | T_start=Modelica.SIunits.Conversions.from_degC(13), | ||
+ | m_flow_start=0.01, | ||
+ | m_flow_nominal=0.01, | ||
+ | control_m_flow=false, | ||
+ | allowFlowReversal=false, | ||
+ | p_a_start=110000, | ||
+ | p_b_start=130000, | ||
+ | p_a_nominal=110000, | ||
+ | p_b_nominal=130000) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {-46, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
+ | Modelica.Fluid.Pipes.DynamicPipe Heater( | ||
+ | redeclare package Medium = Medium, | ||
+ | use_T_start=true, | ||
+ | T_start=Modelica.SIunits.Conversions.from_degC(110), | ||
+ | length=2, | ||
+ | redeclare model HeatTransfer = | ||
+ | Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer, | ||
+ | diameter=0.01, | ||
+ | nNodes=1, | ||
+ | redeclare model FlowModel = | ||
+ | Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow, | ||
+ | use_HeatTransfer=true, | ||
+ | modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b, | ||
+ | p_a_start=130000) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {28, 26}, extent = {{-14, -14}, {14, 14}}, rotation = 0))); | ||
+ | Modelica.Thermal.HeatTransfer.Sources.FixedHeatFlow Burner( | ||
+ | Q_flow=1.6e3, | ||
+ | T_ref=373.15, | ||
+ | alpha=-0.5) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {10, 68}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
+ | Modelica.Fluid.Valves.ValveIncompressible Valve( | ||
+ | redeclare package Medium = Medium, | ||
+ | CvData=Modelica.Fluid.Types.CvTypes.OpPoint, | ||
+ | m_flow_nominal=0.01, | ||
+ | show_T=true, | ||
+ | allowFlowReversal=false, | ||
+ | dp_start=18000, | ||
+ | dp_nominal=10000) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {46, -72}, extent = {{10, -10}, {-10, 10}}, rotation = 0))); | ||
+ | |||
+ | |||
+ | Modelica.Fluid.Pipes.DynamicPipe Radiator( | ||
+ | use_T_start=true, | ||
+ | redeclare package Medium = Medium, | ||
+ | length=10, | ||
+ | T_start=Modelica.SIunits.Conversions.from_degC(60), | ||
+ | redeclare model HeatTransfer = | ||
+ | Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer, | ||
+ | diameter=0.01, | ||
+ | nNodes=1, | ||
+ | redeclare model FlowModel = | ||
+ | Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow, | ||
+ | use_HeatTransfer=true, | ||
+ | modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b, | ||
+ | p_a_start=110000, | ||
+ | state_a(p(start=110000)), | ||
+ | state_b(p(start=110000))) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {-2, -72}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
+ | Modelica.Thermal.HeatTransfer.Components.ThermalConductor wall(G = 1.6e3 / 20) annotation( | ||
+ | Placement(visible = true, transformation(origin = {-2, -48}, extent = {{10, -10}, {-10, 10}}, rotation = 90))); | ||
+ | Modelica.Thermal.HeatTransfer.Sources.FixedTemperature fixedTemperature(T = system.T_ambient) annotation( | ||
+ | Placement(visible = true, transformation(origin = {-25, -25}, extent = {{-7, -7}, {7, 7}}, rotation = 0))); | ||
+ | Modelica.Fluid.Sensors.MassFlowRate massFlowRate(redeclare package Medium = Medium) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {-14, 26}, extent = {{-12, -12}, {12, 12}}, rotation = 0))); | ||
+ | Modelica.Fluid.Sensors.Temperature temperature(redeclare package Medium = Medium) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {60, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
+ | Modelica.Fluid.Sensors.Temperature temperature1(redeclare package Medium | ||
+ | = Medium) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {-40, -58}, extent = {{8, -8}, {-8, 8}}, rotation = 0))); | ||
+ | Modelica.Blocks.Interfaces.RealOutput m_flow annotation( | ||
+ | Placement(visible = true, transformation(origin = {3, 45}, extent = {{-5, -5}, {5, 5}}, rotation = 0), iconTransformation(origin = {-12, 50}, | ||
+ | extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
+ | Modelica.Blocks.Sources.Step step annotation( | ||
+ | Placement(visible = true, transformation(origin = {24, -42}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); | ||
+ | Modelica.Fluid.Pipes.DynamicPipe Pipa( | ||
+ | redeclare package Medium = Medium, | ||
+ | use_T_start=true, | ||
+ | T_start=Modelica.SIunits.Conversions.from_degC(80), | ||
+ | redeclare model HeatTransfer = | ||
+ | Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer, | ||
+ | diameter=0.01, | ||
+ | redeclare model FlowModel = | ||
+ | Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow, | ||
+ | length=10, | ||
+ | p_a_start=130000) | ||
+ | annotation( | ||
+ | Placement(visible = true, transformation(origin = {72, -14}, extent = {{-16, -16}, {16, 16}}, rotation = -90))); | ||
+ | Modelica.Fluid.Vessels.OpenTank tank1( | ||
+ | redeclare package Medium = Medium, | ||
+ | crossArea=0.01, | ||
+ | height=2, | ||
+ | level_start=1, | ||
+ | nPorts= 2, | ||
+ | massDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, | ||
+ | use_HeatTransfer=true, | ||
+ | portsData={Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter= | ||
+ | 0.01),Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter= | ||
+ | 0.01)}, | ||
+ | redeclare model HeatTransfer = | ||
+ | Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=10), | ||
+ | ports(each p(start=1.1e5)), | ||
+ | T_start=Modelica.SIunits.Conversions.from_degC(13)) annotation( | ||
+ | Placement(visible = true, transformation(origin = {-83, -71}, extent = {{-11, -11}, {11, 11}}, rotation = 90))); | ||
+ | protected | ||
+ | Modelica.Blocks.Interfaces.RealOutput tanklevel annotation( | ||
+ | Placement(visible = true, transformation(origin = {-56, 66}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {-56, | ||
+ | 66}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
+ | protected | ||
+ | Modelica.Blocks.Interfaces.RealOutput T_forward annotation( | ||
+ | Placement(visible = true, transformation(origin = {84, 44}, extent = {{-6, -6}, {6, 6}}, rotation = 0), iconTransformation(origin = {84, 42}, | ||
+ | extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
+ | Modelica.Blocks.Interfaces.RealOutput T_return annotation( | ||
+ | Placement(visible = true, transformation(origin = {-56, -58}, extent = {{6, -6}, {-6, 6}}, rotation = 0), iconTransformation(origin = {-44, -54}, | ||
+ | extent = {{-10, -10}, {10, 10}}, rotation = 0))); | ||
+ | equation | ||
+ | tanklevel = tank.level; | ||
+ | connect(tank.ports[1], Pompa.port_a) annotation( | ||
+ | Line(points = {{-82, 52}, {-80, 52}, {-80, 26}, {-56, 26}, {-56, 26}}, color = {0, 127, 255})); | ||
+ | connect(Heater.port_b, Pipa.port_a) annotation( | ||
+ | Line(points = {{42, 26}, {72, 26}, {72, 2}}, color = {0, 127, 255})); | ||
+ | connect(Pipa.port_b, Valve.port_b) annotation( | ||
+ | Line(points = {{72, -30}, {72, -72}, {36, -72}}, color = {0, 127, 255})); | ||
+ | connect(step.y, Valve.opening) annotation( | ||
+ | Line(points = {{30, -42}, {46, -42}, {46, -64}}, color = {0, 0, 127})); | ||
+ | connect(Valve.port_b, Radiator.port_b) annotation( | ||
+ | Line(points = {{36, -72}, {8, -72}, {8, -72}, {8, -72}}, color = {0, 127, 255})); | ||
+ | connect(Pompa.port_b, massFlowRate.port_a) annotation( | ||
+ | Line(points = {{-36, 26}, {-26, 26}}, color = {0, 127, 255})); | ||
+ | connect(massFlowRate.port_b, Heater.port_a) annotation( | ||
+ | Line(points = {{-2, 26}, {14, 26}}, color = {0, 127, 255})); | ||
+ | connect(temperature.port, Heater.port_b) annotation( | ||
+ | Line(points = {{60, 34}, {60, 34}, {60, 26}, {42, 26}, {42, 26}}, color = {0, 127, 255})); | ||
+ | connect(temperature1.port, Radiator.port_a) annotation( | ||
+ | Line(points = {{-40, -66}, {-40, -66}, {-40, -72}, {-12, -72}, {-12, -72}}, color = {0, 127, 255})); | ||
+ | connect(massFlowRate.m_flow, m_flow) annotation( | ||
+ | Line(points = {{-14, 40}, {-14, 44}, {3, 44}, {3, 45}}, color = {0, 0, 127})); | ||
+ | connect(temperature.T, T_forward) annotation( | ||
+ | Line(points = {{68, 44}, {76, 44}, {76, 45}, {81, 45}}, color = {0, 0, 127})); | ||
+ | connect(temperature1.T, T_return) annotation( | ||
+ | Line(points = {{-46, -58}, {-56, -58}}, color = {0, 0, 127})); | ||
+ | connect(Radiator.port_a, tank1.ports[1]) annotation( | ||
+ | Line(points = {{-12, -72}, {-72, -72}, {-72, -71}}, color = {0, 127, 255})); | ||
+ | connect(T_forward, temperature.T) annotation( | ||
+ | Line(points = {{84, 44}, {68, 44}}, color = {0, 0, 127})); | ||
+ | connect(wall.port_b, Radiator.heatPorts[1]) annotation( | ||
+ | Line(points = {{-2, -68}, {-2, -58}}, color = {191, 0, 0})); | ||
+ | connect(fixedTemperature.port, wall.port_a) annotation( | ||
+ | Line(points = {{-18, -25}, {-2, -25}, {-2, -38}}, color = {191, 0, 0})); | ||
+ | connect(Burner.port, Heater.heatPorts[1]) annotation( | ||
+ | Line(points = {{28, 32}, {28, 32}, {28, 68}, {20, 68}, {20, 68}}, color = {191, 0, 0})); | ||
+ | end Tubes_Sisflu; | ||
+ | |||
+ | Lalu dari pemodelan yang saya lakukan, saya menganalisis temperatur yang ada pada sistem tersebut dan saya simulasikan untuk mengetahui temperature yang ada setelah dipanaskan melalui heater dan di kontrol kembali pressure oleh valve dan juga temperature oleh radiator. Dan berikut merupakan hasil simulasi dari pemodelan saya. | ||
+ | |||
+ | [[File:MessageImage 1609946114218.jpg|700px]] | ||
+ | |||
+ | Disini saya mendapatkan temperature fluida yang ada di tanki pertama adalah 20 derajat celcius, lalu setelah dipanaskan oleh heater menjadi 88 derajat celcius, lalu setelah di kontrol kembali di radiator, temperaturenya 64 derajat celcius yang akan disalurkan ke tanki berikutnya yang airnya diperuntukkan untuk kebutuhan | ||
+ | |||
+ | |||
+ | = '''Jawaban UAS''' = | ||
+ | |||
+ | بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيْمِ | ||
+ | |||
+ | Berikut merupakan jawaban UAS Sistem Fluida 03 saya | ||
+ | |||
+ | [[File:BAGOL1.jpg|700px]] | ||
+ | |||
+ | [[File:BAGOL2.jpg|700px]] | ||
+ | |||
+ | [[File:BAGOL3.jpg]] |
Latest revision as of 15:19, 18 January 2021
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيْمِ
Assalamualaikum wr. wb.
Biodata Diri
Nama : Muhammad Daffa Fachturrohman
NPM : 1806181855
Agama : Islam
Program Studi : S1 Teknik Mesin Paralel
Contents
Pertemuan Pertama
Pada pertemuan pertama kelas Sistem Fluida 03 dengan Pak Ahmad Indra Siswantara, saya bertemu dengan mahasiswa-mahasiswa di mata kuliah pilihan Aplikasi CFD. Pada pertemuan ini, saya diberikan beberapa reminder tentang CFDSOF yang pada kelas Mekanika Fluida saya telah menggunakan software ini. Saya juga diberikan link youtube untuk mempelajari terlebih dahulu tentang CFDSOF ini. Pada saat kelas, saya diberikan tugas untuk menggunakan CFDSOF ini namun telah diberikan part-part dan juga asseblied partnya pada deskripsi di link youtube tersebut.
Berikut merupakan hasil simulasi saya pada software CFDSOF
Lalu, saya menggunakan software Paraview untuk mencari pressure dropnya.
Dari simulasi, saya mendapatkan p inlet sebesar 0.0010025 dan p outlet 0.000286522, Sehingga pressure drop yang saya dapatkan dari inlet dan juga outlet adalah 0.000715978
Tugas I
Pada tugas pertama, Pak Ahmad Indra Siswantara meminta kami untuk membuat simulasi di CFDSOF menggunakan valve yang berbeda dari contoh yang telah diberikan pada saat kelas Sistem Fluida pertama, berikut merupakan ball valve yang saya gunakan
Setelah saya mengexport file tersebut menjadi format .stl, saya menggunakan file .stl tersebut untuk memasukannya ke CFDSOF lalu saya melakukan simulasi dari scaling, geometry meshing, sampai pada run solver dan mendapatkan residual grafik pada gambar-gambar yang ada dibawah ini
Dan berikut merupakan hasil dari paraview saya sampai mendapatkan pstatic, pdynamic, dan juga ptotal. Berikut merupakan hasil dari visual inlet dan juga outlet terhadap tekanan yang diterima dari kedua part tersebut.
Berikut merupakan ptotal dari inlet dan juga outlet yang saya dapatkan.
Lalu setelah mendapatkan ptot inlet yaitu 1254.98 dan juga ptot outlet 164.691, saya mendapatkan pressure drop dari data tersebut yaitu :
ΔP = Ptot in - Ptot out = 1254.98 - 164.691 = 1090.289
Pertemuan Kedua
Pada pertemuan kedua saya dengan pak Ahmad Indra Siswantara, saya di remind kembali pada segitiga kecepatan dan juga saya mendapatkan beberapa pelajaran baru dari presentasi-presentasi yang diberikan dari kelas Aplikasi CFD.
Tugas II
Pada pertemuan kedua dengan Pak Ahmad Indra Siswantara, saya diberikan tugas untuk mensimulasikan pembelajaran Sistem Fluida di dalam OpenModelica.
Berikut merupakan pembelajaran saya, saya membuat 3 tank di OpenModelica yang digabungkan dengan menggunakan port ke pipe-pipe yang ada sebagai berikut
Dan berikut merupakan pemrograman yang saya lakukan
Dari gambar-gambar diatas, saya menggunakan 1 port pada setiap tanki yang saya gunakan, dan tiap port tersebut dapat menyambungkan ke 3 lines, pada port di tank 2, saya menggunakannya untuk menyambungkan ke 2 lines untuk menyambungkan ke pipe 1 dan juga pipe 2 untuk mengalirkan fluida dari tanki 1 sampai ke tanki 3. Untuk itu saya menggukana 4 connector lines untuk menghubungkan semua tanki dan juga pipa-pipa yang ada.
Dan berikut merupakan hasil grafik dari perbandingan volume fluida yang ada di setiap tanki dari tanki 1, tanki 2, dan tanki 3
Pertemuan Ketiga
Pada pertemuan kali ini, kami mempelajari Permodelan Sistem Fluida yang diampu oleh bapak Hariyotejo, dan pada pertemuan ini saya mencoba simulasi dari library OpenModelica yaitu TwoTanks.
dan berikut merupakan kodingan dari twotanks yang ada seperti gambar diatas
Tugas III
Pada tugas ini, saya diminta untuk menganalisis mengenai 2 simulasi, yaitu HeatingSystem dan ThreeTanks.
1. Deskripsi/Uraian fisik
Komponen yang ada didalam sistem tersebut adalah pompa, valve, combustion, sensor, pipa, tangki, heater, burner, radiator, wall
Sistem ini bertujuan untuk memanaskan sistem fluida, dan dari komponen-komponen ini memberikan feedback dan menyesuaikannya dengan temperatur fluida yang kita inginkan
Dari simulasi ThreeTanks diatas, dapat dilihat bahwa ada 3 tanki yang berbeda posisi penempatan, area, dan juga ketinggian dari penempatan tanki yang mengakibatkan perbedaan ketinggian fluida didalam ketiga tanki yang ada.
2. Prosedur Analisa pemodelan
Prosedurnya adalah yang pertama membuka OpenModelica, lalu membuka library, dan membuka heating system didalam fluid, lalu kita bisa melihat sistem yang ada di dalam openmodelica, lalu melakukan pengecekan dan jika setelah di cek semua sudah benar, bisa melakukan simulasi dan dapat menghasilkan hasil berupa variabel-variabel yang diinginkan dalam kodingan yang kita masukkan dan juga bisa menimbulkan grafik yang ingin kita lihat, jika ingin mengganti hasil yang ada, kita bisa mengganti area-area ataupun penempatan yang ada.
2.1. Heating System
Pada heating system ini, kita dapat menganalisa pemodelan ini dari variabel-variabel yang ada, dari komponen yang disebutkan diatas bisa dianalisis dengan menggunakan tipe-tipe dari komponen yang berbeda untuk mendapat hasil simulasi yang berbeda juga dan dapat dianalisa
2.2. ThreeTanks
Pada ThreeTanks, Tekanan hidrostatis menjadi acuan dari analisis di dalam sistem ini. Tetapi kita juga bisa mengganti area dan pemosisisan di sistem tersebut untuk menganalisis hasil dari simulasi yang dilakukan.
3. Analisa dan Interpretasi Hasil Pemodelan
Dari volume tanki 1 yaitu 8 meter kubik, dan kepala tanki 2 dan 3 yaitu 3 meter kubik, untuk volume fluida dari tanki tersebut untuk tanki 1 yaitu 3.67 meter kubik, tanki 2 dan 3 yaitu 6.67 meter kubik dikarenakan perbedaan height dan pada pipes.
4. Hukum-Hukum Fisika
Hukum II Newton, Heat Transfer
5. Hasil-hasil Simulasi
Hasil simulasi dari heating system
Hasil simulasi dari Three Tanks
Pertemuan KeEmpat
Pada pertemuan ini, saya diajar oleh Pak Hariyotejo yang mengajarkan saya untuk meremodelling TwoTanks yang ada di library OpenModelica.
Berikut merupakan codingan dan juga model yang ada di libraryi OpenModelica pada examples TwoTanks.
Berikut merupakan codingan dari remodelling yang saya lakukan di OpenModelica saya.
Lalu saya diajarkan juga untuk melakukan pemodelan konversi massa pada control volume.
Lalu saya mencoba untuk melakukan codingannya dan hasil simulasinya sbg berikut
Tugas IV
Berikut merupakan tugas yang diberikan oleh Pak Hariyotejo
1. Analisa Termodinamika (Konversi massa dan energi) pada sistem tersebut dan membuat skematik analisanya.
Pada model diatas bertujuan untuk mensimulasikan beban reduksi menggunakan power generator 100% menjadi 50% dalam waktu 2500 second, sederhananya seperti Combined Cycle Power Plant sebagai berikut
Ada 2 proses dari Power Plant diatas
I. Gas Turbine
A. Air Compressor yang berguna untuk menghisap udara dari luar untuk menaikan tekanan udara yang di alirkan menuju combustion chamber.Pada compressor terjadi proses isentropik
B. Combustion Chamber yang merupakan tempat dimana bahan bakar dan udara Bersatu untuk menciptakan suatu energi yaitu udara panas yang dialirkan menuju turbin melalui nozzle,dimana pada alat ini tekanan dianggap konstan (Isobarik).
C. Turbin yang berfungsi untuk memutar generator untuk menghasilkan suatu energi.
Gas Turbine yang berputar akibat dari panas yang di hasilkan pada combustiom chamber yang di aliri oleh nozzle menuju turbin. Panas yang ada di gas turbin di alirkan menuju Heat recovery Steam generator.
II. Steam Turbin
A. HRSG (Heat Recovery Steam Generator) menangkap gas buangan dari Gas Turbine yang jika tidak dipasang, dapat keluar melalui saluran pembuangan.HRSG berguna untuk memanaskan Kembali uap pembuangan dari gas turbine untuk dialiri ke turbin,yang dimana turbin 2 bertugas memutar generator untuk menghasilkan suatu energi
B. Steam Turbine dilewati oleh aliran steam tersebut, sehingga membuat Steam Turbine berputar dan menggerakkan generator drive shaft. Generator drive shaft ini kemudian mengubah sisa energi buangan dari Gas Turbine menjadi listrik.
C. Hasil buangan dari turbin dialirkan menuju Kondesor untuk merubah sifat dari uap menjadi cair agar dapat didorong oleh pompa menuju HRSG untuk dipanaskan Kembali.
2. Mengidentifikasi komponen-komponen utama pada sistem serta memberi deskripsi fungsi kerjanya dalam sistem dan penjelasan analisis parameter yang digunakan.
Karena sistem diatas, maka terdapat 2 bagian sistem pembangkit, yaitu Gas Turbin dan juga Steam Turbin
Berikut merupakan bagian dari Steam Turbin dan Gas Turbin yang saya dapatkan dari library ThermoSysPro.Examples.CombinedCyclePowerPlant.CombinedCycle_Load_100_50
I. Turbin Uap
A. Condensor
Bisa mengubah fasa uap panas menjadi liquid
B. Drum
C. Generator
Didalam generator bisa mengubah energi mekanik menjadi energi listrik.
Ada juga beberapa jenis dari Heat Exchanger :
-SuperHeater
-Evaporator
-Economiser
Pipa yang digunakan dari library ThermoSysPro.WaterSteam.PressureLosses.LumpedStraightPipe
D. Turbin Uap
Pada turbin uap ini, ada tiga jenis turbin seperti yang ada di sistem, yaitu high pressure, intermediate pressure, dan low pressure
E. Valve
Untuk mengatur laju aliran fluida
F. Water Mixer
Junction yang menghubungkan beberapa inlet dan menggabungkannya menjadi kurang dari atau sama dengan jumlah inlet.
G. Water Splitter
Junction yang menghubungkan 1 atau 2 inlet dan memecahnya menjadi lebih dari atau sama dengan jumlah inlet pada outlet.
II. Turbin Gas
Berikut merupakan perincian dari turbin gas yang didapat dari ThermoSysPro.FlueGases.TAC
A. Compressor
B. Turbin Gas
Udara di turbin gas mengalami peningkatan tekanan dan temperatur akibat proses pembakaran yang terjadi. Udara panas tersebut kemudian digunakan untuk menggerakkan turbin gas tersebut.
C. Combustion Chamber
3. Medium fluida kerja yang ada didalam proses siklus tersbut dan analisis perhitungan dalam pemodelannya.
Berikut merupakan medium fluida yang bekerja dalam proses siklus tersebut :
- Turbin Gas (Menghasilkan kerja)
- Turbin Uap (Menghasilkan kerja)
- Pompa Sentrifugal (Membutuhkan kerja)
- Kompresor (Membutuhkan kerja)
Lalu, pada Analisa perhitungannya dapat menggunakan hukum konservasi energi dan konservasi massa
- Pada kompresor,pompa,turbin dan HRSG mengalami proses adiabatic,yang dimana proses adiabatik adalah proses yang tidak terjadi pergantian kalor dari sistem ke lingkungan ataupun sebaliknya.
- proses ini diasumsikan kondisi steady state dan energi kinetic potensial diabaikan
4. Flow line pada jalur hitam, merah, dan biru sesuai dengan interkoneksi yang ada
A. Jalur Hitam: Sebagai jalur energi keluar yang dimanfaatkan sebagai penggerak.
B. Jalur merah: Sebagai aliran fluida high temperature.
C. Warna Biru : Sebagai jalur Fluida low Temperature.
Pertemuan Ke Lima
Hari ini pak Hariyotejo memberikan materi tentang example di library Test Compressor
Pertemuan ke Enam
Pada pertemuan ini, saya diajar oleh dosen tamu yaitu CEO dari PT. Indopower Internasional, Bapak Dr. Ir. Harun Al Rasyid tentang Combined Cycle Power Plant. Beliau awalnya memberi tau kami tentang pengenalan turbin gas, yaitu merupakan combustion turbine yang memiliki beberapa konfigurasi seperti turbojet, turboprop, turboshaft, high-bypass turbofan, low bypass afterburning turbofan. Terdapat beberapa pertimbangan dalam memilih turbin gas, beberapa pertimbangan tersebut adalah tahun dibuat produknya, efisiensi site, heat rate, dan fuel consumption. Combined Cycle Power Plant merupakan pembangkit listrik menggunakan siklus dari Turbin gas dan juga Turbin uap yang penjelasan setiap part dan juga rangkaian sistemnya seperti tugas yang diberikan oleh Pak Hariyotejo
Sinopsis Tugas Besar
Kali ini, saya diberikan tugas besar oleh Pak Ahmad Indra untuk merangkum kurang lebih apa yang saya pelajari selama di sistem fluida ini. Saya disini akan membuat suatu sistem fluida yaitu sistem perpipaan
Latar Belakang
Dari awal saya mempelajari sistem fluida ini, saya menggunakan beberapa software yaitu CFDSOF, sedikit dari Autodesk Inventor, dan juga OpenModelica. Dari semua yang sudah saya pelajari itu, saya diminta untuk melakukan analisis dengan tools tugas besar ini untuk memperdalam ilmu saya dalam analisa pada suatu sistem fluida dan disini saya akan menggunakan ketiga software OpenModelica untuk menganalisa Water Heating System yang ada pada library OpenModelica
Tujuan
Dari tugas ini, tujuan yang akan saya capai adalah memahami water heating system, mampu membuat pemodelan pada water heating system didalam OpenModelica, memahami parameter-parameter yang ada, mendapat hasil akhir yang didapat setelah melakukan simulasi
Metodologi
Metodologi yang akan saya gunakan adalah
1. Saya akan mempelajari terlebih dahulu model nyata atau flow diagram dari water heating system
2. Membuat model system di OpenModelica
3. Lalu saya menginput atau merubah parameter yang ada di dalam sistem ini
4. Simulasi
5. Jika terdapat error pada saat ingin simulasi atau pada saat tahap pengecekan, saya akan merubah parameter atau codingan yang ada
6. Jika tidak ada error, saya akan mendapatkan output yang saya inginkan
Konsep Water Heating System
Jadi dari gambar yang bisa dilihat dibawah dari simulasi water heating system yang ada di dalam library OpenModelica, pada sistem ini tahapannya adalah yang pertama air yang berada didalam tank atau biasanya torent dialirkan melalui pipa ke pompa yang ada dan dialirkan ke boiler pada sistem heaeter yang ada, lalu uap panas yang dihasilkan mengalir kembali melalui valve yang memiliki sensor terbuka dan tertutup, pada sistem ini setelah 2000 second simulasi, valve tersebut akan terbuka. Lalu akan mengalir ke radiator sebagai pengaturan temperature lagi untuk disalurkan lagi ke outflow yang ada.
Valve ini akan mengatur heating system yang ada dari terbuka dan tertutupnya valve ini. Selain valve, boiler (heater) dan pompa yang ada juga memiliki peran yang sangat penting untuk mengatur Temperature (T) dan juga Pressure (p)
Disini saya mencoba untuk meremodel sistem yang ada seperti gambar diatas, disana saya mencoba meremodel dari parameter pada T di heater dan juga T di Radiator untuk mengubah output Temperature yang dikeluarkan. Disini saya juga mengubah outflow dari radiator yang tadinya ke tanki awal kembali sekarang saya mengubahnya untuk mendistribusikan ke tanki lain.
Berikut merupakan pemodelan yang saya lakukan berikut juga dengan codingnya
model Tubes_Sisflu replaceable package Medium = Modelica.Media.CompressibleLiquids.LinearWater_pT_Ambient constrainedby Modelica.Media.Interfaces.PartialMedium; Modelica.Fluid.Vessels.OpenTank tank( redeclare package Medium = Medium, crossArea=0.01, height=2, level_start=1, nPorts= 2, massDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, use_HeatTransfer=true, portsData={Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter= 0.01),Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter= 0.01)}, redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=10), ports(each p(start=1.1e5)), T_start=Modelica.SIunits.Conversions.from_degC(13)) annotation( Placement(visible = true, transformation(origin = {-83, 61}, extent = {{-9, -9}, {9, 9}}, rotation = 0))); inner Modelica.Fluid.System system annotation( Placement(visible = true, transformation(origin = {-89, 86}, extent = {{-11, -10}, {11, 10}}, rotation = 0))); Modelica.Fluid.Machines.ControlledPump Pompa( redeclare package Medium = Medium, N_nominal=1500, use_T_start=true, T_start=Modelica.SIunits.Conversions.from_degC(13), m_flow_start=0.01, m_flow_nominal=0.01, control_m_flow=false, allowFlowReversal=false, p_a_start=110000, p_b_start=130000, p_a_nominal=110000, p_b_nominal=130000) annotation( Placement(visible = true, transformation(origin = {-46, 26}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Fluid.Pipes.DynamicPipe Heater( redeclare package Medium = Medium, use_T_start=true, T_start=Modelica.SIunits.Conversions.from_degC(110), length=2, redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer, diameter=0.01, nNodes=1, redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow, use_HeatTransfer=true, modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b, p_a_start=130000) annotation( Placement(visible = true, transformation(origin = {28, 26}, extent = {{-14, -14}, {14, 14}}, rotation = 0))); Modelica.Thermal.HeatTransfer.Sources.FixedHeatFlow Burner( Q_flow=1.6e3, T_ref=373.15, alpha=-0.5) annotation( Placement(visible = true, transformation(origin = {10, 68}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Fluid.Valves.ValveIncompressible Valve( redeclare package Medium = Medium, CvData=Modelica.Fluid.Types.CvTypes.OpPoint, m_flow_nominal=0.01, show_T=true, allowFlowReversal=false, dp_start=18000, dp_nominal=10000) annotation( Placement(visible = true, transformation(origin = {46, -72}, extent = {{10, -10}, {-10, 10}}, rotation = 0))); Modelica.Fluid.Pipes.DynamicPipe Radiator( use_T_start=true, redeclare package Medium = Medium, length=10, T_start=Modelica.SIunits.Conversions.from_degC(60), redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer, diameter=0.01, nNodes=1, redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow, use_HeatTransfer=true, modelStructure=Modelica.Fluid.Types.ModelStructure.a_v_b, p_a_start=110000, state_a(p(start=110000)), state_b(p(start=110000))) annotation( Placement(visible = true, transformation(origin = {-2, -72}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Thermal.HeatTransfer.Components.ThermalConductor wall(G = 1.6e3 / 20) annotation( Placement(visible = true, transformation(origin = {-2, -48}, extent = {{10, -10}, {-10, 10}}, rotation = 90))); Modelica.Thermal.HeatTransfer.Sources.FixedTemperature fixedTemperature(T = system.T_ambient) annotation( Placement(visible = true, transformation(origin = {-25, -25}, extent = {{-7, -7}, {7, 7}}, rotation = 0))); Modelica.Fluid.Sensors.MassFlowRate massFlowRate(redeclare package Medium = Medium) annotation( Placement(visible = true, transformation(origin = {-14, 26}, extent = {{-12, -12}, {12, 12}}, rotation = 0))); Modelica.Fluid.Sensors.Temperature temperature(redeclare package Medium = Medium) annotation( Placement(visible = true, transformation(origin = {60, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Fluid.Sensors.Temperature temperature1(redeclare package Medium = Medium) annotation( Placement(visible = true, transformation(origin = {-40, -58}, extent = {{8, -8}, {-8, 8}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput m_flow annotation( Placement(visible = true, transformation(origin = {3, 45}, extent = {{-5, -5}, {5, 5}}, rotation = 0), iconTransformation(origin = {-12, 50}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Sources.Step step annotation( Placement(visible = true, transformation(origin = {24, -42}, extent = {{-6, -6}, {6, 6}}, rotation = 0))); Modelica.Fluid.Pipes.DynamicPipe Pipa( redeclare package Medium = Medium, use_T_start=true, T_start=Modelica.SIunits.Conversions.from_degC(80), redeclare model HeatTransfer = Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer, diameter=0.01, redeclare model FlowModel = Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow, length=10, p_a_start=130000) annotation( Placement(visible = true, transformation(origin = {72, -14}, extent = {{-16, -16}, {16, 16}}, rotation = -90))); Modelica.Fluid.Vessels.OpenTank tank1( redeclare package Medium = Medium, crossArea=0.01, height=2, level_start=1, nPorts= 2, massDynamics=Modelica.Fluid.Types.Dynamics.FixedInitial, use_HeatTransfer=true, portsData={Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter= 0.01),Modelica.Fluid.Vessels.BaseClasses.VesselPortsData(diameter= 0.01)}, redeclare model HeatTransfer = Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer (k=10), ports(each p(start=1.1e5)), T_start=Modelica.SIunits.Conversions.from_degC(13)) annotation( Placement(visible = true, transformation(origin = {-83, -71}, extent = {{-11, -11}, {11, 11}}, rotation = 90))); protected Modelica.Blocks.Interfaces.RealOutput tanklevel annotation( Placement(visible = true, transformation(origin = {-56, 66}, extent = {{-10, -10}, {10, 10}}, rotation = 0), iconTransformation(origin = {-56, 66}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); protected Modelica.Blocks.Interfaces.RealOutput T_forward annotation( Placement(visible = true, transformation(origin = {84, 44}, extent = {{-6, -6}, {6, 6}}, rotation = 0), iconTransformation(origin = {84, 42}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); Modelica.Blocks.Interfaces.RealOutput T_return annotation( Placement(visible = true, transformation(origin = {-56, -58}, extent = {{6, -6}, {-6, 6}}, rotation = 0), iconTransformation(origin = {-44, -54}, extent = {{-10, -10}, {10, 10}}, rotation = 0))); equation tanklevel = tank.level; connect(tank.ports[1], Pompa.port_a) annotation( Line(points = {{-82, 52}, {-80, 52}, {-80, 26}, {-56, 26}, {-56, 26}}, color = {0, 127, 255})); connect(Heater.port_b, Pipa.port_a) annotation( Line(points = {{42, 26}, {72, 26}, {72, 2}}, color = {0, 127, 255})); connect(Pipa.port_b, Valve.port_b) annotation( Line(points = {{72, -30}, {72, -72}, {36, -72}}, color = {0, 127, 255})); connect(step.y, Valve.opening) annotation( Line(points = {{30, -42}, {46, -42}, {46, -64}}, color = {0, 0, 127})); connect(Valve.port_b, Radiator.port_b) annotation( Line(points = {{36, -72}, {8, -72}, {8, -72}, {8, -72}}, color = {0, 127, 255})); connect(Pompa.port_b, massFlowRate.port_a) annotation( Line(points = {{-36, 26}, {-26, 26}}, color = {0, 127, 255})); connect(massFlowRate.port_b, Heater.port_a) annotation( Line(points = {{-2, 26}, {14, 26}}, color = {0, 127, 255})); connect(temperature.port, Heater.port_b) annotation( Line(points = {{60, 34}, {60, 34}, {60, 26}, {42, 26}, {42, 26}}, color = {0, 127, 255})); connect(temperature1.port, Radiator.port_a) annotation( Line(points = {{-40, -66}, {-40, -66}, {-40, -72}, {-12, -72}, {-12, -72}}, color = {0, 127, 255})); connect(massFlowRate.m_flow, m_flow) annotation( Line(points = {{-14, 40}, {-14, 44}, {3, 44}, {3, 45}}, color = {0, 0, 127})); connect(temperature.T, T_forward) annotation( Line(points = {{68, 44}, {76, 44}, {76, 45}, {81, 45}}, color = {0, 0, 127})); connect(temperature1.T, T_return) annotation( Line(points = {{-46, -58}, {-56, -58}}, color = {0, 0, 127})); connect(Radiator.port_a, tank1.ports[1]) annotation( Line(points = {{-12, -72}, {-72, -72}, {-72, -71}}, color = {0, 127, 255})); connect(T_forward, temperature.T) annotation( Line(points = {{84, 44}, {68, 44}}, color = {0, 0, 127})); connect(wall.port_b, Radiator.heatPorts[1]) annotation( Line(points = {{-2, -68}, {-2, -58}}, color = {191, 0, 0})); connect(fixedTemperature.port, wall.port_a) annotation( Line(points = {{-18, -25}, {-2, -25}, {-2, -38}}, color = {191, 0, 0})); connect(Burner.port, Heater.heatPorts[1]) annotation( Line(points = {{28, 32}, {28, 32}, {28, 68}, {20, 68}, {20, 68}}, color = {191, 0, 0})); end Tubes_Sisflu;
Lalu dari pemodelan yang saya lakukan, saya menganalisis temperatur yang ada pada sistem tersebut dan saya simulasikan untuk mengetahui temperature yang ada setelah dipanaskan melalui heater dan di kontrol kembali pressure oleh valve dan juga temperature oleh radiator. Dan berikut merupakan hasil simulasi dari pemodelan saya.
Disini saya mendapatkan temperature fluida yang ada di tanki pertama adalah 20 derajat celcius, lalu setelah dipanaskan oleh heater menjadi 88 derajat celcius, lalu setelah di kontrol kembali di radiator, temperaturenya 64 derajat celcius yang akan disalurkan ke tanki berikutnya yang airnya diperuntukkan untuk kebutuhan
Jawaban UAS
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيْمِ
Berikut merupakan jawaban UAS Sistem Fluida 03 saya