Sebuah objek fungsi adalah kode yang independen dari solver yang dikompilasi ke dalam sebuah perpustakaan dinamis dan dieksekusi baik selama loop waktu simulasi atau oleh aplikasi pemrosesan setelah simulasi selesai. Objek fungsi paling sering melakukan perhitungan pasca-pemrosesan saat simulasi berjalan, tetapi mereka juga dapat memanipulasi bidang atau parameter simulasi. Perpustakaan objek fungsi OpenFOAM dapat berisi sejumlah objek fungsi yang dapat dihubungkan ke aplikasi selama runtime: OpenFOAM menyediakan mekanisme untuk memuat perpustakaan dinamis di setiap kasus simulasi. Fungsionalitas yang terkapsulasi dalam objek fungsi diakses dari solver dengan cara yang telah ditentukan sebelumnya, sehingga objek fungsi harus sesuai dengan antarmuka kelas yang tetap.
Manfaat lain dari struktur hierarkis modular objek fungsi dalam OpenFOAM adalah kemampuan untuk berbagi perpustakaan objek fungsi dengan mudah dengan orang lain. Objek fungsi mengimplementasikan perhitungan yang sepenuhnya mandiri dan tidak melibatkan modifikasi kode aplikasi sama sekali. Tidak ada perubahan yang harus diterapkan pada solver atau aplikasi utilitas, dan tidak perlu mengkompil ulang mereka untuk mengakses objek fungsi baru. Ini meningkatkan kegunaan ulang kode mengikuti pola OOD "Open-Closed": fungsionalitas terbuka untuk perluasan, dan implementasi yang ada tertutup untuk modifikasi.
Dari sudut pandang pengguna, objek fungsi biasanya menyediakan fungsionalitas yang tidak memengaruhi solusi: mereka melakukan tugas pasca-pemrosesan saat runtime yang seharusnya secara umum independen dari solver yang dipilih. Tujuan mereka adalah untuk mengimplementasikan metode pasca-pemrosesan umum, seperti menghitung nilai rata-rata dari variabel bidang apa pun, terpisah dari kode solver.