73
HELYX® Core Release Notes Page 1 of 73 © Copyright 2018 ENGYS Limited. All rights reserved. Studio 20, Royal Victoria Patriotic Building John Archer Way, London, SW18 3SX, UK Tel: +44 (0)20 32394031 Fax: +44 (0)20 33573132 www.engys.com Date: 13-November-2018 For Authorised Users Only HELYX® Core Release Notes This guide provides an up-to-date list of all additions and improvements implemented by ENGYS in the HELYX-Core open-source CFD simulation engine, delivered as part of the latest HELYX® release. HELYX-Core is a heavily modified version of the standard OPENFOAM® 1 library developed and maintained by ENGYS. 1. Version Current HELYX-Core software release version 3.1.1. The current HELYX-Core release is based on a Q4 2017 version of OPENFOAM. 2. Software Enhancements The following utilities and solvers in HELYX-Core have been implemented or improved by ENGYS in the public OPENFOAM® release: HELYX® 3.1.1 | Release date 13/11/2018 New Features 1. Added new layer growth method "rfch" to helyxHexMesh (Supported in both dual and standard version) which inputs the first cell height relative to the local mesh spacing. $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/layerParameters/layerParamet ers.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C 2. Added lowMemory flag to postProcess which remove function object after execution. This option disables final function object end call. $FOAM_APP/utilities/postProcessing/postProcess/postProcess.C $FOAM_SRC/OpenFOAM/db/functionObjects/functionObjectList 1 OPENFOAM® is a registered trade mark of OpenCFD Limited, producer and distributor of the OpenFOAM software.

cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

HELYX® Core Release Notes Page 1 of 73 © Copyright 2018 ENGYS Limited. All rights reserved.

Studio 20, Royal Victoria Patriotic Building John Archer Way, London, SW18 3SX, UK

Tel: +44 (0)20 32394031 Fax: +44 (0)20 33573132

www.engys.com

Date: 13-November-2018

For Authorised Users Only

HELYX® Core Release Notes This guide provides an up-to-date list of all additions and improvements implemented by ENGYS in the HELYX-Core open-source CFD simulation engine, delivered as part of the latest HELYX® release.

HELYX-Core is a heavily modified version of the standard OPENFOAM®1 library developed and maintained by ENGYS.

1. Version Current HELYX-Core software release version 3.1.1.

The current HELYX-Core release is based on a Q4 2017 version of OPENFOAM.

2. Software Enhancements The following utilities and solvers in HELYX-Core have been implemented or improved by ENGYS in the public OPENFOAM® release:

HELYX® 3.1.1 | Release date 13/11/2018

New Features 1. Added new layer growth method "rfch" to helyxHexMesh (Supported in both dual and

standard version) which inputs the first cell height relative to the local mesh spacing. $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/layerParameters/layerParameters.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C

2. Added lowMemory flag to postProcess which remove function object after execution. This option disables final function object end call. $FOAM_APP/utilities/postProcessing/postProcess/postProcess.C $FOAM_SRC/OpenFOAM/db/functionObjects/functionObjectList

1 OPENFOAM® is a registered trade mark of OpenCFD Limited, producer and distributor of the OpenFOAM software.

Page 2: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 2 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

3. Added reporting function object (type centerOfGravity;) for tracking center of gravity position. $FOAM_SRC/functionObjects/report/Make/files $FOAM_SRC/functionObjects/report/centerOfGravity

4. Added new keyword dualMaxOrtho (default 180 and inactive) for dual mesher to addLayerControls. In layer smoothing faces are no longer smoothed when orthogonality becomes greater than the specified value to reduce the number of orthogonal errors in the final mesh. $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/layerParameters/layerParameters.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/layerParameters/layerParameters.H

5. Added additional logical keyword reSnap (default off) to allow growing up non-planar patches in the dual mesh generator (see cylidndricalDomainWind tutorial case for example of usage). applications/utilities/mesh/generation/helyxHexMesh/helyxHexMesh.C $FOAM_SRC/mesh/snappyHexMesh/addHexMeshLayers $FOAM_SRC/mesh/snappyHexMesh/layerManipulate $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/layerParameters $FOAM_TUT/incompressible/simpleFoam/cylindricalDomainWind/system/helyxHexMeshDict

6. Improved initial snap projection for non-boundary zoned surfaces. $FOAM_SRC/mesh/snappyHexMesh/addHexMeshLayers/addMultiLayers.C $FOAM_SRC/mesh/snappyHexMesh/edgeClassification $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C

7. Removed -g from helyxCHT compilation. $FOAM_APP/solvers/heatTransfer/helyxCHT/Make/options

8. Added extension to "bound" function to support lower/upper bounding. $FOAM_SRC/finiteVolume/cfdTools/general/bound

9. Added orthogonality only smoothing to mesh cfMesh optimisation and more aggressive smoothing during snap at zoned interfaces. $FOAM_SRC/mesh/cfMesh/meshLibrary/utilities/meshes/polyMeshGenChecks $FOAM_SRC/mesh/cfMesh/meshLibrary/utilities/smoothers/geometry/meshOptimizer $FOAM_SRC/mesh/snappyHexMesh/autoOptimize/cfMeshOptimize $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C

10. Extended SRF model to support sources for block matrix-based solvers. $FOAM_SRC/finiteVolume/cfdTools/general/SRF/SRFModel/SRFModel

11. Added HiSA coupled trans-/supersonic solver with caseSetup support. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateFunctions/hisa

Page 3: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 3 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateFunctions/hisaLES $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateFunctions/hisaRAS $FOAM_ETC/caseDicts/preProcessing/caseSetup/caseSetup.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/pressure.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/thermal.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/velocity.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/hisa.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/hisaLES.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/hisaRAS.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/modules/dynamic.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/solvers.cfg

Bugs Fixed / Maintenance 1. Updated the mpc to 1.1.0 when the mpfr is set to 4.0.1.

$FOAM_ETC/config.csh 2. Fix foamToNastran to allow gcc 7.3 compilation.

$FOAM_APP/utilities/postProcessing/dataConversion/foamToNastran/foamToNastran.C 3. Replaced HUGE with GREAT for compilation of swak4Foam with gcc 7.3.

$FOAM_MOD/swak4Foam/Libraries/simpleSearchableSurfaces/Objects/unitCylinderSearchableSurface.C

4. Add caseSetup support for unsteady ecoMarine fast solvers. $FOAM_ETC/caseDicts/preProcessing/caseSetup

5. Updated thrusterActuationDiskSource to support Function1 and added optional keyword averageVelocity to average velocity in source region for calculating fan curve. $FOAM_SRC/fvOptions/sources/derived/thrusterActuationDiskSource $FOAM_TUT/incompressible/simpleFoam/twoThrusters/system/caseSetupDict

6. Fixed memory leak in "Gauss skewCorrected linear" for scalar fields. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/simpleFoam.cfg $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/skewCorrected/skewCorrected.H

7. Revert FaceCellWave to v1706+ version. $FOAM_SRC/meshTools/algorithms/MeshWave

8. Updated blended keyword default to true in omega wall function. $FOAM_SRC/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/omegaWallFunctions/omegaWallFunction/omegaWallFunctionFvPatchScalarField.C

9. Fixed the source term for the h-equation. Additionally, this has been extended to temperature as well. $FOAM_SRC/fvOptions/sources/derived/exponentialThermalSource

10. Extended temperatureLimiter to incompressible solvers. $FOAM_SRC/fvOptions/corrections/limitTemperature

Page 4: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 4 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

11. Corrected the temperature equation with the limiter before solving the radiation field in buoyantBoussinesqSimpleFoam. $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/TEqn.H

12. Write layerInfo.vtk for the dual mesher in face format. $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C

13. Fixed a bug in helyxHexMesh so that it doesn't perform checks on cell and point level fields if re-running helyxHexMesh with refinement disabled. $FOAM_APP/utilities/mesh/generation/helyxHexMesh/helyxHexMesh.C $FOAM_SRC/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8 $FOAM_SRC/mesh/snappyHexMesh/meshRefinement

14. Changed default enthalpy solvers to smoothSolver from GAMG (which was causing stability issues with helyxCHT on some cases). $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/helyxCHTBase.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/helyxCHTTransientBase.cfg

15. Perform sync of points in enlarged face-point stencil to prevent the reversal mechanism in helyxHexMesh leaving error cells. $FOAM_SRC/dynamicMesh/motionSmoother/motionSmootherAlgo.C

16. Fixed a bug un wallHTC. For ico case, rhoCp is now used instead of rho. This is due to the fact that alphaEff is not divided by rho in the solver. $FOAM_APP/utilities/postProcessing/wall/wallHTC/wallHTC.C

17. Made changes to the relaxation factors for the T-equation in buoyantBoussinesqP/Simple solvers. This was because of issues with a case which was converging badly with the previous default values. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/buoyantBousinesqPimpleFoamRAS.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/buoyantBousinesqSimpleFoam.cfg

18. Added binary vtk writer for sampling (change surfaceFormat vtk => vtkb to activate). Also includes fix to write to time folders. $FOAM_SRC/sampling/Make/files $FOAM_SRC/sampling/sampledSurface/sampledSurfaces $FOAM_SRC/sampling/sampledSurface/writers/vtkb

19. Added ability to specify either a "displacement" or "velocity" profile to multiSliderMotion dynamic mesh model. Input profile can either be a vector function1 with name "velocity" or "displacement". $FOAM_SRC/dynamicFvMesh/sliderMotionFvMesh

20. Fixed an issue where calculating primitive patch faceNormals were leading to an increase in memory because the pointNormals were also calculated. The pointNormals are required when running with GIB where faces can become zero sized. $FOAM_SRC/OpenFOAM/meshes/primitiveMesh/PrimitivePatch/PrimitivePatch.C

21. Moved extendedFvMeshLduAddressing from coupled module to core.

Page 5: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 5 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/finiteVolume/fvMesh 22. Added correctBoundaries for Block quantities in dynamicRefineFvMesh.

$FOAM_SRC/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C 23. Moved and upgraded multiSolidBodyMotionDynamicRefineFvMesh from Coupled module.

$FOAM_SRC/dynamicFvMesh/Make/files $FOAM_SRC/dynamicFvMesh/multiSolidBodyMotionDynamicRefineFvMesh

24. Fixed wallHeatFlux to make it to work with ico cases. Additionally, fixed the sign of the radiation. $FOAM_SRC/functionObjects/field/wallHeatFlux

25. Moved createRadiationModel.H to createFields.H to make it consistent with other solvers. $FOAM_APP/solvers/compressible/rhoSimpleFoam/createFields.H $FOAM_APP/solvers/compressible/rhoSimpleFoam/rhoSimpleFoam.C

26. Fixed an issue where, in some cases, layers are only grown on face zones and nowhere else. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C

27. Addressed issue related to non-linear Cp functions. The original coupledWallEnergy assumes implicitly that ethalpy = Cp*T. coupledWallEnergy was modified to provide h/T as weight instead of Cp. This is effectively a linearisation of Cp. $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy $FOAM_SRC/thermophysicalModels/basic/rhoThermo/rhoThermos.C $FOAM_SRC/thermophysicalModels/specie/thermo/hPolynomial

28. Updated rhoPorousSimpleFoam to deal with radiation constructor in createFields. Added support for radiation environment in rhoPorousSimpleFoam. Note, the solver itself does not support radiation. This is not a new feature, but rather a workaround to cope with the changes to rhoSimpleFoam postprocessing. $FOAM_APP/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/Make/options $FOAM_APP/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/rhoPorousSimpleFoam.C

29. Made additional corrections for radiation scaling in coupledWallenergy. $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy/coupledWallEnergyFvPatchScalarField.C

30. Changed volPointInterpolation for AMI patches to boundary type. $FOAM_SRC/finiteVolume/interpolation/volPointInterpolation

31. Added time delay for FfowcsWilliamsHawkings acoustic model. $FOAM_SRC/functionObjects/utilities/acousticAnalogy/FfowcsWilliamsHawkings.C $FOAM_SRC/functionObjects/utilities/acousticAnalogy/FfowcsWilliamsHawkings.H

32. Fix rHat calculation in FW-H funciton object. $FOAM_SRC/functionObjects/utilities/acousticAnalogy/FfowcsWilliamsHawkings.C

33. Fix crash in FW-H function object. $FOAM_SRC/functionObjects/utilities/acousticAnalogy/FfowcsWilliamsHawkings.C

Page 6: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 6 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

34. Fixed an issue in dual mesh where generator prevents zones from being smoothed in the mesh where no layers are present. $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C

35. Fixed issue with compilation of deformedGeom. $FOAM_APP/utilities/mesh/manipulation/deformedGeom/Make/options

36. Changed TInf to Tinf to be consistent with other boundary conditions $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/velocity.cfg $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/supersonicFreestream/supersonicFreestreamFvPatchVectorField.C $FOAM_TUT/compressible/sonicFoam/RAS/nacaAirfoil/0/U $FOAM_TUT/compressible/sonicFoam/RAS/prism/0/U $FOAM_TUT/mesh/foamyQuadMesh/OpenCFD/0.orig/U

37. Remove writing of checkw field used for debugging purpose $FOAM_SRC/fvOptions/sources/derived/humidityThermalSource/humidityThermalSource.C

38. Fixed an issue where using displacement motion methods in helyxHexMesh collapses layers at grown up patches. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C

39. Fixed an issue to prevent probes from failing if mesh partitions contain no cells. $FOAM_SRC/sampling/probes/probes.C

40. Fixed failure in Courant number evaluation when a mesh partition has no internal faces. $FOAM_SRC/finiteVolume/cfdTools/incompressible/CourantNo.H

41. Enable compressible divDevRhoReff with scheme selection. $FOAM_SRC/TurbulenceModels/compressible/compressibleTurbulenceModel.H $FOAM_SRC/TurbulenceModels/turbulenceModels/laminar/Maxwell

42. Fixed issue with patchDistFunction::Write(). Corrected issue where patchDistFunction would output origin value instead of axis value for the axis label. Writes incorrect value for methods that depend on the axis definition.

43. Construct fields with AUTO_WRITE flag to ensure writing calls writeNow, e.g. at convergence. $FOAM_SRC/solverObjects/solvers/concentrationTransport/concentrationTransport.C $FOAM_SRC/solverObjects/solvers/decoupledEulerianSpray/phase/phase.C

44. Implemented a mapping macros for vector which is needed by dynamicRefine for blockSolver. Only vector1 vector4 tensor4 are implemented. Currently load balance not supported. $FOAM_SRC/finiteVolume/fvMesh/fvMesh.C

45. Inserted the vectorN fields in distribution classes used in load balancing. $FOAM_SRC/dynamicMesh/fvMeshAdder/fvMeshAdder.C $FOAM_SRC/dynamicMesh/fvMeshDistribute/fvMeshDistribute.C $FOAM_SRC/dynamicMesh/fvMeshTools/fvMeshTools.C

46. Added a check to see if load imbalance is activated and if it is, then correct the nearWallDist. $FOAM_SRC/dynamicFvMesh/dynamicRefineFvMesh/dynamicRefineFvMesh.C

Page 7: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 7 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

47. Fixed an issue with gradient() function that divides by zero for kappa when inviscid thermal solvers use compressible::turbulentHeatFluxTemperature. $FOAM_SRC/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature/turbulentHeatFluxTemperatureFvPatchScalarField.C

48. Fixed issue related to triSurface going out of scope in helyxHexMesh when running with a subtriSurfaceMesh. $FOAM_SRC/meshTools/searchableSurfaces/triSurfaceMesh/triSurfaceMesh.C

49. Removed dynamic mesh default coefficients from caseSetup template. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/modules/dynamic.cfg

50. Fixed issue with caseSetup failing on v2-->v3 dictionary format upgrade in parallel. $FOAM_APP/utilities/preProcessing/caseSetup/convertV2Dict.H $FOAM_APP/utilities/preProcessing/caseSetup/setupDict.H

51. Removed normal component of inflow velocity for refValue in windProfileDirectionVelocity. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/windProfileDirectionVelocity/windProfileDirectionVelocityFvPatchVectorField.C

52. Removed lookup of addLayersControls for non-dual meshing cases. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C

53. In final baffle merging, added a procedure that performs the reallocation of face to a zone if the merged face is between different mesh regions. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C

54. Improved cut-offs when using first cell height method in dualised mesh when calculating expansion ratio. $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C

55. Fixed issue with growing layers up a faceZone in helyxHexMesh. $FOAM_SRC/mesh/snappyHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C

56. Fixed issue in helyxHexMesh grown-up patches when no seeding is generated for mesh wave. $FOAM_SRC/mesh/snappyHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C

57. Moved checks of dependent fields from read to write functions in expressionField to prevent crash when fields not available on read. $FOAM_MOD/swak4Foam/Libraries/swakFunctionObjects/expressionField.C

58. Added -allRegions or -regionMaps command line arguments to mapFields and mapFieldsPar. $FOAM_APP/utilities/preProcessing/mapFields/Make/options $FOAM_APP/utilities/preProcessing/mapFields/mapFields.C $FOAM_APP/utilities/preProcessing/mapFieldsPar/Make/options $FOAM_APP/utilities/preProcessing/mapFieldsPar/mapFieldsPar.C

59. Backported foamToVTK from v1712+ to fix issue with running foamToVTK with the -cellSet option. $FOAM_APP/utilities/postProcessing/dataConversion/foamToVTK

Page 8: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 8 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/conversion/vtk 60. Prevent lookup of fields in read function of swak function objects.

$FOAM_MOD/swak4Foam/Libraries/swakFunctionObjects/manipulateField.C 61. Fixed issue with feature refinement where feature line consists of two points and one point

sits outside the domain. $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementRefine.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyRefineDriver.C

62. Added startSimulationTime and endSimulationTime to avoid memory overshoot while using FfowcsWilliamHawckings model. $FOAM_SRC/functionObjects/utilities/acousticAnalogy

63. Added optional origin to tabulated6DoFAcceleration. $FOAM_SRC/fvOptions/sources/derived/tabulatedAccelerationSource

64. Construct observers’ field when sampling starts to support table timestep input. $FOAM_SRC/functionObjects/utilities/acousticAnalogy/FfowcsWilliamsHawkings.C $FOAM_SRC/functionObjects/utilities/acousticAnalogy/FfowcsWilliamsHawkings.H

65. Extended error faces check to include pointCells for hanging node checks. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver

66. Zone non-closed surfaces not connected to the location in mesh. $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C

67. Made changes to the humidity solver object name to have this consistent with humidityThermalSource (this looks up to "Yhumidity" by default). $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/modules/humidity.cfg

68. Fixed issue with effective Cp in coupled CHT. $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy

69. Implemented the use of temperatureCoupledBase to avoid code duplication in coupledWallEnergy. $FOAM_SRC/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.H $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy/coupledWallEnergyFvPatchScalarField.C $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy/coupledWallEnergyFvPatchScalarField.H

70. Implemented the use of nonOrthDeltaCoeffs instead of recalculating in coupledWallEnergy. $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy/coupledWallEnergyFvPatchScalarField.C

71. Combined contact resistance with near-cell conductivity in coupledWallEnergy. $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy/coupledWallEnergyFvPatchScalarField.C

72. Cleaned up coupledWallEnergy for use with h, e, or T. $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy

Page 9: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 9 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

73. Fixed sign error in coarse level region-coupled interfaces. $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy

74. Corrected the calculation of diffusion number in helyxCHT. $FOAM_APP/solvers/heatTransfer/helyxCHT/solid/solidRegionDiffNo.C

75. Add postProcess option to helyxCHT. $FOAM_APP/solvers/heatTransfer/helyxCHT

76. Depricated rhoMin and rhoMax usage in cases of compressible solvers in closed domains with non-fixing pressure conditions. $FOAM_ETC/caseDicts/preProcessing/caseSetup/settings/fvSolution.cfg

77. Improved handling of overlapping triangulated surfaces so lowest PID is used instead of random selection. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C

78. In dual mesher, improved conformity of internal zone that touch grown up patches by moving baffle merging after re-snapping of grown-up patches. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C

79. Fixed some issues when attempting to grow layers on patches in dual mesh generator. $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C

80. Improved conformity of grown up patch during re-snapping. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C

81. Delayed orthogonality checks in smoothing so cells can self-correct. $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C

82. Added sync to smoothing weights calculation. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriverFeature.C

83. Allowed resnapping on grown up feature edges in dual mesh generator. $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C

84. Fix to caseSetup for humidity - Adding specification of missing keyword rho. $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/phase.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/modules/humidity.cfg

85. Fixed a bug where when controlDict stopAt is set to nextWrite the endTime gets set to GREAT and causes failure. The remedy was to limit the maximum number of time steps to 1E7 and generating a warning instead of error. $FOAM_SRC/functionObjects/utilities/acousticAnalogy/FfowcsWilliamsHawkings.C

86. Fixed issue where Spalart-Allmaras near-wall gradient was using incorrect evaluation. Spalart-Allmaras model will now use the same gradient operator for corrected near-wall velocity as for normal velocity gradient. $FOAM_SRC/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES/SpalartAllmarasDES.C $FOAM_SRC/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C

87. Fixed a bug which caused the time index not to be stored for ddt0 fields and, therefore, broke CrankNicolson.

Page 10: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 10 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C 88. Added zone baffles for quality checks during grown up patch cell removal.

$FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver 89. Fixed a bug where cached iso-surface volPointInterpolated field becomes corrupted when

