Research Article

Scalability of OpenFOAM Density-Based Solver with Runge–Kutta Temporal Discretization Scheme

Algorithm 1

The Eulerian fluxes are calculated explicitly so that the ordinary differential equations system can be constructed and further integrated in time by using explicit Runge–Kutta algorithm.
Result: construct Eulerian fluxes explicitly
while runTime.loop() do
 Saving quantities at preavious time steps if rk4 then
  / The following firstly constructs the Eulerian fluxes by applying the Kurganov and Tadmor (KT) scheme. /
  surfaceScalarField phi
  (“phi,”
  ());
  surfaceVectorField phiUp
  (“phiUp,”
  (
  + );
  surfaceScalarField phiEp
  (“phiEp,”
  (
  +
  + ));
  / Then, the divergence theorem (Gauss’s law) is applied to relate the spatial integrals to surface integrals.
  /
  volScalarField phiSum (“phiSum,” );
  volVectorField phiUpSum2 (“phiUpSum2,” );
  volVectorField phiUpSum3 (“phiUpSum3,” );
else
end
end