arb multiphysics finite volume solver

Dalton Harvie

New version 0.54 uploaded (30/3/16) and two how-to screencasts.

What is arb?

arb is a software package designed to solve arbitrary partial differential equations on unstructured meshes using an implicit finite volume method. The primary strengths of arb are:

  • All equations and variables are defined using 'maths-type' expressions written by the user, and hence can be easily tailored to each application;
  • All equations are solved simultaneously using a Newton-Raphson method, so implicitly discretised equations can be solved efficiently; and
  • The unstructured mesh over which the equations are solved can be componsed of all sorts of convex polygons/polyhedrons. One, two and three dimensional domains can be used (simultaneously).

arb is open-source software that is released under the GNU General Public Licence (GPL). The copyright of arb is held by Dalton Harvie.

A temperature field resulting from a conduction problem
Above: Diffusion within a rectangle that contains an elliptical hole.

Some examples

A diffusion problem:

The image (right) shows the solution to the following diffusion problem solved over a 2D domain:

Diffusion equations

This set of equations is represented by the following in arb:

CELL_UNKNOWN <T> [K] "1.d0" ON <all cells>
CELL_EQUATION <T transport>
   "-celldiv(<D>*facegrad(<T>))" ON <domain>
   "-<D>*facegrad(<T>)-<hole flux>" ON <hole>
FACE_EQUATION <T walls> "<T>-1.0d0" ON <walls>
Four main variables are defined: the unknown temperature field, and three equation variables. Each variable is associated with a region. The temperature (<T>) is defined over all cells, while the equations are specific to either all of the domain cells (<domain>) or as boundary conditions on particular boundary (face) regions (<hole> and <walls>). The equations are satisfied when the equation variables equal zero. Operators are used to express the vector equations using the finite volume method: For example, celldiv performs a divergence around a cell element and facegrad calculates the gradient of a quantity relative to a face element. Other variable types include DERIVED, CONSTANT, TRANSIENT, LOCAL and OUTPUT. The other variable centrings are NODE and NONE.

This problem is included with the arb distribution as tutorial 1. You can browse the arb input file here.

Steady-state flow around a cylinder:

The two-dimensional flow around a cylinder is a CFD benchmark test problem. Here the Reynolds number based on the cylinder diameter and maximum velocity is 20, producing steady-state results.
The pressure field around a cylinder The pressure field around a cylinder The pressure field around a cylinder
Above: The steady-state flow around a cylinder at Re=20. The cell-centred pressure field, cell-centred velocity vectors (superimposed on the pressure field) and face-centred stress (Von-Mises) are shown.

This problem is also included with the arb distribution as tutorial 3. You can browse the arb input file here.

Other problems:

Many more example problems are included as input and geometry files with the arb distribution. Browsing these is at present the best way to learn the syntax and understand the capabilities of arb. Examples include transient problems, multi-dimensional (0D-3D) problems, systems of ODEs (eg, multi-component chemical equations) and multiphase (eg, Volume of Fluid) flows. You can find these files here.

What is needed to run arb?

In terms of coding content arb consists of fortran 95, perl and shell scripts. arb requires a UNIX type environment to run, and has been tested on both the Apple OsX and ubuntu linux platforms.

arb depends on certain third party programs and libraries, including:

By combining gfortran with the UMFPACK sparse linear solver, arb can be run using freely available GPL licensed software.

Try it out

Getting up and running is relatively straightforward, and primarily consists of installing the software and packages on which arb depends.

On recent versions of ubuntu (tested on 10.04, 12.04 and 14.04) you can run the following ubuntu install script which will use apt-get to install the required packages. This doesn't take long.

Installation on OsX is similarly straightforward, being based on macports (which needs to be installed first). However, macports generally compiles software, so it will take some time to install all the dependencies from scratch (maybe an hour?). The install script for OsX is the macports install script.

Once these dependencies are installed the following commands will download an arb working directory, run a test simulation and visualise the results:

tar -xf latest.tar
cd arb_*
gmsh output/output.msh

Further details for both platforms can be found in the manual (although these instructions are currently a little out of date). If you run into problems during install, please let me know.


A tar file containing the latest master arb source is here. Older versions can be found in this directory.


The following screencast deals with installing arb and running a trial simulation.

This next monster screencast covers the basics of arb use, including the working directory structure, altering mesh files and basic arb coding.


To actively contribute to this project, email Dalton for a username on our gitlab development server. Feel like writing some documentation? Don't hold back.


If you use arb to conduct research, please cite it using the publication (Dalton J.E. Harvie, ANZIAM J. 52, 2012) given below. I am keen to hear of your experiences using arb and also of any feature requests that you have and bugs that you find - drop me an email with 'arb' in the subject line.

Where is arb going?

