From b435feffde703a681936bdf57164924d996506ed Mon Sep 17 00:00:00 2001 From: Vaggelis Papoutsis Date: Sat, 22 Jul 2023 17:23:13 +0300 Subject: [PATCH] TUT: added tutorials for topology optimisation A 1-Inlet-2-Outlet geometry is showcased for laminar and turbulent flows, set-up with different variants of porosity-based and level-set-based topology optimisation --- .../levelSet/R_05x_NB_01x/0/U | 70 +++++ .../levelSet/R_05x_NB_01x/0/Ua | 72 +++++ .../levelSet/R_05x_NB_01x/0/p | 67 +++++ .../levelSet/R_05x_NB_01x/0/pa | 67 +++++ .../levelSet/R_05x_NB_01x/Allclean | 14 + .../levelSet/R_05x_NB_01x/Allrun | 20 ++ .../constant/adjointRASProperties | 23 ++ .../R_05x_NB_01x/constant/transportProperties | 21 ++ .../constant/turbulenceProperties | 28 ++ .../levelSet/R_05x_NB_01x/reEval/0/U | 76 ++++++ .../levelSet/R_05x_NB_01x/reEval/0/Ua | 78 ++++++ .../levelSet/R_05x_NB_01x/reEval/0/p | 72 +++++ .../levelSet/R_05x_NB_01x/reEval/0/pa | 72 +++++ .../levelSet/R_05x_NB_01x/reEval/Allclean | 10 + .../levelSet/R_05x_NB_01x/reEval/AllrunReEval | 17 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_05x_NB_01x/reEval/system/controlDict | 47 ++++ .../reEval/system/decomposeParDict | 58 +++++ .../R_05x_NB_01x/reEval/system/fvSchemes | 47 ++++ .../R_05x_NB_01x/reEval/system/fvSolution | 55 ++++ .../R_05x_NB_01x/reEval/system/meshDict | 38 +++ .../reEval/system/optimisationDict | 118 +++++++++ .../R_05x_NB_01x/system/blockMeshDict | 245 ++++++++++++++++++ .../levelSet/R_05x_NB_01x/system/controlDict | 47 ++++ .../R_05x_NB_01x/system/decomposeParDict | 58 +++++ .../levelSet/R_05x_NB_01x/system/fvOptions | 21 ++ .../levelSet/R_05x_NB_01x/system/fvSchemes | 47 ++++ .../levelSet/R_05x_NB_01x/system/fvSolution | 55 ++++ .../R_05x_NB_01x/system/optimisationDict | 161 ++++++++++++ .../levelSet/R_05x_NB_01x/system/topoSetDict | 68 +++++ .../levelSet/R_05x_NB_02x/0/U | 70 +++++ .../levelSet/R_05x_NB_02x/0/Ua | 72 +++++ .../levelSet/R_05x_NB_02x/0/p | 67 +++++ .../levelSet/R_05x_NB_02x/0/pa | 67 +++++ .../levelSet/R_05x_NB_02x/Allclean | 14 + .../levelSet/R_05x_NB_02x/Allrun | 20 ++ .../constant/adjointRASProperties | 23 ++ .../R_05x_NB_02x/constant/transportProperties | 21 ++ .../constant/turbulenceProperties | 28 ++ .../levelSet/R_05x_NB_02x/reEval/0/U | 76 ++++++ .../levelSet/R_05x_NB_02x/reEval/0/Ua | 78 ++++++ .../levelSet/R_05x_NB_02x/reEval/0/p | 72 +++++ .../levelSet/R_05x_NB_02x/reEval/0/pa | 72 +++++ .../levelSet/R_05x_NB_02x/reEval/Allclean | 10 + .../levelSet/R_05x_NB_02x/reEval/AllrunReEval | 17 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_05x_NB_02x/reEval/system/controlDict | 47 ++++ .../reEval/system/decomposeParDict | 58 +++++ .../R_05x_NB_02x/reEval/system/fvSchemes | 47 ++++ .../R_05x_NB_02x/reEval/system/fvSolution | 55 ++++ .../R_05x_NB_02x/reEval/system/meshDict | 38 +++ .../reEval/system/optimisationDict | 118 +++++++++ .../R_05x_NB_02x/system/blockMeshDict | 245 ++++++++++++++++++ .../levelSet/R_05x_NB_02x/system/controlDict | 47 ++++ .../R_05x_NB_02x/system/decomposeParDict | 58 +++++ .../levelSet/R_05x_NB_02x/system/fvOptions | 21 ++ .../levelSet/R_05x_NB_02x/system/fvSchemes | 47 ++++ .../levelSet/R_05x_NB_02x/system/fvSolution | 55 ++++ .../R_05x_NB_02x/system/optimisationDict | 160 ++++++++++++ .../levelSet/R_05x_NB_02x/system/topoSetDict | 68 +++++ .../levelSet/R_10x_NB_01x/0/U | 70 +++++ .../levelSet/R_10x_NB_01x/0/Ua | 72 +++++ .../levelSet/R_10x_NB_01x/0/p | 67 +++++ .../levelSet/R_10x_NB_01x/0/pa | 67 +++++ .../levelSet/R_10x_NB_01x/Allclean | 14 + .../levelSet/R_10x_NB_01x/Allrun | 20 ++ .../constant/adjointRASProperties | 23 ++ .../R_10x_NB_01x/constant/transportProperties | 21 ++ .../constant/turbulenceProperties | 28 ++ .../levelSet/R_10x_NB_01x/reEval/0/U | 76 ++++++ .../levelSet/R_10x_NB_01x/reEval/0/Ua | 78 ++++++ .../levelSet/R_10x_NB_01x/reEval/0/p | 72 +++++ .../levelSet/R_10x_NB_01x/reEval/0/pa | 72 +++++ .../levelSet/R_10x_NB_01x/reEval/Allclean | 10 + .../levelSet/R_10x_NB_01x/reEval/AllrunReEval | 17 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_10x_NB_01x/reEval/system/controlDict | 47 ++++ .../reEval/system/decomposeParDict | 58 +++++ .../R_10x_NB_01x/reEval/system/fvSchemes | 47 ++++ .../R_10x_NB_01x/reEval/system/fvSolution | 55 ++++ .../R_10x_NB_01x/reEval/system/meshDict | 38 +++ .../reEval/system/optimisationDict | 118 +++++++++ .../R_10x_NB_01x/system/blockMeshDict | 245 ++++++++++++++++++ .../levelSet/R_10x_NB_01x/system/controlDict | 47 ++++ .../R_10x_NB_01x/system/decomposeParDict | 58 +++++ .../levelSet/R_10x_NB_01x/system/fvOptions | 21 ++ .../levelSet/R_10x_NB_01x/system/fvSchemes | 47 ++++ .../levelSet/R_10x_NB_01x/system/fvSolution | 55 ++++ .../R_10x_NB_01x/system/optimisationDict | 160 ++++++++++++ .../levelSet/R_10x_NB_01x/system/topoSetDict | 68 +++++ .../levelSet/R_10x_NB_02x/0/U | 70 +++++ .../levelSet/R_10x_NB_02x/0/Ua | 72 +++++ .../levelSet/R_10x_NB_02x/0/p | 67 +++++ .../levelSet/R_10x_NB_02x/0/pa | 67 +++++ .../levelSet/R_10x_NB_02x/Allclean | 14 + .../levelSet/R_10x_NB_02x/Allrun | 20 ++ .../constant/adjointRASProperties | 23 ++ .../R_10x_NB_02x/constant/transportProperties | 21 ++ .../constant/turbulenceProperties | 28 ++ .../levelSet/R_10x_NB_02x/reEval/0/U | 76 ++++++ .../levelSet/R_10x_NB_02x/reEval/0/Ua | 78 ++++++ .../levelSet/R_10x_NB_02x/reEval/0/p | 72 +++++ .../levelSet/R_10x_NB_02x/reEval/0/pa | 72 +++++ .../levelSet/R_10x_NB_02x/reEval/Allclean | 10 + .../levelSet/R_10x_NB_02x/reEval/AllrunReEval | 17 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_10x_NB_02x/reEval/system/controlDict | 47 ++++ .../reEval/system/decomposeParDict | 58 +++++ .../R_10x_NB_02x/reEval/system/fvSchemes | 47 ++++ .../R_10x_NB_02x/reEval/system/fvSolution | 55 ++++ .../R_10x_NB_02x/reEval/system/meshDict | 38 +++ .../reEval/system/optimisationDict | 118 +++++++++ .../R_10x_NB_02x/system/blockMeshDict | 245 ++++++++++++++++++ .../levelSet/R_10x_NB_02x/system/controlDict | 47 ++++ .../R_10x_NB_02x/system/decomposeParDict | 58 +++++ .../levelSet/R_10x_NB_02x/system/fvOptions | 21 ++ .../levelSet/R_10x_NB_02x/system/fvSchemes | 47 ++++ .../levelSet/R_10x_NB_02x/system/fvSolution | 55 ++++ .../R_10x_NB_02x/system/optimisationDict | 160 ++++++++++++ .../levelSet/R_10x_NB_02x/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/porosityBased/R_00x/0/U | 70 +++++ .../1_Inlet_2_Outlet/porosityBased/R_00x/0/Ua | 72 +++++ .../1_Inlet_2_Outlet/porosityBased/R_00x/0/p | 67 +++++ .../1_Inlet_2_Outlet/porosityBased/R_00x/0/pa | 67 +++++ .../porosityBased/R_00x/Allclean | 14 + .../porosityBased/R_00x/Allrun | 20 ++ .../R_00x/constant/adjointRASProperties | 23 ++ .../R_00x/constant/transportProperties | 21 ++ .../R_00x/constant/turbulenceProperties | 28 ++ .../porosityBased/R_00x/reEval/0/U | 76 ++++++ .../porosityBased/R_00x/reEval/0/Ua | 78 ++++++ .../porosityBased/R_00x/reEval/0/p | 72 +++++ .../porosityBased/R_00x/reEval/0/pa | 72 +++++ .../porosityBased/R_00x/reEval/Allclean | 10 + .../porosityBased/R_00x/reEval/AllrunReEval | 18 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../R_00x/reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_00x/reEval/system/controlDict | 47 ++++ .../R_00x/reEval/system/decomposeParDict | 58 +++++ .../R_00x/reEval/system/fvSchemes | 47 ++++ .../R_00x/reEval/system/fvSolution | 55 ++++ .../R_00x/reEval/system/meshDict | 38 +++ .../R_00x/reEval/system/optimisationDict | 118 +++++++++ .../porosityBased/R_00x/system/blockMeshDict | 245 ++++++++++++++++++ .../porosityBased/R_00x/system/controlDict | 47 ++++ .../R_00x/system/decomposeParDict | 58 +++++ .../porosityBased/R_00x/system/fvOptions | 21 ++ .../porosityBased/R_00x/system/fvSchemes | 47 ++++ .../porosityBased/R_00x/system/fvSolution | 55 ++++ .../R_00x/system/optimisationDict | 138 ++++++++++ .../porosityBased/R_00x/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/porosityBased/R_05x/0/U | 70 +++++ .../1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua | 72 +++++ .../1_Inlet_2_Outlet/porosityBased/R_05x/0/p | 67 +++++ .../1_Inlet_2_Outlet/porosityBased/R_05x/0/pa | 67 +++++ .../porosityBased/R_05x/Allclean | 14 + .../porosityBased/R_05x/Allrun | 20 ++ .../R_05x/constant/adjointRASProperties | 23 ++ .../R_05x/constant/transportProperties | 21 ++ .../R_05x/constant/turbulenceProperties | 28 ++ .../porosityBased/R_05x/reEval/0/U | 76 ++++++ .../porosityBased/R_05x/reEval/0/Ua | 78 ++++++ .../porosityBased/R_05x/reEval/0/p | 72 +++++ .../porosityBased/R_05x/reEval/0/pa | 72 +++++ .../porosityBased/R_05x/reEval/Allclean | 10 + .../porosityBased/R_05x/reEval/AllrunReEval | 18 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../R_05x/reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_05x/reEval/system/controlDict | 47 ++++ .../R_05x/reEval/system/decomposeParDict | 58 +++++ .../R_05x/reEval/system/fvSchemes | 47 ++++ .../R_05x/reEval/system/fvSolution | 55 ++++ .../R_05x/reEval/system/meshDict | 38 +++ .../R_05x/reEval/system/optimisationDict | 118 +++++++++ .../porosityBased/R_05x/system/blockMeshDict | 245 ++++++++++++++++++ .../porosityBased/R_05x/system/controlDict | 47 ++++ .../R_05x/system/decomposeParDict | 58 +++++ .../porosityBased/R_05x/system/fvOptions | 21 ++ .../porosityBased/R_05x/system/fvSchemes | 47 ++++ .../porosityBased/R_05x/system/fvSolution | 55 ++++ .../R_05x/system/optimisationDict | 166 ++++++++++++ .../porosityBased/R_05x/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/porosityBased/R_10x/0/U | 70 +++++ .../1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua | 72 +++++ .../1_Inlet_2_Outlet/porosityBased/R_10x/0/p | 67 +++++ .../1_Inlet_2_Outlet/porosityBased/R_10x/0/pa | 67 +++++ .../porosityBased/R_10x/Allclean | 14 + .../porosityBased/R_10x/Allrun | 20 ++ .../R_10x/constant/adjointRASProperties | 23 ++ .../R_10x/constant/transportProperties | 21 ++ .../R_10x/constant/turbulenceProperties | 28 ++ .../porosityBased/R_10x/reEval/0/U | 76 ++++++ .../porosityBased/R_10x/reEval/0/Ua | 78 ++++++ .../porosityBased/R_10x/reEval/0/p | 72 +++++ .../porosityBased/R_10x/reEval/0/pa | 72 +++++ .../porosityBased/R_10x/reEval/Allclean | 10 + .../porosityBased/R_10x/reEval/AllrunReEval | 18 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../R_10x/reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_10x/reEval/system/controlDict | 47 ++++ .../R_10x/reEval/system/decomposeParDict | 58 +++++ .../R_10x/reEval/system/fvSchemes | 47 ++++ .../R_10x/reEval/system/fvSolution | 55 ++++ .../R_10x/reEval/system/meshDict | 38 +++ .../R_10x/reEval/system/optimisationDict | 118 +++++++++ .../porosityBased/R_10x/system/blockMeshDict | 245 ++++++++++++++++++ .../porosityBased/R_10x/system/controlDict | 47 ++++ .../R_10x/system/decomposeParDict | 58 +++++ .../porosityBased/R_10x/system/fvOptions | 21 ++ .../porosityBased/R_10x/system/fvSchemes | 47 ++++ .../porosityBased/R_10x/system/fvSolution | 55 ++++ .../R_10x/system/optimisationDict | 166 ++++++++++++ .../porosityBased/R_10x/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/porosityBased/R_20x/0/U | 70 +++++ .../1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua | 72 +++++ .../1_Inlet_2_Outlet/porosityBased/R_20x/0/p | 67 +++++ .../1_Inlet_2_Outlet/porosityBased/R_20x/0/pa | 67 +++++ .../porosityBased/R_20x/Allclean | 14 + .../porosityBased/R_20x/Allrun | 20 ++ .../R_20x/constant/adjointRASProperties | 23 ++ .../R_20x/constant/transportProperties | 21 ++ .../R_20x/constant/turbulenceProperties | 28 ++ .../porosityBased/R_20x/reEval/0/U | 76 ++++++ .../porosityBased/R_20x/reEval/0/Ua | 78 ++++++ .../porosityBased/R_20x/reEval/0/p | 72 +++++ .../porosityBased/R_20x/reEval/0/pa | 72 +++++ .../porosityBased/R_20x/reEval/Allclean | 10 + .../porosityBased/R_20x/reEval/AllrunReEval | 18 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../R_20x/reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_20x/reEval/system/controlDict | 47 ++++ .../R_20x/reEval/system/decomposeParDict | 58 +++++ .../R_20x/reEval/system/fvSchemes | 47 ++++ .../R_20x/reEval/system/fvSolution | 55 ++++ .../R_20x/reEval/system/meshDict | 38 +++ .../R_20x/reEval/system/optimisationDict | 118 +++++++++ .../porosityBased/R_20x/system/blockMeshDict | 245 ++++++++++++++++++ .../porosityBased/R_20x/system/controlDict | 47 ++++ .../R_20x/system/decomposeParDict | 58 +++++ .../porosityBased/R_20x/system/fvOptions | 21 ++ .../porosityBased/R_20x/system/fvSchemes | 47 ++++ .../porosityBased/R_20x/system/fvSolution | 55 ++++ .../R_20x/system/optimisationDict | 166 ++++++++++++ .../porosityBased/R_20x/system/topoSetDict | 68 +++++ .../porosityBased/R_20x_massConstr/0/U | 70 +++++ .../porosityBased/R_20x_massConstr/0/Ua | 72 +++++ .../porosityBased/R_20x_massConstr/0/p | 67 +++++ .../porosityBased/R_20x_massConstr/0/pa | 67 +++++ .../porosityBased/R_20x_massConstr/Allclean | 14 + .../porosityBased/R_20x_massConstr/Allrun | 20 ++ .../constant/adjointRASProperties | 23 ++ .../constant/transportProperties | 21 ++ .../constant/turbulenceProperties | 28 ++ .../porosityBased/R_20x_massConstr/reEval/0/U | 76 ++++++ .../R_20x_massConstr/reEval/0/Ua | 78 ++++++ .../porosityBased/R_20x_massConstr/reEval/0/p | 72 +++++ .../R_20x_massConstr/reEval/0/pa | 72 +++++ .../R_20x_massConstr/reEval/Allclean | 10 + .../R_20x_massConstr/reEval/AllrunReEval | 18 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../reEval/system/controlDict | 47 ++++ .../reEval/system/decomposeParDict | 58 +++++ .../R_20x_massConstr/reEval/system/fvSchemes | 47 ++++ .../R_20x_massConstr/reEval/system/fvSolution | 55 ++++ .../R_20x_massConstr/reEval/system/meshDict | 38 +++ .../reEval/system/optimisationDict | 127 +++++++++ .../R_20x_massConstr/system/blockMeshDict | 245 ++++++++++++++++++ .../R_20x_massConstr/system/controlDict | 47 ++++ .../R_20x_massConstr/system/decomposeParDict | 58 +++++ .../R_20x_massConstr/system/fvOptions | 21 ++ .../R_20x_massConstr/system/fvSchemes | 48 ++++ .../R_20x_massConstr/system/fvSolution | 55 ++++ .../R_20x_massConstr/system/optimisationDict | 217 ++++++++++++++++ .../R_20x_massConstr/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/U | 70 +++++ .../levelSet/R_05x_NB_01/0/Ua | 72 +++++ .../levelSet/R_05x_NB_01/0/nuTilda | 69 +++++ .../levelSet/R_05x_NB_01/0/nuaTilda | 71 +++++ .../levelSet/R_05x_NB_01/0/nut | 69 +++++ .../1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/p | 67 +++++ .../levelSet/R_05x_NB_01/0/pa | 67 +++++ .../levelSet/R_05x_NB_01/Allclean | 14 + .../levelSet/R_05x_NB_01/Allrun | 20 ++ .../R_05x_NB_01/constant/adjointRASProperties | 23 ++ .../R_05x_NB_01/constant/transportProperties | 21 ++ .../R_05x_NB_01/constant/turbulenceProperties | 28 ++ .../levelSet/R_05x_NB_01/reEval/0/U | 76 ++++++ .../levelSet/R_05x_NB_01/reEval/0/Ua | 78 ++++++ .../levelSet/R_05x_NB_01/reEval/0/nuTilda | 75 ++++++ .../levelSet/R_05x_NB_01/reEval/0/nuaTilda | 77 ++++++ .../levelSet/R_05x_NB_01/reEval/0/nut | 75 ++++++ .../levelSet/R_05x_NB_01/reEval/0/p | 72 +++++ .../levelSet/R_05x_NB_01/reEval/0/pa | 72 +++++ .../levelSet/R_05x_NB_01/reEval/Allclean | 10 + .../levelSet/R_05x_NB_01/reEval/AllrunReEval | 17 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_05x_NB_01/reEval/system/controlDict | 47 ++++ .../reEval/system/decomposeParDict | 58 +++++ .../R_05x_NB_01/reEval/system/fvSchemes | 64 +++++ .../R_05x_NB_01/reEval/system/fvSolution | 59 +++++ .../R_05x_NB_01/reEval/system/meshDict | 38 +++ .../reEval/system/optimisationDict | 118 +++++++++ .../levelSet/R_05x_NB_01/system/blockMeshDict | 245 ++++++++++++++++++ .../levelSet/R_05x_NB_01/system/controlDict | 47 ++++ .../R_05x_NB_01/system/decomposeParDict | 58 +++++ .../levelSet/R_05x_NB_01/system/fvOptions | 25 ++ .../levelSet/R_05x_NB_01/system/fvSchemes | 64 +++++ .../levelSet/R_05x_NB_01/system/fvSolution | 59 +++++ .../R_05x_NB_01/system/optimisationDict | 165 ++++++++++++ .../levelSet/R_05x_NB_01/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/U | 70 +++++ .../levelSet/R_10x_NB_01/0/Ua | 72 +++++ .../levelSet/R_10x_NB_01/0/nuTilda | 69 +++++ .../levelSet/R_10x_NB_01/0/nuaTilda | 71 +++++ .../levelSet/R_10x_NB_01/0/nut | 69 +++++ .../1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/p | 67 +++++ .../levelSet/R_10x_NB_01/0/pa | 67 +++++ .../levelSet/R_10x_NB_01/Allclean | 14 + .../levelSet/R_10x_NB_01/Allrun | 20 ++ .../R_10x_NB_01/constant/adjointRASProperties | 23 ++ .../R_10x_NB_01/constant/transportProperties | 21 ++ .../R_10x_NB_01/constant/turbulenceProperties | 28 ++ .../levelSet/R_10x_NB_01/reEval/0/U | 76 ++++++ .../levelSet/R_10x_NB_01/reEval/0/Ua | 78 ++++++ .../levelSet/R_10x_NB_01/reEval/0/nuTilda | 75 ++++++ .../levelSet/R_10x_NB_01/reEval/0/nuaTilda | 77 ++++++ .../levelSet/R_10x_NB_01/reEval/0/nut | 75 ++++++ .../levelSet/R_10x_NB_01/reEval/0/p | 72 +++++ .../levelSet/R_10x_NB_01/reEval/0/pa | 72 +++++ .../levelSet/R_10x_NB_01/reEval/Allclean | 10 + .../levelSet/R_10x_NB_01/reEval/AllrunReEval | 17 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_10x_NB_01/reEval/system/controlDict | 47 ++++ .../reEval/system/decomposeParDict | 58 +++++ .../R_10x_NB_01/reEval/system/fvSchemes | 64 +++++ .../R_10x_NB_01/reEval/system/fvSolution | 59 +++++ .../R_10x_NB_01/reEval/system/meshDict | 38 +++ .../reEval/system/optimisationDict | 118 +++++++++ .../levelSet/R_10x_NB_01/system/blockMeshDict | 245 ++++++++++++++++++ .../levelSet/R_10x_NB_01/system/controlDict | 47 ++++ .../R_10x_NB_01/system/decomposeParDict | 58 +++++ .../levelSet/R_10x_NB_01/system/fvOptions | 25 ++ .../levelSet/R_10x_NB_01/system/fvSchemes | 64 +++++ .../levelSet/R_10x_NB_01/system/fvSolution | 59 +++++ .../R_10x_NB_01/system/optimisationDict | 165 ++++++++++++ .../levelSet/R_10x_NB_01/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/U | 70 +++++ .../levelSet/R_10x_NB_02/0/Ua | 72 +++++ .../levelSet/R_10x_NB_02/0/nuTilda | 69 +++++ .../levelSet/R_10x_NB_02/0/nuaTilda | 71 +++++ .../levelSet/R_10x_NB_02/0/nut | 69 +++++ .../1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/p | 67 +++++ .../levelSet/R_10x_NB_02/0/pa | 67 +++++ .../levelSet/R_10x_NB_02/Allclean | 14 + .../levelSet/R_10x_NB_02/Allrun | 20 ++ .../R_10x_NB_02/constant/adjointRASProperties | 23 ++ .../R_10x_NB_02/constant/transportProperties | 21 ++ .../R_10x_NB_02/constant/turbulenceProperties | 28 ++ .../levelSet/R_10x_NB_02/reEval/0/U | 76 ++++++ .../levelSet/R_10x_NB_02/reEval/0/Ua | 78 ++++++ .../levelSet/R_10x_NB_02/reEval/0/nuTilda | 75 ++++++ .../levelSet/R_10x_NB_02/reEval/0/nuaTilda | 77 ++++++ .../levelSet/R_10x_NB_02/reEval/0/nut | 75 ++++++ .../levelSet/R_10x_NB_02/reEval/0/p | 72 +++++ .../levelSet/R_10x_NB_02/reEval/0/pa | 72 +++++ .../levelSet/R_10x_NB_02/reEval/Allclean | 10 + .../levelSet/R_10x_NB_02/reEval/AllrunReEval | 17 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_10x_NB_02/reEval/system/controlDict | 47 ++++ .../reEval/system/decomposeParDict | 58 +++++ .../R_10x_NB_02/reEval/system/fvSchemes | 64 +++++ .../R_10x_NB_02/reEval/system/fvSolution | 59 +++++ .../R_10x_NB_02/reEval/system/meshDict | 38 +++ .../reEval/system/optimisationDict | 118 +++++++++ .../levelSet/R_10x_NB_02/system/blockMeshDict | 245 ++++++++++++++++++ .../levelSet/R_10x_NB_02/system/controlDict | 47 ++++ .../R_10x_NB_02/system/decomposeParDict | 58 +++++ .../levelSet/R_10x_NB_02/system/fvOptions | 25 ++ .../levelSet/R_10x_NB_02/system/fvSchemes | 64 +++++ .../levelSet/R_10x_NB_02/system/fvSolution | 59 +++++ .../R_10x_NB_02/system/optimisationDict | 165 ++++++++++++ .../levelSet/R_10x_NB_02/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/U | 70 +++++ .../levelSet/R_20x_NB_01/0/Ua | 72 +++++ .../levelSet/R_20x_NB_01/0/nuTilda | 69 +++++ .../levelSet/R_20x_NB_01/0/nuaTilda | 71 +++++ .../levelSet/R_20x_NB_01/0/nut | 69 +++++ .../1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/p | 67 +++++ .../levelSet/R_20x_NB_01/0/pa | 67 +++++ .../levelSet/R_20x_NB_01/Allclean | 14 + .../levelSet/R_20x_NB_01/Allrun | 20 ++ .../R_20x_NB_01/constant/adjointRASProperties | 23 ++ .../R_20x_NB_01/constant/transportProperties | 21 ++ .../R_20x_NB_01/constant/turbulenceProperties | 28 ++ .../levelSet/R_20x_NB_01/reEval/0/U | 76 ++++++ .../levelSet/R_20x_NB_01/reEval/0/Ua | 78 ++++++ .../levelSet/R_20x_NB_01/reEval/0/nuTilda | 75 ++++++ .../levelSet/R_20x_NB_01/reEval/0/nuaTilda | 77 ++++++ .../levelSet/R_20x_NB_01/reEval/0/nut | 75 ++++++ .../levelSet/R_20x_NB_01/reEval/0/p | 72 +++++ .../levelSet/R_20x_NB_01/reEval/0/pa | 72 +++++ .../levelSet/R_20x_NB_01/reEval/Allclean | 10 + .../levelSet/R_20x_NB_01/reEval/AllrunReEval | 17 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_20x_NB_01/reEval/system/controlDict | 47 ++++ .../reEval/system/decomposeParDict | 58 +++++ .../R_20x_NB_01/reEval/system/fvSchemes | 64 +++++ .../R_20x_NB_01/reEval/system/fvSolution | 59 +++++ .../R_20x_NB_01/reEval/system/meshDict | 38 +++ .../reEval/system/optimisationDict | 118 +++++++++ .../levelSet/R_20x_NB_01/system/blockMeshDict | 245 ++++++++++++++++++ .../levelSet/R_20x_NB_01/system/controlDict | 47 ++++ .../R_20x_NB_01/system/decomposeParDict | 58 +++++ .../levelSet/R_20x_NB_01/system/fvOptions | 25 ++ .../levelSet/R_20x_NB_01/system/fvSchemes | 64 +++++ .../levelSet/R_20x_NB_01/system/fvSolution | 59 +++++ .../R_20x_NB_01/system/optimisationDict | 165 ++++++++++++ .../levelSet/R_20x_NB_01/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/porosityBased/R_05x/0/U | 70 +++++ .../1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua | 72 +++++ .../porosityBased/R_05x/0/nuTilda | 69 +++++ .../porosityBased/R_05x/0/nuaTilda | 71 +++++ .../porosityBased/R_05x/0/nut | 69 +++++ .../1_Inlet_2_Outlet/porosityBased/R_05x/0/p | 67 +++++ .../1_Inlet_2_Outlet/porosityBased/R_05x/0/pa | 67 +++++ .../porosityBased/R_05x/Allclean | 14 + .../porosityBased/R_05x/Allrun | 20 ++ .../R_05x/constant/adjointRASProperties | 23 ++ .../R_05x/constant/transportProperties | 21 ++ .../R_05x/constant/turbulenceProperties | 28 ++ .../porosityBased/R_05x/reEval/0/U | 76 ++++++ .../porosityBased/R_05x/reEval/0/Ua | 78 ++++++ .../porosityBased/R_05x/reEval/0/nuTilda | 75 ++++++ .../porosityBased/R_05x/reEval/0/nuaTilda | 77 ++++++ .../porosityBased/R_05x/reEval/0/nut | 75 ++++++ .../porosityBased/R_05x/reEval/0/p | 72 +++++ .../porosityBased/R_05x/reEval/0/pa | 72 +++++ .../porosityBased/R_05x/reEval/Allclean | 10 + .../porosityBased/R_05x/reEval/AllrunReEval | 18 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../R_05x/reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_05x/reEval/system/controlDict | 47 ++++ .../R_05x/reEval/system/decomposeParDict | 58 +++++ .../R_05x/reEval/system/fvSchemes | 64 +++++ .../R_05x/reEval/system/fvSolution | 59 +++++ .../R_05x/reEval/system/meshDict | 38 +++ .../R_05x/reEval/system/optimisationDict | 118 +++++++++ .../porosityBased/R_05x/system/blockMeshDict | 245 ++++++++++++++++++ .../porosityBased/R_05x/system/controlDict | 47 ++++ .../R_05x/system/decomposeParDict | 58 +++++ .../porosityBased/R_05x/system/fvOptions | 25 ++ .../porosityBased/R_05x/system/fvSchemes | 64 +++++ .../porosityBased/R_05x/system/fvSolution | 59 +++++ .../R_05x/system/optimisationDict | 161 ++++++++++++ .../porosityBased/R_05x/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/porosityBased/R_10x/0/U | 70 +++++ .../1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua | 72 +++++ .../porosityBased/R_10x/0/nuTilda | 69 +++++ .../porosityBased/R_10x/0/nuaTilda | 71 +++++ .../porosityBased/R_10x/0/nut | 69 +++++ .../1_Inlet_2_Outlet/porosityBased/R_10x/0/p | 67 +++++ .../1_Inlet_2_Outlet/porosityBased/R_10x/0/pa | 67 +++++ .../porosityBased/R_10x/Allclean | 14 + .../porosityBased/R_10x/Allrun | 20 ++ .../R_10x/constant/adjointRASProperties | 23 ++ .../R_10x/constant/transportProperties | 21 ++ .../R_10x/constant/turbulenceProperties | 28 ++ .../porosityBased/R_10x/reEval/0/U | 76 ++++++ .../porosityBased/R_10x/reEval/0/Ua | 78 ++++++ .../porosityBased/R_10x/reEval/0/nuTilda | 75 ++++++ .../porosityBased/R_10x/reEval/0/nuaTilda | 77 ++++++ .../porosityBased/R_10x/reEval/0/nut | 75 ++++++ .../porosityBased/R_10x/reEval/0/p | 72 +++++ .../porosityBased/R_10x/reEval/0/pa | 72 +++++ .../porosityBased/R_10x/reEval/Allclean | 10 + .../porosityBased/R_10x/reEval/AllrunReEval | 18 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../R_10x/reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_10x/reEval/system/controlDict | 47 ++++ .../R_10x/reEval/system/decomposeParDict | 58 +++++ .../R_10x/reEval/system/fvSchemes | 64 +++++ .../R_10x/reEval/system/fvSolution | 59 +++++ .../R_10x/reEval/system/meshDict | 38 +++ .../R_10x/reEval/system/optimisationDict | 118 +++++++++ .../porosityBased/R_10x/system/blockMeshDict | 245 ++++++++++++++++++ .../porosityBased/R_10x/system/controlDict | 47 ++++ .../R_10x/system/decomposeParDict | 58 +++++ .../porosityBased/R_10x/system/fvOptions | 25 ++ .../porosityBased/R_10x/system/fvSchemes | 64 +++++ .../porosityBased/R_10x/system/fvSolution | 59 +++++ .../R_10x/system/optimisationDict | 161 ++++++++++++ .../porosityBased/R_10x/system/topoSetDict | 68 +++++ .../1_Inlet_2_Outlet/porosityBased/R_20x/0/U | 70 +++++ .../1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua | 72 +++++ .../porosityBased/R_20x/0/nuTilda | 69 +++++ .../porosityBased/R_20x/0/nuaTilda | 71 +++++ .../porosityBased/R_20x/0/nut | 69 +++++ .../1_Inlet_2_Outlet/porosityBased/R_20x/0/p | 67 +++++ .../1_Inlet_2_Outlet/porosityBased/R_20x/0/pa | 67 +++++ .../porosityBased/R_20x/Allclean | 14 + .../porosityBased/R_20x/Allrun | 20 ++ .../R_20x/constant/adjointRASProperties | 23 ++ .../R_20x/constant/transportProperties | 21 ++ .../R_20x/constant/turbulenceProperties | 28 ++ .../porosityBased/R_20x/reEval/0/U | 76 ++++++ .../porosityBased/R_20x/reEval/0/Ua | 78 ++++++ .../porosityBased/R_20x/reEval/0/nuTilda | 75 ++++++ .../porosityBased/R_20x/reEval/0/nuaTilda | 77 ++++++ .../porosityBased/R_20x/reEval/0/nut | 75 ++++++ .../porosityBased/R_20x/reEval/0/p | 72 +++++ .../porosityBased/R_20x/reEval/0/pa | 72 +++++ .../porosityBased/R_20x/reEval/Allclean | 10 + .../porosityBased/R_20x/reEval/AllrunReEval | 18 ++ .../reEval/constant/adjointRASProperties | 23 ++ .../R_20x/reEval/constant/transportProperties | 21 ++ .../reEval/constant/turbulenceProperties | 28 ++ .../R_20x/reEval/system/controlDict | 47 ++++ .../R_20x/reEval/system/decomposeParDict | 58 +++++ .../R_20x/reEval/system/fvSchemes | 64 +++++ .../R_20x/reEval/system/fvSolution | 59 +++++ .../R_20x/reEval/system/meshDict | 38 +++ .../R_20x/reEval/system/optimisationDict | 118 +++++++++ .../porosityBased/R_20x/system/blockMeshDict | 245 ++++++++++++++++++ .../porosityBased/R_20x/system/controlDict | 47 ++++ .../R_20x/system/decomposeParDict | 58 +++++ .../porosityBased/R_20x/system/fvOptions | 25 ++ .../porosityBased/R_20x/system/fvSchemes | 64 +++++ .../porosityBased/R_20x/system/fvSolution | 59 +++++ .../R_20x/system/optimisationDict | 161 ++++++++++++ .../porosityBased/R_20x/system/topoSetDict | 68 +++++ 554 files changed, 32957 insertions(+) create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuaTilda create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nut create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/Allclean create mode 100755 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/AllrunReEval create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/adjointRASProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/turbulenceProperties create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/optimisationDict create mode 100644 tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/Ua new file mode 100644 index 0000000000..8708895fe6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/U new file mode 100644 index 0000000000..35ee723708 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/Ua new file mode 100644 index 0000000000..74081f381d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + topOPatch + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/AllrunReEval new file mode 100755 index 0000000000..68164ba6b3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/AllrunReEval @@ -0,0 +1,17 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/fvSchemes new file mode 100644 index 0000000000..63e6bad479 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/controlDict new file mode 100644 index 0000000000..83149d516e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 50; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvOptions new file mode 100644 index 0000000000..5f299f19bf --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvOptions @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +momSource +{ + type topOSource; + names (U Ua); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSchemes new file mode 100644 index 0000000000..654bd4eb46 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSolution new file mode 100644 index 0000000000..281abedb7d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda|aTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/optimisationDict new file mode 100644 index 0000000000..896213b937 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/optimisationDict @@ -0,0 +1,161 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 300; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + //percentage 0.462; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 20; + interval 5; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type levelSet; + sensitivityType topO; + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + meanRadiusMult 5; + //radius 0.05; + } + interpolation + { + function sigmoidalHeaviside; + meanRadiusMult 1; + //d 0.01; + } + initialisation + { + method meshWave; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/Ua new file mode 100644 index 0000000000..8708895fe6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/U new file mode 100644 index 0000000000..35ee723708 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/Ua new file mode 100644 index 0000000000..74081f381d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + topOPatch + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/AllrunReEval new file mode 100755 index 0000000000..68164ba6b3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/AllrunReEval @@ -0,0 +1,17 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/fvSchemes new file mode 100644 index 0000000000..63e6bad479 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/controlDict new file mode 100644 index 0000000000..83149d516e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 50; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvOptions new file mode 100644 index 0000000000..5f299f19bf --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvOptions @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +momSource +{ + type topOSource; + names (U Ua); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSchemes new file mode 100644 index 0000000000..654bd4eb46 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSolution new file mode 100644 index 0000000000..281abedb7d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda|aTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/optimisationDict new file mode 100644 index 0000000000..5124e84ffb --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/optimisationDict @@ -0,0 +1,160 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 300; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + //percentage 0.462; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 20; + interval 5; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type levelSet; + sensitivityType topO; + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + meanRadiusMult 5; + } + interpolation + { + function sigmoidalHeaviside; + meanRadiusMult 2; + //d 0.01; + } + initialisation + { + method meshWave; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/Ua new file mode 100644 index 0000000000..8708895fe6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/U new file mode 100644 index 0000000000..35ee723708 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/Ua new file mode 100644 index 0000000000..74081f381d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + topOPatch + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/AllrunReEval new file mode 100755 index 0000000000..68164ba6b3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/AllrunReEval @@ -0,0 +1,17 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/fvSchemes new file mode 100644 index 0000000000..63e6bad479 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/controlDict new file mode 100644 index 0000000000..83149d516e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 50; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvOptions new file mode 100644 index 0000000000..5f299f19bf --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvOptions @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +momSource +{ + type topOSource; + names (U Ua); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSchemes new file mode 100644 index 0000000000..654bd4eb46 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSolution new file mode 100644 index 0000000000..281abedb7d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda|aTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/optimisationDict new file mode 100644 index 0000000000..3b9e52e9e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/optimisationDict @@ -0,0 +1,160 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 300; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + //percentage 0.462; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 20; + interval 5; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type levelSet; + sensitivityType topO; + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + meanRadiusMult 10; + } + interpolation + { + function sigmoidalHeaviside; + meanRadiusMult 1; + //d 0.01; + } + initialisation + { + method meshWave; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/Ua new file mode 100644 index 0000000000..8708895fe6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/U new file mode 100644 index 0000000000..35ee723708 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/Ua new file mode 100644 index 0000000000..74081f381d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + topOPatch + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/AllrunReEval new file mode 100755 index 0000000000..68164ba6b3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/AllrunReEval @@ -0,0 +1,17 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/fvSchemes new file mode 100644 index 0000000000..63e6bad479 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/controlDict new file mode 100644 index 0000000000..83149d516e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 50; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvOptions new file mode 100644 index 0000000000..5f299f19bf --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvOptions @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +momSource +{ + type topOSource; + names (U Ua); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSchemes new file mode 100644 index 0000000000..654bd4eb46 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSolution new file mode 100644 index 0000000000..281abedb7d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda|aTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/optimisationDict new file mode 100644 index 0000000000..2d4c42bc35 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/optimisationDict @@ -0,0 +1,160 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 300; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + //percentage 0.462; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 20; + interval 5; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type levelSet; + sensitivityType topO; + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + meanRadiusMult 10; + } + interpolation + { + function sigmoidalHeaviside; + meanRadiusMult 2; + //d 0.01; + } + initialisation + { + method meshWave; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/Ua new file mode 100644 index 0000000000..8708895fe6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/U new file mode 100644 index 0000000000..35ee723708 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/Ua new file mode 100644 index 0000000000..74081f381d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + topOPatch + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/AllrunReEval @@ -0,0 +1,18 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet-right wall/outlet-right patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSchemes new file mode 100644 index 0000000000..63e6bad479 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvOptions new file mode 100644 index 0000000000..5f299f19bf --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvOptions @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +momSource +{ + type topOSource; + names (U Ua); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSchemes new file mode 100644 index 0000000000..654bd4eb46 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/optimisationDict new file mode 100644 index 0000000000..bc3fed3673 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/optimisationDict @@ -0,0 +1,138 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 300; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight 1.; + type topOVolume; + percentage 0.462; + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua new file mode 100644 index 0000000000..8708895fe6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U new file mode 100644 index 0000000000..35ee723708 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua new file mode 100644 index 0000000000..74081f381d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + topOPatch + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval @@ -0,0 +1,18 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet-right wall/outlet-right patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSchemes new file mode 100644 index 0000000000..63e6bad479 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions new file mode 100644 index 0000000000..5f299f19bf --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +momSource +{ + type topOSource; + names (U Ua); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes new file mode 100644 index 0000000000..654bd4eb46 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/optimisationDict new file mode 100644 index 0000000000..81b5a140be --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/optimisationDict @@ -0,0 +1,166 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 300; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 50; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 5; + function tanh; + b 10; + } + betaMax 2500; + /* + // Alternative definition through Darcy + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + Darcy 1.e-05; // default value + } + */ + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua new file mode 100644 index 0000000000..8708895fe6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U new file mode 100644 index 0000000000..35ee723708 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua new file mode 100644 index 0000000000..74081f381d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + topOPatch + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval @@ -0,0 +1,18 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet-right wall/outlet-right patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSchemes new file mode 100644 index 0000000000..63e6bad479 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions new file mode 100644 index 0000000000..5f299f19bf --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +momSource +{ + type topOSource; + names (U Ua); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes new file mode 100644 index 0000000000..654bd4eb46 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict new file mode 100644 index 0000000000..86fd401217 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict @@ -0,0 +1,166 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 300; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 90; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 10; + function tanh; + b 20; + } + betaMax 2500; + /* + // Alternative definition through Darcy + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + Darcy 1.e-05; // default value + } + */ + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua new file mode 100644 index 0000000000..8708895fe6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U new file mode 100644 index 0000000000..35ee723708 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua new file mode 100644 index 0000000000..74081f381d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + topOPatch + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/AllrunReEval @@ -0,0 +1,18 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet-right wall/outlet-right patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes new file mode 100644 index 0000000000..63e6bad479 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions new file mode 100644 index 0000000000..5f299f19bf --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +momSource +{ + type topOSource; + names (U Ua); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes new file mode 100644 index 0000000000..654bd4eb46 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/optimisationDict new file mode 100644 index 0000000000..ef76b274b3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/optimisationDict @@ -0,0 +1,166 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 300; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 90; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 20; + function tanh; + b 30; + } + betaMax 2500; + /* + // Alternative definition through Darcy + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + Darcy 1.e-05; // default value + } + */ + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/Ua new file mode 100644 index 0000000000..8708895fe6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/U new file mode 100644 index 0000000000..35ee723708 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/Ua new file mode 100644 index 0000000000..74081f381d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + topOPatch + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + IEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OEntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + OREntranceWall + { + type adjointWallVelocity; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocity; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/AllrunReEval @@ -0,0 +1,18 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet-right wall/outlet-right patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointLaminar; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/transportProperties new file mode 100644 index 0000000000..13a169d653 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType laminar; + +RAS +{ + RASModel laminar; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/fvSchemes new file mode 100644 index 0000000000..63e6bad479 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/fvSchemes @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/optimisationDict new file mode 100644 index 0000000000..cb038b6e65 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/optimisationDict @@ -0,0 +1,127 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + mass + { + weight 1.; + type flowRatePartition; + inletPatches (inlet); + outletPatches (outlet outlet-right); + targetPercentages (0.5 0.5); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvOptions new file mode 100644 index 0000000000..ab5a0eb24b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvOptions @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +momSource +{ + type topOSource; + names (U Uaas1 Uamass); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvSchemes new file mode 100644 index 0000000000..8adf755f9f --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvSchemes @@ -0,0 +1,48 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Uaas1) bounded Gauss upwind; + div(-phi,Uamass) bounded Gauss upwind; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvSolution new file mode 100644 index 0000000000..33f0c181e9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/fvSolution @@ -0,0 +1,55 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U|Ua.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.2; + } + equations + { + U 0.7; + "Ua.*" 0.5; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/optimisationDict new file mode 100644 index 0000000000..40c8f00fb1 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/optimisationDict @@ -0,0 +1,217 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 1000; + //nInitialIters 1000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 1000; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + mass + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + mass + { + weight 1.; + type flowRatePartition; + inletPatches (inlet); + outletPatches (outlet outlet-right); + targetPercentages (0.5 0.5); + normalize true; + target 1.e-5; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + extraConvection 0; + nSmooth 0; + zeroATCPatchTypes (); + maskType faceCells; + } + // solution control + //------------------ + solutionControls + { + nIters 2000; + printMaxMags true; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 90; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 20; + function tanh; + b 30; + } + betaMax 2500; + /* + // Alternative definition through Darcy + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + Darcy 1.e-05; // default value + } + */ + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/Ua new file mode 100644 index 0000000000..4053ed914b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuTilda new file mode 100644 index 0000000000..14d34273f7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuTilda @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuaTilda new file mode 100644 index 0000000000..631fabd696 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nuaTilda @@ -0,0 +1,71 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nut new file mode 100644 index 0000000000..d3f6b82142 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/nut @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/U new file mode 100644 index 0000000000..7a7bb821c4 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/Ua new file mode 100644 index 0000000000..c740fbd652 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuTilda new file mode 100644 index 0000000000..69f810c28a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuTilda @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuaTilda new file mode 100644 index 0000000000..2fd0cb0cd2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nuaTilda @@ -0,0 +1,77 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nut new file mode 100644 index 0000000000..b2f3febab6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/nut @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + topOPatch + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/AllrunReEval new file mode 100755 index 0000000000..68164ba6b3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/AllrunReEval @@ -0,0 +1,17 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvOptions new file mode 100644 index 0000000000..fd885827c6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvOptions @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +eqSource +{ + type topOSource; + names + ( + U nuTilda yWall + Ua nuaTilda da + ); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSolution new file mode 100644 index 0000000000..11fcb495e1 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.5; + } + equations + { + U 0.8; + "Ua.*" 0.2; + "nuT.*" 0.3; + "nua.*" 0.2; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/optimisationDict new file mode 100644 index 0000000000..8ec21be593 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/optimisationDict @@ -0,0 +1,165 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 700; + nInitialIters 1000; + residualControl + { + "p.*" 5.e-5; + "U.*" 5.e-7; + "nu.*" 5.e-5; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 700; + nInitialIters 1000; + printMaxMags true; + residualControl + { + "pa.*" 5.e-5; + "Ua.*" 5.e-5; + "nua.*" 5.e-5; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + //percentage 0.462; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 70; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type levelSet; + sensitivityType topO; + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + meanRadiusMult 5; + } + interpolation + { + function sigmoidalHeaviside; + meanRadiusMult 1; + //d 0.01; + } + initialisation + { + method meshWave; + } + betaMax 50; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/Ua new file mode 100644 index 0000000000..4053ed914b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuTilda new file mode 100644 index 0000000000..14d34273f7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuTilda @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuaTilda new file mode 100644 index 0000000000..631fabd696 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nuaTilda @@ -0,0 +1,71 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nut new file mode 100644 index 0000000000..d3f6b82142 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/nut @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/U new file mode 100644 index 0000000000..7a7bb821c4 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/Ua new file mode 100644 index 0000000000..c740fbd652 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuTilda new file mode 100644 index 0000000000..69f810c28a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuTilda @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuaTilda new file mode 100644 index 0000000000..2fd0cb0cd2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nuaTilda @@ -0,0 +1,77 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nut new file mode 100644 index 0000000000..b2f3febab6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/nut @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + topOPatch + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/AllrunReEval new file mode 100755 index 0000000000..68164ba6b3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/AllrunReEval @@ -0,0 +1,17 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvOptions new file mode 100644 index 0000000000..fd885827c6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvOptions @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +eqSource +{ + type topOSource; + names + ( + U nuTilda yWall + Ua nuaTilda da + ); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSolution new file mode 100644 index 0000000000..11fcb495e1 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.5; + } + equations + { + U 0.8; + "Ua.*" 0.2; + "nuT.*" 0.3; + "nua.*" 0.2; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/optimisationDict new file mode 100644 index 0000000000..c40bed1b3f --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/optimisationDict @@ -0,0 +1,165 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 700; + nInitialIters 1000; + residualControl + { + "p.*" 5.e-5; + "U.*" 5.e-7; + "nu.*" 5.e-5; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 700; + nInitialIters 1000; + printMaxMags true; + residualControl + { + "pa.*" 5.e-5; + "Ua.*" 5.e-5; + "nua.*" 5.e-5; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + //percentage 0.462; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 70; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type levelSet; + sensitivityType topO; + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + meanRadiusMult 10; + } + interpolation + { + function sigmoidalHeaviside; + meanRadiusMult 1; + //d 0.01; + } + initialisation + { + method meshWave; + } + betaMax 50; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/Ua new file mode 100644 index 0000000000..4053ed914b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuTilda new file mode 100644 index 0000000000..14d34273f7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuTilda @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuaTilda new file mode 100644 index 0000000000..631fabd696 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nuaTilda @@ -0,0 +1,71 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nut new file mode 100644 index 0000000000..d3f6b82142 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/nut @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/U new file mode 100644 index 0000000000..7a7bb821c4 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/Ua new file mode 100644 index 0000000000..c740fbd652 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuTilda new file mode 100644 index 0000000000..69f810c28a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuTilda @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuaTilda new file mode 100644 index 0000000000..2fd0cb0cd2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nuaTilda @@ -0,0 +1,77 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nut new file mode 100644 index 0000000000..b2f3febab6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/nut @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + topOPatch + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/AllrunReEval new file mode 100755 index 0000000000..68164ba6b3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/AllrunReEval @@ -0,0 +1,17 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvOptions new file mode 100644 index 0000000000..fd885827c6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvOptions @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +eqSource +{ + type topOSource; + names + ( + U nuTilda yWall + Ua nuaTilda da + ); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSolution new file mode 100644 index 0000000000..11fcb495e1 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.5; + } + equations + { + U 0.8; + "Ua.*" 0.2; + "nuT.*" 0.3; + "nua.*" 0.2; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/optimisationDict new file mode 100644 index 0000000000..d82258c177 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/optimisationDict @@ -0,0 +1,165 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 700; + nInitialIters 1000; + residualControl + { + "p.*" 5.e-5; + "U.*" 5.e-7; + "nu.*" 5.e-5; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 700; + nInitialIters 1000; + printMaxMags true; + residualControl + { + "pa.*" 5.e-5; + "Ua.*" 5.e-5; + "nua.*" 5.e-5; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + //percentage 0.462; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 70; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type levelSet; + sensitivityType topO; + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + meanRadiusMult 10; + } + interpolation + { + function sigmoidalHeaviside; + meanRadiusMult 2; + //d 0.01; + } + initialisation + { + method meshWave; + } + betaMax 50; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/Ua new file mode 100644 index 0000000000..4053ed914b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuTilda new file mode 100644 index 0000000000..14d34273f7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuTilda @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuaTilda new file mode 100644 index 0000000000..631fabd696 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nuaTilda @@ -0,0 +1,71 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nut new file mode 100644 index 0000000000..d3f6b82142 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/nut @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/U new file mode 100644 index 0000000000..7a7bb821c4 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/Ua new file mode 100644 index 0000000000..c740fbd652 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuTilda new file mode 100644 index 0000000000..69f810c28a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuTilda @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuaTilda new file mode 100644 index 0000000000..2fd0cb0cd2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nuaTilda @@ -0,0 +1,77 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nut new file mode 100644 index 0000000000..b2f3febab6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/nut @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + topOPatch + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/AllrunReEval new file mode 100755 index 0000000000..68164ba6b3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/AllrunReEval @@ -0,0 +1,17 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvOptions new file mode 100644 index 0000000000..fd885827c6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvOptions @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +eqSource +{ + type topOSource; + names + ( + U nuTilda yWall + Ua nuaTilda da + ); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSolution new file mode 100644 index 0000000000..11fcb495e1 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.5; + } + equations + { + U 0.8; + "Ua.*" 0.2; + "nuT.*" 0.3; + "nua.*" 0.2; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/optimisationDict new file mode 100644 index 0000000000..bb109af27b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/optimisationDict @@ -0,0 +1,165 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 700; + nInitialIters 1000; + residualControl + { + "p.*" 5.e-5; + "U.*" 5.e-7; + "nu.*" 5.e-5; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 700; + nInitialIters 1000; + printMaxMags true; + residualControl + { + "pa.*" 5.e-5; + "Ua.*" 5.e-5; + "nua.*" 5.e-5; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + //percentage 0.462; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 70; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type levelSet; + sensitivityType topO; + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + meanRadiusMult 20; + } + interpolation + { + function sigmoidalHeaviside; + meanRadiusMult 1; + //d 0.01; + } + initialisation + { + method meshWave; + } + betaMax 50; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua new file mode 100644 index 0000000000..4053ed914b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuTilda new file mode 100644 index 0000000000..14d34273f7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuTilda @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuaTilda new file mode 100644 index 0000000000..631fabd696 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuaTilda @@ -0,0 +1,71 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nut new file mode 100644 index 0000000000..d3f6b82142 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nut @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U new file mode 100644 index 0000000000..7a7bb821c4 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua new file mode 100644 index 0000000000..c740fbd652 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuTilda new file mode 100644 index 0000000000..69f810c28a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuTilda @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuaTilda new file mode 100644 index 0000000000..2fd0cb0cd2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuaTilda @@ -0,0 +1,77 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nut new file mode 100644 index 0000000000..b2f3febab6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nut @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + topOPatch + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval @@ -0,0 +1,18 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet-right wall/outlet-right patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions new file mode 100644 index 0000000000..fd885827c6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +eqSource +{ + type topOSource; + names + ( + U nuTilda yWall + Ua nuaTilda da + ); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/optimisationDict new file mode 100644 index 0000000000..70cf1a6e75 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/optimisationDict @@ -0,0 +1,161 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 500; + nInitialIters 1000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + "nu.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 500; + nInitialIters 1000; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + "nua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 70; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 05; + function tanh; + b 10; + } + betaMax 50; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua new file mode 100644 index 0000000000..4053ed914b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuTilda new file mode 100644 index 0000000000..14d34273f7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuTilda @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuaTilda new file mode 100644 index 0000000000..631fabd696 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuaTilda @@ -0,0 +1,71 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nut new file mode 100644 index 0000000000..d3f6b82142 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nut @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U new file mode 100644 index 0000000000..7a7bb821c4 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua new file mode 100644 index 0000000000..c740fbd652 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuTilda new file mode 100644 index 0000000000..69f810c28a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuTilda @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuaTilda new file mode 100644 index 0000000000..2fd0cb0cd2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuaTilda @@ -0,0 +1,77 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nut new file mode 100644 index 0000000000..b2f3febab6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nut @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + topOPatch + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval @@ -0,0 +1,18 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet-right wall/outlet-right patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions new file mode 100644 index 0000000000..fd885827c6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +eqSource +{ + type topOSource; + names + ( + U nuTilda yWall + Ua nuaTilda da + ); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict new file mode 100644 index 0000000000..fa5329df26 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict @@ -0,0 +1,161 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 500; + nInitialIters 1000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + "nu.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 500; + nInitialIters 1000; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + "nua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 70; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 10; + function tanh; + b 20; + } + betaMax 50; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/U new file mode 100644 index 0000000000..d1ab548385 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/U @@ -0,0 +1,70 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua new file mode 100644 index 0000000000..4053ed914b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuTilda new file mode 100644 index 0000000000..14d34273f7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuTilda @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuaTilda new file mode 100644 index 0000000000..631fabd696 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuaTilda @@ -0,0 +1,71 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nut new file mode 100644 index 0000000000..d3f6b82142 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nut @@ -0,0 +1,69 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/p new file mode 100644 index 0000000000..333c6613a2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/p @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa new file mode 100644 index 0000000000..f954a80212 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean new file mode 100755 index 0000000000..387f267882 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean @@ -0,0 +1,14 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +if [ -d "reEval" ] +then + cd reEval + ./Allclean + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun new file mode 100755 index 0000000000..b253269152 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun @@ -0,0 +1,20 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication topoSet +runApplication setsToZones -noFlipMap +runApplication decomposePar +runParallel $(getApplication) + +if [[ ! -z $(which cartesian2DMesh) ]] +then + echo "Re-evaluating topO solution on a body-fitted grid" + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 & + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U new file mode 100644 index 0000000000..7a7bb821c4 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U @@ -0,0 +1,76 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0.001 0.001 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type fixedValue; + value uniform (1 0 0); + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua new file mode 100644 index 0000000000..c740fbd652 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volVectorField; + object U; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 0 0); + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform (0 0 0); + } + + topOPatch + { + type fixedValue; + value uniform (0 0 0); + } + + IEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OEntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + OREntranceWall + { + type fixedValue; + value uniform (0 0 0); + } + + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + + outlet + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + + outlet-right + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuTilda new file mode 100644 index 0000000000..69f810c28a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuTilda @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuaTilda b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuaTilda new file mode 100644 index 0000000000..2fd0cb0cd2 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuaTilda @@ -0,0 +1,77 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nuTilda; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 -1 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type fixedValue; + value uniform 0; + } + + topOPatch + { + type fixedValue; + value uniform 0; + } + + IEntranceWall + { + type fixedValue; + value uniform 0; + } + + OEntranceWall + { + type fixedValue; + value uniform 0; + } + + OREntranceWall + { + type fixedValue; + value uniform 0; + } + + inlet + { + type adjointInletNuaTilda; + value uniform 0; + } + + outlet + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } + + outlet-right + { + type adjointOutletNuaTildaFlux; + value uniform 0; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nut b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nut new file mode 100644 index 0000000000..b2f3febab6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nut @@ -0,0 +1,75 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object nut; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 1.e-4; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + topOPatch + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + IEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OEntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + OREntranceWall + { + type nutUSpaldingWallFunction; + value uniform 0; + } + + inlet + { + type fixedValue; + value uniform 1.e-4; + } + + outlet + { + type zeroGradient; + } + + outlet-right + { + type zeroGradient; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p new file mode 100644 index 0000000000..be8c1e2add --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type fixedValue; + value uniform 0.0; + } + + outlet-right + { + type fixedValue; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa new file mode 100644 index 0000000000..8e219909dd --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa @@ -0,0 +1,72 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + frontBack + { + type empty; + } + + designWall + { + type zeroGradient; + } + + topOPatch + { + type zeroGradient; + } + + IEntranceWall + { + type zeroGradient; + } + + OEntranceWall + { + type zeroGradient; + } + + OREntranceWall + { + type zeroGradient; + } + + inlet + { + type zeroGradient; + } + + outlet + { + type adjointOutletPressure; + value uniform 0.0; + } + + outlet-right + { + type adjointOutletPressure; + value uniform 0.0; + } + +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/Allclean new file mode 100755 index 0000000000..4be93bec56 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +rm -f *.stl *.fms +foamDictionary system/meshDict -entry surfaceFile -set fileName > /dev/null + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/AllrunReEval @@ -0,0 +1,18 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +time=$(foamDictionary ../system/controlDict -entry endTime -value) +cp ../optimisation/topOIsoSurfaces/topOIsoSurface$time.stl . +runApplication surfaceToFMS topOIsoSurface$time.stl +foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > /dev/null +sed -i 's/empty/wall/g' topOIsoSurface$time.fms +sed -i 's/inlet wall/inlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet wall/outlet patch/g' topOIsoSurface$time.fms +sed -i 's/outlet-right wall/outlet-right patch/g' topOIsoSurface$time.fms +runApplication cartesian2DMesh +runApplication decomposePar +runParallel $(getApplication) + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..079168df13 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/adjointRASProperties @@ -0,0 +1,23 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object adjointRASProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +adjointRASModel adjointSpalartAllmaras; + +adjointTurbulence on; + +printCoeffs off; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties new file mode 100644 index 0000000000..0fc71599b9 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties @@ -0,0 +1,21 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object transportProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +transportModel Newtonian; + +nu nu [0 2 -1 0 0 0 0] 2e-05; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..6ad95e51de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/turbulenceProperties @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object turbulenceProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel SpalartAllmaras; + + turbulence on; + + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/controlDict new file mode 100644 index 0000000000..9533859001 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 3000; + +purgeWrite 1; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict @@ -0,0 +1,38 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: 2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +FoamFile +{ + version 2; + format ascii; + class dictionary; + object meshDict; +} + +maxCellSize 0.006; + +surfaceFile fileName; + +boundaryCellSize 0.004; + +boundaryCellSizeRefinementThickness 0.015; + +boundaryLayers +{ + patchBoundaryLayers + { + "lower.*|upper.*|left.*|right.*|topOPatch" + { + nLayers 5; + thicknessRatio 1.8; + } + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict new file mode 100644 index 0000000000..ddda8d972e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict @@ -0,0 +1,118 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager singleRun; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 3000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active false; + type incompressible; + solver adjointSimple; + computeSensitivities false; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +/* +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise false; + } + betaMax 2500; + } + updateMethod + { + method MMA; + eta 1; + } +} +*/ + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict new file mode 100644 index 0000000000..247f1f0c3d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict @@ -0,0 +1,245 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0 0.3 0) //1 + (0 0.5 0) //2 + (0 0.55 0) //3 + (0 0.75 0) //4 + (0 1 0) //5 + (0.5 0 0) //6 + (0.5 0.3 0) //7 + (0.5 0.5 0) //8 + (0.5 0.55 0) //9 + (0.5 0.75 0) //10 + (0.5 1 0) //11 + (0.7 0 0) //12 + (0.7 0.3 0) //13 + (0.7 0.5 0) //14 + (0.7 0.55 0) //15 + (0.7 0.75 0) //16 + (0.7 1 0) //17 + (1 0 0) //18 + (1 0.3 0) //19 + (1 0.5 0) //20 + (1 0.55 0) //21 + (1 0.75 0) //22 + (1 1 0) //23 + (0 0 0.1) //24 + (0 0.3 0.1) //25 + (0 0.5 0.1) //26 + (0 0.55 0.1) //27 + (0 0.75 0.1) //28 + (0 1 0.1) //29 + (0.5 0 0.1) //30 + (0.5 0.3 0.1) //31 + (0.5 0.5 0.1) //32 + (0.5 0.55 0.1) //33 + (0.5 0.75 0.1) //34 + (0.5 1 0.1) //35 + (0.7 0 0.1) //36 + (0.7 0.3 0.1) //37 + (0.7 0.5 0.1) //38 + (0.7 0.55 0.1) //39 + (0.7 0.75 0.1) //40 + (0.7 1 0.1) //41 + (1 0 0.1) //42 + (1 0.3 0.1) //43 + (1 0.5 0.1) //44 + (1 0.55 0.1) //45 + (1 0.75 0.1) //46 + (1 1 0.1) //47 + + (-0.5 0.3 0) //48 + (-0.5 0.5 0) //49 + (-0.5 0.3 0.1) //50 + (-0.5 0.5 0.1) //51 + + (0.5 -0.5 0) //52 + (0.7 -0.5 0) //53 + (0.5 -0.5 0.1) //54 + (0.7 -0.5 0.1) //55 + + (1.5 0.55 0) //56 + (1.5 0.75 0) //57 + (1.5 0.55 0.1) //58 + (1.5 0.75 0.1) //59 +); + +blocks +( +/* + hex (0 24 30 6 1 25 31 7 ) (1 30 18) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 30 12) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 30 3) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 30 12) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 30 15) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 12 18) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 12 12) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 12 3) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 12 12) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 12 15) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 18 18) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 18 12) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 18 3) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 18 12) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 18 15) simpleGrading (1 1 1) //15 +//*/ +//* + hex (48 50 25 1 49 51 26 2 ) (1 50 20) simpleGrading (1 1 1) //0 + hex (0 24 30 6 1 25 31 7 ) (1 50 30) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 50 20) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 50 5) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 50 20) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 50 25) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 20 30) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 20 20) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 20 5) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 20 20) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 20 25) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 30 30) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 30 20) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 30 5) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 30 20) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 30 25) simpleGrading (1 1 1) //15 + hex (52 54 55 53 6 30 36 12) (1 20 50) simpleGrading (1 1 1) //16 + hex (21 45 58 56 22 46 59 57) (1 50 20) simpleGrading (1 1 1) //17 +//*/ +/* + hex (0 24 30 6 1 25 31 7 ) (1 100 60) simpleGrading (1 1 1) //1 + hex (1 25 31 7 2 26 32 8 ) (1 100 40) simpleGrading (1 1 1) //2 + hex (2 26 32 8 3 27 33 9 ) (1 100 10) simpleGrading (1 1 1) //3 + hex (3 27 33 9 4 28 34 10) (1 100 40) simpleGrading (1 1 1) //4 + hex (4 28 34 10 5 29 35 11) (1 100 50) simpleGrading (1 1 1) //5 + hex (6 30 36 12 7 31 37 13) (1 40 60) simpleGrading (1 1 1) //6 + hex (7 31 37 13 8 32 38 14) (1 40 40) simpleGrading (1 1 1) //7 + hex (8 32 38 14 9 33 39 15) (1 40 10) simpleGrading (1 1 1) //8 + hex (9 33 39 15 10 34 40 16) (1 40 40) simpleGrading (1 1 1) //9 + hex (10 34 40 16 11 35 41 17) (1 40 50) simpleGrading (1 1 1) //10 + hex (12 36 42 18 13 37 43 19) (1 60 60) simpleGrading (1 1 1) //11 + hex (13 37 43 19 14 38 44 20) (1 60 40) simpleGrading (1 1 1) //12 + hex (14 38 44 20 15 39 45 21) (1 60 10) simpleGrading (1 1 1) //13 + hex (15 39 45 21 16 40 46 22) (1 60 40) simpleGrading (1 1 1) //14 + hex (16 40 46 22 17 41 47 23) (1 60 50) simpleGrading (1 1 1) //15 +//*/ +); + +edges +( +); + +patches +( + wall designWall + ( + (1 0 24 25) + (3 2 26 27) + (4 3 27 28) + (5 4 28 29) + (11 5 29 35) + (17 11 35 41) + (23 17 41 47) + (22 23 47 46) + (20 21 45 44) + (19 20 44 43) + (18 19 43 42) + (0 6 30 24) + (12 18 42 36) + ) + + wall IEntranceWall + ( + (48 1 25 50) + (51 26 2 49) + ) + + wall OEntranceWall + ( + (6 52 54 30) + (12 36 55 53) + ) + + wall OREntranceWall + ( + (22 46 59 57) + (21 56 58 45) + ) + + patch inlet + ( + (49 48 50 51) + ) + patch outlet + ( + (52 53 55 54) + ) + patch outlet-right + ( + (56 57 59 58) + ) + empty frontBack + ( + (51 50 25 26) + (49 2 1 48) + + (30 54 55 36) + (6 12 53 52) + (46 45 58 59) + (22 57 56 21) + + (0 1 7 6) + (1 2 8 7) + (2 3 9 8) + (3 4 10 9) + (4 5 11 10) + (6 7 13 12) + (7 8 14 13) + (8 9 15 14) + (9 10 16 15) + (10 11 17 16) + (12 13 19 18) + (13 14 20 19) + (14 15 21 20) + (15 16 22 21) + (16 17 23 22) + + (24 30 31 25) + (25 31 32 26) + (26 32 33 27) + (27 33 34 28) + (28 34 35 29) + (30 36 37 31) + (31 37 38 32) + (32 38 39 33) + (33 39 40 34) + (34 40 41 35) + (36 42 43 37) + (37 43 44 38) + (38 44 45 39) + (39 45 46 40) + (40 46 47 41) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict new file mode 100644 index 0000000000..a82aa693bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict @@ -0,0 +1,47 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application adjointOptimisationFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 100; + +deltaT 1; + +writeControl timeStep; + +writeInterval 10; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict new file mode 100644 index 0000000000..91afa0a871 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict @@ -0,0 +1,58 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; +//method metis; +//method parMetis; + +simpleCoeffs +{ + n (2 2 1); + delta 0.001; +} + +hierarchicalCoeffs +{ + n (4 4 2); + delta 0.001; + order xyz; +} + +metisCoeffs +{ + //processorWeights + //( + // 1 + // 1 + // 1 + // 1 + //); +} + +manualCoeffs +{ + dataFile ""; +} + +distributed no; + +roots +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions new file mode 100644 index 0000000000..fd885827c6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions @@ -0,0 +1,25 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvOptions; +} +eqSource +{ + type topOSource; + names + ( + U nuTilda yWall + Ua nuaTilda da + ); + function linear; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes new file mode 100644 index 0000000000..d8d7227780 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes @@ -0,0 +1,64 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default steadyState; +} + +gradSchemes +{ + default Gauss linear; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(phi,nuTilda) bounded Gauss upwind; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + div(-phi,Ua) bounded Gauss upwind; + div(-phi,nuaTilda) bounded Gauss upwind; + div(-yPhi,da) Gauss linearUpwind gradDaConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear uncorrected; +} +snGradSchemes +{ + default uncorrected; +} +wallDist +{ + method advectionDiffusion; + advectionDiffusionCoeffs + { + method meshWave; + tolerance 1.e-6; + maxIter 1000; + epsilon 0.1; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution new file mode 100644 index 0000000000..028d5b2c04 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution @@ -0,0 +1,59 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +SIMPLE +{ + nNonOrthogonalCorrectors 0; +} + +solvers +{ + "p|pa.*|bTilda" + { + solver PCG; + preconditioner DIC; + tolerance 1e-09; + relTol 0.1; + } + + "U.*|Ua.*|nuTilda.*|nuaTilda.*|yWall.*|da.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.3; + "pa.*" 0.7; + } + equations + { + U 0.7; + "Ua.*" 0.3; + "nuT.*" 0.3; + "nua.*" 0.3; + yWall 0.7; + "da.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/optimisationDict new file mode 100644 index 0000000000..3bc984bc12 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/optimisationDict @@ -0,0 +1,161 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object optimisationDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +optimisationManager steadyOptimisation; + +primalSolvers +{ + op1 + { + active true; + type incompressible; + solver simple; + solutionControls + { + nIters 500; + nInitialIters 1000; + residualControl + { + "p.*" 5.e-7; + "U.*" 5.e-7; + "nu.*" 5.e-7; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches (inlet "outlet.*"); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 500; + nInitialIters 1000; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + "nua.*" 5.e-7; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight -1.; + type topOSolidVolume; + percentage + { + type scale; + scale + { + type stepRamp; + start 0; + duration 70; + interval 1; + } + value + { + type constant; + value constant 0.538; + } + } + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type dynamicTopO; + sensitivityType topO; + marchingCoeffs + { + seedPatches (designWall); + marchingStep 2; + } + fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 20; + function tanh; + b 40; + } + betaMax 50; + } + updateMethod + { + method MMA; + eta 1; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict new file mode 100644 index 0000000000..c9bfc30ace --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + // Inlet + { + name IEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 0.0 0.0)(0.0 1.0 1.0); + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + + // Design space + { + name designSpace; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 0.0 0.0)(1.0 1.0 1.0); + } + } +); + +// ************************************************************************* //