..sedikit berbagi ilmu..

ketika ilmu begitu bermanfaat

Scripting untuk membantu Dynamic Analysis di OFFPIPE

Dynamic analysis biasa dilakukan untuk mengetahui workability dari vessel kita pada saat pelaksaan instalasi pipeline. Output yang diharapkan adalah berapa maximum sea-state yang bisa di-cover sama vessel kita. Lebih simpelnya berapa ketinggian gelombang maximum yang mampu dihadapi oleh vessel kita untuk masang pipeline. Hasil ini adalah pengkerucutan dari smua kemungkinan tinggi gelombang (wave height) yang akan terjadi, juga kemungkinan periode gelombang (wave period), serta arah datangnya gelombang (wave heading). Ketiga faktor ini sangat berperan untuk menentukan sea-state criteria dari vessel kita.

Di alam ini semua penuh dengan ketidakpastian (jadi ingat kata dosen saya, pak Daniel M Rosyid hehe…).. Dan untuk mengakomodir semua ketidakpastian ini maka analisa kita harus bisa memperhitungakan semua kemungkinan yang terjadi. Kemungkinan berapa tinggi gelombang, berapa periode gelombang, dan dari mana datangnya gelombang yang mungkin akan dihadapi kelak pada saat instalasi.. Jadi, kalo saya kebiasaannya selalu menghitung semua kemungkinan itu. Selain untuk melindungi diri sendiri juga biasa si client memintanya seperti itu. Bagaimana saya melakukan dynamic analysis untuk pipeline installation? Lanjuuttt..

Saya ataupun sapa saja tidak akan pernah tau berapa tinggi gelombang yang akan terjadi, maka saya selalu meng-konsider range tinggi gelombang dalam analisa saya, misalnya dari 1m sampai 3m dengan kenaikan setiap 0.25m (jadi ada 9 variabel tinggi gelombang). Selain itu karena saya juga tidak pernah tau berapa pastinya periode gelombang yang akan terjadi, maka saya selalu meng-konsider range periode gelombang, biasanya sesuai dengan semua yang saya punya pada data RAO vessel, contoh dari 7s sampai 17s dengan kenaikan setiap 2s (jadi ada 6 variabel periode gelombang). Yang paling penting lagi gak ada yang bisa menjamin pastinya arah datangnya gelombang, jadinya saya selalu mengkonsider semua kemungkinan datangnya gelombang, biasanya sih dari 0 derajat sampai 180 derajat dengan kenaikan setiap 45 derajat (jadi ada 6 variabel tinggi gelombang). Dari semua variable itu yang bisa saya turunkan jumlahnya adalah variable tinggi gelombang. Katakanlah target saya adalah untuk bisa mendapatkan workability min 1.5m tinggi gelombang karena mungkin Metocean data menunjukkan sekitar 80% kemungkin tinggi gelombang yang terjadi adalah dibawah 1.5m… Tapi apakah kita hanya menggunakan 1 variabel saja untuk tinggi gelombang yaitu 1.5m? Ya tidak dunk, itu kan target saya, tapi saya mana tau yang akan terjadi nanti. Lah kalo terjadi 2m gimana? Kalo gak dianalisa terus tiba-tiba terjadi beneran gimana? Hehe.. masak harus abandon? Makanya itu saya tetep memakai range tapi dimulai dari 1.5m sampai 2.5 (menurut saya gelombang 2.5m sudah cukup tinggi untuk prosess instalasi, meskipun vesselnya mampu tapi kita kembali lagi ke safety, kecuali emang utk kasus-kasus tertentu yang lautnya ganas), jadinya total variable tinggi gelombangnya turun menjadi 5.

Dan kalo kita buat matriksnya dari semua variable-variabel tersebut maka saya harus menyiapkan input OFFPIPE sekitar 5 x 6 x 6 = 180 hahaha… Are you kidding me? No, I am serious dude!

Yang jelas dari semua inputan itu akan saya run, lalu dioleh hasilnya… Dari hasil itu lalu saya mencari berapa tinggi maximum yang masih mampu di-cover sama vessel saya untuk setiap periode gelombang dan arah gelombang. Tabel di bawah ini merupakan contoh rekapitulasinya (=misal untuk arah 0 derajat).

Data ini yang akan kita kasih ke orang di offshore untuk action mereka nantinya. Contohnya di offshore terjadi periode 9s dan gelombang datang dari arah 0 derajat maka mereka akan tau kalo vessel mereka hanya mampu melakukan pekerjaan maximum di tinggi gelombang 1.50m. Diatas itu harus abandon, atau bisa diakalin dengan me-rotate vessel (=DP vessel) sekitar 5 derajat dan keep laying asalkan dengan arah ini bisa menghasilnya sea-state criteria yang lebih bagus (biasa akan dilakukan analisa dadakan di offshore). Untuk memudahkan membaca table maka biasa kita juga memberikan grafik (Gambar 1 adalah contoh grafiknya).