arb is under active development, although updates to this website have sometimes not occurred regularly. Previously the major focus was on developing the language feature set - application of arb to different types of problems (in particular multiphase and non-Newtonian flows) is now the development focus, as well as improving installation ease and overall documentation. At some stage I will be organising a few hour familiarisation session - drop me an email if you are interested in attending this.


   J. D. Berry, A. E. Foong, C. E. Lade, C. J. C. Biscombe, M. R. Davidson, and D. J. E. Harvie. Electroviscous resistance of nanofluidic bends. Phys. Rev. E, 90:043008, Oct 2014a. doi:10.1103/PhysRevE.90.043008. URL

   J.D. Berry, M.R. Davidson, and D.J.E. Harvie. Electroviscous flow through nanofluidic junctions. Applied Mathematical Modelling, 38(17–18):4215–4225, September 2014b. ISSN 0307904X. doi:10.1016/j.apm.2014.02.018. URL

   Joseph D. Berry, Malcolm R. Davidson, and Dalton J.E. Harvie. Electroviscous flow through a microfluidic T-junction. In Ninth International Conference on CFD in the Minerals and Process Industries, CSIRO, Melbourne, Australia, Dec 10th – 12th 2012a. Link.

   Joseph D. Berry, Andrew E. Foong, Cathy Lade, Edward Ross, Elina E. Faisal, Christian Biscombe, Malcolm R. Davidson, and Dalton J.E. Harvie. Electroviscous flow through microfluidic contractions, bends and junctions. In 10th International Symposium on Electrokinetic Phenomena, Tsuksuba, Japan, May 20th – 24th 2012b. Presentation.

   Christian J.C. Biscombe, Malcolm R. Davidson, and Dalton J.E. Harvie. Electrokinetic flow in parallel channels: Circuit modelling for microfluidics and membranes. Colloids and Surfaces A: Physicochemical and Engineering Aspects, 440:63 – 73, 2014. ISSN 0927-7757. doi: URL The 10th International Symposium on Electrokinetic Phenomena.

   Noel A. Brennan and Dalton J.E. Harvie. Steady-state oxygen consumption profiles in the cornea. In 2012 Gordon Conference on the Biology and Pathobiology of the Cornea, Ventura, CA, USA, March 25th –30th 2012. Poster.

   Davide Ciceri, Lachlan R Mason, Dalton JE Harvie, Jilska M Perera, and Geoffrey W Stevens. Modelling of interfacial mass transfer in microfluidic solvent extraction: Part II heterogeneous transport with chemical reaction. Microfluidics and Nanofluidics, 14(1-2):213–224, 2013. doi:10.1007/s10404-012-1039-y.

   Davide Ciceri, Lachlan R Mason, Dalton JE Harvie, Jilska M Perera, and Geoffrey W Stevens. Extraction kinetics of Fe (III) by di-(2-ethylhexyl) phosphoric acid using a Y-Y shaped microfluidic device. Chemical Engineering Research and Design, 92:571–580, 2014. doi:10.1016/j.cherd.2013.08.033.

   Dewi P. Go, Dalton J. E. Harvie, Nicolin Tirtaatmadja, Sally L. Gras, and Andrea J. O’Connor. A simple, scalable process for the production of porous polymer microspheres by ink-jetting combined with thermally induced phase separation. Particle and Particle Systems Characterization, 31(6):685–698, January 2014. ISSN 09340866. doi:10.1002/ppsc.201300298. URL

   D.P. Go, D.J.E. Harvie, S.L. Gras, and A.J. O’Connor. Ink-jetting combined with phase separation to produce highly porous microspheres for bioactive molecule delivery. In 22nd ASBTE together with the 5th Indo-Australian Conference on Biomaterials, Implants and Tissue Engineering, Barossa Valley, South Australia, April 2nd – 5th 2013. Presentation.

   Dalton J. E. Harvie. An implicit finite volume method for arbitrary transport equations. ANZIAM J. (CTAC2010), 52:C1126–C1145, March 2012. Link.

   Wei-Lun Hsu, Dalton J.E. Harvie, Malcolm R. Davidson, Helen Jeong, Ewa M. Goldys, and David Inglis. Concentration gradient focusing and separation in a silica nanofluidic channel with a non-uniform electroosmotic flow. Lab Chip, 14:3539–3549, 2014a. doi:10.1039/C4LC00504J. URL

   Wei-Lun Hsu, David W. Inglis, Helen Jeong, David E. Dunstan, Malcolm R. Davidson, Ewa M. Goldys, and Dalton J. E. Harvie. Stationary chemical gradients for concentration gradient-based separation and focusing in nanofluidic channels. Langmuir, 30(18):5337–5348, 2014b. doi:10.1021/la500206b. URL

   Wei-Lun Hsu, David W. Inglis, Michael A. Startsev, Ewa M. Goldys, Malcolm R. Davidson, and Dalton J.E. Harvie. Isoelectric focusing in a silica nanofluidic channel: Effects of electromigration and electroosmosis. Analytical Chemistry, 86(17):8711–8718, 2014c. ISSN 0003-2700. doi:10.1021/ac501875u. URL

   W.L. Hsu, M. A. Startsev, D. W. Inglis, E. M. Goldys, M. R. Davidson, and D. J. E. Harvie. DNA focusing in nanofluidic channels. In The 17th International Conference on Miniaturized Systems for Chemistry and Life Sciences The 17th International Conference on The 17th International Conference on Miniaturized Systems for Chemistry and Life Sciences (MicroTAS 2013), October 2013 2013.

   L. R. Mason, G. W. Stevens, and D. J. E. Harvie. Subgrid CFD film-drainage modelling: Application to buoyancy-driven droplet-wall collisions in emulsions. In 19th Australasian Fluid Mechanics Conference, page 42, Melbourne, Australia, 2014. Link.

   Lachlan R. Mason, Geoffrey W. Stevens, and Dalton J.E. Harvie. Multi-scale volume of fluid modelling of droplet coalescence. In Ninth International Conference on CFD in the Minerals and Process Industries, CSIRO, Melbourne, Australia, Dec 10th – 12th 2012. Link. Outstanding student paper award.

   Lachlan R Mason, Davide Ciceri, Dalton JE Harvie, Jilska M Perera, and Geoffrey W Stevens. Modelling of interfacial mass transfer in microfluidic solvent extraction: Part I heterogenous transport. Microfluidics and Nanofluidics, 14(1-2):197–212, 2013. doi:10.1007/s10404-012-1038-z.