Tezim, yanmada modelin azaltılması için sayısal yöntemler geliştirmektir. Metodlarımı sadece yanma simülasyonlarının kimya kısmında çalıştırıyorum ve 0-D simülasyonları için çok sayıda vaka çalışmam var (akış yok). İstediğim, içinde akış olan simülasyonları, tercihen 2-B veya 3-B simülasyonları çalıştırmaktır.
Yüksek hesaplama gereksinimleri nedeniyle bu simülasyonların paralel olması gerekir. Ayrıca, kaynak koduna sahip olduğum Chemkin veya Cantera gibi kimya çözücülerle arayüz oluşturabilecek bir şeye ihtiyacım var. (Chemkin Fortran 77'de ve Cantera C ++ 'tadır.)
İdeal durumda, grad programımdan ve bazı CFD paketlerinden edindiğim temel akışkanlar mekaniği bilgisini kullanarak bir akış paterni belirleyebilir, kimyayı ekleyebilir ve çalıştırabilirim. Gerekirse, eski bir ortak çalışan tarafından kullanılan deneysel bir düzene dayanan basit bir vaka çalışması için sıvı hareketini ve kimyayı yöneten denklemleri kurabilirim, ancak olmadıkça kendi CFD kodumu döndürmemeyi tercih ederim bunu son derece kolaylaştıran bir paket veya paketler. Üzerinde 2-3 hafta geçirmeye istekli olurdum; Bu gereksinimin PETSc veya Trilinos'u dışladığını bilmiyorum. Daha fazla harcamak zorunda kalırsam, daha sonraya ertelemeyi tercih ederim, çünkü vaka çalışmaları için de bir CFD kodu sağlayan bir işbirliğim var.
Herkes bir CFD paketi kullanma veya CFD kodu yazma konusunda herhangi bir deneyime sahip mi ve öyleyse, bir tane önerebilir misiniz? Kullanmak istediğimi bildiğim bir şey, Strang bölünmesi, ancak ben bir CFD veya PDE uzmanı değilim; Model indirgeme için kimya ve sayısal yöntemleri inceliyorum. Ayrıca, tavsiye ettiğiniz yazılımı kullanarak hızlanmanın ne kadar sürdüğünü de yorumlayın.
@FrenchKheldar, çözmek istediğim sorunların özelliklerinden bahsetmem gereken iyi bir noktaya değiniyor:
- İdeal (mükemmel) gaz, tek fazlı
- sıkıştırılabilir
- Laminer akış esastır; türbülanslı akış bir artıdır. (CFD'deki sayısal yöntemlerde önceki çalışmalardan türbülans hakkında biraz biliyorum, ancak CFD çözücüleri üzerinde çalışmadım; sadece fizik hakkında biraz biliyorum.)
- Sıfır-Mach-sayı formülasyonu iyidir (Şoklar veya süpersonik akış umrumda değil)
- Yanma kimyası, Soret ve Dufour akılarını görmezden gelme ve difüzyonu Fickian olarak tedavi etme
- Geometri basit bir şey olabilir
Arayüz kodu yazabilirim, ancak ne kadar az yazmam gerekiyorsa o kadar iyi; @FrenchKheldar ayrıca Cantera'nın Fortran ve Python bağlarına sahip olduğuna dikkat çekiyor. Şu anda Cantera Python bağlarını hızlı prototipleme için kullanıyorum, bu yüzden onlarla da rahatım.