Theory Guide

TOSCA is a finite-volume, incompressible code, formulated in generalized curvilinear coordinates. The present section describes the theory behind TOSCA, please refer to the following index to access the different subsections.

In particular, the governing equations in Cartesian coordinates are reported in Sec. Governing Equations, TOSCA’s numerical method — including the generalized curvilinear coordinate framework, the fractional-step projection method and velocity–temperature coupling — are described in Sec. Numerical Method. The available time-integration schemes for both the momentum and temperature equations are detailed in Sec. Time Integration Schemes, while advection schemes for the divergence term are summarized in Sec. Advection Schemes. All sub-grid scale turbulence models in curvilinear coordinates available in TOSCA are detailed in Sec. Sub-grid Scale Models. Velocity and temperature controllers either used to fix a given velocity at a reference height or to couple the TOSCA model with mesoscale model outputs through data assimilation are described in Sec. Flow Controllers and Mesoscale Coupling. Sec. Precursor, Fringe Regions & Damping Layers details TOSCA’s hybrid off-line/concurrent precursor methodology, which saves computational resources when performing the turbulence initialization of boundary layer flows. The sharp-interface immersed boundary method (IBM), which enables the simulation of flows over complex terrain, objects and moving bodies, is described in Sec. Immersed Boundary Method. Actuator models used to represent wind turbines in the domain are described in Sec. Turbine Models. The algorithm of the overset mesh strategy developed in TOSCA is detailed in Overset Algorithm. Finally, an overview of TOSCA’s parallel efficiency is given in Sec. Parallel Efficiency, where the time per iteration is analyzed with increasing number of nodes and mesh elements on the Niagara high-performance computer at the SciNet HPC Consortium in Canada.

Notably, TOSCA has been used to run large wind farm simulations on the entire Niagara cluster (2024 nodes, 40 cores per node) and on all Cascade nodes of the University of British Columbia Sockeye cluster, at the Advanced Research and Computing Lab, demonstrating its capability to handle massively-parallel computations.