mesh updates during postProcess run. This also fixed the lowMem switch error in postProcess when mesh is updating. $FOAM_APP/utilities/postProcessing/postProcess/postProcess.C $FOAM_SRC/OpenFOAM/db/functionObjects/functionObjectList/postProcess.H $FOAM_SRC/sampling/sampledSurface/isoSurface/sampledIsoSurface.C

90. Fixed error in Spalart-Allmaras yPlus function for patches where it divided by rho for whole field. $FOAM_SRC/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras/SpalartAllmaras.C

91. Fixed a bug where caching of minimum level field in helyxHexMesh can become very slow if shell refinement surfaces becomes too large. Improved the performance by parallelising the findHigherLevel method. $FOAM_SRC/mesh/snappyHexMesh/refinementSurfaces/refinementSurfaces.C

92. Allow single precision compilation of HiSA solver. $FOAM_MOD/hisa/src/finiteVolume/fluxSchemes/ausmPlusUp/ausmPlusUpFluxScheme.C $FOAM_MOD/hisa/src/functionObjects/shockRefinement/shockRefinement.C

HELYX® 3.1.0 | Release date 14/08/2018

New Features 1. Introduced new overset mesh functionality through a set of new solvers and related tutorials

(OpenFOAM 1706). $FOAM_APP/solvers/basic/ laplacianFoam/overLaplacianDyMFoam $FOAM_APP/solvers/incompressible/simpleFoam/overSimpleFoam $FOAM_APP/solvers/incompressible/pimpleFoam/pimpleDyMFoam $FOAM_APP/solvers/multiphase/interFoam/overInterDyMFoam $FOAM_APP/solvers/compressible/rhoPimpleFoam/overRhoPimpleDyMFoam

2. Added new interface capturing capability for multiphase VOF cases through the isoAdvector algorithm currently available in the interIsoFoam solver (OpenFOAM 1706). $FOAM_SRC/finiteVolume/fvMatrices/solvers/isoAdvector $FOAM_APP/solvers/multiphase/interIsoFoam

3. Added a new lumpedPointMotion library that makes it possible to perform FSI on lumped point models (OpenFOAM 1706). $FOAM_APP/utilities/postProcessing/lumped $FOAM_TUT/incompressible/lumpedPointMotion/building

4. Added new low Mach number acoustic modelling solver (OpenFOAM 1706). $FOAM_APP/solvers/compressible/rhoPimpleAdiabaticFoam $FOAM_TUT/compressible/rhoPimpleAdiabaticFoam/rutlandVortex2D

Page 11: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 11 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

5. Added new jouleHeating fvOption that allows the use to add joule heating capability to any thermal solver (OpenFOAM 1706). $FOAM_SRC/fvOptions/sources/derived/jouleHeatingSource $FOAM_TUT/heatTransfer/chtMultiRegionSimpleFoam/jouleHeatingSolid

6. Added setTimeStep function object that allows for smoother time step control (OpenFOAM 1706). $FOAM_SRC/functionObjects/utilities/setTimeStep $FOAM_SRC/OpenFOAM/db/functionObjects/timeControl

7. Added new wave generation models Grimshaw and McCowan (OpenFOAM 1706). $FOAM_SRC/waveModels $FOAM_TUT/multiphase/interFoam/laminar/waveExampleSolitaryGrimshaw $FOAM_TUT/multiphase/interFoam/laminar/waveExampleSolitaryMcCowan

8. Added new Curle function object that calculates acoustic pressure based on the Curle acoustic analogy (OpenFOAM 1706). $FOAM_SRC/functionObjects/field/Curle $FOAM_TUT/incompressible/pimpleFoam/LES/vortexShed

9. New wall-bounded streamline calculation algorithm has been added to make it possible to calculate the streamline paths along boundary faces of inverted cells (OpenFOAM 1706). $FOAM_SRC/functionObjects/field/wallBoundedStreamLine

10. Created a dual mesh generator for HELYX. $FOAM_SRC/mesh/autoMesh/autoHexMesh

11. Added time dependent ambient temperature to boundaryRadiationProperties (Function1 input format). Changed identifier from Tinf to Ta (<- ambient) for consistency sake. Tinf is still supported for backward compatibility. $FOAM_SRC/thermophysicalModels/radiation/submodels/boundaryRadiationProperties

12. Added a tutorial that provides a good example on how to set up an external flow AEC case. It utilises the windProfileVelocity and associated boundaries and also showcases the new implementation of interpolatedInletOutlet. Further, this case uses SIMPLEC and other improved best practices. (switch to leastSquares for gradients, relaxation factors for SIMPLEC). $FOAM_TUT/incompressible/simpleFoam/cylindricalDomainWind

13. Added blood flow boundaries provided by Vascularflow to HELYX-core. Add lumped resistance outlet pressure boundary "flowRateResistancePressure" and pulsitile flow rate boundary "flowRateTubeVelocityProfile". Also, added supporting interpolation scheme for "mass conservative interpolation" for Rhie-Chow. $FOAM_SRC/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/groupOfHumansHeatFlux $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateResistancePressure $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateTubeVelocityProfile $FOAM_SRC/OpenFOAM/fields/Fields/tensorField/tensorField.C

Page 12: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 12 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/finiteVolume/finiteVolume/gradSchemes/taylorGauss $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/harmonicWeighted $FOAM_TUT/heatTransfer/buoyantBoussinesqSimpleFoam/buildingWithWindowsAndSolar/constant/porosityProperties

14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries. Input: "alpha <diffusion coefficient>; nNonOrthogonalCorrectors <#>; coefficientFieldName <word>; (for boundaries that need the rAU scalar field). Currently, the Laplace initialisation is only allowed for pressure fields. Add Laplace to "allowedInitialisationMethods" for other fields to enable. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/fieldInitialisation/Laplace $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/pressure.cfg

15. Added "reuseExistingDictionaries" switch back into caseSetup. This switch can be added to the "modificationSwitches" section. The default is false. This can be used (for example) with a null state to initialise fields for post-processing applications, without mangling existing settings. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions

16. For decoupledEulerian, added report for fluxes at patches. This is done directly into the solverObject, which now can output for each patch 1) global values in [Kg] or [Kg/s] in the .log file 2) Fields in [Kg/m2] or [Kg/m2 s]. By means of a switch, the user can chose to sum over the time the fluxes (the startTime can be set). $FOAM_SRC/solverObjects/solvers/decoupledEulerianSpray

17. Add caseSetup state for eulerian post-processing application which allows the user to leave state empty or only add modules. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions $FOAM_ETC/caseDicts/preProcessing/caseSetup/caseSetup.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/coupled.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/velocity.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/functions/functions.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/solvers.cfg

18. Generalised the velocityGradientDissipationInletOutlet boundary. Extended the coupling between velocity gradient and turbulent dissipation in converged flow scenarios. Added support for omega, limit maximum length scale. This boundary can only be used with windProfileDirectionVelocity. Example usage in new tutorial simpleFoam/cylindricalDomainWind. Added new keyword "Lmax" to specify maximum length scale. Prevents issues where input gradient is zero. Boundary can now be used with omega as well as epsilon (nuTilda won’t work as k is required). $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/velocityGradientDissipationInletOutlet

19. Added skinFriction calculation in fieldProcess.

Page 13: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 13 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/postProcessing/functionObjects/field/fieldProcess 20. Added reporting of layer information in new dual mesher.

$FOAM_APP/utilities/mesh/generation/helyxHexMesh/helyxHexMesh.C $FOAM_SRC/mesh/snappyHexMesh/addHexMeshLayers/addMultiLayers.C $FOAM_SRC/mesh/snappyHexMesh/layerManipulate

21. Added to helyxHexMesh an edge length mesh quality check. The keyword is called minEdgeLength and currently set as default to -1 (disable check). $FOAM_ETC/caseDicts/mesh/generation/helyxHexMeshDict.cfg $FOAM_ETC/caseDicts/mesh/generation/meshQualityDict.cfg $FOAM_SRC/dynamicMesh/motionSmoother/motionSmootherAlgoCheck.C $FOAM_SRC/dynamicMesh/motionSmoother/polyMeshGeometry $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C

22. Implemented smoke/soot visibility index as functionObject. $FOAM_SRC/functionObjects/field/visibilityIndex

23. Added optional list of paths to search for triSurfaces in helyxHexMeshDict if it cannot find surface in constant/triSurface. To activate this feature, add "alternativeSurfacePath ("PATH/TO/SURFACE/GLOBAL" "PATH/TO/SURFACE/LOCAL");" to top level helyxHexMeshDict. $FOAM_APP/utilities/mesh/generation/helyxHexMesh/helyxHexMesh.C $FOAM_src/meshTools/searchableSurface

24. Added simple calculator which takes as input any three of the following to calculate all layer parameters: numLayers, expansionRatio, firstLayerThickness, finalLayerThickness and totalLayerThickness. $FOAM_APP/utilities/mesh/manipulation/layerCalculator

25. Added keyword smoothBaffleEdgeNormals to layer controls (Default: false) to aid growing layers around around baffle edges. By not smoothing baffle points, normals are fixed during patch point normal smoothing. $FOAM_SRC/mesh/snappyHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C

26. Added ability to remove cells at end of mesh refinement by using topoSet interface. $FOAM_SRC/mesh/snappyHexMesh/addHexMeshLayers/addHexMeshLayer.C $FOAM_SRC/mesh/snappyHexMesh/meshRefinement $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver

27. In caseSetup configuration, added support for blockKOmegaSSTawtDES and blockKOmegaSSTawtDDES incomressible LES turbulence models. $FOAM_ETC/caseDicts/preProcessing/caseSetup/models/turbulence.cfg

28. Added sensorControlledFixedValue boundary condition. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/sensorControlledFixedValue

Page 14: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 14 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

29. Added ability for baffle patches to grow layers only in the surface normal direction. This is achieved by adding keyword singleSided (at same level as nSurfaceLayers keyword) and setting its value to true. $FOAM_APP/utilities/mesh/generation/helyxHexMesh/helyxHexMesh.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver

30. Extend fluidHeight function objects so it supports cellSets. $FOAM_SRC/postProcessing/functionObjects/report/fluidHeight

31. Added flux-directed weighting and output weighting flux to enable post-processing of phasic flow rates. $FOAM_SRC/postProcessing/functionObjects/report/surfaceReport

32. Added multi-criterion refinement for increased usability and flexibility of adaptive mesh refinement. $FOAM_SRC/dynamicFvMesh/dynamicMultiCriterionRefineFvMesh

33. Added keyword moveCentroidsTol to castellatedMeshControls which can be set globally or on a per surface basis. When a cell centre is closer to the surface than the tolerance the cell centre is moved for intersection checks. The default value is -1 which deactivates this feature. $FOAM_SRC/mesh/snappyHexMesh/meshRefinement $FOAM_SRC/mesh/snappyHexMesh/refinementSurfaces

34. Added new Foam to Abaqus exporter. Support for .inp read and write. Can read NODEs and ELEMENTs tria S3 and quad S4. Also added new mapFoamToSurface application for mapping from OF to surface using AMI interpolation. $FOAM_APP/utilities/postProcessing/dataConversion/mapFoamToSurface $FOAM_APP/utilities/postProcessing/dataConversion/foamToAbaqusSurfaceMap $FOAM_SRC/triSurface/triSurface/interfaces/INP

Bugs Fixed / Maintenance 1. Improved stability and readability of output for helyxCHT by adding cellLimited to solid region

enthalpy gradient; accounting for zero overlaps in coupledWallEnergy patch-to-patch interpolation; adding a relaxation factor for radiation source term (keyword for radiation relaxation factor is "Qurf"); inserting spacer to distinguish time steps in top level helyxCHT output. $FOAM_APP/solvers/heatTransfer/helyxCHT/helyxCHT.C $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/helyxCHTSolid.cfg $FOAM_SRC/OpenFOAM/db/functionObjects/timeControl/timeControl.C $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy/coupledWallEnergyFvPatchScalarField

2. Multiple updates to function objects, for caseSetup and backward compatibility. $FOAM_ETC/caseDicts/preProcessing/caseSetup/functions/functions.cfg $FOAM_SRC/fileFormats/ensight/file/ensightGeoFile.C $FOAM_SRC/functionObjects/utilities/ensightWrite/ensightWrite.C

Page 15: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 15 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/functionObjects/utilities/heatBalance 3. Updates to fieldProcess to remove calculationControl keyword and allow backward

compatibility support. $FOAM_SRC/OpenFOAM/db/functionObjects/timeControl/timeControl.C $FOAM_SRC/functionObjects/field/fieldProcess $FOAM_SRC/functionObjects/forces/liftDrag/liftDrag.C $FOAM_SRC/functionObjects/report/volumeReport/volumeReport.C

4. Reverting PointEdgeWave class to original version. This improves layer generation performance on high core counts. $FOAM_src/mesh/snappyHexMesh/externalDisplacementMeshMover/medialAxisMeshMover.C $FOAM_SRC/mesh/snappyHexMesh/layerManipulate/layerManipulate.C $FOAM_SRC/meshTools/algorithms/PointEdgeWave

5. Fixes issues with pre-balancing of layers running helyxHexMesh. $FOAM_APP/utilities/mesh/generation/helyxHexMesh/helyxHexMesh.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver

6. Clear out mesh before adding layers to try to improve memory usage. $FOAM_APP/utilities/mesh/generation/helyxHexMesh/helyxHexMesh.C $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.C

7. Added keyword "dualZoneLayersScaling" to addLayerControls sub-dictionary and "cacheShellLevel" to top level helyxHexMeshDict. The optional keyword dualZoneLayersScaling (default: 1) controls extent to which layers can be moved during layer smoothing. The optional top-level keyword cacheShellLevel (default: true) allows a cached field of surface level to be calculated. This, by default, includes shell refinements levels as well. This can be expensive to perform because it requires an insideness check. $FOAM_APP/utilities/mesh/generation/helyxHexMesh/helyxHexMesh.C $FOAM_SRC/mesh/snappyHexMesh/layerManipulate $FOAM_SRC/mesh/snappyHexMesh/refinementSurfaces $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/layerParameters

8. Fixed a bug to allow the humidityThermalSource to run with different humidity names. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/modules/humidity.cfg $FOAM_SRC/fvOptions/sources/derived/humidityThermalSource/humidityThermalSource.C

9. Removed need to specify ddtScheme for concentrationTransport function object. Update default settings for specialised modules using this function - removed ddtScheme settings. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/modules $FOAM_SRC/solverObjects/solvers/concentrationTransport/concentrationTransport.C

10. Changed default turbulence gradient scheme to "cellLimited Gauss linear 1". $FOAM_ETC/caseDicts/preProcessing/caseSetup/models/turbulence.cfg

Page 16: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 16 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

11. Added logical keyword "combineFiles" (default false) which, when active, writes combined forces and moments to a single file. This provides backward compatible output for forces function object. $FOAM_SRC/functionObjects/forces/forces

12. Modified decoupledEuler implementation. Refactor decoupled Eulerian to access all relevant continuous phase data via turbulence model. Added test cases for decoupled Eulerian latealCavity and rainOnCubicBuilding, both isothermal and steady-state (simpleFoam or pimpleFoam with CoEuler). Two rain cases are momentum coupled, the others are uncoupled. $FOAM_SRC/fvOptions/sources/derived/decoupledEulerianThermalSource/massTransfer/phaseChange/Lee/Lee.C $FOAM_SRC/solverObjects/solvers/decoupledEulerianSpray $FOAM_SRC/solverObjects/solvers/decoupledEulerianSpray/phase $FOAM_TUT/multiphase/decoupledEulerianSpray/PhaseSettling/constant/decoupledEulerianProperties $FOAM_TUT/multiphase/decoupledEulerianSpray/lateralCavity $FOAM_TUT/multiphase/decoupledEulerianSpray/rainOnCubicBuilding

13. Fixed a bug where scalarTransport failed when running chtMultiRegionSimpleFoam. $FOAM_TUT/heatTransfer/chtMultiRegionFoam/windshieldCondensation

14. Added cylindrical extrusion method. Interface only differs from linearRadial by the specification of the cylinder axis. $FOAM_SRC/mesh/extrudeModel/linearRadialCylindrical $FOAM_SRC/mesh/extrudeModel/radial/radial.C

15. Fixed issue with procedural setting injection that caused references to sub-dictionaries held in fvSchemes and fvSolution to become invalid. $FOAM_SRC/OpenFOAM/db/dictionary $FOAM_SRC/OpenFOAM/matrices/solution $FOAM_SRC/finiteVolume/finiteVolume/fvSchemes

16. Major changes to interface for interpolatedInletOutlet, interpolatedFixedValue, windProfileVelocity, patchdistFunction and ABL inlet profiles. A new class "fieldProfile" was added that combines a generalised 1D distance function (patchDistFunction) with a Function1 to provide a flexible interface for specifying non-uniform inlets. This has resulted in considerable interface consolidation (for example the patchDistanceFunction is also used in the ABL boundaries). The usage of the various components is detailed in their header files. A tutorial that uses windProfileVelocity and interpolatedInletOutlet has been added (incompressible/simpleFoam/cylindricalDomainWind). $FOAM_SRC/finiteVolume/cfdTools/general/ABLProfile $FOAM_SRC/finiteVolume/cfdTools/general/patchDistanceFunction $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/interpolatedFixedValue $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/interpolatedInletOutlet

Page 17: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 17 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/windProfileDirectionVelocity 17. Fixed issue where caseSetup would fail if the input file included function entries like

"#include". $FOAM_APP/utilities/preProcessing/caseSetup/setupDict.H $FOAM_SRC/OpenFOAM/db/IOobjects/IOdictionary

18. Replaced "Gauss skewCorrected linear" with leastSquares in the caseSetup defaults. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/buoyantPimpleFoam.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/buoyantSimpleFoam.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/interFoamRAS.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/multiphaseEulerFoamRAS.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/rhoCentralFoamRAS.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/simpleFoam.cfg

19. Addressed issue where radiant fields would attempt to map for inter-region mapped patches where no valid radiant field exists on the other side. Added backward compatibility to thermal boundaries that use "kappa/kappaMethod", put a check in radiantField to make sure zero sized direction vectors are not employed. $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/thermal.cfg $FOAM_SRC/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/temperatureCoupledBase/temperatureCoupledBase.C $FOAM_SRC/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentConvectiveTemperature/turbulentConvectiveTemperatureFvPatchScalarField.C $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/radiant/radiantFvPatchScalarField.C $FOAM_SRC/regionCoupled/derivedFvPatchFields/coupledWallEnergy/coupledWallEnergyFvPatchScalarField.C $FOAM_SRC/thermophysicalModels/radiation/radiationModels/domSolar/radiantField.C

20. Fixxed issue where restarting a case used to load the value of the 1st entry in the deltaT table. Now it uses the value of deltaT for the current timestep according to the entry in the deltaT table. $FOAM_SRC/OpenFOAM/db/Time/Time.C

21. Modified fieldBlendingFactor default to add "writeControl writeTime". This should prevent the function from dumping the blending field to disk every iteration. $FOAM_ETC/caseDicts/preProcessing/caseSetup/functions/functions.cfg

22. Updated TimeDependentSemiImplicitSource to use Function1. $FOAM_SRC/fvOptions/sources/general/timeDependentSemiImplicitSource

23. Fixed sync bug in dual mesh generator when removing cells on grown up patches. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snappySnapDriver.C

24. Extended caseSetup to print boundary settings to screen by setting the printBoundaries to true in modificationSwitches. Also, update velocity boundaries using MRF so that initial

Page 18: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 18 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

velocity field shows boundary velocity resulting from MRF. This is done through the following: fields::U::initialisation{fvOptionsCorrect true;}. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/modificationSwitches $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateComponents $FOAM_SRC/finiteVolume/cfdTools/general/boundarySetup

25. Fixed bug in parallel direct mapping when processor contains multiple regions and walk fails to complete. $FOAM_SRC/sampling/meshToMesh/calcMethod/direct/directMethod.C

26. Made modifications to fieldProcess and cylindrical coordinate rotation to allow volVectorFields to be transformed into cylindrical components. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/noSlip/noSlipFvPatchVectorField.C $FOAM_SRC/functionObjects/field/fieldProcess $FOAM_SRC/meshTools/coordinateSystems/coordinateRotation

27. Added residualControl for p in PIMPLE solvers in caseSetup. $FOAM_ETC/caseDicts/preProcessing/caseSetup/settings/fvSolution.cfg

28. Fixed a problem where AMI crashed on very bad meshes. Added a loop algorithm until the target box contains the source box and added a loop for increasing the radius of searching algorithm. $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/AMIMethod $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAM

29. fixedMean and fixedMeanValue have been made 100% consistent. fixedMeanValue is now deprecated and will be removed for 3.2. The main difference was that fixedMean supported a Function1 defined mean (now both do). The keyword for the Function1 is "meanValue". $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/fixedMean $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/fixedMeanValue

30. Added time-varying input to surfaceNormalFixedValue. The new entry is of type Function1 and the keyword is "profile". Everything else is identical. The current scalar value is still stored in "refValue". $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue

31. Made changes to caseSetup config cfg files for concentrationTransport to be setup via fvOptions instead of functionObjects. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/modules.

32. Differentiated specialised template for assembling binary data in multiphase cases. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateComponents/multiphaseEuler