Gambar 1 Maximum Allowable Hs

So, as simple as it is kan? Hehe… kalo udah jadi sih simple bang…

Yang jadi masalah biasanya adalah membuat 180 input dan mengolah output dari 180 input tadi. Sebenarnya bukan masalah sih karena buat input ya gitu-gitu aja dan olah output juga ya gitu-gitu aja kan? Tapi kalo gitu-gitunya 180 kali dan 180 kali lagi kan ya manjadi gitu-gitu banget deh hehe… BISA tapi lamaaaaaaa banget kan? Atau malah pusing membuat input 180 dan olah putput 180, pusing liat angka, plot nya, baca, lalu pindah ke excel, bisa-bisa muntah deh karena kebanyakan liat angka dan prosess yang gitu-gitu aja terus menerus..

Makanya itu kita perlu belajar scripting utk membuat smuanya menjadi serba otomatis.. Scripting makes your life easy.. Kita bisa membuat scripting dari visual basic bawaanya excel, atau pake software lain seperti FORTRAN, PHYTON, dan lain-lainnya yang banyak dijual bebas di pasaran. Dengan scripting ini kita bisa men-generate input secara otomatis, kita hanya mengganti bagian-bagian yang kita mau ganti seperti tinggi gelombang, periode dan arah gelombang.. Ini akan meminimalisasikan kesalahan kita dalam membuat input dalam jumlah besar misal sebanyak 180 biji. Juga dalam hal pengolahan output secara kita tau kalo outputnya OFFPIPE itu di notepad, nah loh gimana rasanya buka 180 biji files output di notepad lalu dipantengin satu-satu dicek stress/strain nya.. dijamin bisa muntah deh… kecuali kerjanya dicicil lama-lama tapi apakah kita punya waktu yang lama???

Efisiensi adalah salah satu kelebihan kita sebagai engineer untuk bisa bersaing dengan engineer lain. Kalo cuma bikin input lalu run dan olah output sih semua orang pasti bisa, tapi bagaimana bisa meningkatkan efisiensi kerja kita dengan kualitas yang lebih, itu yang membuat kita dipandang berbeda. Do you wanna be an ordinary person? Makanya, bagi rekan2 sesama pecinta OFFPIPE, mulailah belajar ber-scripting ria.. dan bagi rekan2 yang sudah ahli scripting tolong dunk ilmunya dibagi-bagi hehe… secara dulu pas kuliah nilai pelajaran bahasa pemrogaraman saya jelek hehehe… (tapi sempet jadi asisten dosen loh…).. Buat info aja, biasanya saya memerlukan waktu sekitar 2 hari untuk menyelesaikan semuanya (jika semua lancar), jadi hari pertama saya generate inputnya, lalu malamnya saya run batch di OFFPIPE, jadi saya persiapkan batch run untuk semua case lalu sebelum saya pulang kantor saya run batch nya. Besok paginya klo tidak ada masalah saya sudah dapat semua hasil output nya 180 biji files notepad. Hasil ini lalu saya scripting lagi untuk mengenerate table secara otomatis di excel, jadi gak perlu buka filenya satu per satu dan cari-cari berapa maximum stress/strainnya, berapa maximum roller reaction, berapa maximum clearance nya, berapa maximum bending momentnya.. hanya perlu 1 hari untuk mengolah dan membuat summary resultnya… Mudah bukan???

So, scripting makes your lifer easy dude!

Gambar 2 Screenshot Scripting Command

Demikian ulasan untuk kesempatan ini dan semoga bermanfaat yah… Kalau mau download versi PDF-nya bisa KLIK DI SINI!

December 17, 2011 - Posted by | Offshore, oil and gas, Piping/Pipeline, Tips buat Hepi | , , , , , , ,

