OpenCMP is a computational multiphysics software package based on the finite element method (Ferziger & Perić, 2002). It is primarily intended for physicochemical processes in which fluid convection plays a significant role. OpenCMP uses the NGSolve finite element library (Schöberl, n.d.) for spatial discretization and provides a configuration file-based interface for pre-implemented models and time discretization schemes. It also integrates with Netgen (Schöberl, n.d.) and Gmsh (Geuzaine & Remacle, 2009) for geometry construction and meshing. Additionally, it provides users with built-in functionality for post-processing, error analysis, and data export for visualisation using Netgen (Schöberl, n.d.) or ParaView (Ahrens et al., 2005).OpenCMP development follows the principles of ease of use, performance, and extensibility. The configuration file-based user interface is intended to be concise, readable, and intuitive. Furthermore, the code base is structured and documented (Monte, Elizabeth J, 2021) such that experienced users with appropriate background can add their own models with minimal modifications to existing code. The finite element method enables the use of high-order polynomial interpolants for increased simulation accuracy, however, continuous finite element methods suffer from stability and accuracy (conservation) for fluid convection-dominated problems. OpenCMP addresses this by providing discontinuous Galerkin method (Cockburn et al., 2000) solvers, which are locally conservative and improve simulation stability for convectiondominated problems. Finally, OpenCMP implements the diffuse interface or diffuse domain method (Monte et al., 2021;Nguyen et al., 2018), which a type of continuous immersed boundary method (Mittal & Iaccarino, 2005). This method enables complex domains to be meshed by non-conforming structured meshes for improved simulation stability and reduced computational complexity, under certain conditions (Monte et al., 2021).