33. Replaced all instances of "inFieldOne" and "inFieldTwo" with "inField1" and "inField2" to ensure consistency. $FOAM_SRC/functionObjects/field/fieldProcess/fieldProcessFunctions.C

Page 19: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 19 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

34. Fixed issues with turboPerformance function object. Now it outputs data to turboPerformance.dat. $FOAM_SRC/functionObjects/forces/forces $FOAM_SRC/functionObjects/forces/turboPerformance

35. Fixed issue with changing name in function object logs. File logs will now always write to the same location. Old logs will be pushed to index labelled files recursively. So, for example, at the start of execution if the functionObject wants to write drag.dat and it already exists, then the old drag.dat will be moved to drag_0.dat. If drag_0.dat exists, it will be moved to drag_1.dat and so on. The maximum index is currently set to 10 to prevent excessive file build-up. $FOAM_SRC/OpenFOAM/db/functionObjects/writeFile

36. turbulentMassFluxConcentration, relativeHumidityInletOutlet and phaseChangeHumidity were moved to TurbulenceModels\derivedFvPatchFields. This is to allow to setup these boundary conditions for both compressible and incompressible cases. $FOAM_SRC/TurbulenceModels/turbulenceModels/derivedFvPatchFields/phaseChangeHumidity $FOAM_SRC/TurbulenceModels/turbulenceModels/derivedFvPatchFields/relativeHumidityInletOutlet $FOAM_SRC/TurbulenceModels/turbulenceModels/derivedFvPatchFields/turbulentMassFluxConcentration

37. Fixed issue with purgeWrite when intermediate files are written out, for example, when debug switches are active. $FOAM_SRC/OpenFOAM/db/Time/TimeIO.C

38. Fixed boundaryMesh setup error in caseSetup where it erported an error instead of a warning when a boundary was not present in boundary file but strictPatchNameChecking was set to false. $FOAM_APP/utilities/preProcessing/caseSetup/boundaryMeshSetup.H

39. Enabled frontalArea to run on less processors than there are processor directories. This was achieved by disabling the read of decomposeParDict in frontalArea utility so that the number of processors run on takedn from Pstream::nProcs. $FOAM_APP/utilities/preProcessing/frontalArea/frontalArea.C

40. Fixed problem in setSet with writing VTK files for new sets. $FOAM_APP/utilities/mesh/manipulation/setSet/setSet.C

41. Fixed issue with searchableSurfaceQueries::findNearest when using searchableCone. $FOAM_SRC/meshTools/searchableSurfaces/searchableCone/searchableCone.C

35. Removed all Qsolar references. Qsolar is no longer supported. All radiation now uses radiation model interface. $FOAM_APP/utilities/postProcessing/miscellaneous/postComfort/postComfort.C $FOAM_SRC/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentConvectiveTemperature

Page 20: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 20 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature $FOAM_SRC/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/thermalBaffle1D $FOAM_SRC/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/turbulentConvectiveTemperature $FOAM_SRC/TurbulenceModels/incompressible/turbulentTransportModels/derivedFvPatchFields/turbulentHeatFluxTemperature $FOAM_SRC/functionObjects/utilities/thermalComfort/thermalComfort.C

42. Including time dependent heatflux and power in turbulentHeatFluxTemperatureFvPatchScalarField. $FOAM_SRC/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/turbulentHeatFluxTemperature

43. For the sample utility, fixed an issue where if you sample a cloud of points and use a parallel case, resulting sampling is repeated on some points. $FOAM_SRC/sampling/sampledSet/cloud/cloudSet.C

44. Changed diffusivity units in caseSetup configuration files to make it consistent for compressible cases. $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/diffusivity.cfg

45. Modified caseSetup to provide "materialName" entry for all material properties. Tested for single phase fluids, solids and VOF multi-phase fluids. $FOAM_applications/utilities/preProcessing/caseSetup/stateFunctions/stateComponents

46. Rename output field from P to pstatic to support Windows systems. $FOAM_APP/utilities/postProcessing/scalarField/kinematicToStaticPressure/kinematicToStaticPressure.C

47. Changed the default turbulent Prandtl number from 1 to 0.85 for compressible solvers. $FOAM_SRC/TurbulenceModels/compressible/EddyDiffusivity/EddyDiffusivity.C

48. Changed caseSetup so that it will now output dimensions for surface tension (sigma) interFoam and compressibleInterFoam setting. $FOAM_

49. Fixed issue caused when using radiation models with cases that include empty patches. Models with empty patches to run in case of radiation. $FOAM_SRC/finiteVolume/cfdTools/general/explicitScalarWaveSolve/explicitScalarWaveSolve.C

50. Fixed a compacting operation which can produce self-assignment error in snappyHexMesh. $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementMerge.C

Page 21: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 21 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

HELYX® 3.0.3 | Release date 03/05/2018

Bugs Fixed / Maintenance 1. Fixed issue with strict patch name checking in caseSetup where caseSetup would fail with this

option set to true due to conflict between exact named and groups. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateComponents/region/regionState.C

2. Added multiplication functionality to fieldProcess for scalar- and vector-valued quantities. $FOAM_SRC/postProcessing/functionObjects/field/fieldProcess

3. Modified the fluidHeight utility to work on multiple cellSets. $FOAM_SRC/postProcessing/functionObjects/report/fluidHeight

4. Removed the default field name and added an example dict to functions.fluidHeight. $FOAM_SRC/postProcessing/functionObjects/report/fluidHeight

5. Changed the fluidHeight to initialize with -GREAT for each region. $FOAM_SRC/postProcessing/functionObjects/report/fluidHeight/fluidHeight.C

6. Fixed the read word volField in the fluidHeight.C constructor. $FOAM_SRC/postProcessing/functionObjects/report/fluidHeight/fluidHeight.C

7. Added flux-directed weighting and output weighting flux to enable post-processing of phasic flow rates. $FOAM_SRC/postProcessing/functionObjects/report/surfaceReport

8. Removed explicit relaxation for GeometricField1 in cases where URF == 1 $FOAM_SRC/OpenFOAM/fields/GeometricFields/GeometricField/GeometricField.C

9. Changes were made in AMI to make uncovered faces behave as symmetry and avoid crashing. This is similar with the bridge overlap of v22. $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation/AMIInterpolation $FOAM_SRC/meshTools/AMIInterpolation/AMIMethod

10. Created a new class BlockKqRWallFunction which is derived from kqRWallFunction to keep backward compatibility AMI. $FOAM_SRC/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/kqRWallFunctions/BlockKqRWallFunction/BlockKqRWallFunctionFvPatchField

11. Solved single precision issues in AMI during surface walk. $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation/AMIMethod/faceAreaWeightAMI/faceAreaWeightAMI.C

12. Updated the default compiler type to Thirdparty for csh sourcing. $FOAM_ETC/cshrc

13. Added optional dynamic compression coefficient to interfaceProperties to be used with VOF solver. $FOAM_SRC/transportModels/interfaceProperties

Known Issues 1. Cases using radiantFvPatchScalarField crashes when run in parallel.

Page 22: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 22 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

HELYX® 3.0.2 | Release date 28/02/2018

Bugs Fixed / Maintenance 1. Fixed issue with strict patch name checking in caseSetup where caseSetup would fail if this

option was set to True due to conflicts between exact named and groups. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateComponents/region/regionState.C

2. Corrected caseSetup default settings for pimpleFoamRAS and bouyantBoussinesqPimpleFoamRAS. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/buoyantBousinesqPimpleFoamRAS.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/pimpleFoamRAS.cfg

3. Renamed the output field P to pstatic to support Windows systems. $FOAM_APP/utilities/postProcessing/scalarField/kinematicToStaticPressure/kinematicToStaticPressure.C

4. Modified caseSetup to output dimensions for surface tension (sigma) for interFoam and compressibleInterFoam settings. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateComponents/multiphaseVOF/multiphaseVOFState.C

5. Removed a duplicate read function for sampleSurfaces. $FOAM_SRC/sampling/sampledSurface/sampledSurfaces/sampledSurfaces.C

6. Updated wmake rules to use WM_NCOMPROCS if set. wmake/wmake

7. Fixed compacting operation in snappyHexMesh which can produce self-assignment error. $FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementMerge.C

HELYX® 3.0.1 | Release date 08/12/2017

New Features 1. Added sensorControlledFixedValue boundary condition.

$FOAM_SRC/src/finiteVolume/fields/fvPatchFields/derived/sensorControlledFixedValue 2. Added caseSetup configuration for blockKOmegaSSTawtDES and blockKOmegaSSTawtDDES

incomressible LES turbulence models. $FOAM_ETC/caseDicts/preProcessing/caseSetup/models/turbulence.cfg

3. Added a new function object for writing the results at the last time step if the code doesn’t write it via the writeInterval mechanism. $FOAM_SRC/postProcessing/functionObjects/IO/writeLastTime

Bugs Fixed / Maintenance 1. Activate spurious baffle removal when crack detection is activated.

$FOAM_SRC/mesh/snappyHexMesh/meshRefinement/meshRefinementBaffles.C

Page 23: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 23 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

2. Removed duplicate cyclicAMIFvPatchVectorNField and added foamToFieldView9 $FOAM_APP/utilities/postProcessing/dataConversion/foamToFieldview9

3. Fixed Lagrangian constraint direction that did not work for wedge cases because it used mesh.solutionD() which takes no account of wedge patches. Changed constraint to mesh.geometricD() which does. $FOAM_SRC/lagrangian/DSMC/parcels/Templates/DSMCParcel/DSMCParcel.C $FOAM_SRC/lagrangian/intermediate/parcels/Templates/KinematicParcel/KinematicParcel.C $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C $FOAM_SRC/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.C

4. Output message has been changed. $FOAM_SRC/postProcessing/functionObjects/IO/writeLastTime/writeLastTime.C

5. Modified symmetryVelocity to output "patchType symmetry" or "patchType symmetryPlane" depending on underlying patch type. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/symmetryVelocity/symmetryVelocityFvPatchVectorField.C

6. Modified caseSetup to provide "materialName" entry for all material properties. Tested for single phase fluids, solids and VOF multi-phase fluids. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateComponents

7. Removed duplicate classes from finiteVolume which caused linking issues. $FOAM_SRC/finiteVolume/VectorN/finiteVolume/fields/fvPatchFields

8. Updated the caseSetup humidity model to output pRef to transportProperties. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/modules/humidity.cfg

9. Fixed an issue with checkMesh when helyxHexMeshDict was is not present. $FOAM_APP/utilities/mesh/manipulation/checkMesh/checkMesh.C

10. Fixed some issues with the caseSetup blockKEpsilon configuration $FOAM_ETC/caseDicts/preProcessing/caseSetup/models/turbulence.cfg

11. Fixes to allow 64-bit label compilation $FOAM_APP/utilities/mesh/manipulation/createJump/createJump.C $FOAM_MOD/swak4Foam/Libraries/functionPlugins/swakShiftFieldFunctionPlugin/shiftFieldGeneralPluginFunction.C $FOAM_SRC/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C $FOAM_SRC/finiteArea/faMesh/faMesh.C $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/extrapolated/extrapolatedFvPatchScalarField.C $FOAM_SRC/mesh/cfMesh/meshLibrary/utilities $FOAM_SRC/mesh/snappyHexMesh $FOAM_SRC/randomProcesses

12. Fixes issue with consistency in helyxHexMesh quality checks in checkMesh.

Page 24: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 24 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_APP/utilities/mesh/manipulation/checkMesh/checkMesh.C 13. Corrected an issue where coupled solver addressing updates in the AMI would slow down the

segregated solver performance with AMI. $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation $FOAM_SRC/meshTools/AMIInterpolation/patches/cyclicAMI/cyclicAMIPolyPatch

14. Corrected the rhoPimpleFoam pRefValue default value. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/rhoPimpleFoamRAS.cfg

15. Updated the default settings and fixed rotatingMotion and rotatingStepMotion functions. $FOAM_ETC/caseDicts/preProcessing/caseSetup/models/turbulence.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/modules/dynamic.cfg $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/siCoupled.cfg $FOAM_SRC/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.C $FOAM_SRC/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingMotion/rotatingMotion.H $FOAM_SRC/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingStepMotion/rotatingStepMotion.C

16. Update the CADTools version to be same as project version. $FOAM_ETC/config.csh/CADTools $FOAM_ETC/config.sh/CADTools

17. Fixes issues with turbulent profile boundary condition. $FOAM_SRC/finiteVolume/cfdTools/general/ABLProfile/RichardsHoxeyProfile.C $FOAM_SRC/finiteVolume/cfdTools/general/patchDistanceFunction/patchDistanceFunction.C $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet/turbulentDFSEMInletFvPatchVectorField.C

18. Fixes bug with resetting fieldAverage on a restart. $FOAM_SRC/postProcessing/functionObjects/field/fieldAverage

19. Removed #define __STDC_LIMIT_MACROS needed for C++ < 11 $FOAM_APP/utilities/mesh/generation/foamyMesh/conformalVoronoiMesh/conformalVoronoiMesh $FOAM_APP/utilities/mesh/generation/foamyMesh/foamyQuadMesh/CV2D.H $FOAM_SRC/OpenFOAM/primitives/ints/int32 $FOAM_SRC/OpenFOAM/primitives/ints/int64

HELYX® 3.0.0 | Release date 22/09/2017

New Features 1. Migrated to the OPENFOAM+ framework and incorporated all improvements since

OpenFOAM 2.3 up to Q3 2016 version of OPENFOAM. 2. Added a new conjugate heat transfer solver helyxCHT.

$FOAM_APP/solvers/heatTransfer/helyxCHT

Page 25: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 25 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

3. Restructured the caseSetup utility and the caseSetupDict file structure to allow for multi-region support. $FOAM_APP/utilities/preProcessing/caseSetup

4. Added an allRegionsToMesh flag to the mergeMeshes utility to allow it to combine all region meshes into a master mesh. $FOAM_APP/utilities/mesh/manipulation/mergeMeshes

5. Updated the function object input-output functionality to support the new multi-region capability.

6. Replaced the exactNamed and partialNamed methodology with regular expression support throughout. Removed all instances of exactNamed and partialNamed not actively used for backward compatibility. All components now use exact match, regular expression match or group match. The exactNamed and partialNamed convention is still supported for backward compatibility, but is deprecated.

7. Added an allRegions flag to the checkMesh, renumberMesh, decomposePar, reconstructPar, reconstructParMesh and redistributePar utilities due to the new multi-region framework. $FOAM_APP/utilities/mesh/manipulation/checkMesh $FOAM_APP/utilities/mesh/manipulation/renumberMesh $FOAM_APP/utilities/parallelProcessing/decomposePar $FOAM_APP/utilities/parallelProcessing/reconstructPar $FOAM_APP/utilities/parallelProcessing/reconstructParMesh $FOAM_APP/utilities/parallelProcessing/redistributePar

8. Merged the helyxCheckMesh quality controls into checkMesh $FOAM_APP/utilities/mesh/manipulation/checkMesh

9. Added the Aitken under-relaxation for 6 DOF solvers. $FOAM_SRC/sixDoFRigidBodyMotionDev

10. Added functionality to write SixDoF object Information to a log file for easier post-processing. $FOAM_SRC/sixDoFRigidBodyMotionDev

11. Enabled backward compatibility for mapped boundaries by adding a condition so that the "average" entry is only required if the setAverage flag is set to true, otherwise it will default to Zero. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/mappedField

12. Added a movingVehicleSource function object that allow linear and rotating frames of reference along with sub-frames and porous media moving with the frame. $FOAM_SRC/fvOptions/sources/derived/movingVehicleSource

13. Added an allRegions flag to redistributePar due to the new multi-region framework. $FOAM_APP/utilities/parallelProcessing/redistributePar

14. Added backward compatibility for locationInMesh in the helyxHexMesh utility. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/refinementParameters

15. Added a two-point correlation function object for measuring length scales in turbulent flows. $FOAM_SRC/postProcessing/functionObjects/utilities/twoPointCorrelation

Page 26: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 26 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

16. Added a new maximum cell aspect ratio check to the helyxHexMesh utility. $FOAM_ETC/caseDicts/mesh/generation

17. Added field initialisation capability to the fieldAverage function object. $FOAM_SRC/postProcessing/functionObjects/field/fieldAverage

18. Added a object registry to MRFZone and added a Urel fieldProcess function for calculating the relative velocity for MRF cases. $FOAM_SRC/postProcessing/functionObjects/field/fieldProcess

19. Added fvOption support to concentrationTransport and passiveScalarTransport function objects to make it more consistent with scalarTransport. $FOAM_SRC/postProcessing/functionObjects/solvers/concentrationTransport

20. Added the functionality that allows solid body motion cases to get the un-displaced point field from the zero directory instead of the constant directory (which is the default setting). To enable this functionality, the withZero option, inside dynamicMeshDict coeffs sub-dictionary, should be set to true. $FOAM_SRC/dynamicFvMesh/solidBodyMotionFvMesh

21. Added the functionality that allows the stretchMesh utility to perform a list of transformations in multiple directions. This was also incorporated into the stretchMeshDict structure. $FOAM_APP/utilities/mesh/manipulation/stretchMesh

22. Added bin reporting functionality for the liftDrag function object for dynamic mesh cases. Bins are recalculated when the mesh moves. $FOAM_SRC/postProcessing/functionObjects/forces/liftDrag

23. Added the functionality to the helyxHexMesh utility to run without the fvSchemes,fvSolution or controlDict files. $FOAM_APP/utilities/mesh/generation/helyxHexMesh

24. Transferred the volume probes (find nearest cell) functionality to normal probes and deprecated volume probes. Probes use the find nearest cell mode by default. To disable this the nearestElement option should be set as false.

25. Updated the resistive outlet boundary condition. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/resistivePressure

26. Added a new boundary that uses the profile interface from the LEMOS ABL turbulent inlet and the DFSEM algorithm to produce a turbulent inlet for ABL inlets. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/inflowGenerator $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/SBMABLInlet $FOAM_SRC/OpenFOAM/primitives/random/random11

27. Added a boundary condition that can provide the flow rate based on a fan curve. The pressure is either user defined or obtained from other "side". This includes updates to the flowRateOutletVelocity boundary condition and a new fanVelocity boundary condition. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/fanVelocity

Page 27: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 27 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

28. Added backward compatibility for fvOptions based MRF functions. $FOAM_SRC/finiteVolume/cfdTools/general/fvOptions

29. Added the two-point correlation function for calculating turbulence length scales. $FOAM_SRC/postProcessing/functionObjects/utilities/twoPointCorrelation

30. Added a polynomial flowrate inlet profile boundary condition. This boundary condition is applicable to boundaries with circular cross-sections. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateTubeVelocityProfile

31. Added a blending source, phaseBlendingSource, for fieldBlending to allow for the use of a combination of different convection schemes at the phase interface. This helps to improve stability for LES schemes at the interface. Currently, this is implemented for the interFoam solver. $FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor/blendingSources/phaseBlendingSource

32. Added a velocity limiter for single and two-phase solvers that limits U such that a specified Courant number is not exceeded. $FOAM_SRC/fvOptions/corrections/CourantNumberLimit

33. Added energy and density limiters to rhoCentralFoam. These are off by default. To enable these, add the entry “eMin” for the energy limiter and “rhoMin” for density limiter with a small positive value to the top level of the fvSolution file. $FOAM_APP/solvers/compressible/rhoCentralFoam

34. Added the option for the caseSetup utility to allow only field initialisation without changing any other files. This is possible using the initialiseFields flag. $FOAM_APP/utilities/preProcessing/caseSetup

35. Extended the helyxHexMesh grownUp keyword modes to support true, false and automatic. The default is automatic. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/layerParameters

36. Added a region and a allRegions flag to helyxCheckMesh to allow for more control with multi-region meshes. $FOAM_APP/utilities/mesh/manipulation/helyxCheckMesh

Bugs Fixed / Maintenance 1. Updated the splitMeshRegions utility to allow the region name to be specified as “default” in

zoneToRegionMap. $FOAM_APP/utilities/mesh/manipulation/splitMeshRegions

2. Fixed the divide by zero bug in the effectivenessHeatExchangerSource. $FOAM_SRC/fvOptions/sources/derived/effectivenessHeatExchangerSource

3. Added a limiter to prevent simulations from diverging in cases where Lagrangian particles are larger than the cell size. $FOAM_SRC/lagrangian

Page 28: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 28 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

4. Fixed the error where mergeMeshes on the Windows version creates a path to controlDict with mixed "/" and "\". $FOAM_APP/utilities/mesh/manipulation/mergeMeshes

5. Added DOS commands to the createCase utility to enable usage in Windows. $FOAM_APP/utilities/preProcessing/createCase

6. Fixed the bug, where adaptive mesh refinement for interFoam case does not work with the protectLayers option set as false, by revising near-wall calculations. $FOAM_SRC/dynamicFvMesh/dynamicRefineFvMesh

7. Added a namespace for the isnan function to accommodate the latest Intel compilers. $FOAM_SRC/conversion/ensight/part

8. Fixed the fluentMeshToFoam and fluent3DMeshToFoam syntax issues with semi-colons in words. $FOAM_APP/utilities/mesh/conversion/fluent3DMeshToFoam

9. Changed the support to Random instead of random11 in decayingTurbulenceFvPatchVectorField for Windows 64-bit due to compilation errors. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/inflowGenerator

