PhD: Biofilms model with NXFEM

Posted on 20/10/2018, in PhD.

This note is for chapter 6 in my thesis. I will use NXFEM coupling with LSM to simulate a biofilm model.


  • Chap6 in reMarkable
  • Handwriting notes (main)
  • This site.


Very simple biofilm model

  • Below model is in chopp 2007 xfem biofilm growth.pdf.
  • The same (more specific): xfem moving interface THESIS - Bryan G. Smith.pdf
  • Is mentioned in chopp duddu et al 2006 combine nxfem levelset.pdf, page 18 (figure biofilm, layer growth a little bit - Fig 5). Fig in this article is consistent with result in chopp 2007 xfem.
  • $u$: substrate
  • $v$: biomass


Three test cases

In chopp duddu et al 2006 combine nxfem levelset.pdf, Chopp listed 4 test cases for biofilms. He also describes the properties of the domain, the condition’s values and so on. Page 16 - 18.

  • $100\times 100$ triangles mesh size.
  • $\Omega = 0.5\times 0.5$ mm
  • $dt = \frac{dx}{\max{F}}$
  • $S = 8.3\times 10^{-6}\, \frac{mgO_2}{mm^3}$
  • $\nabla_n S=0, \nabla_n \Phi = 0$ on sides of $\Omega$
  1. First example, only 1 semi-circle whose radius is $0.01$ mm, grow in $44$ days. Fig 5 and [49] (chopp 2007 xfem biofilm growth.pdf).
  2. Second, 3 semi-circles, the middle has radius $0.02$ mm whereas others has $0.01$ mm for each. How to implement???. Fig 6
  3. Third, see in the article.

Chopp06combine –[49]-> Chopp07xfem –[4]-> Chopp06simulating (splitting) and –[6]- kalpperFinger and –[5]- dependQuorum (parameters)


  • frederic MASTER THESIS 2010 biofilms.pdf page 21, 85.

CFL - time step

  • If $\Delta x$ is very small in comparison with $\Delta t$, there may be instability and divergence (sometimes). That’s why we need CFL condition (relation between velocity $u$, time step $\Delta t$ and mesh size $\Delta x$)

  • For the Crank–Nicolson numerical scheme, a low CFL number is not required for stability, however it is required for numerical accuracy (wiki).

Affected components

All changeable components in the code,

  • Time: .Tmax, .dt
  • pa.r0 : interface’s radius
  • $\kappa$ (.kapU, .kapV)
  • Penalty coefficient $\lambda$ (.lamU, .lamV)
  • (May take an affect) .bcU, .bcV

Note that,

  • $\kappa, \lambda$ depends on the choice of using or not using ghost penalty!

Modify main_chopp2007.m

  • Why we need cp instead of pa? Because in some functions to find global matrix/load vector, we need the diff coef inside pa, but how about diff for u and v? If we use pa.kapU, pa.kapV, it’s not good because we need to consider upto 4 parameters!
  • Why main_sys_linda can use pa? No, it didn’t!!!
  • Form of $\kappa_i$?
  • Smallcut, many other functions are not modified to the new version yet!

To-be coded

  • Periodic boundary condition in x direction.
  • multi biofilm shape (separated)
    • Chopp06-stimulating: section 5, there are some results to be compared!
  • Time scale??

Don’t forget to do

  • Adaptive mesh (start with freefem++ first)
  • Run the test in Arnold’s book!
  • Model main_sys_linda is not the one in article1 because both of u and v have the interface conditions [u], [v]! Check the file main_article1 instead!