Release Notes

2023.next

  • Added anisotropy to FRPM
  • Added rotating terms to Jacobian
  • Bug fix in fluent convert
  • Added non-orthogonal correction to wall distance calculation
  • Improved startup time of large jobs on GPUs
  • Added force driver to alter boundary conditions to achieve a target lift
  • Linear solver performance improvements

2021.11.765

  • Added SU2 to zCFD mesh converter
  • Added time averaging to FV solver

2021.07.123

  • Deal with conformal and non-conformal interfaces in Fluent meshes
  • Improve stability of SST and SA-neg
  • Added Langtry-Menter SST transition model
  • Additional dynamically updatable params
  • Increased granularity of output control

2021.04.122

  • Implemented FSI with rotating zones
  • Added specification of mass flow rate for FV solver inlet and outlet BCs
  • RBF/FSI bug fixes
  • Added RBF/FSI restarts
  • Added distributed RBF solve
  • Added check for duplicate zones in boundary conditions

2019.06.86

  • Added multiscale RBF transformations

2019.01.68

  • Added capability to restart SA solver from SST and SST from SA
  • Improved validation of different solver/time stepping combinations in parameters dictionary
  • Removed requirement for write permissions on restart file
  • Improved handling and validation of dynamically updated parameters

2018.09.62

  • Fixed viscous forces calculation in high order solver which were a factor of 2.0 too large
  • Upgraded versions of CUDA, Intel MPI and MKL used. CUDA 9.2 is now required for GPU runs
  • Added validate_input script to allow checking of control dictionary before run time
  • Enforce input parameters that are either True or False to be booleans when validating the dictionary. i.e. 'true' is no longer valid
  • Changed colour of timer breakdown output to improve readability

2018.07.60

  • Optimised GPU execution with 2x performance improvement on V100
  • Fixed bug in activate script. zdeactivate didn't restore PYTHONPATH correctly

2018.05.58

  • Upgraded to Paraview 5.4
  • Bug fix to node ordering for DG tetrahedra
  • MUSCL reconstruction no longer demotes interface faces between FV and high order cells
  • Improved low Mach number preconditioning for turbulent flow for SST and SA models
  • DG Performance improvements
  • Fixed wavespeed calculation for rusanov scheme for FV solver
  • Fixes for P4 hexahedra
  • Default parameter values output when solver is run without controldict present are now no longer merged with the supplied control dictionary
  • Fix for launching using LSF job scheduler
  • Added option to set cell orders in cylindrical regions for DG solver
  • Correction to dynamic viscosity output and added output of turbulence kinetic energy
  • Added sponge layer option for farfield boundary conditions
  • Improved warning message for cell zone definition
  • Set velocity to cell velocity on the farfield boundary for ALE cases
  • Fix rotating cell zones partition face flux ale velocity

2017.2.3

  • Corrected DG WALE solver and exposed DG WALE solver to the user
  • Correction to BR2 scheme
  • Bug fix to velocity gradient vtk output for DG solver

2017.2.2

  • Print correct release version number, 2017.2.1 release inadvertently reported 2017.2.0
  • Improved memory allocation reservations outputting to VTK format
  • Always sync gradients from GPU when outputting
  • Fixed logic to detect lu-sgs
  • Fix to allow P4 hexas
  • Efficiency improvements to the BR2 diffusive flux scheme
  • Wall functions corrected for HO solver

2017.2.1

  • Added ability for use to select SST DES variants
  • When requested Python dictionary is not available, write default
  • Fix issue on Skylake based CPUs
  • Improve performance of P0 cases
  • Correction to force output extracted in surfaces

2017.2.0

  • Added ability to override convolution function from controldict
  • Python libraries now link against bundled openssl
  • Performance improvements
  • Added some validation of parameters before running the solver
  • Corrected parsing of filtering epsilon and filtering strength values so they are treated as double instead of truncated to int
  • Fix to roughness values when running in parallel
  • Added BR2 scheme to High Order code
  • Ensured halo conditions are correct for strong Boundary Condition formulations
  • Added improved interpolation for temperature field input
  • Ensured restricted mut is the average of the child cells
  • Fixes to restart logic
  • Timing output has been improved to report in days. hours, minutes and seconds
  • Enabled CUDA optimisations for Pascal architecture GPUS
  • Added support for P3 Tris
  • Bug fix to prism elements when running in parallel
  • Allow user to scale cfl number for viscous timestep
  • Added update frequency parameter for turbine zone definitions
  • Added a native implementation of the convolution function
  • Added specific keywords for specifying the turbine fluid zone length factor and the reference point offset
  • Added automatic check to make sure that the reference point is located inside the turbine region
  • Added fix for case where only one turbine location is specified as this broke the numpy logic
  • Added warning when users specify a thrust coefficient greater than 1 as this invalidates the induction factor calculation later
  • Added turbine power curve to turbine fluid zones
  • Added keyword to specify the model (induction or simple) to be used for modelling turbines
  • Added function 'create_turbine_segments_simple' which uniformly applies thrust and torque to the actuator disc segments, based on the thrust coefficient, tip speed ratio and power curves supplied by the user
  • Added thrust summation for simple turbine
  • Added use of a search tree to speed up cell searching in turbine regions
  • Turbine region function now use line and tube filters rather than cylinder
  • Added dissipation to boundary fluxes
  • Turned on extrapolation for Farfield Boundary conditions
  • Added support for Cray XC systems. Contact us to get a specific version for this platform
  • Added relocate option for when the executable on the compute nodes are in a different location to the submit node
  • Fixes to WALE model for High Order solver
  • Added SA Neg Model for Finite Volume solver
  • Added SA Model for High Order solver
  • Improved output of high order eddy viscosity
  • Robustness fixes for reference plane cell identification
  • Added option to output fluidic zone cell sets
  • Removed warnings when TRBX file specifies thrust coefficient greater than 1
  • Added warning when thrust coefficient > 1 is specified for the 'induction' model. CT is then scaled back to 0.8
  • Added turbine power output for Betz limit turbine
  • Allow user to set shock sensor variable
  • multigrid_cycles variable can be use to turn off Polynomial Multigrid for the High Order solver
  • Allow specifying the real time step frequency at which the restart H5 file gets written
  • Added user option to scale residuals by volume
  • Ensured dynamic viscosity and kinematic viscosity output total mu+mu_t
  • Allow using Rusanov for turbulence when HLLC is chosen for High Order solver
  • Added ABL fluidic zone type
  • Added ability to specify the PMG cycle pattern from the python dictionary using the 'multipoly cycle pattern' key
  • Ensure that the last solve cycle does a PMG cycle in the High Order Solver
  • Added STL file option for turbine offset specification
  • Improved parallel load balancing
  • Added SAS to LES options
  • Changed default ambient turbulence to off so that SA and SST results match
  • Improve startup performance for High Order Solver
  • Added option to turn on rotation correction for SA
  • Fix to memory allocation for SAS
  • Added Bousinessq buoyancy
  • Write turbine power to file on update
  • Added libgfortran to tarball for systems where it's not already installed