10. Renamed the K field in the CHT solver to K_ to prevent collision in Windows since Windows does not distinguish between upper and lowercase letters. $FOAM_APP/solvers/heatTransfer/helyxCHT/fluid

11. Fixed several incorrect settings in the updated caseSetup defaults that caused turbulence models to crash. $FOAM_ETC/caseDicts/preProcessing/caseSetup

12. Fixed the issue that a simulation crashes when there are no solid regions listed in the regionProperties file. $FOAM_APP/solvers/heatTransfer/helyxCHT/fluid

13. Fixed the error in heat exchanger function object that caused mass discontinuity by adding dynamic mesh refinement and thermo lookup table capabilities. $FOAM_SRC/fvOptions/sources/derived/effectivenessHeatExchangerSource $FOAM_SRC/dynamicFvMesh/dynamicRefineFvMesh

14. Upgraded the VectorN library to compile with the HELYX-Core v3. $FOAM_SRC/finiteVolume/VectorN/OpenFOAM/primitives

15. Fixed the single precision type deduction error for turbulentDFSEMABLInlet and turbulentDFSEMInlet boundary conditions. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMABLInlet $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/turbulentDFSEMInlet

16. Fixed the strictPatchNameChecking in caseSetup. $FOAM_APP/utilities/preProcessing/caseSetup

17. Altered the PStream method exchange to use MPI_ALLtoALL to reduce communication overhead which caused scalability issues. $FOAM_SRC/OpenFOAM/db/IOstreams/Pstreams

Page 29: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 29 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

18. Added a check to prevent square root of a negative number in dynOneEqEddy constructor. $FOAM_SRC/turbulenceModels/incompressible/LES/dynOneEqEddy

19. Added the missing virtual function to the MRFSource function object that caused CHT cases with MRFs to fail. $FOAM_SRC/fvOptions/sources/derived/MRFSource

20. Fixed the issue where Knop wall functions were trying to lookup tubulenceModel instead of turbulenceProperties. $FOAM_SRC/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/ omegaWallFunctions/knopOmegaWallFunction $FOAM_SRC/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUKnopSAWallFunction $FOAM_SRC/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUKnopKOmegaWallFunction

21. Fixed the cavitatingBullet tutorial which could not be read into Paraview due to truncated dimension statement. All the initial fields in this tutorial have been changed to 7-digit dimension format. $FOAM_TUT/multiphase/interPhaseChangeFoam/cavitatingBullet

22. Fixed the issue in twoPhaseEulerFoam in the IATE model which exits with an error if the dispersed phase is denser than the continuous phase. $FOAM_APP/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/diameterModels/ IATE/IATEsources/IATEsource

23. Fixed the issue in the turbulentAtmBLInletVelocity boundary condition with RichardsHoxey profile where the z0 would changes to 10 m regardless of what was specified in the caseSetupDict.

24. Corrected the issue with double registration of U field causing ABLprofile private data members from turbulentDFSEMABLVelocity boundary to be deleted. Also, fixed additional issues with tabulatedProfile not cloning autoPtr<Functions> for copy construct due to inherent copy function. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/fieldInitialisation

25. Fixed a dimension set interpretation error in caseSetup. $FOAM_APP/utilities/preProcessing/caseSetup

26. Addressed the issue where double read construct of fvsPatchField in symmetryFvsPatchField would cause invalid token error. Now uses a null (not-read) constructor for base class. $FOAM_SRC/finiteVolume/fields/fvsPatchFields/constraint/symmetry

27. Fixed the problem with the nutUSpaldingWallFunction where the Newton-Raphson iteration, used to calculate the boundary values of nut had the result of changing the value of the boundary every time the boundary was re-evaluated during the same timestep causing problems for simulation restarts. $FOAM_SRC/TurbulenceModels/turbulenceModels/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUSpaldingWallFunction

Page 30: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 30 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

28. Fixed the problem with the SpalartAllmaras, SpalartAllmarasDES and LamBremhorstKE turbulence models where nut was calculated incorrectly using the previous steps turbulence fields instead of the current turbulence fields. $FOAM_SRC/TurbulenceModels/incompressible/turbulentTransportModels/RAS/LamBremhorstKE/ $FOAM_SRC/TurbulenceModels/turbulenceModels/DES/SpalartAllmarasDES $FOAM_SRC/TurbulenceModels/turbulenceModels/RAS/SpalartAllmaras

29. Fixed the initialisation issue with the localBlended scheme. $FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor/fieldBlendingItem $FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor/blendingSources/ courantNumberBlendingSource

30. Fixed the issue where writing of intermediate meshes when Debug is active. $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver

31. Fixed the issue of inter-region patching not working correctly for patchType boundary and baffle. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver

32. Fixed the issue where helyxHexMesh produces an error if the geometry patch name has same name as blockMesh patch name. A warning was added. $FOAM_SRC/mesh/snappyHexMesh/meshRefinement $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver

33. Fixed the problem in helyxHexMesh with polyTopoChange being constructed with an out-of-date mesh. $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver

34. Renamed the snappySetup utility to helyxMeshSetup and made it work with the helyxHexMeshDict and helyxMeshSetupDict files. $FOAM_APP/utilities/preProcessing/hexlyxMeshSetup

35. Fixed issues in helyxHexMesh such as incorrect limiting of projection height, layer collapsing at non-orthogonal patches using the grow-up option and a parallel bug when selecting faces using the grow-up option. $FOAM_SRC/mesh/autoMesh/autoHexMesh/externalDisplacementMeshMover $FOAM_APP/utilities/mesh/manipulation/helyxCheckMesh $FOAM_SRC/mesh/snappyHexMesh

36. Fixed an error where sampling with the zone constraint did not work in parallel. $FOAM_SRC/sampling/sampledSurface/sampledPlane/

37. Fixed an error where the LiftDrag functionObject bin data output did not work with pimpleDyMFoam. $FOAM_SRC/postProcessing/functionObjects/forces/LiftDrag

38. Corrected the calculation of Cp in fieldProcess for compressible cases by introducing pRef keyword. $FOAM_SRC/postProcessing/functionObjects/field/fieldProcess

Page 31: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 31 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

39. Fixed an error in the liftDrag function object due to inconsistencies between headers and written data by changing HashTable iterator to looping over hash sorted list. $FOAM_SRC/postProcessing/functionObjects/forces/zoneForces $FOAM_SRC/postProcessing/functionObjects/forces/liftDrag

40. Corrected the wildcard specification for layers in helyxMeshSetup together with support for single region STL's. $FOAM_APP/utilities/preProcessing/hexlyxMeshSetup

41. Fixed the function object issues when working with multi-region cases including data inconsistencies, missing log files and wrong location of log files.

42. Corrected an issue with lookup or default construction for a dictionary in the caseSetup utility for eulerPhaseProperties and fixed related issue with multiphaseEulerFoam caseSetup involving specialised handling of template assembleBinaryData for dictionary entries. Also, added the correct default to multiphaseEulerFoam divSchemes for “div\(alphaPhi.*,U.*\)”.

43. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateComponents/ multiphaseEuler

44. Fixed an issue with the caseSetup utility where the sonicFoam LES state (PIMPLE compressible les hiMach) was trying to use RAS model instead of LES model. $FOAM_ETC/caseDicts/preProcessing/caseSetup/solvers/sonicFoamLES.cfg

45. Fixed an issue where the caseSetup utility would fail if laminar is selected as the turbulence model. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateComponents/turbulenceModel

46. Corrected the support for symmetry and symmetryPlane boundaries in the coupled solver. $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateFunctions/siCoupled $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateComponents/turbulenceModel $FOAM_APP/utilities/preProcessing/caseSetup/stateFunctions/stateFunctions/tiCoupledLES $FOAM_ETC/caseDicts/preProcessing/caseSetup

47. Fixed an issue with dimensioned type constructor not reading dimensions and defaulting to dimless. $FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor/blendingSources/ phaseBlendingSource $FOAM_SRC/OpenFOAM/dimensionedTypes/dimensionedType

48. Changed the default thermal expansion of water (liquid) from 2.07e-2 to 2.07e-4. $FOAM_ETC/dictData/caseSetupDict.materialProperties

49. Added synchronisation of intersected faces to correct a zoning error in snappyHexMesh. $FOAM_SRC/mesh/snappyHexMesh/meshRefinement

50. Fixed the issue with snapping to zoned surfaces when locationsInMesh keyword specified. $FOAM_APP/utilities/mesh/generation/helyxHexMesh $FOAM_SRC/mesh/snappyHexMesh/snappyHexMeshDriver/snapParameters

Page 32: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 32 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

51. Added a destructor to the wallPressure boundary condition to delete the static interpolated pressure field thereby preventing errors when running the caseSetup utility. $FOAM_ETC/caseDicts/preProcessing/caseSetup/fields/pressure.cfg $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/wallPressure

HELYX® 2.5.0 (2.2_engysEdition-2.5) | Release date 17/06/2016

New Features 1. Added surface tension computation in the momentum equation for the multiphaseEulerFoam

solver. $FOAM_APP/solvers/multiphase/multiphaseEulerFoam

2. Upgraded the caseSetup utility to include new Coupled solver capabilities for automatic setup of DES simulations. $FOAM_APP/utilities/preProcessing/caseSetup

3. Improved the multiphaseEulerFoam solver to p_rgh formulation in order to improve stability at sharp interfaces. Also, updated the caseSetup defaults to use p_rgh to account for the change in the multiphaseEulerFoam solver. $FOAM_APP/solvers/multiphase/multiphaseEulerFoam $FOAM_ETC/dictData/caseSetupDict.stateData.multiphaseEulerFoamLES

4. Improved the caseSetup defaults for interFoam best practices for better stability in LES cases. For example, interfaceCompression is no longer used in div(phirb, alpha), correctPhi no longer needed in static mesh cases and CrankNicolson is used as the default ddt scheme rather than backward ddt scheme for LES. $FOAM_ETC/dictData/caseSetupDict.stateData.interFoamLES

5. Added a kOmega SST DES and DDES models as outlined in: Mikhail S. Gritskevich, Andrey V. Garbaruk, Jochen Schütze, Florian R. Menter. Development of DDES and IDDES Formulations for the k-ω Shear Stress Transport Model. Flow Turbulence and Combustion, April 2012. $FOAM_SRC/turbulenceModels/incompressible/LES/kOmegaSSTDES $FOAM_SRC/turbulenceModels/incompressible/LES/kOmegaSSTDDES

6. Added a dynamicSmagorinsky LES model for incompressible flows and support in caseSetup. $FOAM_ETC/dictData/caseSetupDict.turbulenceProperties

7. Added an optional keyword in the helyxHexMesh utility which can be used to activate/deactivate a geometry during the meshing process. $FOAM_APP/utilities/mesh/generation/helyxHexMesh

Bugs Fixed / Maintenance 1. Corrected a divide-by-zero bug in effectivenessHeatExchangerSource fvOption (all versions).

$FOAM_SRC/fvOptions/sources/derived/effectivenessHeatExchangerSource 2. Fixed an incorrect integer division that was resulting in reduced AIJ turbulent energy

expression in turbulentABLInletVelocity inlet. $FOAM_MOD/LEMOS/libLEMOS-2.2.x/boundaryConditions/turbulentAtmBLInletVelocity

Page 33: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 33 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

3. Corrected a mass imbalance issue in multiphaseEulerFoam by removing interface compression at physical boundary faces. $FOAM_APP/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem

4. Corrected a divide-by-zero error in the MULES interface capturing scheme. $FOAM_SRC/finiteVolume/fvMatrices/solvers/MULES

5. Updated the 6DoF solver point constraint to now support both “point” and “centreOfRotation” keywords. If both are present, centreOfRotation takes precedence. If none are present, then it will produce an error and request that centreOfRotation be provided. Take note that future versions will only support the keyword "centreOfRotation". $FOAM_SRC/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion/constraints/point

6. Minor changes have been made to update to the default values of siCoupled and tiCoupledLES fvSchemes in caseSetup. $FOAM_ETC/dictData/caseSetupDict.stateData.siCoupled

7. Prevent the helyxHexMesh utility from crashing when snapping to a local surface that cannot be found. A warning is now generated "Cannot find surface associated with face location..." instead. $FOAM_APP/utilities/mesh/generation/helyxHexMesh

8. Corrected a bug in the probes function object for moving mesh cases when trying to access the fvMesh geometric data before it has been constructed. $FOAM_SRC/sampling/probes

HELYX® 2.4.0 (2.2_engysEdition-2.4) | Release date 29/01/2016

New Features 1. Added new scaleUprime utility to scale instantaneous velocity components as: U = UMean +

(U - UMean) * (1 + alpha). Requires U and UMean fields. Typical alpha values: 0 to 1. $FOAM_APP/utilities/preProcessing/scaleUprime

2. Added “materialName” tags to materialProperties database for improved compatibility with HELYX-GUI. $FOAM_ETC/dictData/caseSetupDict.materialProperties

3. Added verbatim copy of “projectionFoam” transient incompressible solver for testing purposes. If the solver is successful, the algorithm will be bundled into the next generation pressure based solver. $FOAM_MOD/projectionFoam

4. New “probes” function created so that that face sampling uses the face closest to the point, instead of the point closest to the cell centre. This substitutes “volProbes”, which has been deprecated. $FOAM_SRC/sampling/probes/

5. Added parameter to incompressible LES SpalartAllmaras models to allow blending of near-wall gradient calculation methods. “Cdu 1; = corrected”, “Cdu 0; = old method”. $FOAM_SRC/turbulenceModels/incompressible/LES/SpalartAllmaras/

Page 34: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 34 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

6. Added new schemes weightBlended which combines two weights via multiplication and normalisation; volField-Weighted - uses lookup volField to construct weights. $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/volFieldWeighted $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/weightBlended

7. Added additional options for density calculation to buoyantBoussinesqSimple/PimpleFoam solvers. Additional options in transportProperties: rhoType - entries Beta, BetaLinear and Thiesen. If neither Beta nor TRef are specified, then TRef is calculated as the mean temperature in the domain, every iteration. This represents a change from the previous version, where automated TRef calculation only happened during the initial iteration and could cause issues with restarts. $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqPimpleFoam $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqSimpleFoam

8. Added “strainRate” operation to fieldProcess. Outputs scalar rate of strain. $FOAM_SRC/postProcessing/functionObjects/field/fieldProcess/

9. Added table support for time step size (deltaT) in controlDict. Time step size can be specified as iteration varying value. Not compatible with “adjustableRunTime” write mode. $FOAM_SRC/OpenFOAM/db/Time/

10. Added caseSetup support for adjoint solver. $FOAM_ETC/dictData/caseSetupDict.stateData.modules.adjoint

11. Added velocity limiter source in fvOptions. $FOAM_SRC/fvOptions/sources/derived/velocityLimiterSource/

12. Added PISO velocity limiter to simpleFoam solver and other simpleFoam based solvers (refer to PISO related commit for usage details). $FOAM_APP/solvers/incompressible/simpleFoam

13. Added scalarMultiply to utility foamCalc. $FOAM_SRC/postProcessing/foamCalcFunctions/basic/scalarMultiply/

14. Added phase sensitive relaxation to interFoam velocity limiter. To activate add “Clim 0.5;” to fvSolution::relaxationFactors::fields:: $FOAM_APP/solvers/multiphase/interFoam23

15. Improved interFoam air side velocity limiter to be more local to the interface. Should be more stable and less disruptive of far field velocities. Only applies to interFoam and waveFoam at present. Should not be used with cases where air side velocity is important or the driving force. $FOAM_APP/solvers/multiphase/interFoam23

16. Added support for fvSolution::SIMPLE, PIMPLE, PISO and COUPLED to incompressiblePressure utility. $FOAM_APP/utilities/postProcessing/scalarField/incompressiblePressure/

17. Added additional concavity check for pyramid cells in helyxHexMesh. This can be activated by setting maxPyrConcave in meshQualityControls. $FOAM_SRC/dynamicMesh/motionSmoother/polyMeshGeometry/

Page 35: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 35 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

18. Added new orthogonality check (cell-centre to face centre) to boundary faces in helyxHexMesh $FOAM_SRC/dynamicMesh/motionSmoother/polyMeshGeometry/

19. Added keyword refineBoundaryProblemCells to castellated mesh controls which improves refinement interface topology on the boundary $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/refinementParameters/

20. Modifications to direct feature snapping algorithm to improve feature snapping $FOAM_SRC/mesh/autoMesh/autoHexMesh/featureLineSnapping

21. Added reporting of patch areas to checkMesh utility $FOAM_APP/utilities/mesh/manipulation/checkMesh/

22. Added full support for csh environment $FOAM_ETC

23. Update to helyxHexMesh for improving starting point location during feature refinement iteration to improve feature refinement performance $FOAM_SRC/mesh/autoMesh/autoHexMesh/meshRefinement/

24. Upgraded cfMesh to v1.1 $FOAM_MOD/cfMesh-v1.1

25. Prevent smoothing of internal zones faces on a grown up patch in helyxHexMesh $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/

Bugs Fixed / Maintenance 1. Corrected error in liftDrag function: porous moment had wrong sign in equations.

$FOAM_SRC/postProcessing/functionObjects/forces/liftDrag/ 2. Fixed consistency issues in compressible S-A DES class models. For example: mag strain was

used instead of mag vorticity; GIS is activated by default; other minor (cosmetic) consistency improvement between compressible and incompressible S-A class DES models were added. $FOAM_SRC/turbulenceModels/compressible/LES/SpalartAllmaras/

3. Corrected various issues in S-A DDES and IDDES incompressible turbulence models. For example: the magnitude of symmetric instead of skew velocity gradient was used in production term; corrected some stability issues; GIS Shield is activated by default. $FOAM_SRC/turbulenceModels/incompressible/LES/SpalartAllmaras/

4. Added make/clean scripts and tutorials for LEMOS module. $FOAM_MOD/LEMOS/Allclean

5. Fully integrated “bounded” scheme in best practices. Removed last vestiges of hard-coded “bounded” scheme from pisoFoam solver configuration files. $FOAM_ETC/dictData/caseSetupDict.*

6. uniformFixedValue boundary will now write a “value” entry to file. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/uniformFixedValue/

Page 36: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 36 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

7. Fixed issue with fixedFluxPressure mapping constructor. Caused value to be set to zero. Fixed default p field for chtMultiRegion solvers defaulting to zero if not defined (now defaults to 1Bar). $FOAM_APP/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam

8. Corrected error in turbulentAtmBLInletVelocity where min was used instead of max for roughness height. $FOAM_MOD/LEMOS/libLEMOS-2.2.x/boundaryConditions/turbulentAtmBLInletVelocity

9. Fixed incompressible SA-IDDES model to be consistent with compressible flow version. $FOAM_SRC/turbulenceModels/incompressible/LES/SpalartAllmarasIDDES

10. Corrected issue in velocity limiter that prevented “relax” call from functioning properly. $FOAM_SRC/fvOptions/sources/derived/velocityLimiterSource/

11. Corrected issue in porous media where interFoam would trigger search for dynamic viscosity “thermo::mu”. Will now search for kinematic viscosity “nu” if “thermo::mu” is not found. $FOAM_SRC/finiteVolume/cfdTools/general/porosityModel/DarcyForchheimer/

12. Removed all incompressible flux conservation terms. User should now specify the keyword “bounded” for all convection schemes where flux conservation is required.

13. Deactivated adjointShapeOptimisationFoam compilation $FOAM_APP/solvers/incompressible/adjointShapeOptimizationFoam

14. Correct format of time folder to be consistent with the time name of liftDrag function object $FOAM_SRC/postProcessing/functionObjects/forces/liftDrag/

15. Fix issue with zoning when no cellZone entry is present $FOAM_SRC/mesh/autoMesh/autoHexMesh/meshRefinement/

16. Change tolerance used for a line intersection with a triangle $FOAM_SRC/meshTools/triSurface/triangleFuncs/

17. Fix synchronisation at grown up patches in helyxHexMesh layer insertion $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/

18. Corrected splitMeshRegions when using -useFaceZones with multiple zones per interface $FOAM_APP/utilities/mesh/manipulation/splitMeshRegions/

19. Fix to cellRemoval checks when meshing with faceType baffle $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/

20. Create sync of pointLevel field after edge collapsing in helyxHexMesh $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/

21. Stop floating point exception in surfaceReport when a faceZone contains no faces $FOAM_SRC/postProcessing/functionObjects/report/surfaceReport/

22. Parallel sync for correct reporting of error faces in snappyCheckMesh $FOAM_APP/utilities/mesh/manipulation/snappyCheckMesh/

23. Changed face seeding for buffer layer insertion to produce correct buffer layers $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/

24. Added additional checks to prevent incorrect cell removal in helyxHexMesh $FOAM_SRC/mesh/autoMesh/autoHexMesh/meshRefinement/

Page 37: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 37 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

25. Fixed problem with cell removal during zoning in helyxHexMesh to prevent formation of unconnected regions $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/

HELYX® 2.3.0 (2.2_engysEdition-2.2) | Release date 24/04/2015

New Features 1. sixDoFRigidBodyMotion to output rotation vector to screen during execution.

$FOAM_SRC/sixDoFRigidBodyMotion/sixDoFRigidBodyMotion 2. Added “LTS” option to LTSinterFoam state in caseSetup. Allows use of “LTS” instead of

“steady” in state definition. $FOAM_APP/utilities/preProcessing/caseSetup

