14 Mayıs 2012

Fluent ile UDF çalıstırma ve C baglantısı

Bu yazıda lisans tezimi hazırlarken 1-2 ay beni uğraştıran bir konuyu açıklamak istiyorum.



Öncelikle Fluent programı sonlu hacimler yöntemini kullanan bir Hesaplamalı Akışkanlar Dinamiği (HAD) yazılımıdır. 1983 ten bu yana dünya çapında otomotiv endüstrisi, havacılık endüstrisi, beyaz eşya endüstrisi, turbomakine (fanlar, kompresörler, pompalar, türbinler v.b.) endüstrisi, kimya endüstrisi, yiyecek endüstrisi gibi birbirinden farklı bir çok endüstriye ait akışkanlar mekaniği ve ısı transferi problemlerinin çözümünde kullanılır.

Fluent programıyla oluşturulan modele katı cisim hareketi veya sınır koşulları sin,cos gibi periyodik fonksiyonlarla ya da daha farklı özel tanımlanmış denklemlerle hareket verilebilir. Bunun için C, Fortran gibi programlama diliyle tanımlanacak denklemin yazılması gereklidir. Bu konuda Fluent yazılımının tutorial dökümanlarından yardım alabilirsiniz.

C programlama diliyle UDF yazdığınızı farzedelim. Bu durumda Fluent'in yazdığınız UDF C dilinde derleyebilmesi için bilgisayarınızda herhangi bir C derleyecisi gereklidir. Ayrıca Fluent'e derleme sırasında yararlanacağı kütüphane adresleri bağlantısının da verilmesi gereklidir.  Artık nasıl yapacağımıza gelirsek;


Microsoft Visual Studio 9.0 ile Fluent 6.3 için kütüphane baglantısı


32 Bit İsletim Sistemi ile


Fluent'te Compiler ile ilgili sorunun 32bit’lik bir işletim sistemi için çözüm basamakları şu şekildedir:

Sorun:


 

[box type="warning"]Error Object: Sistem belirtilen dosyayı bulamıyor. (Compiled Udf bölümünde Build dendiği zaman oluşuyor.)

Opening library "libudf"...

Error: open_udf_library: Sistem belirtilen yolu bulamıyor. (Load dendiği zaman oluşuyor.)

[/box]

Çözüm:


Fluent kurulu olan bilgisayara Microsoft Visual Studio 9.0'ı kuruyoruz. (Bilgisayarda nereye kurulduğu önemli değil, yalnız aynı diskte olması yeterli C: gibi)

Microsoft Visual C++ kurulu olduğu dizinde şu yolu takip ediyoruz.

      C:\Microsoft Visual Studio (Kurduğunuz sürüm)\Common7\Tools klasöründe


vsvars32.bat

      dosyasının bir editörle açıp, aşağıdaki adres bilgilerini alıyoruz.@set


PATH

      =C:\Microsoft Visual Studio 9.0\Common7\IDE;C:\Microsoft Visual Studio 9.0\VC\BIN;C:\Microsoft Visual Studio 9.0\Common7\Tools;C:\Windows\Microsoft.NET\Framework\v3.5;C:\Windows\Microsoft.NET\Framework\v2.0.50727;C:\Microsoft Visual Studio 9.0\VC\VCPackages;%PATH%


@set INCLUDE=C:\Microsoft Visual Studio 9.0\VC\ATLMFC\INCLUDE;C:\Microsoft Visual Studio 9.0\VC\INCLUDE;%INCLUDE%

@set LIB=C:\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;C:\Microsoft Visual Studio 9.0\VC\LIB;%LIB%

@set LIBPATH=C:\Windows\Microsoft.NET\Framework\v3.5;C:\Windows\Microsoft.NET\Framework\v2.0.50727;C:\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;C:\Microsoft Visual Studio 9.0\VC\LIB;%LIBPATH%

Masaüstündeki Bilgisayarım simgesine sağ tıklayıp özellikler kısmına girip, Gelişmiş sekmesi altındaki Ortam Değişkenlerini tıklıyoruz.

Ardından Başlat > Programlar > Fluent altında Set Environment’i tıklayıp, gelen uyarıya evet denilir.

Bu işlemleri yaptıktan sonra normalde compiler olarak çalışabilir. Fakat kernel32.lib dosyası bulunamadı gibi bir uyarı alırsanız, aşağıdaki işlemleri de yapmanız gerekiyor.

Programlarınızın kurulduğu diskte bir arama yaparak kernel32.lib dosyasını bulun. (Program Files Framework klasöründe olmalı. ) Bulunduğu adresi kopyalayın. (C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib\IA64 şeklinde)

Karşımıza çıkan bölümde Kullanıcı Değişkenleri bölümüne Yeni seçeneğine tıklayıp, Değişken adı olarak kırmızı renk ile yazdığım kısımlar (PATH, INCLUDE,…) Değişken değeri olarak da, = işaretinden sonraki adres tamamıyla yazılmalı.

[box type="info"] DİKKAT: Microsoft SDKs\Windows içerisinde v5.0 ve v6.0A diye 2 klasör bulunacaktır. Bu klasörlerden v6.0A seçilmelidir.[/box]

Bu adresi Ortam Değişkenlerine girdiğimiz LIB isimli değişkenin değerine ;%LIB% öncesine iki noktalı virgül arasında kalacak şekilde ekleyin  ve tamama tıklayın. Ve Fluent’i tekrar başlatın.

Artık sorun çözülmüş olması gerekmekte.

Bu yazıda 32bitlik bir bilgisayar ve Visual Studio 9.0 için ayarlamaları yazdım. Diğer durumlar veya karşılaştığınız sorunlarla ilgili bu yazıya yorum yazabilirsiniz.

Hiç yorum yok:

Yorum Gönder