2017.1.1

  • Moved cfl logic for coarse grids into the driver layer
  • Allow overriding of RungeKutta scheme from users control dictionary
  • Fixed bug with incorrect gradient values being calculated at boundaries
  • Slip walls now extrapolate at the boundary
  • Updated a number of third party dependencies

2017.1.0

  • run_zcfd script now passes through the tasks per node parameter to the smartlaunch script which is needed when not running through a scheduler
  • Made Intel MPI aware of the filesystem it is running on to improve performance on parallel file systems and address issues seen running on GPFS
  • Fixed bug with periodic boundary condition
  • Removed some code duplication in the python layer
  • Fixed bug in create_trbx_zcfd_input that caused turbine regions not to be rotated.
  • Bug fix to physical nodal locations in high order code
  • Added curvature approximation for high order
  • Added porus media support
  • Fixed bug detecting actuator disc reference cell when running in parallel
  • Ensure the generated turbine region contains the reference point
  • Added thrust and tip speed interpolation functions
  • Added screen output for actuator disc initialisation
  • Performance improvements of file reading during restart
  • Added eddy output for boundary faces for high order
  • Bug fix to quad nodal location ordering
  • Fixed bug in high order filtering
  • Added MUSCL reconstruction option for P0
  • Changed binding behaviour to bind to sockets if oversubscribing the number of processes on a node
  • Added checks for existence of the unix tool numactl
  • Added checks for the presence of the mesh and control files
  • Bug fix to viscous force calcuation for high order
  • Stability improvements to polynomial multigrid
  • Upgraded to Python 2.7.13
  • Removed requirement for a C++11 compiler for the foamtozCFD converter
  • Added missing face area scaling for viscous friction calculation
  • Only convect at lower polynomial orders for PMG
  • Include pressure and friction forces in reports for High Order
  • Fixes to support multiple moving reference frames
  • Allow selection of Rusanov scheme for high order
  • Added support for multiple cell zones in a single fluid zone entry
  • Added translating mesh option
  • Fix to ALE HLLC fluxes
  • Added moment reporting
  • Updated reporting notebook with plotting functionality
  • Enable time history vtk output for global timestepping
  • Various fixes to global timestepping scheme
  • Added vorticity vector output for HO
  • Fix support for mixed element CGNS files
  • Fix dimensional Q criterion output
  • Added helicity output for HO
  • Added ability to choose between finite difference and analytic jacobian for LU-SGS FV
  • Ensure reported residual is factored by CFL
  • Fixes to FV LU-SGS residual reporting
  • Added option to use rusanov scheme for FV LU-SGS jacobian
  • Added pressure limiter to implicit time marching
  • Added generic finite difference boundary jacobian calculator
  • Added analytic jacobians for Wall, Wall Function, Farfield, Inflow, Outflow, Canopy and Symmetry boundary conditions
  • Added ability to freeze viscous fluxes for FV LU-SGS sweeps
  • Added support to restart from LnOmega turbulence model
  • Bug fixes to preconditioning
  • Added support for P4 Hexes for HO
  • Added scaling of turbulent CFL for FV LU-SGS
  • Added shock sensor for HO
  • Enabled FV LU-SGS with multigrid
  • Added output of artificial viscosity for HO
  • Added logic to supply a start and end real time cycle for outputting solution in vtk format
  • Add momentum source jacobians for FV LU-SGS
  • Added capability to identify cells at a plane in actuator disc region
  • Added actuator disc plane average reference velocity calculation
  • Use diffusive flux on the boundary faces rather than applying penalty parameter
  • Only rename the hdf5 file on the master process
  • Added new functions for conserved gradient calc
  • Fix for implicit solver with farfield subzones
  • Added in prolongation relaxation factor for PMG
  • Allow user to scale artificial viscosity
  • Changed behaviour or restart reporting. Will create a backup of the restarted report file and start a new report file with all of the variable being reported at the top
  • Put all *vtu and *vtp in a VISUALISATION sub-directory to help tidy up our file output. *.pvd files remain where they are and point to the files in VISUALISATION
  • Put log files in a LOGGING sub-directory
  • Added OpenSSL libraries to release distribution

2016.3.0

  • Initial public release