3. Added velocity limiter for pisoFoam. Limiter uses increased viscosity and decouples p and U. Can be visualised via deltaUlim field. Uses polynomial to smoothly blend between 0 and full limiter. $FOAM_APP/solvers/incompressible/pisoFoam

4. Changed layerInfo.vtk to write face instead of point data. In addition to the number of layers on each face, the face level and first cell height are also written. $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver

5. Added baffleAllPointsBoundary keyword to meshQualityControls sub-dictionary in helyxHexMeshDict to allow more aggressive cell deletion of poorly connected regions at the end of mesh refinement. $FOAM_SRC/mesh/autoMesh/autoHexMesh/meshRefinement

6. Added dynamic centroid calculation and support for standard cell selection for PatersonAnnularThrusterSource. $FOAM_SRC/fvOptions/sources/derived/PatersonAnnularThrusterSource

7. Added configuration support for HELYX-Hydro add-on solver in caseSetup. $FOAM_ETC/dictData/caseSetupDict.defaults $FOAM_APP/utilities/preProcessing/caseSetup

8. Added LTSInterFoam support to caseSetup. Deprecated old version of LTSInterFoam in favour of solver LTSInterFoam22. $FOAM_ETC/dictData/caseSetupDict.stateData.LTSInterFoam $FOAM_APP/utilities/preProcessing/caseSetup

9. Added patchWrite capability to fieldProcess function object. $FOAM_SRC/postProcessing/functionObjects/field/fieldProcess

10. Added top-level keyword blockOrigin to helyxHexMeshDict which allow the block mesh origin to be manually set during the automatic block mesh creation. $FOAM_APP/utilities/mesh/generation/helyxHexMesh

11. Enable splitting of boundary faces during direct feature snapping method. $FOAM_SRC/mesh/autoMesh/autoHexMesh/featureLineSnapping

Page 38: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 38 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

12. Added velocity limiter to rhoPimpleFoam. Uses momentum sink/ move to p-U decoupling + increased diffusivity. $FOAM_APP/solvers/compressible/rhoPimpleFoam

13. Added rollPitchYaw and yawPitchRoll functionality to virtual rotations in helyxHexMesh. $FOAM_SRC/meshTools/searchableSurface

14. Added optional “origin” entry to radialLinear extrusion model to cope with radial extrusion which are not centred on origin ( 0 0 0 ). Use with extrudeMesh. $FOAM_SRC/mesh/extrudeModel/linearRadial

15. Added new LUSTV discretisation scheme as potential replacement for LUST (n.b. LUST is inaccurate in wall function cells). $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/LUST/

16. Added “ECOMARINE” as blank module for GUI compatibility. 17. Added minNumLayers keyword to addLayersControls in helyxHexMesh to force a minimum

number of layers to be generated on the specified patch. $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/layerParameters/

18. Algorithm modification to speed up meshToMesh mapping in cases where the initial cell (0) is not connected to most target cells via a simple face-cell walk. Nearest cell mapping for parMapFields and improved performance. $FOAM_SRC/sampling/meshToMeshInterpolation/meshToMesh

19. Added minLength to decayingTurb BC. Significantly reduces calculation cost by preventing sub-mesh scale vorton production. $FOAM_MOD/LEMOS/libLEMOS-2.2.x/boundaryConditions/turbulentAtmBLInletVelocity

20. Added new heuristic air side stabilisation for interFoam (Beta). Uses momentum sink to limit air side velocity to fluid side velocity. Allows more stable operation at higher CFL number. $FOAM_APP/solvers/multiphase/interFoam23

21. Added LEMOS module with new turbulent atmospheric inlet boundary condition. Provides statistically correct resolved scale motion for atmospheric boundary layer and user defined LES/DES inlets. Supports AIJ, RichardsHoxley and user defined table inputs. $FOAM_MOD/LEMOS/libLEMOS-2.2.x/boundaryConditions/turbulentAtmBLInletVelocity

22. Added additional execution switches to rhoPimple type solvers: solveThermo and ddtPhiCorr). solveThermo can be used in conjunction with adiabaticPerfectFluid equation of state. $FOAM_APP/solvers/compressible/rhoPimpleFoam

23. Extended mappedProfile boundary to include vector input types. Previously allowed scalar type only. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/mappedProfile

24. Added scalar support to linearUpwindV. $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/linearUpwind

25. Added more debug info to knopOmegaWallFunction. Only displays when debug switch is enabled.

Page 39: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 39 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions/knopOmegaWallFunction

26. Added wallCorrectedLinearUpwindV. $FOAM_SRC/turbulenceModels/incompressible/turbulenceModel/schemes/wallCorrectedLinearUpwind

27. Added keyword smoothSnappedSurface to snapControls to allow smoothing of the surface while feature snapping. On by default and can be switched off to allow faster feature snapping. $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/snapParameters

28. Added lambda support for caseSetup and multiphaseEulerFoam definitions. $FOAM_APP/utilities/preProcessing/caseSetup/stateIndex.*

Bugs Fixed / Maintenance 1. Added flux direction based weak/strong formulation switching to flowRateOutletVelocity

boundary condition. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity

2. Replaced fixedBlended with LUSTV for all LES/DES default solver setups. LUSTV provides a more correct wall normal gradient for interpolation of vectors in near-wall cells when the height of the first layers is changing. $FOAM_ETC/dictData/caseSetupDict.stateData

3. Resolved issue in motionSolver. New constructor caused sixDof mesh motion restarts to fail. Will now correctly write uniform/sixDoFMotionSate files. $FOAM_SRC/dynamicMesh/motionSolver/motionSolver

4. Changed formulation of HerschelBulkley non-Newtonian viscosity to be more consistent with theory. Matches latest OF2.3.x definition. $FOAM_SRC/transportModels/incompressible/viscosityModels/HerschelBulkley

5. Fixed write function in turbulentAtmBLInletVelocity LEMOS boundary to reflect other recent changes. $FOAM_MOD/LEMOS/libLEMOS-2.2.x/boundaryConditions/turbulentAtmBLInletVelocity

6. Users can override Reynolds stress, mean velocity and length scale via user defined tables for LEMOS (RUserDefined<symmTensor>, UUserDefined<scalar> and LUserDefined<scalar>). These entries, if present will supersede all other entries. $FOAM_MOD/LEMOS/libLEMOS-2.2.x/boundaryConditions/turbulentAtmBLInletVelocity

7. Fix to wall bounded streamlines to prevent floating point exception when particle gets stuck in a stagnation region. $FOAM_SRC/postProcessing/functionObjects/field/wallBoundedStreamLine/

8. Change to feature refinement in helyxHexMesh to set maximum feature length to prevent poor scaling of tracking algorithms on high core counts. $FOAM_SRC/mesh/autoMesh/autoHexMesh/refinementFeatures

9. Fix to function objects using adjustable write control to set correct output time index.

Page 40: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 40 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/OpenFOAM/db/functionObjects/OutputFilterFunctionObject/ 10. Change function object subVolume so that instead of writing a separate mesh for each

specified region, it combines all the regions together and outputs a single mesh $FOAM_SRC/postProcessing/functionObjects/report/subVolume

11. Changed default for grad(alpha1) in LTSInterFoam dictionary to edgeCellsLeastSquares. $FOAM_ETC/dictData/caseSetupDict.stateData.LTSInterFoam

12. Allow wild card support for featureEdges sub-dictionary inside snapControls. $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/snapParameters/

13. Update to boundary skewness to be consistent with internal skewness calaculation in helyxHexMesh. Also change faceTwist metric to handle high aspect ratio cells. $FOAM_SRC/dynamicMesh/motionSmoother/polyMeshGeometry/

14. Fixed error in buoyantSimpleFoam when starting without pressure field present. $FOAM_APP/solvers/heatTransfer/buoyantSimpleFoam

15. Corrected overwrite and time increment options when running extrudeMesh. $FOAM_APP/utilities/mesh/generation/extrude/extrudeMesh/

16. Improved default solver settings for LTSInterFoam support to caseSetup. Fixed LTSInterFom instability due to PIMPLE standard settings. $FOAM_ETC/dictData/caseSetupDict.stateData.LTSInterFoam

17. Added support for GCC 4.8.2, including addition of wmake rules. Settings file altered to allow use of gcc 4.8.2. $FOAM_ETC/bashrc $FOAM_ETC/config/settings.sh wmake/rules/linux64Gcc48/ wmake/rules/linuxGcc48/

18. Fix to dynamicRefineFvMesh library to prevent crashes when running on a mesh generated by helyxHexMesh. $FOAM_SRC/dynamicMesh/polyTopoChange/polyTopoChange

19. LTSInterFoam now uses the correct fv::localEulerDdtScheme when compiled. $FOAM_SRC/finiteVolume/finiteVolume/ddtSchemes/localEulerDdtScheme

20. Upgraded interFoam and interDyMFoam to OF 2.3.x version. Deprecated old version of interFoam in favour of solver interFoam22. Deprecated old version of interDyMFoam in favour of solver interDyMFoam22. Updated all interFoam and interDyMFoam tutorials to use new version. $FOAM_ETC/dictData/caseSetupDict.stateData.interFoamRAS $FOAM_ETC/dictData/caseSetupDict.stateData.interFoamLES

21. Fixed gitignore file for changes to waves2Foam in future. Removed exception to waves2Foam-ee and replaced with waves2Foam .gitignore

22. Updated waves2Foam, removed old waves2Foam-ee for new waves2Foam and cleaned up tutorials and unnecessary files.

Page 41: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 41 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_MOD/waves2Foam 23. Updated fieldProcess function object to use ouputControl and outputInterval keywords for

writing fields. $FOAM_SRC/postProcessing/functionObjects/field/fieldProcess

24. Incorrect sizing of refinementSurface class variables when using wild-card syntax. $FOAM_SRC/mesh/autoMesh/autoHexMesh/refinementSurfaces

25. CO2 module configuration had outdated module settings for requirements and conditionals which could fail during caseSetup. Now correctly supports all incompressible and compressible single phase solvers. $FOAM_ETC/dictData/caseSetupDict.stateData.modules

26. Changed incompressiblePressure to write field name pressure instead of P. $FOAM_APP/utilities/postProcessing/scalarField/incompressiblePressure/

27. Updates to helyxHexMesh to prevent inconsistencies in the final grid when meshing on different number of processors. $FOAM_SRC/mesh/autoMesh

28. Added test case for LEMOS linked boundary condition turbulentAtmBLInletVelocity. $FOAM_MOD/LEMOS/tutorials/boundaryConditions/turbulentABL

29. Prevent duplicate gradient entry for turbulentHeatFluxTemperature boundary condition and problems loading this boundary condition in Paraview. $FOAM_SRC/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentHeatFluxTemperature

30. Not specifying “defaultValue” for cellSet in caseSetup initialisation will now retain existing field values in cells that are not set via the cellSet. $FOAM_APP/utilities/preProcessing/caseSetup

31. Fixed parMapFields/mapFields bug for rare mapping configurations. $FOAM_SRC/sampling/meshToMeshInterpolation/meshToMesh

32. Updated interDyMFoam to remove old velocity limiter functions. $FOAM_APP/solvers/multiphase/interFoam23/interDyMFoam

33. Fix for massFluxConcentration when used with second order time schemes. $FOAM_SRC/postProcessing/functionObjects/solvers/passiveScalarTransport

34. Updated best practices for buoyantBoussinesqPimpleFoam (LES & RAS). Added field blending for LES and limiters. $FOAM_ETC/dictData/caseSetupDict.stateData.buoyantBousinesqPimpleFoamLES

35. Fixed coupling of wallPressure with adjoint. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/wallPressure

36. Added limiter for compressible SA-DDES model to prevent division by zero. $FOAM_SRC/turbulenceModels/compressible/LES/SpalartAllmarasDDES

37. Replaced usage of LUST scheme with “fixedBlended 0.75 linear linearUpwindV grad(U)” in caseSetup defaults. LUST uses linearUpwind which is not compatible with wall function cells. Will be superseded by LUSTV.

Page 42: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 42 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_ETC/dictData/caseSetupDict.stateData.*LES 38. Updated comments in flowRateInlet and mappedFixedValue to include offset. No functional

change. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue

39. Changed wallVelocity to fixedValue base. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/wallVelocity

40. Fixed hybridBlendingSource tmp deallocation. $FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor/

41. blendingSources/hybridBlendingSource 42. Added virtual destructor to fieldBlendingItem.

$FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor/fieldBlendingItem 43. Prevent particles from deleted on processor boundaries during Lagrangian tracking

$FOAM_SRC /lagrangian/basic/Cloud 44. Fix to instantiation of TrackingData constructor for Lagrangian tracking

$FOAM_SRC/lagrangian/basic/particle

HELYX® 2.2.0 (2.2_engysEdition-2.0) | Release date 10/10/2014

New Features 1. Added keyword enlargeStencil to snapControls to enable the use of more points to

interrogate the surface during snapping $FOAM_SRC/mesh/autoMesh/autoHexMesh/autoHexMeshDriver/snapParameters/snapParameters

2. Changed helyxHexMesh keyword refineOnly to refineFeatureEdgesOnly and allowed this keyword to be set on a global, per surface or per region basis. $FOAM_SRC/mesh/autoMesh/autoHexMesh/refinementSurfaces

3. Added compressible Spalart-Allmaras DDES and IDDES models, including: New compressible term to standard S-A DES New delta definitions for S-A class models maxFaceDelta and IDDES2 maxFaceDelta supersedes maxDeltaxyz $FOAM_SRC/turbulence/compressible/LES/SpalartAllmaras $FOAM_SRC/src/turbulence/LES/LESDeltas

4. Added Paterson’s thruster source fvOption for ship equilibrium self-propulsion, including dedicated tutorial case $FOAM_TUTORIALS/multiphase/LTSInterFoam/wigley_steadySelfPropulsion $FOAM_SRC/fvOptions/sources/derived/PatersonAnnularThrusterSource

5. Extended boundaryFoam solver to handle 2-D geometry. Useful for solving extruded inlet to create fully developed inlet flow. $FOAM_APP/solvers/incompressible/boundaryFoam/

Page 43: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 43 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

6. Added new more accurate Knopp model consistent wall functions for Spalart-Allmaras class models. $FOAM_SRC/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions

7. Added new more accurate Knopp model consistent wall functions for kOmegaSST class models. $FOAM_SRC/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions $FOAM_SRC/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/omegaWallFunctions

8. Added new utility incompressiblePressure to convert kinematic pressure “p” to gauge pressure “P” in Pa. Also writes out the constant density field “rho”. $FOAM_APP/utilities/postProcessing/scalarField/incompressiblePressure

9. Changed default scheme for grad(prgh) to “Gauss skewCorrected linear” in buoyantBoussinesq type solvers. Proven to improve accuracy on non-uniform meshes. $FOAM_ETC/dictData/caseSetupDict.stateData.buoyantBousinesqSimpleFoam

10. Extended parMapFields to allow consistent mapping between identical cases without source fields being present. Removes the need to create target fields before mapping. Requires identical boundary and boundary type definitions. $FOAM_APP/utilities/preProcessing/parMapFields

11. Utility helyxHexMesh now writes layers to VTK by default. Previously default behaviour was not to write layers. $FOAM_ETC/dictData/snappyMesh.layers

12. Added offset capability to mapped boundaries to increase mean value between map source and target. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/mappedFixedValue

13. Added support for mapped type patches for inlets and outlets in boundarySetup. Mapped inlets/outlets can now be created via caseSetup utility. $FOAM_SRC/finiteVolume/cfdTools/general/boundarySetup

14. Added moment output to file for turboPerformance function object. Previously only output to screen, not file. $FOAM_SRC/postProcessing/functionObjects/report/turboPerformance/turboPerformance

15. Added new reconstruct type functions: reconstructV - volume weighted reconstruct reconstructSmooth - assumes linear distribution of value in cell $FOAM_SRC/finiteVolume/finiteVolume/fvc/fvcReconstruct

16. Added new templated type patchMean boundary conditions: Sets uniform fixed value equal to mean value of source patch. Support offset to increase/decrease value. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/patchMean

Page 44: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 44 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

17. Added new scripts to improve automation of module maintenance and compilation. Execute “./updateAll” in core root to pull and compile all available modules and core

18. Added reconCentral scheme from Extend Project repository. Supposedly good for some aspects of tetrahedral mesh discretisation (Beta). $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/reconCentral

19. Added support for fvOptions to humidity equation (w) in buoyantBousinesq type solvers. $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqSimpleFoam/wEqn.H

20. Added linear (CD) deferred correction scheme linearDeferred for improved stability. Obviates the need for relaxation in pisoFoam solvers. $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/linearDeferred

21. Added fvOptions support for MRF / porous media to solver interFoam23. $FOAM_APP/solvers/multiphase/interFoam23

22. Added new modificationSwitch strictPatchNameChecking to caseSetup. Default true: keep existing behaviour; false: stops fatal error if exactNamed sections in caseSetup do not match an existing patch. $FOAM_APP/utilities/preProcessing/caseSetup/boundaryMeshSetup.H

23. Extended boundaryFoam to output y+ vs u+ graphs and relax p update. $FOAM_APP/solvers/incompressible/boundaryFoam/boundaryFoam.C

24. createCase now generates a paraview case file by default (<case>.foam) $FOAM_APP/utilities/preProcessing/createCase/createCase.C

25. Added ccnvReport function object $FOAM_APP/utilities/preProcessing/caseSetup/stateIndex.*

26. Added thermalComfort function object for calculating thermal comfort fields PPD, PMV, TOp and UTCI. $FOAM_ETC/exampleDictionaries/functions.thermalComfort $FOAM_SRC/postProcessing/functionObjects/utilities/thermalComfort

27. Added support to helyxHexMesh to allow generation of region meshes using the -region command line option. $FOAM_APP/utilities/mesh/generation/helyxHexMesh/helyxHexMesh.C

28. Added cfMesh from Franjo Juretic (v1.0) as a module $FOAM_MOD/cfMesh

29. Added new meshing controls in utility helyxHexMesh: triangulationDict sub-dictionary –optional triangulation of warped boundary faces. maxBoundaryWarpage and minInternalWarpage – control face warpage mesh quality checks. minBaffleAngle – optional keyword can be set on a global, per surface or per region basis to delete baffle faces not aligned with the surface. $FOAM_SRC/mesh/autoMesh

30. Added caseSetup change to simplify setup of multiphaseEulerFoam cases. $FOAM_APP/utilities/preProcessing/caseSetup/stateIndex.*

31. Added new structure for mulitphaseEuler to all materials in caseSetup material defaults.

Page 45: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 45 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_ETC/dictData/caseSetupDict.materialProperties 32. Delete this line

Bugs Fixed / Maintenance 1. Fixed tensor eigenvalue functionality to correct tensor eigenvector calculation.

$FOAM_SRC/OpenFOAM/primitives/Tensor/tensor 2. Improved stability of flowRateOutletVelocity boundary, including:

Modified implicit boundary coefficients to “weak” form. Added uniform option to force same outlet velocity at all faces. Improved support for compressible flows and flows with variable density. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity

3. Improved stability of buoyantBoussinesq type solvers: More correct Rhie-Chow interpolation. Use of reconstructSmooth for smoothing buoyancy source terms to be consistent with face fluxes. $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqSimpleFoam $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqPimpleFoam

4. Removed redundant p.correctBoundaryConditions() from buoyantBoussinesqSimpleFoam solver. $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqSimpleFoam

5. Made flowRateOutletVelocity consistent with flowRateInletVelocity format and input. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity

6. Corrected use of UName in explicitPorositySource $FOAM_SRC/fvOptions/sources/derived/explicitPorositySource

7. Fixed some issues and improved stability of wallPressure boundary. Corrected use of delta distance and added relaxation factor (0.5 default) to stabilise. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/wallPressure

8. Added surface direction checking for mapping to stop incorrect mapping where oppositely oriented surfaces are coincident. $FOAM_SRC/sampling/meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing

9. Fixed boundary conditions of initial distance field for parallel mapping. Error in initialisation caused incorrect surface mapping. $FOAM_APP/utilities/preProcessing/parMapFields/

10. Corrected issue in all Spalart-Allmaras models where incorrect near-wall velocity gradient is used for non-linear regime. New setup provides improved estimate of wall normal gradient based on cell centre viscosity. Still not formally correct (requires integration of wall function gradient). $FOAM_SRC/turbulenceModels/(in)compressible/RAS(LES)/SpalartAllmaras(*)/

11. Updated solver potentialFoam.

Page 46: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 46 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_APP/solvers/basic/potentialFoam/potentialFoam.C 12. Fixes to acousticAnalogy noise prediction tool. Added accompanying tutorial test case.

$FOAM_TUTORIALS/incompressible/pisoFoam/les/acousticAnalogy/ovoid $FOAM_APP/utilities/postProcessing/miscellaneous/lighthillAcoustic

13. caseSetup multiphaseEuler not recognizing resetConstDicts false. Fixed to check resetConstDicts before calling addMultiphaseEulerProperties. $FOAM_APP/utilities/preProcessing/caseSetup/stateIndex.C

14. Modify utility relativeHumidity to read relative rather than absolute humidity $FOAM_APP/utilities/postProcessing/miscellaneous/relativeHumidity/relativeHumidity.C

15. Modification to FaceCellWave to handle wave passing through separated cyclic AMI’s $FOAM_SRC/meshTools/algorithms/MeshWave/FaceCellWave.C

