IC-FERST
IC-FERST is a next generation reservoir simulator based on the Double-Control-Volume Finite Element method, dynamic unstructured mesh optimisation and surface-based modelling for the geological representation.
Fluidity is an open source, general purpose, multiphase computational fluid dynamics code capable of numerically solving the Navier-Stokes equation and accompanying field equations on arbitrary unstructured finite element meshes in one, two and three dimensions.
Fluidity combines several numerical approaches in one modelling framework:
The model equations support scalar advection–diffusion with source, reaction, absorption, and anisotropic diffusion terms, together with fluid momentum and pressure equations and a range of boundary conditions. Parameterisations are available for unresolved or sub-grid-scale processes.
Simulations are configured with Fluidity options files, commonly called FLML files. These are XML documents validated against the Fluidity options schema and exposed through an options tree. The Diamond graphical interface can be used to view and edit that tree, while the options format also supports scripted and reproducible configuration.
A typical workflow is:
The source tree includes examples ranging from one-dimensional tracer advection and lock exchange to lid-driven cavities, flow past a sphere, backward-facing steps, water-column collapse, tephra settling, particle Rayleigh–Taylor instability, and Mediterranean tides. Example directories generally provide make preprocess, make run, and make postprocess targets.
Fluidity is designed as a fully parallel application using the Message Passing Interface (MPI), with support for simulations distributed across large numbers of processes. The flredecomp utility partitions an initial mesh and produces the parallel input required to run a decomposed simulation. Parallel output is written as VTK .vtu partition files together with .pvtu metadata for the complete mesh.
Python and NumPy can be used to prescribe fields and initial conditions, define diagnostics, and customise the current model state without changing the main Fortran source. The Python state interface exposes scalar, vector, and tensor fields so that users can implement coupled or application-specific behaviour.
Fluidity writes simulation snapshots in VTK’s unstructured-grid format. Built-in diagnostics include quantities such as CFL numbers, gradients, divergences, free-surface information, density- and energy-related fields, and indicators useful for assessing numerical behaviour. These outputs can be explored interactively or post-processed in standard scientific-visualisation tools.
Fluidity is intended for researchers and engineers who need a configurable, extensible solver for coupled fluid and transport phenomena, especially where fixed meshes are inefficient or where oceanographic, environmental, multiphase, or free-surface physics matter. Its combination of unstructured meshes, adaptive resolution, multiple discretisation families, embedded models, scripting, and MPI makes it suitable for both focused numerical experiments and large scientific simulations.
The full manual covers installation, model equations, numerical discretisation, mesh formats, adaptive remeshing, parameterisations, configuration, parallel execution, visualisation, diagnostics, Python integration, and worked examples.
IC-FERST is a next generation reservoir simulator based on the Double-Control-Volume Finite Element method, dynamic unstructured mesh optimisation and surface-based modelling for the geological representation.