@misc{MarinkovićMedinaSchoepsetal., author = {Marinković, Pavle and Medina, Juan A. and Sch{\"o}ps, Mark Simon and Klein, Marten and Schmidt, Heiko}, title = {Experiences from the bottom-up development of an object-oriented CFD solver with prospective hybrid turbulence model applications}, series = {Proceedings in Applied Mathematics and Mechanics}, volume = {25}, journal = {Proceedings in Applied Mathematics and Mechanics}, number = {1}, publisher = {Wiley}, issn = {1617-7061}, doi = {10.1002/pamm.202400190}, abstract = {In this work, we discuss recent experiences related to the development and enhancement of a hybrid stochastic computational fluid dynamics (CFD) solver, the C++ version of the Implicit/Explicit (IMEX) time-advancement algorithm used in the one-dimensional turbulence-based (ODT) large eddy simulation (LES) model, abbreviated as ODTLES. After being ported from Fortran 90, the current capabilities of the C++ code are restricted to the reproducibility of turbulent channel flow simulations with respect to the former Fortran code version that was able to achieve reasonable agreement with available reference direct numerical simulation (DNS) for low to moderate Reynolds number turbulent channel flows. This is far from satisfactory so that current efforts are centered on improving the solver code structure through comprehensive refactoring, robust unit testing, and strict adherence to code style guides, following the principles of Clean Code. We focus the discussion on a methodology to balance unit, regression, and integration testing, here for the LES component of the code. The objective is to frame a starting point that is relevant also for other CFD codes, irrespective of whether they utilize conventional or novel discretization or flow modeling approaches.}, language = {en} }