16. Upgraded tree bounding box to 2.3 repository version to prevent getting stuck in while loop. $FOAM_SRC/OpenFOAM/meshes/treeBoundBox/treeBoundBox.C

17. caseSetup not able to accept multiphaseEulerFoam drag models other than blended. Fixed to allow for any drag model in multiphaseEulerFoam. $FOAM_APP/utilities/preProcessing/caseSetup/stateIndex.*

18. Prevent helyxHexMesh getting stuck in while loop while growing layers on baffles. $FOAM_SRC/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C

33. Changed helyxHexMesh to remove problem cells after wrapping to prevent creation of disconnected region. $FOAM_SRC/mesh/autoMesh

19. Added caseSetup change to put multiphaseEuler transport properties updates into a separate functions. $FOAM_APP/utilities/preProcessing/caseSetup/stateIndex.*

20. Fixed caseSetup performing multiple initializations on same field. $FOAM_APP/utilities/preProcessing/caseSetup/fieldInitialisation.H

HELYX® 2.1.1 (2.2_engysEdition-1.1) | Release date 03/06/2014

New Features 1. Added PyFoam (v0.6.2) and numpy (1.6.2) to ThirdParty installation

$FOAM_INST_DIR/ThirdParty-2.2_engysEdition 2. Added acceleration for surface searches in snappyHexMesh for case with a large number of

STL’s $FOAM_SRC/meshTools/searchableSurface/triSurfaceMesh.C

3. Added compact empty patches option to utility surfaceSubset $FOAM_APP/utilities/surface/surfaceSubset

4. Added patches option to utility surfaceSubset. The utility now uses “patches” option for selecting multiple surface regions to include in subset. $FOAM_APP/utilities/surface/surfaceSubset

Page 47: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 47 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

5. Added wallPressure second order extrapolated pressure boundary for single phase incompressible pressure. Previous zeroGradient was incorrect for wall-adjacent pressure gradient. Improves adjoint stability. Improves accuracy, especially for cases with high y+ values. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/wallPressure

6. Added wallVelocity conservative boundary for noslip walls (Beta). Removes wall normal component of wall normal normal gradient. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/wallVelocity

7. Added symmetryVelocity boundary to correct fundamental issues with symmetry plane for velocity. Use in conjunction with “patch” type boundary mesh and zero gradient on all scalar fields. Required when using wallPressure next to a symmetry plane. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/symmetryVelocity

8. New cellMoments utility to calculate zero (volume) and first order (cell centre) cell moments, based on Gauss Green integration of face areas. $FOAM_APP/utilities/postProcessing/miscellaneous/cellMoments

9. Added Choi’s Modified Momentum Interpolation Method (MMIM) to all SIMPLE class solvers to make SIMPLE solver solution relaxation factor independent. No support for MRF at present. All SIMPLE class solvers

10. Added useWallDistance option to windProfileDirectionVelocity. Uses wall distance instead of coordinate axis for distance input to lookup table. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/windProfileDirectionVelocity

11. New nut wall function (nutUKnopSAWallFunction) for incompressible Spalart-Allmaras class models to provide y+ independent and more accurate results. $FOAM_SRC/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutUKnopSAWallFunction

Bugs Fixed / Maintenance 1. Fix to zoneForces to handle empty boundary conditions and fix for compressible solvers

$FOAM_SRC/postProcessing/functionObjects/forces/zoneForces 2. yPlusRAS fixed issue with VOF and some compressible cases failing. Added rho lookup for

cases with rho fields present. Now functions with most compressible and VOF solvers. $FOAM_APP/utilities/postProcessing/wall/yPlusRAS

3. Compressible SpalartAllmaras class solvers now use mutUSpaldingWallFunction by default. Previous default mutkWallFunction would cause failure due to unavailability of k field. $FOAM_CONFIG

4. Major update to AMIInterpolation to improve conservation properties $FOAM_APP/meshTools/AMIInterpolation/AMIInterpolation

5. Improved consistence of surfaceReport massflux calculation in parallel. Issue parallel surface report provides incorrect mass fluxes. $FOAM_SRC/postProcessing/functionObjects/report/surfaceReport

Page 48: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 48 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

6. Removed wall normal component from liftDrag force calculation. liftDrag can over-predict drag slightly due to inclusion of wall normal gradient in viscous shear. $FOAM_SRC/postProcessing/functionObjects/forces/liftDrag

7. Fixed incorrect sign for greyDiffusiveRadition boundary net radiation flux Qr. Change in Qr sign not propagated into heavily cutomised greyDiffusiveRadition. $FOAM_SRC/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveRadiation

8. Fixed issue where potentialFlow would run twice in caseSetup for buoyant flows. $FOAM_APP/utilities/preProcessing/caseSetup

HELYX® 2.1.0 (2.2_engysEdition-1.0) | Release date 31/03/2014

New Features 1. Porting of all Engys applications and enhancements to the OPENFOAM public release 2.2.x. 2. Added support for mapped boundaries to caseSetup

$FOAM_SRC/finiteVolume/cfdTools/general/boundarySetup 3. caseSetup now uses physicalType keyword to distinguish between inlets and outlet. Input is

compatible with standard OPENFOAM. $FOAM_APP/utilities/preProcessing/caseSetup

4. Added Radiation coupling for thermalBaffle1D. Allows for glass modelling and general thin baffle treatment. $FOAM_SRC/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/thermalBaffle1D

5. Added coefficient caching for wave based radiation solver to make to run up to 5x faster than standard OPENFOAM® without use of efficient iterators. $FOAM_SRC/finiteVolume/cfdTools/general/explicitScalarWaveSolve

6. New tutorial case added showing transparent baffle boundary for glass modelling. $FOAM_TUTORIALS/tutorials/heatTransfer/buoyantBoussinesqSimpleFoam/buildingWithWindowsAndSolar

7. Added extensions to support coupled matrix solution. $FOAM_SRC/finiteVolume/vector

8. Added support for incompressible correction to compressible buoyant and cht solvers. Use with incompressiblePerfectGas equation of state. $FOAM_APP/solvers/heatTransfer

9. New module directory and environment for 3rd-party plug-inn modules. $FOAM_MOD

10. Added max/min limiters for icoPolynomial density $FOAM_SRC/thermophysicalModels/specie/equationOfState/icoPolynomial

11. Added new dynamic mesh version of potentialFreeSurfaceFoam. $FOAM_APP/solvers/incompressible/potentialFreeSurfaceFoam/potentialFreeSurfaceDyMFoam

Page 49: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 49 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

12. Added new ecoMarine solver module. $FOAM_MOD/ecoMarine

13. Added coupled boundary support for caseSetup. cyclicAMI and mapped patches now work with caseSetup. $FOAM_APP/utilities/preProcessing/caseSetup

14. New options for enabling/disable fluid/thermal solution in multiRegionCHTSimpleFoam $FOAM_APP/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam

15. New perturbU utility for initialising LES channel flows. Adds turbulent precursor structures to laminar boundary layer to significantly reduce transition to turbulence time for LES periodic channel flow. $FOAM_APP/utilities/preProcessing/perturbU/

16. New solver simpleDyMFoam. Steady state solver with dynamic mesh support. Can be used for solution adaptive mesh refinement and periodic rotation. $FOAM_APP/solvers/incompressible/simpleFoam/simpleDyMFoam

17. New rotatingStepMotion solid body motion function. Allows periodic rotating motion for characterising many angle of a pump via MRF. $FOAM_SRC/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingStepMotion

18. New caseSetup support and tutorial for resistive boundaries, i.e. resistivePressure and resistiveVelocity. $FOAM_TUTORIALS/incompressible/simpleFoam/rightAngledDuct $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/resistivePressure $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/resistiveVelocity

19. New adiabaticPerfectFluid option for rhoThermo type solvers. $FOAM_SRC/thermophysicalModels/basic/rhoThermo/rhoThermos.C

20. Added new t0 option for rotatingMotion in solidBodyMotionFvMesh to specify a starting time to restart from non-zero time initial fields. $FOAM_SRC/dynamicFvMesh/solidBodyMotionFvMesh/solidBodyMotionFunctions/rotatingMotion

21. Added new SOFWA (Simulator for Offshore Wind Farm Applications) module based on wind.nrel.gov/designcodes/simulators/sowfa $FOAM_MOD/SOWFA

22. caseSetup potentialFlow initialisation interface extended. Potential flow solver settings can now be accessed via the initialisation interface in caseSetup. New keywords: pSolver{<matrix solver>}, pRefCell, pRefValue, nNonOrthogonalCorrectors $FOAM_APP/utilities/preProcessing/caseSetup

23. Added tensorial conductivity support for multiRegionCHTSimpleFoam. Coordinate system based, vector conductivity applied via fvOptions. Usage example: $FOAM_TUTORIALS/heatTransfer/chtMultiRegionSimpleFoam/singleRegionSquareTensorialConduction

Page 50: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 50 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_APP/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam $FOAM_SRC/fvOptions/transformations/anisotropicConductivity

24. Added contact resistance for boundaries turbulentTemperatureCoupledBaffleMixed and turbulentTemperatureRadCoupledMixed. Neighbour aware contact resistance (both sides query each other to determine total resistance) $FOAM_SRC/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureRadCoupledMixed $FOAM_SRC/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/turbulentTemperatureCoupledBaffleMixed

25. Backported solver interFoam and 6DoF from OPENFOAM 2.3 as interFoam23 and interDyMFoam23, respectively. 6DoF tutorials updated. $FOAM_TUTORIALS/incompressible/pimpleDyMFoam/wingMotion $FOAM_APP/solvers/multiphase/interFoam23 $FOAM_SRC/sixDoFRigidBodyMotion/sixDoFRigidBodyMotionSolver

26. Added new exponential thermal heat source in fvOptions. exponentialThermalSource: Q = Cm*(1-exp(-magU/Ce))*(T0 - T) in W/m3. $FOAM_SRC/fvOptions/sources/derived/exponentialThermalSource

27. flowRateInletVelocity boundary now supports rotational component for tangential velocity. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity

28. Upgraded swak4Foam from version 0.2.5 to 0.3.1 and move to modules $FOAM_MOD/swak4Foam

29. Added double-grading option to blockMesh by setting a negative gradient coefficient. $FOAM_SRC/mesh/blockMesh

30. Added new option smoothAlignedEdges in snappyHexMesh to correct smoothing of refinement interfaces to straighten point edges. $FOAM_SRC/mesh/autoMesh

31. Added new option maxCellDistortion in snappyHexMesh to control propagation of surface mesh spacing to set medial axis points where ratio of surface displacement to local mesh spacing is very large. $FOAM_SRC/mesh/autoMesh

32. Added new keyword writeVTK to snappyHexMesh to allow writing of VTK file showing point layer coverage. The file generated is called layerInfo.vtk $FOAM_SRC/mesh/autoMesh

33. Added new radial thruster actuator disk model radialThrustActuationDiskSource as per “International Shipbuilding Progress 53(2006) 205-227 M. Hoekstra” $FOAM_SRC/fvOptions/sources/derived

34. Added new repeatedManualInjection Lagrangian injection model. Same functionality as manualInjection but at specified intervals. $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/InjectionModel/RepeatedManualInjection/

Page 51: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 51 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

35. Added new utility frontalArea to perform frontal area calculation based on a given surface. The method works by firing rays and looking at surface intersections. The accuracy of the method is controlled by the number of rays used. The method is controlled by the dictionary frontalAreaDict in the system folder (see $FOAM_ETC/exampleDictionaries/frontalAreaDict). $FOAM_APP/utilities/preProcessing/frontalArea

36. Added support for several solvers in caseSetup: rhoCentralFoam for both ras and les modes rhoCentralDyMFoam for ras and les sonicFoam for both ras and les $FOAM_APP/utilities/preProcessing/caseSetup

37. Added new structure for materialsProperties in dictData folder for caseSetup $FOAM_ETC/dictData/caseSetupDict.materialProperties

38. New cloudFunctionObject maxPatchForce prints maximum force a patch face experiences due to collision with a Lagrangian particle. $FOAM_SRC/lagrangian/intermediate/parcels/include/makeParcelCloudFunctionObjects.H $FOAM_SRC/lagrangian/intermediate/submodels/CloudFunctionObjects/maxPatchForce/

39. Added final mesh report to snappyHexMesh. This contains statistics on mesh quality, meshing time, layer coverage and cell types and resolution. $FOAM_SRC/mesh/autoMesh

40. Added new option projectGrownUp in snapoyHexMesh to project grown up patches onto a plane to flatten faces that may not have perfect conformity to the plane. $FOAM_SRC/mesh/autoMesh

41. Added utility movePointsToPlane to allow projection of patches or face-Zones onto a specified plane. The method is controlled by dictionary movePointsToPlaneDict in the system folder (see $FOAM_ETC/exampleDictionaries/movePointsToPlaneDict). $FOAM_APP/utilities/mesh/manipulation/movePointsToPlane

42. Added a new proximity based refinement method in snappyHexMesh. The method is controlled by the keyword proximityIncrement, which allows the cell refinement to reach the specified increment above the maximum refinement level on the surface. The keyword maxCellsAcrossGap can also be set to allow only this number of cells across any gap provided the maximum proximity refinement level allow this. $FOAM_SRC/mesh/autoMesh

43. surfaceReport and volumeReport function objects extended to allow termination of an application based on convergence checks. For instance surface report could be setup to terminate the application when a local region of the flow is considered converged. The termination is based on calculating the standard deviation of a specific averaged quantity over a particular sampling window. $FOAM_SRC/postProcessing/functionObjects/report/convergenceTermination

Page 52: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 52 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

44. Added new dynamic mesh motion class multiSliderMotionFvMesh to allow stretching a mesh inside a static mesh. This allows modelling of for instance a train passing through a tunnel. Example tutorial case in: $FOAM_TUTORIALS/incompressible/pimpleDyMFoam/trainTunnel $FOAM_SRC/dynamicFvMesh/sliderMotionFvMesh

45. Added new switch refineOnly in snappyHexMesh to allow an eMesh file to be used for refinement only (i.e. no feature snapping will be performed). $FOAM_SRC/mesh/autoMesh

46. New application surfaceIntersection can be used to generate an eMesh file of surface to surface intersections. The application is controlled by surfaceIntersectionDict in the system folder (see $FOAM_ETC/exampleDictionaries/surfaceIntersectionDict). $FOAM_APP/utilities/surface/surfaceIntersection

47. Added new keyword nSliverSmooths in snappyHexMesh to perform final smoothing of sliver elements generated during feature snapping. $FOAM_SRC/mesh/autoMesh

48. Added new mesh check faceFaceCells for poorly connected cells in snappyHexMesh which can cause stability issues $FOAM_SRC/dynamicMesh/motionSmoother

49. Added new point motion boundary condition bufferZoneFixedDisplacement. This allows creation of a buffer zone around a moving object where a fixed displacement can be applied. $FOAM_SRC/fvMotionSolver/pointPatchFields/derived/bufferZoneFixedDisplacement

50. Added new keyword splitCells in snappyHexMesh to split hex cells into tetrahedra, pyramids and prisms during the refinement phase to produce a better topological representation of the surface geometry before snapping. $FOAM_SRC/mesh/autoMesh

Bugs Fixed / Maintenance 1. Improved bounded convection scheme to maintain diagonal dominance.

$FOAM_SRC/finiteVolume/finiteVolume/convectionSchemes/boundedConvectionScheme 2. Several stability and performance improvements to AMI:

Bridge overlap implemented to deal with poorly matching AMI sides. Algorithmic updates to improve conservation properties. $FOAM_SRC/meshTools/AMIInterpolation/AMIInterpolation

3. Allow boundary flowRateInletVelocity to use mean density to stabilise some cases with highly variable density at inlet. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateInletVelocity

4. Corrected cellDistance functions and nearWallDistance errors due to coupled additions. $FOAM_SRC/meshTools/cellDist

5. Improved tensor inverse calculation. $FOAM_SRC/OpenFOAM/fields/Fields/tensorField

Page 53: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 53 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

6. caseSetup initialiseUBCs option added to potentialFlow initialisation for U to solve issue with mass flow rate boundaries getting zero initial velocity field. $FOAM_APP/utilities/preProcessing/caseSetup

7. Changed default wall functions from “hybrid” to standard OPENFOAM equivalents (revert to standard versions). Results for hybrid omega and nut wall functions are now essentially the same as nutUSpalding and omegaWallFunction. $FOAM_ETC/dictData/caseSetupDict.fields

8. Added rotational symmetry option for interFoam to speed up solution convergence by reducing flux gradients and improving stability when using the MRF approach. $FOAM_APP/solvers/multiphase/interFoam

9. Activated existing functions and corrected top level compressible solver code support for adiabaticPerfectFluid equation of state by disabling thermal solution. $FOAM_SRC/thermophysicalModels/specie/equationOfState/adiabaticPerfectFluid

10. Added -nProcs option to createCase utility to automatically generate a correct decomposeParDict file. Default decomposition method is hierarchical. All hierarchical coefficients are automatically calculated and written to file. $FOAM_APP/utilities/preProcessing/createCase

11. caseSetup potentialFlow initialisation interface extended. Potential flow solver settings can now be accessed via the initialisation interface in caseSetup. New keywords: pSolver{<matrix solver>}, pRefCell, pRefValue, nNonOrthogonalCorrectors $FOAM_APP/utilities/preProcessing/caseSetup

12. Corrected minor bug in flowRateOutletVelocity that could cause instability during flow initialisation. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity

13. Solution acceleration via adaptive over-relaxation for chtMultiRegionSimpleFoam. Uses truncated Taylor Projection based on 3 time history. $FOAM_TUTORIALS/heatTransfer/chtMultiRegionSimpleFoam/multiRegion2DHeatedCoil $FOAM_APP/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam

14. Bug fixes for fieldProcess and wallheatTransfer (wallHTC, Cp). $FOAM_SRC/postProcessing/functionObjects/field/fieldProcess

15. CaseSetup materialoProperties now supports equationOfState entry via materialProperties interface. $FOAM_APP/utilities/preProcessing/caseSetup

16. Added entry rhoRef in caseSetup potentialFlow initialisation to correct the velocity calculation when using mass flow inlet for compressible solvers. Provides density for use during initialisation. $FOAM_APP/utilities/preProcessing/caseSetup

17. Added updates to sets to preserve them during renumbering. $FOAM_APP/utilities/mesh/manipulation/renumberMesh

18. Fixed extrudeToRegionMesh for parallel running by re-ordering processor patches.

Page 54: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 54 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_APP/utilities/mesh/generation/extrude/extrudeToRegionMesh 19. Change to layer growth method in snappyHexMesh so that now there cannot be more layers

generated than specified for the patch. Previously if you had 6 layers specified for one patch and the neighbour had 1 layer then the number of layers would increment from the lower layer count patch side. $FOAM_SRC/mesh/autoMesh

20. Added scaling back of mesh layers in snappyHexMesh in concave regions where collisions are detected with the initial layer displacements. $FOAM_SRC/mesh/autoMesh

21. Modified cutting plane algorithm to prevent voids from being created during cutting. $FOAM_SRC/sampling/cuttingPlane

HELYX® 2.0.1 (2.1_engysEdition-2.2) | Release date 04/12/2013

New Features 1. Added thermo model adiabaticPerfectFluid to allow running of acoustic calculations without

the need for temperature. $FOAM_SRC/thermophysicalModels/specie/equationOfState

2. Added utility moveToFeaturePoints which can allow mesh points to be snapped on to an explicitly or implicitly defined set of feature points $FOAM_APP/utilities/mesh/manipulation/moveToFeaturePoints

3. Added new keyword to castellatedMeshControls called minZoneRegionSize which removes cellZone regions smaller than the size specified by the keyword $FOAM_APP/utilities/mesh/generation/snappyHexMesh

4. Added new layer control keyword noErrors in snappyHexMesh. When set to true maxLayerIter is overridden and run until there are no errors in the final mesh. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

Bugs Fixed / Maintenance 1. Modified caseSetup potential flow initialisation to limit boundary (non-fixed value) as well as

interior values. $FOAM_APP/utilities/preProcessing/caseSetup

2. Fixed zoning in snappyHexMesh to allow topological walk to mark zones in a more consistent way. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

3. Fixed draughtRate calculation in postComfort utility. $FOAM_APP/utilities/postProcessing/miscellaneous/postComfort

4. Fixed mesh motion for applying correct displacement at non-adaptive patch points at coupled boundary. $FOAM_SRC/dynamicMesh/motionSmoother

5. Fixed surfaceNormalFixedValue for correct treatment of rotating inlets.

Page 55: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 55 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/surfaceNormalFixedValue 6. Update to Lagrangian tracking to prevent an error when particle passes through a cell which

has no positive tetrahedral decomposition. The particle is now removed from the simulation when this event occurs. $FOAM_SRC/lagrangian

7. Fixed bug in Lagrangian cellZone injection initial seeding which can lead to untracked particles being generated. $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/InjectionModel

HELYX® 1.0.2 (2.1_engysEdition-2.0) | Release date 20/05/2013

New Features 1. Added porous and MRF support to solver interFoam.

$FOAM_APP/solvers/multiphase/interFoam 2. Added porous and MRF support to solver compressibleInterFoam

$FOAM_APP/solvers/multiphase/compressibleInterFoam 3. Added rhoPimpleDyMFoam dynamic mesh transient compressible solver (Beta). Possible

