No he usado FiPy pero solo OpenFOAM , pero creo que algunos puntos en ambas páginas de inicio sugieren que depende en gran medida de lo que quieras simular.
OpenFOAM ya tiene algunos solucionadores implementados (principalmente CFD, ya que su perfil indica física de plasma computacional, el mhdFoam
solucionador puede ser lo que desea o al menos sirve de base, aquí está su grupo de usuarios), pero se puede ampliar para resolver otros PDE factibles con FVM , mientras que en FiPy probablemente tendrá que implementar las ecuaciones desde cero de todos modos, y en el último caso, sí, Python es mucho más cómodo que C ++, al menos para mí.
Hay algunos códigos de Python que facilitan la vida con OpenFOAM: PyFoam para ayudar a configurar casos, y pythonflu , un contenedor para escribir solucionadores en Python (no probado, no sé cómo funciona).
Desde mi experiencia, la creación de un caso en el OpenFOAM es bastante tedioso y lo más probable es llegar a escribir guiones para automatizar la configuración de malla, etc de todos modos, así que no sé si en realidad FiPy requerir que un esfuerzo mucho mayor, incluso si usted utilizó una de los solucionadores ya implementados de OpenFOAM. Y si elige usar Python para esa secuencia de comandos, sospecho que puede escribir la mayor parte del código de una manera que la decisión sobre FiPy vs OpenFOAM se reduzca a una diferencia de menos de 100 líneas de código, es decir, no debería ser demasiado Es difícil cambiar de opinión más adelante, especialmente si se planificó de antemano.
Los puntos más importantes son, por supuesto, cuánto tiempo lleva la primera vez que se configura y qué tan bien funciona. Sin embargo, tampoco pude encontrar ninguna comparación, así que tendrías que compararlas tú mismo ...
Personalmente, si no hubiera usado OpenFOAM antes y necesitaría simular un sistema para el que OpenFOAM no proporciona un solucionador, lo más probable es que primero pruebe FiPy debido a mi preferencia de Python sobre C ++. Pero como se mencionó, junto con PyFoam, uno podría crear un marco bastante genérico para comparar los dos ... Sin embargo, si se pudiera usar un solucionador de OpenFOAM, probablemente usaría ese.