16 Comments »

  1. “… jadi hari pertama saya generate inputnya, lalu malamnya saya run batch di OFFPIPE, jadi saya persiapkan batch run untuk semua case lalu sebelum saya pulang kantor saya run batch nya. Besok paginya klo tidak ada masalah saya sudah dapat semua hasil output nya 180 biji files notepad.”

    Bagaimana kamu melakukan batch run? Kalau kamu run 180 cases, kamu akan dapat 180 files output?

    Bagaimana ya kamu lakukan?
    Saya hanya tahu Meletakan command *RUN disetiap new cases.
    Jadi saya gunakan 1 file input, yang mempunyai 180 cases , jadi ia mempunyai 180 command *RUN (berserta properties2 lain untuk sesuatu cases), tetapi file outputnya tetap hanya satu file.

    Ajarin saya Pak Vlad🙂

    Comment by Irwan Hamid | February 26, 2012 | Reply

    • hehe…. rahasia dunk🙂

      Yup.. jadi saya punya 180 files offpipe input.. setiap file hanya ada 1 RUN.. jadi saya akan punya 180 files outputnya..
      Kalau kamu gabungkan 180 cases dalam 1 file saja maka akan sulit untuk membaca output nya kan?

      Batch run bisa dilakukan dengan memodifikasi OFFPIPE batch file.. nanti di file itu kita suruh offpipe utk memanggil file yang sudah kita punya (180 files tadi) lalu me-run satu persatu sesuai dengan nama file nya masing-masing.. dan men-generate outputnya juga satu persatu…

      Begitu🙂

      Comment by vladvamphire | February 26, 2012 | Reply

      • Ajarin pakkkk..

        Saya tahu akan:
        Run OFFPIPE in batch mode, 0 = NO, 1 = Yes …… 0

        Tapi saya tak tahu menggunakan batch running.

        Jika satu input file (lalu menghasilkan 1 output file), number of case limited to LISTFL.SCR size wont grown more than 4GB. Jika lebih, offpipe akan quit.

        Comment by Irwan Hamid | February 26, 2012

      • Jadi sequence nya seperti ini:
        Offpipe akan run case-1 lalu create outtput case-1, selanjutnya offpipe akan run case-2 dan create output case-2 and so on.
        Jadi, tidak ada file yang lebih dari 4GB…

        Comment by vladvamphire | February 27, 2012

  2. Ohhh, begini.

    1. Tukarkan Run OFFPIPE in batch mode, 0 = NO, 1 = Yes …… 0
    kepada Run OFFPIPE in batch mode, 0 = NO, 1 = Yes …… 1

    2. Run Offpipe

    3. Offpipe akan auto run semua file dalam folder Data

    Comment by Irwan Hamid | February 26, 2012 | Reply

    • ahh… tidak.

      offpipe hanya akan run offpipe.dat sahaja.😦

      Comment by Irwan Hamid | February 26, 2012 | Reply

      • Betul, itu command supaya OFFPIPE run batch..dengan memodifikasi file CONFIG.
        tapi kamu harus buat batch file nya dulu sebelum replace 0 –> 1.
        OK, clue…. modifikasi file ini –> OFFPIPE (MS-DOS Batch File).. hehe…

        Comment by vladvamphire | February 27, 2012

      • OOOOOOOOOOOOO…. ahhahahahhaa. Terima kasih vlads. Aku mau belanja kamu. Hahahahahhahah. letak sebelum “End of Batch File” kan

        Comment by Irwan Hamid | February 27, 2012

      • Mencuba untuk mencari cara untuk menulis command supaya offpipe_.exe dapat menerima nama-nama file unt dibaca🙂

        Comment by Irwan Hamid | February 27, 2012

  3. mas vlad apa kabar? udah lama g mampir di blog mas vlad

    Mo tanya juga masalah batch2an ini. Running di atas pake dinamik bukan mas? klo dinamik gitu bukannya lama ya mas running untuk setiap periode dan gelombang? tapi kok bisa selese cuman dalam 1 malam semua runing 180 biji itu. apa ada scripnya jg buat runingnya biar makin cepet?ajarin dong hehehehe

    Comment by Fajar Aldida | March 10, 2012 | Reply

    • Menurut saya tergantung brp lama “time” untuk running dynamic analysis, untuk preliminary analysis biasanya 360 detik dgn time step 0.1 sec, tapi sesuai DNV shrnya 3 hours.

      Comment by desy | July 11, 2012 | Reply

      • Kalo utk irrregular wave maka hasil 360detik dan 3jam sangat berbeda, jadi meskipun utk prelim tidak disarakankan seperti itu. Kalau utk prelim sebaiknya run dengan regular wave🙂

        Comment by vladvamphire | July 12, 2012

  4. Mas Vlad tanya donk….itu waktu analysis dynamic kan kombinasi antara wave height, wave period dan headingnya….bagaimana kombinasi arah dari current dan angin?? itu perlu ga??? mohon pencerahannya…oiya blognya bagus nih…keep sharing ….keren buanget….

    salam

    Toni

    Comment by Toni | July 3, 2012 | Reply

    • Thanks for visiting…
      Biasanya sih kita asumsikan arah wave dan current sama, karena kalo keduanya sama2 datangnya kan lebih worst asumsinya… Sedangkan angin tidak pernah dimodelkan…

      Comment by vladvamphire | July 12, 2012 | Reply

  5. Vlad, ditulis diatas kalo “tidak ada masalah”, jadi kalau salah satu file tidak converge bagaimana?
    Thanks.

    Comment by desy | July 11, 2012 | Reply

    • Bisanya warning nya di offpipenya kita matikan, jadi ketika terjadi un-convergence maka script ini akan langsung me-run the next case.

      Comment by vladvamphire | July 12, 2012 | Reply


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: