acls (Accurate CLS, Desjardins et al. 2008)

← Components

intsharp/sharpening.py

Accurate CLS sharpening

Supports: 1D and 2D (selected automatically based on domain)

Same flux structure as Olsson-Kreiss, with the normal obtained from an algebraic inversion field:

\[ \text{RHS} = \nabla \cdot \bigl[\epsilon (\nabla\alpha \cdot \mathbf{n})\mathbf{n} - \alpha(1-\alpha)\mathbf{n}\bigr] \]

with \( \mathbf{n} = \nabla\phi_{\mathrm{inv}}/|\nabla\phi_{\mathrm{inv}}| \) and \( \phi_{\mathrm{inv}} = \epsilon \ln(\alpha/(1-\alpha)) \).

Update:

\[ \alpha^{n+1} = \alpha^n + \Delta t \cdot \Gamma \cdot \text{RHS} \]

Parameters:

  • eps_target: Target interface thickness \( \epsilon \)
  • strength: Sharpening strength \( \Gamma \)