FreeFEM, kısmi diferansiyel denklemleri (KDD) sonlu elemanlar yöntemiyle çözmek için özel söz dizimine sahip açık kaynaklı bir yazılımdır. Kendi betik diliyle karmaşık fizik problemleri (akışkanlar, elastisite, elektromanyetizma) modellenebilir ve çözülebilir. Paralelel hesaplama için MPI desteği mevcuttur. Linux, macOS ve Windows üzerinde çalışır; tamamen ücretsiz ve açık kaynaklıdır.
Temel Özellikler
- Kendine özgü betik dili: C++ söz dizimine benzer, KDD tanımlamak için optimize
- 2D ve 3D sonlu elemanlar çözücüsü
- Geniş sonlu eleman türü kütüphanesi (P1, P2, RT, Raviart-Thomas)
- Doğrusal ve doğrusal olmayan çözücü entegrasyonu (UMFPACK, PETSc)
- MPI ile paralel hesaplama
- Mesh oluşturma ve uyarlama (adaptive meshing)
- ParaView uyumlu VTK çıktı formatı
- Python ve MATLAB ile entegrasyon imkanı
FreeFEM’de basit ısı iletimi simülasyonu nasıl yapılır?
FreeFEM betik dosyası (.edp) oluşturun. Önce ağ tanımlayın: mesh Th = square(20, 20);. Fonksiyon uzayı seçin: fespace Vh(Th, P1);. Değişkenler tanımlayın: Vh u, v;. Zayıf formu yazın ve çözün: solve Laplace(u, v) = int2d(Th)(dx(u)*dx(v) + dy(u)*dy(v)) - int2d(Th)(f*v) + on(1,2,3,4, u=0);. Sonucu kaydedin veya plot ile görselleştirin. Terminalde FreeFem++ betik.edp komutuyla çalıştırın.
FreeFEM alternatifleri
FEniCS, benzer sonlu elemanlar çerçevesidir; Python API ile daha erişilebilir bir arayüz ve UFL (Unified Form Language) söz dizimi sunar.
Elmer FEM, grafik arayüzü ve geniş fizik modülü kütüphanesiyle çok fizikli simülasyonlar için FreeFEM’e pratik bir alternatiftir.
Salome-Meca, Code_Aster çözücüsünü grafiksel arayüzle sunan; mühendislik uygulamalarında FreeFEM’e göre daha kolay kullanım sağlar.
- Güçlü PDE çözümü
- Açık kaynak (LGPL-2.1)
- 30+ yıllık geliştirme
- Adaptif ağ desteği
- Araştırma topluluğu
- Özel scripting dili öğrenilmeli
- Teknik FEM bilgisi gerektirir
- Türkçe dil desteği yok
İşletim Sistemi: Windows 10/11, macOS, Linux
RAM: 2 GB
Disk: 500 MB