issues with relative/absolute fluxes. $FOAM_APP/solvers/compressible/rhoPimpleFoam/rhoPimpleDyMFoam

4. Added support for LES interFoam to caseSetup. Solution state(transient incompressible les multiphaseVOF). $FOAM_CONFIG/dictData/caseSetupDict.stateData.interFoamLES

5. Added constrainedPressureVelocity boundary condition for field pointMotionU. Dynamically moves set selected part of patch based on DataEntry pressure. Includes smooth transition from moving to non-moving parts. Ideal for modelling loudspeakers or surface sound sources. $FOAM_ETC/fvMotionSolver/pointPatchFields/derived/constrainedPressureVelocity

6. Added function object multiFacePatchProbes for averaging surface pressure inside spherical volumes. More consistent with experiments than point probes, especially if mesh is fine. $FOAM_SRC/sampling/probes/multiFacePatchProbes.C

7. Added new option writeChangingMesh to function object writeEnsight to enable/disable output of dynamic mesh every timestep. Allows reduced sampling frequency and lower disk storage. $FOAM_SRC/postProcessing/functionObjects/conversion/writeEnsight

8. Added new check to checkMesh to look for faces that are not correctly connected. New test checks for cells where a face is connected to two or less other faces. Such elements are often produced by 3rd-party snappyHexMesh and routinely cause solver instability. $FOAM_APP/utilities/mesh/manipulation/checkMesh/checkTopology.C

9. Added functionality to handle transparent baffles. Only available for greyDiffusive boundary conditions (single wave length) with fvDOM. Automatically detects mappedPatches (baffle) and handles radiation properties according to transmissivity settings. Must be used in conjunction with temperatureThermoBaffleRad1D boundary for temperature.

Page 56: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 56 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/thermophysicalModels/radiationModels/derivedFvPatchFields/greyDiffusiveRadiation

10. Added new radiant boundary for environmental radiation. Allows environmental radiation to pass through transparent baffles. Also allows environmental radiation intensity and direction to vary in time (DataEntry). Setup is completely automated via existing solarRadiation function object. Transmissivity is specified independently from main radiation model. $FOAM_SRC/postProcessing/functionObjects/solvers/solarRadiation/radiantField.C

11. Added porous media support for dynamic meshes. Relative motion is reconstructed from mesh.phi(). Ideal for modelling tank sloshing with porous baffles with interDyMFoam. $FOAM_SRC/finiteVolume/cfdTools/general/porousMedia

12. Added support for mappedWall and mappedPatch boundaries to caseSetup. $FOAM_SRC/finiteVolume/cfdTools/general/boundarySetup

13. Added support for turbulence models v2f, kkLOmega, and qZeta to caseSetup. $FOAM_APP/utilities/preProcessing/caseSetup

14. Added Travin hybrid convection scheme blending source to fieldBlending scheme for switching between central differencing and upwind biased scheme CD in LES regions, UDS biased in RANS regions $FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor/blendingSource/hybrid

15. Modified waveTransmissive boundary to allow caseSetup usage. Use initial values instead of calculating wave based boundary properties based on non-existent fields. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derivedFvPatchFields/waveTransmissive

16. Added cellSizeRatio blending source for fieldBlending. Face based blending source based on the ratio of the smallest neighbour to the largest neighbour. $FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor/blendingSources/cellSizeRatioBlendingSource

17. Added hyperbolic tangent blending function for fieldBlending. Includes switch for low cost Pade’s approximation of tanh function. $FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor/blendingFunctions/tanhRamp

18. Updated flowrateOutletVelocity boundary to allow transient flow rates. Changed specification of flowRate to “DataEntry” type to allow use of tables, files and other input methods to describe transient flow rates. Still supports legacy input method. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity

19. Added skewPointLinear interpolation scheme (Beta). Offers improved face interpolation. $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/skewPointLinear

20. Added namedLocalBlended scheme for use with fieldBlending function object (Beta). Identical to localBlended except user should specify blending field name. $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/namedLocalBlended

Page 57: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 57 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

21. Added additional user defined heat source to turbulentConvectiveTemperature boundary condition. $FOAM_SRC/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentConvectiveTemperature

22. Added limited support for kOmegaSAS model to caseSetup (Beta). Use standard omegaWallFunctions instead of hybrid wall functions. $FOAM_SRC/turbulenceModels/incompressible/LES/kOmegaSSTSAS

23. Added autoInitialise application (Beta). Runs potential flow and calculates initial turbulence fields. Ideal for initialising single phase applications with velocity inlets. $FOAM_APP/utilities/preProcessing/autoInitialisation

24. Added boundary condition translation (Beta). Allows any simple boundary to be translated to a boundary of another type during construction. Allows limited support of legacy and 3rd party boundary conditions. $FOAM_SRC/finiteVolume/fields/fvPatchFields/fvPatchField/

25. Added function object fluidHeight to report maximum height of fluid in VOF multiphase flow solutions. $FOAM_SRC/postProcessing/functionObjects/report/fluidHeight

26. Added gradient extrapolated boundary for scalar fields. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/extrapolated/extrapolatedFvPatchScalarField.C

27. Added support for pointFields to caseSetup to allow the creation of initial mesh motion fields. $FOAM_APP/utilities/preProcessing/caseSetup

28. Added general version of rough wall function nutkGeneralRoughWallFunction (Beta). $FOAM_SRC/turbulenceModels/incompressible/RAS/derivedFvPatchFields/wallFunctions/nutWallFunctions/nutkGeneralRoughWallFunction

29. Added minIter option to linear solvers to specify minimum number of iterations. $FOAM_SRC/OpenFOAM/matrices/lduMatrix/

30. Added function object fieldBlendingFunction. New flexible blending factor calculation method. Combines arbitrary blending factor sources and blending functions for easy extensions. $FOAM_SRC/postProcessing/functionObjects/fields/fieldBlendingFactor

31. Added surface smoothing during feature snapping to produce more isotropic surface elements in snappyHexMesh. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

32. Added face splitting of degenerate cells to improve mesh quality and improved solver robustness. Splitting can be switched off using switch splitDegenerateCells in snapControls. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

33. Modified existing internal skewness check used by snappyHexMesh to handle anisotropic elements correctly. The default internal skewness metric has been changed from a value of 4 to 6 to account for this change.

Page 58: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 58 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM_SRC/dynamicMesh/motionSmoother/polyMeshGeometry 34. Added updates to solver pimpleDyMFoam to support automatic dynamic remeshing.

Currently only supports translational motion. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

35. Added updates to snappyHexMesh to support virtual transforms (scale, translate, rotate) to both tri and searchable surfaces. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

36. Switch keyword appendRegionName added to geometry surface dictionaries in snappyHexMesh to allow disabling of region names for single region surfaces. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

37. Added smoothing of surface normals on patch boundaries to improve layers on grown up patches. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

38. Added time options to snappyHexMesh to allow writing to specified time folders or constant folder. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

39. Added waves2Foam library with minor changes. Added waves2Foam tutorials to OpenFOAM tutorials along with training tutorials. Note that waves2Foam does not automatically compile with execution of the Allwmake script in $WM_PROJECT_DIR and must be done manually in waves2Foam folder. $FOAM_SRC/waves2Foam $FOAM_TUTORIALS/waves2Foam

40. Added support for electric field force in lagrangian intermediate particle forces sub-models. $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/ParticleForces/ElectricField

41. Added v2f RASmodel based on implementation of the v2f model of Durbin (1995), with modifications of Lien and Kalitzin (2001), and Davidson et al. (2003). Freely available implementation available at https://bitbucket.org/albertop/durbinlienkalitzindavidsonv2f by R. Michele, Y. Shi, and A. Passalacqua $FOAM_SRC/turbulenceModels/incompressible/RAS/DurbinLienKalitzinDavidsonV2f

42. Added Laminar solidification solver meltFoam and accompanying test case (Beta). $FOAM_APP/solvers/multiphase/meltFoam

43. Added keyword rezoneProblemCells to castellated snappyHexMesh dictionary which will attempt to rezone cells where quality issue might develop from snapping $FOAM_APP/utilities/mesh/generation/snappyHexMesh

44. Added keyword baffleChecks to zone definition in snappyHexMesh. When switched off baffle faces are not treated as internal for mesh quality checks. This improves the surface and layer coverage for meshing CHT cases. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

Page 59: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 59 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

45. Improved robustness of meshQualityControls keyword minVolCollapseRatio by removing problematic cells from the mesh. Activating this keyword can improve meshing in concave regions. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

Bugs Fixed / Maintenance 1. Fixed bug in fieldBlending that caused it to crash when modified during runtime.

$FOAM_SRC /postProcessing/functionObjects/field/fieldBlendingFactor 2. Fixed bug in caseSetup that prioritised default function objects over user defined function

objects. $FOAM_APP/utilities/preprocessing/caseSetup

3. Fixed nearestToCell to work in parallel. $FOAM_SRC/meshTools/sets/cellSources/nearestToCell

4. Fixed incorrect logic for constraining report surface to inside of bounding box and added spheric reporting constraint. Ideal for surface averaged probes. $FOAM_SRC/postProcessing/functionObjects/report/surfaceReport

5. Fixed caseSetup for handling of different multiphase specifications. caseSetup now recognises multiphaseVOF, multiphaseEuler, multiphase-Lagrange as multiphase variants. $FOAM_APP/utilities/preProcessing/caseSetup

6. Corrected the localMin interpolation scheme to actually return vf[face]= min(owner[face], neighbour[face]) as opposed to the minimum of the magnitude of the owner and neighbour cell values. $FOAM_SRC/finiteVolume/interpolation/surfaceInterpolation/schemes/localMin/

7. Bug fix to snappyHexMesh for multi-region cases where layers are not grown in one region and the mesh wave is not properly initialised. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

8. Bug fix to MRFZone when cyclicAMI and MRF zone boundary are coincident. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

HELYX-Core 2.1_engysEdition-1.0 | Release date 15/08/2012

New Features 1. Porting of all Engys applications and enhancements to the latest OPENFOAM public release

2.1.x. 2. Added keyword nOuterIter to snap dictionary which allows an outer feature snapping

iteration for more expensive but improved feature capturing. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

3. Added inverse edge length weighting to surface normal smoothing for improved layer coverage. The default number of surface normal smoothing iterations has been increased to 8. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

Page 60: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 60 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

4. Added automatic zoning for meshing AMI cases, together with repatching inside the moving zone for easier application of the moving Wall boundary condition. The zone is selected by specifying a location inside the moving region. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

5. Added output of surface field statistics to the sampling surface functionality (Use writeStatistics keyword to activate) $FOAM_SRC/sampling/sampleSurface

6. Added turboPerformance function object from the extend project. $FOAM_SRC/postProcessing/functionObjecrs/report/turboPerformance

7. New (Beta) gravitational settling to the concentration transport function object. It is activated by specifying terminal velocity and gravitational direction. $FOAM_SRC/postProcessing/functionObjecrs/solvers/concentrationTransport

8. Added actuation disk source to model a thruster based on radial loading and swirl profiles (see tutorial case $FOAM_TUTORIALS/incompressible/simpleFoam/twoThrusters). $FOAM_SRC/finiteVolume/cfdTools/general/fieldSources/basicSource/thrusterActuationDiskSource

9. Added a user defined ring geometry shape to snappyHexMesh. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

10. snappyHexMesh can now specify baffle surfaces as two sided (using keyword twoSided on a per surface basis). This requires the surface to be consistently oriented to begin with. An additional patch “<patchName>_OTHERSIDE” is created for storing the faces for the other side based on surface normal direction. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

11. snappyHexMesh can now override the automatic selection of patches to try growing up by specifying “grownUp” on a per region basis in the layers sub-dictionary. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

12. snappyHexMesh keyword “featureRefineAngle” can now be specified on a per region basis. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

13. New (Beta) snappyHexMesh multi-layer addition capability. Rather than adding layers in a single stage using the addLayerControls dictionary, layers can be added in stages by defining a list (addMultipleLayerControls) of layer addition dictionaries. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

14. Added support for boundary type cyclicAMI (arbitrary mesh interface) to caseSetup. $FOAM_APP/utilities/preprocessing/caseSetup

15. Added “-dict” option to caseSetup. User can specify alternative input dictionary name. $FOAM_APP/utilities/preprocessing/caseSetup

16. Added functionality to Boussinesq solvers to allow switching between face and cell based buoyancy. $FOAM_APP/solvers/heatTransfer/buoyantBoussinesq*

17. Added proximity based refinement to snappyHexMesh. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

Page 61: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 61 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

18. Added support for PIMPLE type solvers in caseSetup. All corresponding PISO solver have been deprecated. $FOAM_APP/utilities/preprocessing/caseSetup

19. Added application foamToRadtherm for interface with RadTherm. $FOAM_APP/utilities/postProcessing/dataConversion/foamToRadtherm

20. Added support for multiphase solvers interFoam and compressibleInterFoam in caseSetup. $FOAM_APP/utilities/preprocessing/caseSetup

21. Added setFields functionality to caseSetup, which now supports complete setFields functionality via fields -> initialisation. Useful for setting initial alpha fields for interFoam. $FOAM_APP/utilities/preprocessing/caseSetup

22. Added mappedProfile boundary for mapping Fluent format scalar profile data to FOAM. Allows coupling to Radtherm for wall temperatures. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/mappedProfile

23. Added ddt to fieldProcess. $FOAM_SRC/turbulenceModels/turbTools/fieldProcess

24. Added ability to multiply scalars to the dot operator in fieldProcess. $FOAM_SRC/turbulenceModels/turbTools/fieldProcess

Bugs Fixed / Maintenance 1. Changed pointInCell cell check for meshToMeshInterpolate since the existing one does not

guarantee a cell will be found if the point lies on a face. $FOAM_SRC/sampling/meshToMeshInterpolation/meshToMesh

2. Fixed issue with utility wallHeatFlux not finding the correct thermo model for compressible flows. $FOAM_APP/utilities/postProcessing/wall/wallHeatFlux

3. Fixed issue with the solar radiation function object setting relaxation factors. $FOAM_SRC/postProcessing/functionObjects/solvers/solarRadiation

4. Fixed issue with fieldAverage averagingStartTime initialisation segmentation fault. $FOAM_SRC/postProcessing/functionObjects/field/fieldAverage

5. Fixed issue with snappyHexMesh small face creation on processor boundaries. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

6. Fixed issue with caseSetup causing initial velocity to affect potentialFlow solver. $FOAM_APP/utilities/preprocessing/caseSetup

7. Fixed issue with caseSetup that caused large viscosities next to outlets when using Prandtl fields initialisation. $FOAM_APP/utilities/preprocessing/caseSetup

8. Fixed issue with caseSetup freezing if fvSolution/fvSchemes not present. $FOAM_APP/utilities/preprocessing/caseSetup

9. Deleted alphaSgs wall functions. Superseded by common alphat framework. 10. Corrected compressible alphatWallfunction typeName.

Page 62: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 62 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

11. Missing g warning in buoyantPressure BC now only appears in debug mode. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/buoyantPressure

12. Fixed parallel compatibility issue in caseSetup. $FOAM_APP/utilities/preProcessing/caseSetup

13. Removed deprecated caseSetupDict2 configuration files. $FOAM_CONFIG/dictData/caseSetupDict2.*

14. Added automatic initialisation of U boundaries to caseSetup potential flow solver. If a velocity field is initialised as “potentialFlow”, the boundaries will be updated before and after the solver. Previously it was only updated after. This will allow effective use of complex interpreted boundaries. $FOAM_APP/utilities/preprocessing/caseSetup

15. Boundary type empty no longer checks consistency on read. Consistency check moved to new version. Allows caseSetup to read fields with empty boundaries and change them to something else. $FOAM_SRC/finiteVolume/fields/fvPatchFields/constrained/empty

HELYX-Core 1.6_engysEdition-3.0 | Release date 11/10/2011

New Features 1. Paraview native installation upgraded to version 3.10.1 2. Documented boundary condition timeVaryingFlowRateInletVelocity

$FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/timeVaryingFlowRateInletVelocity 3. Documented boundary condition totalTemperature

$FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/totalTemperature 4. Documented boundary condition tangentialVelocity

$FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/tangentialVelocity 5. New boundary condition interpolatedInletOutlet of inletOutlet type that allows specification

of inlet value via interpolation table $FOAM_SRC /finiteVolume/fields/fvPatchFields/derived/interpolatedInletOutlet

6. New boundary condition velocityGradientDissipationInletOutlet of inletOutlet type for epsilon. Must be used in conjunction with windProfileDirectionVelocity. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/velocityGradientDissipationInletOutlet

7. New boundary condition windProfileDirectionVelocity of inletOutlet type for velocity to specify wind speed magnitude table and direction. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/windProfileDirectionVelocity

8. Added utility swak4Foam (Beta). Includes groovyBC and setFunkyFields. groovyBC and setFunkyFields source directories have been removed accordingly. $FOAM_SRC/swak4Foam

9. patchListToFace faceSet source added. The user can now use a list of patches instead of a single patch name to define a faceSet. Usage: names (patch1 patch2 patch3 . . . ) ; $FOAM_SRC/meshTools/sets/faceSources/patchListToFace

Page 63: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 63 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

10. Added patch boundary distance function. Algorithm to calculate how far the faces on a patch are from the boundary of the patch. Currently only used in adjoint solvers to damp patch source terms next to outlet patch boundaries. $FOAM_SRC/finiteVolume/fvMesh/wallDist/patchBoundaryDist.*

11. Added “constrained” bool function for all fvPatches. fvPatches now have a virtual member function “constrained” that reports whether the underlying patch type is a constrained type. $FOAM_SRC/finiteVolume/fields/fvPatchFields

12. New options for rhoSimpleFoam and buoyantSimpleFoam. Added thermalDissipation (viscous heating) with switch “thermalDissipation true” in SIMPLE dict. Added hEqn sub-cycling with hSubCycles > 1 in SIMPLE dict. $FOAM_APP/solvers/compressible/rhoSimpleFoam $FOAM_APP/solvers/heatTransfer/buoyantSimpleFoam

13. Added turbulent intensity + length scale inlet for nuTilda. Can be used for inlets, outlets and openings. Now default type for nuTilda in caseSetup. $FOAM_SRC/finiteVolume/fields/fvPatchfields/derived/nutTurbulentIntensityLengthScale

14. Added new generalised roughness wall function. Additional parameters B, Ksmooth and Krough allow for more detailed control of surface roughness. $FOAM_SRC/turbulenceModels/incompressible/RAS

15. New application surfaceInsidePoint for outputting point inside closed manifold surface. $FOAM_APP/utilities/surface/surfaceInsidePoint

16. New (Beta) function object fieldBlendingFactors. Dynamic selection of blending factors for use with localBlended scheme. To replace cflBlendingFactor function object. $FOAM_SRC/postProcessing/functionObjects/field/fieldBlendingFactor

17. New boundary interpolatedCylindricalVelocity for rotating inlet velocity profiles. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/interpolatedCylindricalVelocity

18. New application stretchMesh for stretching meshes in specified range and direction. Includes symmetric and asymmetric gradient. Currently moves all points in specified range - should be localized with pointSet. $FOAM_APP/utilities/mesh/manipulation/stretchMesh

19. Added new function object writeEnsight to export EnSight data at run time. $FOAM_SRC/postProcessing/functionObjects/conversion/writeEnsight/

20. Added (Beta) limiter pMin to boundary type flowRateOutletVelocity to revert to local zero-gradient-like behaviour if local pressure goes below pMin. Solution is likely to oscillate. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity

21. Added (Beta) limiter hMin to rhoPisoFoam in PISO section of fvSolution. Limits minimum value of enthalpy by reverting to previous valid timestep value. $FOAM_APP/solvers/compressible/rhoPisoFoam

22. Added 2 new operations to function object fieldProcess: wallHTC - wall heat transfer coefficient in W/m2K nearWallValue - creates zero field containing patch internal field values on boundaries $FOAM_SRC/turbulenceModels/turbTools/fieldProcess

23. New tutorial for solver speciesMixingFoam (Beta). Settings for tutorial are not optimised. $FOAM_APP/solvers/multiphase/speciesMixingFoam

24. Added pressure limiters for solver rhoSimpleFoam via pMin and pMax keywords in SIMPLE dictionary. rhoMin and rhoMax should not be present, otherwise p limiters will not function. $FOAM_APP/solvers/compressible/rhoSimpleFoam

Page 64: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 64 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

25. Added new foamCalc function “average”. Can be used to reconstruct surface fields or do a local spatial averaging of volume fields. $FOAM_SRC/postProcessing/foamCalcFunctions/field/average

26. New (Beta) 0D lumped capacitance boundary condition for basic modelling of transient temperature in thin walled solids. Currently only available for compressible solvers, no radiation coupling. Simple outside coupling: fixed temperature, fixed heat flux, fixed temperature plus heat transfer coefficient, tabulated temperature and outside convection coefficient. $FOAM_SRC/turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields/lumpedCapacitanceTemperature

27. Added new (Beta) experimental pseudo-transient solver for steady state flow and transient thermal calculations. $FOAM_APP/solvers/compressible/preudotransientCompressible

28. Added new sigma limiter on maximum velocity produced by potential flow caseSetup initialisation. Tunable parameter sigmaU allows limiting based on multiples of the standard deviation from the mean. $FOAM_APP/utilties/preProcessing/caseSetup

