2019/04/28 by Juan Michael Sargado, Sargado, Juan Michael
Computer Science · Engineering · #Advanced Mathematical Modeling in Engineering #Advanced Numerical Methods in Computational Mathematics #FOS: Computer and information sciences #FOS: Mathematics #Fluid Dynamics Simulations and Interactions #Mathematical Software (cs.MS) #Numerical Analysis (math.NA) #Numerical methods in engineering
paper · pdf · doi:10.48550/arxiv.1905.00104
openalex publication_date 2019/04/28 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
Many interesting phenomena are characterized by the complex interaction of different physical processes, each often best modeled numerically via a specific approach. In this paper, we present the design and implementation of an object-oriented framework for performing multiphysics simulations that allows for the monolithic coupling of different numerical schemes. In contrast, most of the currently available simulation tools are tailored towards a specific numerical model, so that one must resort to coupling different codes externally based on operator splitting. The current framework has been developed following the C++11 standard, and its main aim is to provide an environment that affords enough flexibility for developers to implement complex models while at the same time giving end users a maximum amount of control over finer details of the simulation without having to write additional code. The main challenges towards realizing these objectives are discussed in the paper, together with the manner in which they are addressed. Along with core objects representing the framework skeleton, we present the various polymorphic classes that may be utilized by developers to implement new formulations, material models and solution algorithms. The code architecture is designed to allow achievement of the aforementioned functionalities with a minimum level of inheritance in order to improve the learning curve for programmers who are not acquainted with the software. Key capabilities of the framework are demonstrated via the solution of numerical examples dealing on composite torsion, Biot poroelasticity (featuring a combined finite element-finite volume formulation), and brittle crack propagation using a phase-field approach.