Intermediate version 3.3

Click here to dowload a 3.3 version. The current revision, 3.3.4, was released March 12 2015, and is the last of this series. Users of previous 3.3 releases should upgrade to this version for bug fixes. For new calculations, upgrading to 4.0 is a much better solution, as 4.0 is a validated version, with long term support (2 years as stable, +2 years as old stable).


  • Add 2 order backward Euler scheme in time for velocity prediction. Set ibdtso = 2 in usipsu to activate it.

  • Add cavitation models. See the documention (theory, user, Doxygen) for more details. You can activate it in cs_user_parameters.f90 with icavit=1.

  • Add the Shir model for the turbulent diffusion of the second moment turbulence models (Rij and epsilon, isotropic diffusion). Available with the idirsm=0.

  • Enable use of sparse matrix-vector tuning mechanism in regular calculations. Automatic tuning or variant selection may be done using the cs_user_matrix_tuning() function, in cs_user_performance_tuning.c.

  • For non-batch systems, handling of the number of MPI ranks is based on a "code_saturne run" option, --nprocs, and is set in the runcase file, not in the XML file anymore.

  • For couplings, runcase_coupling is replaced by a standard runcase, mechanism, using "code_saturne run --coupling", where contains the domains dictionnary previously in runcase_coupling. This allows unifying the handling of "code_saturne run" options.

  • Rewrite of temporal moments handling. Moments handling is now more modular, and allows for variances in addition to means. Also, numerically stable recurrence relations are used to update moments, whose values are now directly usable at any given time. Weight accumulators are handled inside the module, and not seen as fields anymore. Also, support for user functions is added. Currently, this is mapped to the legacy data setup, and tested only in this context, but the added functionality will be exposed with future changes in case setup.

  • Lagrangian module: Improvements in roughness and resuspension models

    • added a user keyword 'irough' for roughness surface (calculation of the energy barrier in the case of rough wall)

    • consideration of the electrostatic force in the adhesion force for the resuspension

    • mass flux update for particles rolling on the wall

  • Ensure postprocessing of symmetric tensors for EnSight and Catalyst is consistent with {xx, yy, zz, xy, yz, xz} internal component representation.

  • Update some external package versions for automatic installer.

Architectural changes

  • Remove rtp, rtpa and propce in user subroutines API. The access to the variables and the properties is carry out using field structure.
  • Velocity field is now created as "owner field" in C (removed from rtp and rtpa). Velocity is now fully interleaved.
  • Ensure only platform-independent files are installed to datarootdir (either as defined by ${prefix}/share or as ${datarootdir}. Files which contain install-related paths are now installed in sysconfdir.
  • Fields representing variables are now declared in fldvar, previously call 1 of varpos. Fields representing properties are now declared in fldprp, previously call 2 of varpos. Fields for the radiation model are now declared in rayprp, previously call 4 of varpos. The only remaining call of varpos matches previous call 3. The nomvar array is replaced by field labels for fields, and nomva0 for temporaries. Field pointers for all variables are accessible from C using the macros in cs_field_pointer.h. The ichrvr, ilisvr, scamin and scamax arrays are also replaced by field keywords.
  • Lagrangian module: for tracking, particle structure is replaced by raw data mapped at run-time, allowing for allocation only of useful data.
  • Remove support for obsolete LAM and MPICH1 MPI libraries.
  • Finalized cleanup of handling of boundary condition coefficients. Fields now allocate their coefficients, rather than map them from a common array.

Bug fixes:

  • Fix bug in the Generalized Gradient Diffusion Hypothesis (GGDH).
    • swich between two components (R13 and R23): this is not impacting the validation database because this model is only validated on 2D test cases where the R13 and R23 components are both 0.
    • from version 3.1, it is impacting all the Rij-epsilon calculations because from this version, the Daly Harlow model is passed by default on Rij (this model induces a GGDH on Rij and epsilon).