29. Added new nGapRefinement keyword to castellated controls in snappyHexMeshDict to set number of gap refinement iterations. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

30. Added (Beta) function in snappyHexMesh to add layers both sides of zoned surfaces for CHT modelling. To activate specify the number of layers for the zone in snappyHexMeshDict in the same way you would setup layers on a patch. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

31. Generalised environmental radiation extension for solarRadiation function. solarRadiation function object now supports multiple environmental radiation sources and directions. transmissivity list now supports regular expressions for boundary names. $FOAM_SRC/postProcessing/functionObjects/solvers/solarRadiation

32. Added (Beta) dummy GGI support for caseSetup and parallel handling. Added support for GGI to caseSetup (NB: not real GGI, dummy GGI for pre- and post-processing). GGI requires user input in boundaryMesh section: exactNamed{ggiName{type ggi; shadowPatch <name of patch on other side>; zone <name of comms zone>; bridgeOverlap <true/false>;} Different entries required for each new GGI. Existing GGIs will be maintained. GGI boundaries for fields are initialised automatically (NB: potentialFlow initialisation is not compatible with GGI). $FOAM_SRC/finiteVolume $FOAM_SRC/OpenFOAM $FOAM_APP/utilties/preProcessing/caseSetup

33. Added new general interface for selecting layer growth method in snappyHexMesh. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

34. Added support for surfaceScalarField averaging in function object fieldAverage. Useful for avergaing phi field. $FOAM_SRC/postProcessing/functionObjects/field/fieldAverage

Page 65: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 65 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

Bugs Fixed / Maintenance 1. surfaceReport massflux error. Corrected a bug in surfaceReport that would incorrectly report

the massflow for non-planar boundaries. $FOAM_SRC/sampling/report/surfaceReport

2. fvSolution and fvSchemes. Corrected merging of local and file based fv settings. Updated all subcomponents that use this functionality.

3. Default epsilon boundary conditions for low Re models in caseSetup. LienCubicKELowRe and LienLeschzinerLowRe models now correctly use fixedValue small for epsilon on walls.

4. groupOfHumansHeatflux. Fixed issue when reconstructing. $FOAM_SRC/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/groupOfHumansHeatFlux

5. Incompressible RAS SpalartAllmaras. Correction to turbulent viscosity from OpenFOAM-2.0. $FOAM_SRC/turbulenceModels/incompressible/RAS/SpalartAllmaras

6. Incompressible LES SpalartAllmarasDDES. Bug fix from OpenFOAM-1.7 rd factor uses grad(U) instead of curl(U). $FOAM_SRC/turbulenceModels/incompressible/LES/SpalartAllmarasDDES

7. phaseChangeHumidity. Fixed issue that caused reconstructPar to crash. $FOAM_SRC/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchField/phaseChangeHumidity

8. parMapFields. Fixed bug that prevented mapping to target processor. $FOAM_APP/utilities/preProcessing/parMapFields

9. Thermal radiation. Fixed bug in explicit radiation that caused incorrect convergence testing. $FOAM_SRC/thermophysicalModels/radiation/radiationModel/fvDOM

HELYX-Core 1.6_engysEdition-2.0 | Release date 04/04/2011

New features 1. checkDictionary (Beta): new application for checking for syntax errors in dictionaries.

Currently has very limited functionality that will be extended in the future. $FOAM_APP/utilities/preProcessing/checkDictionary

2. Added local data to interpolationTable. If fileName entry is not present, the object will look for a data entry. Data format is identical to that previously used in separate files $FOAM_SRC /OpenFOAM/interpolations/interpolationTable

3. Added new (Beta) boundary condition interpolatedInletOutlet of inletOutlet type that allows specification of inlet value via interpolation table $FOAM_SRC /finiteVolume/fields/fvPatchFields/derived/interpolatedInletOutlet

4. Added new (Beta) boundary condition velocityGradientDissipationInletOutlet of inletOutlet type for epsilon. Must be used in conjunction with windProfileDirectionVelocity. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/velocityGradientDissipationInletOutlet

5. Added new (Beta) boundary condition windProfileDirectionVelocity of inletOutlet type for velocity to specify wind speed magnitude table and direction. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/windProfileDirectionVelocity

Page 66: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 66 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

6. Added feature snapping for zoned surfaces in snappyHexMesh. To activate enable zoneFeatureSnapping switch in snappyHexMeshDict (Beta)

7. Optional modificationSwitch reuseExistingDicts added in caseSetupDict. Will read and merge existing dictionaries with those from caseSetup, preserving user modifications. $FOAM_APP/utilities/preProcessing/caseSetup $FOAM_ETC/dictData

8. snappyCheckMesh: new application to check for errors and output quality metrics using snappyHexMesh values. $FOAM_APP/utilities/mesh/manipulation/snappyCheckMesh

9. funkySetFields (Beta): new application to define new fields using symbolic equations. $FOAM_APP/utilities/preProcessing/FunkySetFields

10. Added (Beta) support for groovy boundary condition to define the values at the boundary using symbolic equations. $FOAM_SRC/groovyBC/

11. Update basic and thermo entries in thermoPhysicalProperties to match v1.7 (Beta). $FOAM_SRC/thermophysicalModels/

12. plotRes: new script to plot and monitor solution residual using a pre-existing solver log. $FOAM/bin/

13. Added new Lagrangian particle erosion model (Beta) $FOAM_SRC/lagrangian/intermediate/submodels/Kinematic/ErosionModel

14. Added MRF, porous media and thermal media support to solvers rhoSimpleFoam, rhoPisoFoam, buoyantSimpleFoam, buoyantPisoFoam, buoyantBoussinesqSimpleFoam and buoyantBoussinesqPisoFoam.

15. Optional modificationSwitch deleteUnusedFields added in caseSetupDict. Will delete any unused fields not initialised by caseSetup. $FOAM_APP/utilities/preProcessing/caseSetup $FOAM_ETC/dictData

16. caseSetup now supports controlDict setup. Default controlDicts exist for most solvers. This does not include function object for which a dedicated section is now available. $FOAM_APP/utilities/preProcessing/caseSetup $FOAM_ETC/dictData

17. caseSetup now supports function object setup. Function objects are added via an additional section called functions at the bottom of the caseSetup file. All functions will warn when the minimum amount of information has not been entered. All supported functions are created from a template containing generic info such as the required libraries and commonly used settings. $FOAM_APP/utilities/preProcessing/caseSetup $FOAM_ETC/dictData

18. porousZones, MRFZones and thermalZones can now be created via caseSetup. Empty files of this kind are created by default. The list format is no longer required. Entries are simply written as top level dictionaries inside these files. This has been made possible via low-level changes to underlying array class. Example: constant{porousZones{zone1{. . . } zone2{. . . }} $FOAM_APP/utilities/preProcessing/caseSetup $FOAM_ETC/dictData

Page 67: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 67 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

19. caseSetup state specification has been modularised to support a greater range of functionality more naturally. These modules can be combinations of several state entries or a single state. The new list include: AoA (age of air); CO2 (CO2 transport); radiation (thermal radiation on/off switch); humidity (humidity transport for incompressible flow). $FOAM_APP/utilities/preProcessing/caseSetup $FOAM_ETC/dictData

20. caseSetup now fully supports the following additional solvers: rhoSimpleFoam, rhoPisoFoam, buoyantSimpleFoam, buoyantFoam $FOAM_APP/utilities/preProcessing/caseSetup $FOAM_ETC/dictData

21. Added support for function objects: fieldAverage, fieldProcess, fieldWrite $FOAM_SRC /turbulenceModels/turbTools/

22. Added support for function objects: surfaces, patchWrite $FOAM_SRC /sampling/

23. Added support for incompressible laminar heat transfer in alphat wall functions $FOAM_SRC /turbulenceModels/incompressible/RAS/laminar

24. Added support for writing basic nastran file format. This is needed for support of distributed surfaces. $FOAM_SRC /triSurface/triSurface/interfaces/NAS

25. Added boundary condition cylindricalInletVelocity. Backported from v1.7. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derivedFvPatchFields/cylindricalInletVelocity

26. Utility snappyHexMesh can now refine along surface boundaries, not only surface feature edges. Usage controlled from refineSurfaceBoundary keyword in sub-dictionary castellatedMeshControls of snappyHexMeshDict. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

Bugs Fixed / Maintenance 1. Added new algorithm in snappyHexMesh for zoning mesh, to perform a more robust

insideness check. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

2. Function object passiveScalarTransport has been deprecated since it has duplicate functionality to concentrationTransport. $FOAM_SRC/postProcessing/functionObjects/solvers/passiveScalarTransport

3. Utility postComfort has been refactored to calculate additional comfort parameters and to provide better output. $FOAM_APP/utilities/postProcessing/miscellaneous/postComfort

4. Utility caseSetup will now exit with error if an exactNamed boundary condition or boundaryMesh entry is not a valid patch name. $FOAM_APP/utilities/preProcessing/caseSetup $FOAM_ETC/dictData

5. Utility createCase now populates default caseSetupDict with functions section containing volume report for U and p $FOAM_ETC/dictData/createCase.caseSetupDict

Page 68: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 68 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

6. All mass transfer coefficients are now post-fixed by the property that gets transported. E.g. the molecular diffusion coefficient for humidity field w is Dw (used to be just D). $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqSimpleFoam $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqPisoFoam

7. Each species has now its own turbulent diffusivity coefficient field. For humidity w, this is Dtw (instead of just Dt). This means that we can have independent function objects for different species without having to rely on the existence of one particular field. (In the past we could not solve CO2 without solving humidity.) Other changes: Cpv -> Cpw, Sct -> Sctw $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqSimpleFoam $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqPisoFoam

8. TRef should no longer has to be specified for buoyant cases that do not have Beta (expansion coefficient) specified. If there is no TRef and no Beta in transportProperties, then TRef is calculated as the initial volumetric mean temperature. This change has been incorporated in caseSetup. TRef will no longer be written by default. $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqSimpleFoam $FOAM_APP/solvers/heatTransfer/buoyantBoussinesqPisoFoam

9. Added support for effect of porosity on ddt(U) term in pisoFoam. To activate needs a porosity <x>; entry in the relevant porous media section. $FOAM_APP/solvers/incompressible/pisoFoam

10. simplePorousFoam: this utility has duplicate functionality to simpleFoam and porousSimpleFoam and has been deleted

11. A minor change (Beta) has been introduced in solver interFoam to reduce parasitic currents in high surface tension scenarios $FOAM_APP/solvers/multiPhase/interFoam

12. Boundary setup tools in caseSetup now support generic boundaries (zeroGradient) $FOAM_SRC/finiteVolume/cfdTools/general/boundarySetup

13. Added “weak” boundary condition formulation to improve stability of boundary type resistiveVelocity. $FOAM_SRC/finiteVolume/fields/fvPatchFields/derived/resistiveVelocity

14. All compressible alphat and Dt wallFunctions have been consolidated to work like their incompressible counterparts. As such alphaSgsWallFunctions no longer exist and have been replaced by the unified alphatWallFunctions. Available compressible wall functions are: compressible::DtJayatillekeWallFunction and compressible::alphatJayatillekeWallFunction, compressible::DtKaderWallFunction and compressible::alphatKaderWallFunction, compressible::DtWallFunction and compressible::alphatWallFunction Tutorials have been updated to comply with new specification. $FOAM_SRC /turbulenceModels/compressible/turbulenceModel/derivedFvPatchFields

15. Added additional controls and stability measures to boundary condition type phaseChangeHumidity to improve phase change thermal coupling. New controls include steadyEvaporation and thermalCoupling. The latter will link to boundary types

Page 69: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 69 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

turbulentHeatFluxTemp and turbulentConvectiveTemp. Uses under-relaxation of coupling heat-flux to stabilise system. This will impact accuracy somewhat in transient simulations. $FOAM_SRC/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/phaseChangeHumidity

16. snappySetupDict can now populate surface region data using keyword setAllPatches. $FOAM_APP/utilities/preProcessing/snappySetup/snappySetupDict

17. snappySetupDict will now deleted any entries from snappyHexMeshDict referring to geometry removed from triSurface folder. $FOAM_APP/utilities/preProcessing/snappySetup/snappySetupDict

18. Speed-up of pointEdge mesh wave when running snappyHexMesh on more than 32 processors. Re-factoring produces 3x speed-up of layer addition phase on 128 cpus. $FOAM_SRC/meshTools/PointEdgeWave

19. Utility createCase now creates log directory and have added support for compressible case controlDicts. $FOAM_APP/utilities/preProcessing/createCase

20. Minor modification to function object liftDrag to generalised moment contribution to front and rear lift so that it is alongside force direction instead of y-axis. $FOAM_SRC/turbulenceModels/turbTools

21. Capturing of baffle edges during direct feature snapping has been improved in snappyHexMesh. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

22. Merging of faces now performed at start of snapping and collapsing of edges now performed at the end of snapping to improve layer quality in snappyHexMesh. Edge collapsing controlled from keyword collapseTol in section snapControls of snappyHexMeshDict. $FOAM_APP/utilities/mesh/generation/snappyHexMesh

HELYX-Core 1.6-1.3 | Release date 19/11/2010

Bugs Fixed / Maintenance 1. fvDOM radiation model modified to make ray direction definition consistent throughout

entire model. Previously, two slightly different directions were defined for each ray. The inconsistent use of these directions caused stability and accuracy issues in certain situations. $FOAM_SRC/thermophysicalModels/radiation

2. Corrected reflected fvDOM radiation scaling. Since there is a discrete number of DOM rays shining is specific directions, it is possible for a flat surface element to be aligned such that it cannot radiate in a complete hemi-sphere. This was not taken into account in the standard implementation when scaling the energy intensity for individual rays. The net effect was that energy was lost (because less energy can be emitted than the incident amount) and the entire system would eventually cool to absolute zero. This loss is very slow and much more pronounced for small numbers of rays and large surfaces oriented parallel to some of the rays. In fact for certain ray/geometry combinations no loss would occur - this is why our validation

Page 70: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 70 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

case did not pick up the problem. It had a large number of rays, none of which were parallel to the outside walls of the standing manikin case. $FOAM_SRC/thermophysicalModels/radiation

HELYX-Core 1.6-1.2 | Release date 27/09/2010

New features 1. Addition of volumetric output (PPD, PMV, draught rate and operative temperature) for

postComfort tool. $FOAM/applications/utilities/postProcessing/miscellaneous/postComfort

2. relativeHumidity: new tool for calculating relative humidity from water vapour mass fraction, temperature and absolute pressure P $FOAM/applications/utilities/postProcessing/miscellaneous/relativeHumidity

3. Extended surfaceSplitByPatch: utility surfaceSplitByPatch now has two additional options: • -patch “(p1 p2 p3 . . . )” only writes out surfaces using the named regions • -outputFile name.ext outputs all specified regions to a single named file $FOAM/applications/utilities/surface/surfaceSplitByPatch

4. Condensation thermal coupling: added coupling of heat of phase change from phaseChangeHumidity to thermal boundaries. Always active when phase change and thermal flux/convection boundaries coexist. $FOAM/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentConvectiveTemperature $FOAM/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentConvectiveTemperature

5. Human comfort physiological boundary conditions: 4 boundary conditions and a dedicated function object for gas concentration transport. The new boundaries are based on empirical relationships for heat, humidity and CO2 production in heterogeneous groups of humans. The functionality currently only operates in conjunction with the buoyantBoussinesqSimple and PisoFoam solvers. Humidity has to be enabled for CO2 transport to work as the CO2 transport relies on the turbulent diffusion coefficient used for humidity. $FOAM/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/groupOfHumansCO2 $FOAM/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/groupOfHumansHeatFlux $FOAM/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/groupOfHumansHumidityFlux $FOAM/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/turbulentMassFluxConcentration $FOAM/src/postProcessing/functionObjects/solvers/concentrationTransport

Page 71: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 71 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

6. snappySetup: utility to populate the file snappyHexMeshDict with geometric data read from the constant/triSurface folder $FOAM/applications/utilities/preProcessing/snappySetup

7. createCase: simple utility for creating a new FOAM case directory. Includes folders system, constant, constant/triSurface, and files caseSetupDict, snappyHexMeshDict, controlDict, fvSchemes, fvSolution, decomposeParDict $FOAM/applications/utilities/preProcessing/createCase

8. caseSetup: new options and default settings for humidity (buoyantBoussinesqSimple and PisoFoam) and relativeHumidity initialisation. $FOAM/ applications/utilities/preProcessing/caseSetup $FOAM/etc/dictData/caseSetupDict.*

9. Added wall functions for species mass diffusion: Kader (default), Jayatellike, Simple $FOAM/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/DtWallFunctions

10. snappyHexMesh: added crack detection to attempt to automatically closed non-water tight geometries. Enabled by setting top level keyword crackDetection to true in snappyHexMeshDict. $FOAM/applications/utilities/mesh/generation/snappyHexMesh

11. snappyHexMesh: added support for distributed surfaces. Enabled by setting geometry type to distributedTriSurfaceMesh in snappyHexMeshDict. $FOAM/applications/utilities/mesh/generation/snappyHexMesh

12. flowRateOutletVelocity: added mass/volume flow outlet boundary {type flowRateOutletVelocity; flowRate 1}. Specify mass flow rate for compressible and volume flow rate for incompresible cases. $FOAM/src/finiteVolume/fields/fvPatchFields/derived/flowRateOutletVelocity

Bugs Fixed / Maintenance 1. The openmpi supplied in ThirdParty supports infiniband. Running on a machine without

support for infiniband can produce warnings. To suppress these warnings mpirun can be executed with the command line option -mca btl ^openib,ofud

2. surfaceReport now reports net volume/mass flux. This functionality only works when a single surface entry is used for reporting. $FOAM/src/sampling/report/surfaceReport

3. Added output of swirl to surfaceReport. Usage controlled from sub-dictionary swirlDict, where swirl direction and swirl centre are set. $FOAM/src/sampling/report/surfaceReport

4. Added rotatingPatches option to MRFZones. MRFzones can now use either rotating or nonRotating patches. Usage controlled from MRFZones entry rotatingPatches. $FOAM/src/finiteVolume/cfdTools/generla/MRF

5. Updated utility writeLiquidMass to support new boundary conditions.

Page 72: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 72 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

$FOAM/applications/utilities/postProcessing/wall/writeLiquidMass 6. phaseChangeHumidity wall boundary now supports surface droplets (transient cases only).

Enable with keywords droplets true; and contactAngle <liquid contact angle>; $FOAM/src/turbulenceModels/incompressible/turbulenceModel/derivedFvPatchFields/phaseChangeHumidity

7. buoyantBoussinesqPisoFoam: added switches for temperature/humidity and flow. Usage: fvSolution{PISO{temperature true/false; humidity true/false; flow true/false;}}. Can be used with steady-state flow field with transient temperature and/or humidity. $FOAM/applications/solvers/heatTransfer/buoyantBoussinesqPisoFoam

8. Added directFeatureSnapping in snappyHexMesh to prevent snapping to surface boundaries which are not also region boundaries. $FOAM/applications/utilities/mesh/generation/snappyHexMesh

9. Boussinesq setup in caseSetup will now write Beta (thermal expansion coefficient) to tranportProperties if found. It also reports which dictionaries are written to file. $FOAM/applications/utilities/preProcessing/caseSetup

10. exampleDictionaries: added Age of Air variant passiveScalarTransport function object: (functions.AgeOfAir) $FOAM/etc/exampleDictionaries

HELYX-Core 1.6-1.1 | Release date 01/06/2010

New features 1. Support for MPICH 2 has been added. 2. Open MPI can be executed with or without OFED support.

Bugs Fixed / Maintenance 1. An error in the comfort factor PMV calculation in postComfort has been solved.

HELYX-Core 1.6-1.0 | Release date 19/05/2010

New features 1. caseSetup: pre-processing utility to simplify case preparation and define boundary conditions,

turbulence model, fluid properties, solver type and field initialisation. The utility is controlled through dictionary system/caseSetupDict

2. snappyHexMesh: the original snappyHexMesh has been enhanced to capture feature edges automatically and improve robustness.

3. postComfort: post-processing utility to calculate comfort factors based on the ISO7730 standard, including PMV, PPD, DR and PD. Requires velocity, temperature and radiation fields. The utility is controlled through dictionary system/comfortDict

4. Discrete Ordinates Method radiation solver enhancements, including solar radiation 5. New advancing front Gauss-Seidel solver for DOM radiation in non-participating media

Page 73: cae-sc.jp...14. Added new initialisation method "Laplace". Generates a smooth field from boundary conditions. Useful for initialising compressible flows with pressure-pressure boundaries

For Authorised Users Only

HELYX® Core Release Notes Page 73 of 73 © Copyright 2017 ENGYS Limited. All rights reserved.

6. parMapFields: Map between parallel data sets in parallel 7. New boundaries: fixedMeanValue, resistivePressure/Velocity, radiation-temperature

coupling, hybrid wall functions for omega, interpolated and more. 8. New function objects: monitoring, manipulation, solution 9. Thermal support for incompressible turbulence models 10. Consolidation of LES and RAS models into single interface

Bugs Fixed / Maintenance 1. More stable formulation of incompressible Boussinesq solvers 2. Added support for incompressible flow to wallHeatFlux tool 3. Increased robustness of steady transport equations 4. Consistent momentum matrix diagonal field definition 5. Fixed interpolation table