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 index d1ab548385..23a8103fb9 100644 --- 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 @@ -64,7 +64,7 @@ boundaryField { 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 index 8708895fe6..4fc33860de 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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 index 333c6613a2..6990146ff0 100644 --- 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 @@ -61,7 +61,7 @@ boundaryField 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 index f954a80212..9a8d9c8dfd 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/0/U index 35ee723708..1d6825f92e 100644 --- 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 @@ -70,7 +70,7 @@ boundaryField { 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 index 74081f381d..aaff8ba714 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ boundaryField 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 index be8c1e2add..1a857d895b 100644 --- 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 @@ -66,7 +66,7 @@ boundaryField 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 index 8e219909dd..22841a1c53 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/AllrunReEval index 68164ba6b3..5f644be547 100755 --- 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 @@ -10,6 +10,7 @@ foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > 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/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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_01x/reEval/system/decomposeParDict index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 63e6bad479..24d322bc6d 100644 --- 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 @@ -26,22 +26,25 @@ gradSchemes divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index ddda8d972e..5979444f68 100644 --- 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 @@ -88,31 +88,4 @@ adjointManagers } } -/* -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 index 247f1f0c3d..21bd1ba914 100644 --- 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 @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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 index 83149d516e..02bcb24102 100644 --- 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 @@ -28,7 +28,7 @@ deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 50; purgeWrite 0; 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 index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 5f299f19bf..ba15824534 100644 --- 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 @@ -12,6 +12,8 @@ FoamFile class dictionary; object fvOptions; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + momSource { type topOSource; @@ -19,3 +21,6 @@ momSource 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 index 654bd4eb46..24d322bc6d 100644 --- 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 @@ -26,22 +26,25 @@ gradSchemes divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Ua) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; } interpolationSchemes { - default linear; + 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 index 281abedb7d..6a3375ffaa 100644 --- 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 @@ -21,7 +21,7 @@ SIMPLE solvers { - "p|pa.*|bTilda|aTilda" + "p|pa.*|bTilda" { solver PCG; preconditioner DIC; @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index d1ab548385..23a8103fb9 100644 --- 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 @@ -64,7 +64,7 @@ boundaryField { 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 index 8708895fe6..4fc33860de 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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 index 333c6613a2..6990146ff0 100644 --- 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 @@ -61,7 +61,7 @@ boundaryField 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 index f954a80212..9a8d9c8dfd 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/0/U index 35ee723708..1d6825f92e 100644 --- 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 @@ -70,7 +70,7 @@ boundaryField { 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 index 74081f381d..aaff8ba714 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ boundaryField 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 index be8c1e2add..1a857d895b 100644 --- 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 @@ -66,7 +66,7 @@ boundaryField 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 index 8e219909dd..22841a1c53 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/AllrunReEval index 68164ba6b3..5f644be547 100755 --- 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 @@ -10,6 +10,7 @@ foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > 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/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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_05x_NB_02x/reEval/system/decomposeParDict index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 63e6bad479..24d322bc6d 100644 --- 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 @@ -26,22 +26,25 @@ gradSchemes divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index ddda8d972e..5979444f68 100644 --- 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 @@ -88,31 +88,4 @@ adjointManagers } } -/* -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 index 247f1f0c3d..21bd1ba914 100644 --- 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 @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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 index 83149d516e..02bcb24102 100644 --- 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 @@ -28,7 +28,7 @@ deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 50; purgeWrite 0; 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 index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 5f299f19bf..ba15824534 100644 --- 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 @@ -12,6 +12,8 @@ FoamFile class dictionary; object fvOptions; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + momSource { type topOSource; @@ -19,3 +21,6 @@ momSource 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 index 654bd4eb46..24d322bc6d 100644 --- 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 @@ -26,22 +26,25 @@ gradSchemes divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Ua) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; } interpolationSchemes { - default linear; + 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 index 281abedb7d..6a3375ffaa 100644 --- 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 @@ -21,7 +21,7 @@ SIMPLE solvers { - "p|pa.*|bTilda|aTilda" + "p|pa.*|bTilda" { solver PCG; preconditioner DIC; @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index 5124e84ffb..bb6b2adc6b 100644 --- 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 @@ -137,6 +137,7 @@ optimisation { regularise true; meanRadiusMult 5; + //radius 0.05; } interpolation { 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 index d1ab548385..23a8103fb9 100644 --- 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 @@ -64,7 +64,7 @@ boundaryField { 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 index 8708895fe6..4fc33860de 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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 index 333c6613a2..6990146ff0 100644 --- 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 @@ -61,7 +61,7 @@ boundaryField 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 index f954a80212..9a8d9c8dfd 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/0/U index 35ee723708..1d6825f92e 100644 --- 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 @@ -70,7 +70,7 @@ boundaryField { 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 index 74081f381d..aaff8ba714 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ boundaryField 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 index be8c1e2add..1a857d895b 100644 --- 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 @@ -66,7 +66,7 @@ boundaryField 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 index 8e219909dd..22841a1c53 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/AllrunReEval index 68164ba6b3..5f644be547 100755 --- 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 @@ -10,6 +10,7 @@ foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > 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/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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_01x/reEval/system/decomposeParDict index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 63e6bad479..24d322bc6d 100644 --- 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 @@ -26,22 +26,25 @@ gradSchemes divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index ddda8d972e..5979444f68 100644 --- 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 @@ -88,31 +88,4 @@ adjointManagers } } -/* -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 index 247f1f0c3d..21bd1ba914 100644 --- 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 @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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 index 83149d516e..02bcb24102 100644 --- 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 @@ -28,7 +28,7 @@ deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 50; purgeWrite 0; 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 index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 5f299f19bf..ba15824534 100644 --- 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 @@ -12,6 +12,8 @@ FoamFile class dictionary; object fvOptions; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + momSource { type topOSource; @@ -19,3 +21,6 @@ momSource 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 index 654bd4eb46..24d322bc6d 100644 --- 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 @@ -26,22 +26,25 @@ gradSchemes divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Ua) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; } interpolationSchemes { - default linear; + 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 index 281abedb7d..6a3375ffaa 100644 --- 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 @@ -21,7 +21,7 @@ SIMPLE solvers { - "p|pa.*|bTilda|aTilda" + "p|pa.*|bTilda" { solver PCG; preconditioner DIC; @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index 3b9e52e9e9..71e5e96fe6 100644 --- 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 @@ -137,6 +137,7 @@ optimisation { regularise true; meanRadiusMult 10; + //radius 0.05; } interpolation { 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 index d1ab548385..23a8103fb9 100644 --- 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 @@ -64,7 +64,7 @@ boundaryField { 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 index 8708895fe6..4fc33860de 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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 index 333c6613a2..6990146ff0 100644 --- 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 @@ -61,7 +61,7 @@ boundaryField 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 index f954a80212..9a8d9c8dfd 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/0/U index 35ee723708..1d6825f92e 100644 --- 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 @@ -70,7 +70,7 @@ boundaryField { 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 index 74081f381d..aaff8ba714 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ boundaryField 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 index be8c1e2add..1a857d895b 100644 --- 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 @@ -66,7 +66,7 @@ boundaryField 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 index 8e219909dd..22841a1c53 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/AllrunReEval index 68164ba6b3..5f644be547 100755 --- 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 @@ -10,6 +10,7 @@ foamDictionary system/meshDict -entry surfaceFile -set topOIsoSurface$time.fms > 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/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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/levelSet/R_10x_NB_02x/reEval/system/decomposeParDict index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 63e6bad479..24d322bc6d 100644 --- 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 @@ -26,22 +26,25 @@ gradSchemes divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index ddda8d972e..5979444f68 100644 --- 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 @@ -88,31 +88,4 @@ adjointManagers } } -/* -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 index 247f1f0c3d..21bd1ba914 100644 --- 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 @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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 index 83149d516e..02bcb24102 100644 --- 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 @@ -28,7 +28,7 @@ deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 50; purgeWrite 0; 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 index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 5f299f19bf..ba15824534 100644 --- 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 @@ -12,6 +12,8 @@ FoamFile class dictionary; object fvOptions; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + momSource { type topOSource; @@ -19,3 +21,6 @@ momSource 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 index 654bd4eb46..24d322bc6d 100644 --- 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 @@ -26,22 +26,25 @@ gradSchemes divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Ua) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss upwind; } interpolationSchemes { - default linear; + 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 index 281abedb7d..6a3375ffaa 100644 --- 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 @@ -21,7 +21,7 @@ SIMPLE solvers { - "p|pa.*|bTilda|aTilda" + "p|pa.*|bTilda" { solver PCG; preconditioner DIC; @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index 2d4c42bc35..7766ae65dc 100644 --- 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 @@ -137,6 +137,7 @@ optimisation { regularise true; meanRadiusMult 10; + //radius 0.05; } interpolation { 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 index d1ab548385..23a8103fb9 100644 --- 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 @@ -64,7 +64,7 @@ boundaryField { 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 index 8708895fe6..4fc33860de 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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 index 333c6613a2..6990146ff0 100644 --- 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 @@ -61,7 +61,7 @@ boundaryField 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 index f954a80212..9a8d9c8dfd 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index b253269152..596c4f1409 100755 --- 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 @@ -13,8 +13,8 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & - cd .. + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval + cd .. fi #------------------------------------------------------------------------------ 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U index 35ee723708..1d6825f92e 100644 --- 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 @@ -70,7 +70,7 @@ boundaryField { 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 index 74081f381d..aaff8ba714 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ boundaryField 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 index be8c1e2add..1a857d895b 100644 --- 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 @@ -66,7 +66,7 @@ boundaryField 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 index 8e219909dd..22841a1c53 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 63e6bad479..d6e4bb5c06 100644 --- 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 @@ -22,26 +22,30 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index ddda8d972e..5979444f68 100644 --- 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 @@ -88,31 +88,4 @@ adjointManagers } } -/* -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 index 247f1f0c3d..21bd1ba914 100644 --- 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 @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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 index a82aa693bc..f18e861c43 100644 --- 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 @@ -28,7 +28,7 @@ deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 100; purgeWrite 0; 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 index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 5f299f19bf..ba15824534 100644 --- 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 @@ -12,6 +12,8 @@ FoamFile class dictionary; object fvOptions; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + momSource { type topOSource; @@ -19,3 +21,6 @@ momSource 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 index 654bd4eb46..d6e4bb5c06 100644 --- 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 @@ -22,26 +22,30 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Ua) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index 81b5a140be..aaca03bad5 100644 --- 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 @@ -99,24 +99,9 @@ adjointManagers { vol { - weight -1.; - type topOSolidVolume; - percentage - { - type scale; - scale - { - type stepRamp; - start 0; - duration 50; - interval 1; - } - value - { - type constant; - value constant 0.538; - } - } + weight 1.; + type topOVolume; + percentage 0.462; } } } @@ -129,37 +114,23 @@ optimisation { designVariables { - type dynamicTopO; + type topO; sensitivityType topO; - marchingCoeffs - { - seedPatches (designWall); - marchingStep 2; - } fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); regularisation { regularise true; growFromWalls true; meanRadiusMult 5; - function tanh; - b 10; + function tanh; + b 10; } betaMax 2500; - /* - // Alternative definition through Darcy - betaMaxType Darcy; - DarcyCoeffs - { - inletPatches (inlet); - Darcy 1.e-05; // default value - } - */ + maxInitChange 0.2; } updateMethod { - method MMA; - eta 1; + method nullSpace; } } 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 index d1ab548385..23a8103fb9 100644 --- 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 @@ -64,7 +64,7 @@ boundaryField { 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 index 8708895fe6..4fc33860de 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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 index 333c6613a2..6990146ff0 100644 --- 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 @@ -61,7 +61,7 @@ boundaryField 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 index f954a80212..9a8d9c8dfd 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U index 35ee723708..1d6825f92e 100644 --- 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 @@ -70,7 +70,7 @@ boundaryField { 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 index 74081f381d..aaff8ba714 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ boundaryField 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 index be8c1e2add..1a857d895b 100644 --- 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 @@ -66,7 +66,7 @@ boundaryField 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 index 8e219909dd..22841a1c53 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 63e6bad479..d6e4bb5c06 100644 --- 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 @@ -22,26 +22,30 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index ddda8d972e..5979444f68 100644 --- 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 @@ -88,31 +88,4 @@ adjointManagers } } -/* -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 index 247f1f0c3d..21bd1ba914 100644 --- 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 @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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 index a82aa693bc..02bcb24102 100644 --- 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 @@ -22,13 +22,13 @@ startTime 0; stopAt endTime; -endTime 100; +endTime 50; deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 50; purgeWrite 0; 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 index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 5f299f19bf..ba15824534 100644 --- 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 @@ -12,6 +12,8 @@ FoamFile class dictionary; object fvOptions; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + momSource { type topOSource; @@ -19,3 +21,6 @@ momSource 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 index 654bd4eb46..d6e4bb5c06 100644 --- 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 @@ -22,26 +22,30 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Ua) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index 86fd401217..8241580ed6 100644 --- 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 @@ -99,24 +99,9 @@ adjointManagers { vol { - weight -1.; - type topOSolidVolume; - percentage - { - type scale; - scale - { - type stepRamp; - start 0; - duration 90; - interval 1; - } - value - { - type constant; - value constant 0.538; - } - } + weight 1.; + type topOVolume; + percentage 0.462; } } } @@ -129,37 +114,23 @@ optimisation { designVariables { - type dynamicTopO; + type topO; sensitivityType topO; - marchingCoeffs - { - seedPatches (designWall); - marchingStep 2; - } fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); regularisation { regularise true; growFromWalls true; meanRadiusMult 10; - function tanh; - b 20; + function tanh; + b 20; } betaMax 2500; - /* - // Alternative definition through Darcy - betaMaxType Darcy; - DarcyCoeffs - { - inletPatches (inlet); - Darcy 1.e-05; // default value - } - */ + maxInitChange 0.2; } updateMethod { - method MMA; - eta 1; + method nullSpace; } } 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 index d1ab548385..23a8103fb9 100644 --- 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 @@ -64,7 +64,7 @@ boundaryField { 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 index 8708895fe6..4fc33860de 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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 index 333c6613a2..6990146ff0 100644 --- 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 @@ -61,7 +61,7 @@ boundaryField 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 index f954a80212..9a8d9c8dfd 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U index 35ee723708..1d6825f92e 100644 --- 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 @@ -70,7 +70,7 @@ boundaryField { 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 index 74081f381d..aaff8ba714 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ boundaryField 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 index be8c1e2add..1a857d895b 100644 --- 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 @@ -66,7 +66,7 @@ boundaryField 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 index 8e219909dd..22841a1c53 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 63e6bad479..d6e4bb5c06 100644 --- 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 @@ -22,26 +22,30 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index ddda8d972e..5979444f68 100644 --- 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 @@ -88,31 +88,4 @@ adjointManagers } } -/* -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 index 247f1f0c3d..21bd1ba914 100644 --- 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 @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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 index a82aa693bc..02bcb24102 100644 --- 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 @@ -22,13 +22,13 @@ startTime 0; stopAt endTime; -endTime 100; +endTime 50; deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 50; purgeWrite 0; 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 index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 5f299f19bf..ba15824534 100644 --- 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 @@ -12,6 +12,8 @@ FoamFile class dictionary; object fvOptions; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + momSource { type topOSource; @@ -19,3 +21,6 @@ momSource 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 index 654bd4eb46..d6e4bb5c06 100644 --- 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 @@ -22,26 +22,30 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Ua) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index ef76b274b3..23d616b0a0 100644 --- 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 @@ -99,24 +99,9 @@ adjointManagers { vol { - weight -1.; - type topOSolidVolume; - percentage - { - type scale; - scale - { - type stepRamp; - start 0; - duration 90; - interval 1; - } - value - { - type constant; - value constant 0.538; - } - } + weight 1.; + type topOVolume; + percentage 0.462; } } } @@ -129,37 +114,23 @@ optimisation { designVariables { - type dynamicTopO; + type topO; sensitivityType topO; - marchingCoeffs - { - seedPatches (designWall); - marchingStep 2; - } fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); regularisation { regularise true; growFromWalls true; meanRadiusMult 20; - function tanh; - b 30; + function tanh; + b 40; } betaMax 2500; - /* - // Alternative definition through Darcy - betaMaxType Darcy; - DarcyCoeffs - { - inletPatches (inlet); - Darcy 1.e-05; // default value - } - */ + maxInitChange 0.2; } updateMethod { - method MMA; - eta 1; + method nullSpace; } } 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 index d1ab548385..23a8103fb9 100644 --- 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 @@ -64,7 +64,7 @@ boundaryField { 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 index 8708895fe6..4fc33860de 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField 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 index 333c6613a2..6990146ff0 100644 --- 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 @@ -61,7 +61,7 @@ boundaryField 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 index f954a80212..9a8d9c8dfd 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/0/U index 35ee723708..1d6825f92e 100644 --- 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 @@ -70,7 +70,7 @@ boundaryField { 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 index 74081f381d..aaff8ba714 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ boundaryField 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 index be8c1e2add..1a857d895b 100644 --- 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 @@ -66,7 +66,7 @@ boundaryField 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 index 8e219909dd..22841a1c53 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // 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 index 13a169d653..566ce53a02 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_20x_massConstr/reEval/system/decomposeParDict index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index 63e6bad479..d6e4bb5c06 100644 --- 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 @@ -22,26 +22,30 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index cb038b6e65..ebb9063e1e 100644 --- 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 @@ -62,7 +62,6 @@ adjointManagers weight 1.; type PtLosses; patches (inlet "outlet.*"); - normalize true; } mass { @@ -71,7 +70,6 @@ adjointManagers inletPatches (inlet); outletPatches (outlet outlet-right); targetPercentages (0.5 0.5); - normalize true; } } } @@ -97,31 +95,4 @@ adjointManagers } } -/* -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 index 247f1f0c3d..21bd1ba914 100644 --- 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 @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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 index a82aa693bc..02bcb24102 100644 --- 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 @@ -22,13 +22,13 @@ startTime 0; stopAt endTime; -endTime 100; +endTime 50; deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 50; purgeWrite 0; 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 index 91afa0a871..ee6bfc7e8b 100644 --- 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 @@ -17,42 +17,5 @@ FoamFile 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 index ab5a0eb24b..b6b2979ab6 100644 --- 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 @@ -12,6 +12,8 @@ FoamFile class dictionary; object fvOptions; } +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + momSource { type topOSource; @@ -19,3 +21,6 @@ momSource 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 index 8adf755f9f..d6e4bb5c06 100644 --- 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 @@ -22,27 +22,30 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; - div(-phi,Uamass) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; } interpolationSchemes { - default linear; + 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 index 33f0c181e9..6a3375ffaa 100644 --- 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 @@ -52,4 +52,5 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// ************************************************************************* // 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 index 40c8f00fb1..99605c4f1a 100644 --- 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 @@ -26,7 +26,6 @@ primalSolvers solutionControls { nIters 1000; - //nInitialIters 1000; residualControl { "p.*" 5.e-7; @@ -126,7 +125,6 @@ adjointManagers solutionControls { nIters 2000; - printMaxMags true; residualControl { "pa.*" 5.e-7; @@ -150,24 +148,9 @@ adjointManagers { vol { - weight -1.; - type topOSolidVolume; - percentage - { - type scale; - scale - { - type stepRamp; - start 0; - duration 90; - interval 1; - } - value - { - type constant; - value constant 0.538; - } - } + weight 1.; + type topOVolume; + percentage 0.462; } } } @@ -180,37 +163,23 @@ optimisation { designVariables { - type dynamicTopO; + type topO; sensitivityType topO; - marchingCoeffs - { - seedPatches (designWall); - marchingStep 2; - } fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); regularisation { regularise true; growFromWalls true; meanRadiusMult 20; - function tanh; - b 30; + function tanh; + b 40; } betaMax 2500; - /* - // Alternative definition through Darcy - betaMaxType Darcy; - DarcyCoeffs - { - inletPatches (inlet); - Darcy 1.e-05; // default value - } - */ + maxInitChange 0.2; } updateMethod { - method MMA; - eta 1; + method nullSpace; } } diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/U similarity index 97% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/U rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/U index d1ab548385..7ff41e373c 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/U +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/U @@ -16,7 +16,7 @@ FoamFile dimensions [0 1 -1 0 0 0 0]; -internalField uniform (0.001 0.001 0); +internalField uniform (0 0 0); boundaryField { @@ -64,7 +64,7 @@ boundaryField { 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_Dual_Bottleneck/losses-mass-30-70/0/Ua similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/Ua rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/Ua index 8708895fe6..4fc33860de 100644 --- 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_Dual_Bottleneck/losses-mass-30-70/0/Ua @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,7 @@ boundaryField type adjointOutletVelocity; value uniform (0 0 0); } - } + // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/p similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/p rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/p index 333c6613a2..6990146ff0 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/p +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/p @@ -61,7 +61,7 @@ boundaryField 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/pa similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/pa index f954a80212..9a8d9c8dfd 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/pa +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/0/pa @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/Allclean similarity index 90% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/Allclean index 387f267882..dbae2a919d 100755 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allclean +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/Allclean @@ -4,11 +4,12 @@ cd "${0%/*}" || exit # Run from this directory #------------------------------------------------------------------------------ cleanCase -if [ -d "reEval" ] -then + +if [ -d reEval ] +then cd reEval ./Allclean - cd .. -fi + 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/Allrun similarity index 86% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/Allrun index b253269152..596c4f1409 100755 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allrun +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/Allrun @@ -13,8 +13,8 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & - cd .. + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval + 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_Dual_Bottleneck/losses-mass-30-70/constant/adjointRASProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/adjointRASProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/constant/adjointRASProperties 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_Dual_Bottleneck/losses-mass-30-70/constant/transportProperties similarity index 95% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/transportProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/constant/transportProperties index 13a169d653..566ce53a02 100644 --- 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_Dual_Bottleneck/losses-mass-30-70/constant/transportProperties @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +nu [0 2 -1 0 0 0 0] 1e-03; // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/constant/turbulenceProperties new file mode 100644 index 0000000000..3d9b82f999 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/constant/turbulenceProperties @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + +// ************************************************************************* // 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_Dual_Bottleneck/losses-mass-30-70/reEval/0/U similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/U rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/0/U index 35ee723708..1d6825f92e 100644 --- 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_Dual_Bottleneck/losses-mass-30-70/reEval/0/U @@ -70,7 +70,7 @@ boundaryField { 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_Dual_Bottleneck/losses-mass-30-70/reEval/0/Ua similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/Ua rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/0/Ua index 74081f381d..aaff8ba714 100644 --- 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_Dual_Bottleneck/losses-mass-30-70/reEval/0/Ua @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,7 @@ boundaryField type adjointOutletVelocity; value uniform (0 0 0); } - } + // ************************************************************************* // 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/0/p similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/0/p index be8c1e2add..1a857d895b 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/p +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/0/p @@ -66,7 +66,7 @@ boundaryField 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_Dual_Bottleneck/losses-mass-30-70/reEval/0/pa similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/pa rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/0/pa index 8e219909dd..28edee0769 100644 --- 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_Dual_Bottleneck/losses-mass-30-70/reEval/0/pa @@ -66,7 +66,7 @@ boundaryField 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_Dual_Bottleneck/losses-mass-30-70/reEval/Allclean similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/Allclean rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/Allclean 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_Dual_Bottleneck/losses-mass-30-70/reEval/AllrunReEval similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/AllrunReEval rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/AllrunReEval 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_Dual_Bottleneck/losses-mass-30-70/reEval/constant/adjointRASProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/adjointRASProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/constant/adjointRASProperties 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_Dual_Bottleneck/losses-mass-30-70/reEval/constant/transportProperties similarity index 95% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/transportProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/constant/transportProperties index 13a169d653..566ce53a02 100644 --- 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_Dual_Bottleneck/losses-mass-30-70/reEval/constant/transportProperties @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 1e-03; +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_Dual_Bottleneck/losses-mass-30-70/reEval/constant/turbulenceProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/constant/turbulenceProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/constant/turbulenceProperties 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_Dual_Bottleneck/losses-mass-30-70/reEval/system/controlDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/controlDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/controlDict diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/decomposeParDict new file mode 100644 index 0000000000..ee6bfc7e8b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/decomposeParDict @@ -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 decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // 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_Dual_Bottleneck/losses-mass-30-70/reEval/system/fvSchemes similarity index 76% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSchemes rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/fvSchemes index 654bd4eb46..909e9f768a 100644 --- 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_Dual_Bottleneck/losses-mass-30-70/reEval/system/fvSchemes @@ -22,18 +22,19 @@ ddtSchemes gradSchemes { default Gauss linear; + gradUConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Ua) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradUConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwind gradUConv; } interpolationSchemes { - default linear; + default linear; } laplacianSchemes { @@ -44,4 +45,4 @@ 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_Dual_Bottleneck/losses-mass-30-70/reEval/system/fvSolution similarity index 94% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvSolution rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/fvSolution index 33f0c181e9..4d4c5c06bb 100644 --- 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_Dual_Bottleneck/losses-mass-30-70/reEval/system/fvSolution @@ -52,4 +52,4 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ************************************************************************* // 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_Dual_Bottleneck/losses-mass-30-70/reEval/system/meshDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/meshDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/meshDict 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/optimisationDict similarity index 84% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/optimisationDict index ddda8d972e..ebb9063e1e 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/optimisationDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/reEval/system/optimisationDict @@ -62,7 +62,14 @@ adjointManagers 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); } } } @@ -88,31 +95,4 @@ adjointManagers } } -/* -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_Dual_Bottleneck/losses-mass-30-70/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/blockMeshDict new file mode 100644 index 0000000000..4e6bf515d5 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/blockMeshDict @@ -0,0 +1,307 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 + (0.4 0.0 0) + (0.6 0.0 0) + (0.8 0.0 0) + (1.0 0.0 0) + (0.0 0.2 0) //5 + (0.4 0.2 0) + (0.6 0.2 0) + (0.8 0.2 0) + (1.0 0.2 0) + (0.0 0.4 0) //10 + (0.4 0.4 0) + (0.6 0.4 0) + (0.8 0.4 0) + (1.0 0.4 0) + (0.0 0.65 0) //15 + (0.4 0.65 0) + (0.6 0.65 0) + (0.8 0.65 0) + (1.0 0.65 0) + (0.0 1.35 0) //20 + (0.4 1.35 0) + (0.6 1.35 0) + (0.8 1.35 0) + (1.0 1.35 0) + (0.0 1.6 0) //25 + (0.4 1.6 0) + (0.6 1.6 0) + (0.8 1.6 0) + (1.0 1.6 0) + (0.0 1.7 0) //30 + (0.4 1.7 0) + (0.6 1.7 0) + (0.8 1.7 0) + (1.0 1.7 0) + (0.0 1.9 0) //35 + (0.4 1.9 0) + (0.6 1.9 0) + (0.8 1.9 0) + (1.0 1.9 0) + (0.0 2.0 0) //40 + (0.4 2.0 0) + (0.6 2.0 0) + (0.8 2.0 0) + (1.0 2.0 0) //44 + + (0.0 0.0 0.1) //45 + (0.4 0.0 0.1) + (0.6 0.0 0.1) + (0.8 0.0 0.1) + (1.0 0.0 0.1) + (0.0 0.2 0.1) //50 + (0.4 0.2 0.1) + (0.6 0.2 0.1) + (0.8 0.2 0.1) + (1.0 0.2 0.1) + (0.0 0.4 0.1) //55 + (0.4 0.4 0.1) + (0.6 0.4 0.1) + (0.8 0.4 0.1) + (1.0 0.4 0.1) + (0.0 0.65 0.1) //60 + (0.4 0.65 0.1) + (0.6 0.65 0.1) + (0.8 0.65 0.1) + (1.0 0.65 0.1) + (0.0 1.35 0.1) //65 + (0.4 1.35 0.1) + (0.6 1.35 0.1) + (0.8 1.35 0.1) + (1.0 1.35 0.1) + (0.0 1.6 0.1) //70 + (0.4 1.6 0.1) + (0.6 1.6 0.1) + (0.8 1.6 0.1) + (1.0 1.6 0.1) + (0.0 1.7 0.1) //75 + (0.4 1.7 0.1) + (0.6 1.7 0.1) + (0.8 1.7 0.1) + (1.0 1.7 0.1) + (0.0 1.9 0.1) //80 + (0.4 1.9 0.1) + (0.6 1.9 0.1) + (0.8 1.9 0.1) + (1.0 1.9 0.1) + (0.0 2.0 0.1) //85 + (0.4 2.0 0.1) + (0.6 2.0 0.1) + (0.8 2.0 0.1) + (1.0 2.0 0.1) //89 + + (-0.5 1.7 0) //90 + (-0.5 1.9 0) //91 + (-0.5 1.7 0.1) //92 + (-0.5 1.9 0.1) //93 + + (0.6 -0.5 0) //94 + (0.8 -0.5 0) //95 + (0.6 -0.5 0.1) //96 + (0.8 -0.5 0.1) //97 + + (1.5 0.2 0) //98 + (1.5 0.4 0) //99 + (1.5 0.2 0.1) //100 + (1.5 0.4 0.1) //101 +); + +blocks +( + hex (90 30 35 91 92 75 80 93) (50 20 1) simpleGrading (1 1 1) //0 + hex (94 95 3 2 96 97 48 47) (20 50 1) simpleGrading (1 1 1) //0 + hex ( 9 98 99 14 54 100 101 59) (50 20 1) simpleGrading (1 1 1) //0 + + hex ( 0 1 6 5 45 46 51 50) (40 20 1) simpleGrading (1 1 1) + hex ( 1 2 7 6 46 47 52 51) (20 20 1) simpleGrading (1 1 1) + hex ( 2 3 8 7 47 48 53 52) (20 20 1) simpleGrading (1 1 1) + hex ( 3 4 9 8 48 49 54 53) (20 20 1) simpleGrading (1 1 1) + hex ( 5 6 11 10 50 51 56 55) (40 20 1) simpleGrading (1 1 1) //5 + hex ( 6 7 12 11 51 52 57 56) (20 20 1) simpleGrading (1 1 1) + hex ( 7 8 13 12 52 53 58 57) (20 20 1) simpleGrading (1 1 1) + hex ( 8 9 14 13 53 54 59 58) (20 20 1) simpleGrading (1 1 1) + hex (11 12 17 16 56 57 62 61) (20 25 1) simpleGrading (1 1 1) + hex (12 13 18 17 57 58 63 62) (20 25 1) simpleGrading (1 1 1) //10 + hex (13 14 19 18 58 59 64 63) (20 25 1) simpleGrading (1 1 1) + hex (15 16 21 20 60 61 66 65) (40 70 1) simpleGrading (1 1 1) + hex (16 17 22 21 61 62 67 66) (20 70 1) simpleGrading (1 1 1) + hex (21 22 27 26 66 67 72 71) (20 25 1) simpleGrading (1 1 1) + hex (22 23 28 27 67 68 73 72) (20 25 1) simpleGrading (1 1 1) //15 + hex (23 24 29 28 68 69 74 73) (20 25 1) simpleGrading (1 1 1) + hex (25 26 31 30 70 71 76 75) (40 10 1) simpleGrading (1 1 1) + hex (26 27 32 31 71 72 77 76) (20 10 1) simpleGrading (1 1 1) + hex (27 28 33 32 72 73 78 77) (20 10 1) simpleGrading (1 1 1) + hex (28 29 34 33 73 74 79 78) (20 10 1) simpleGrading (1 1 1) //20 + hex (30 31 36 35 75 76 81 80) (40 20 1) simpleGrading (1 1 1) + hex (31 32 37 36 76 77 82 81) (20 20 1) simpleGrading (1 1 1) + hex (32 33 38 37 77 78 83 82) (20 20 1) simpleGrading (1 1 1) + hex (33 34 39 38 78 79 84 83) (20 20 1) simpleGrading (1 1 1) + hex (35 36 41 40 80 81 86 85) (40 10 1) simpleGrading (1 1 1) //25 + hex (36 37 42 41 81 82 87 86) (20 10 1) simpleGrading (1 1 1) + hex (37 38 43 42 82 83 88 87) (20 10 1) simpleGrading (1 1 1) + hex (38 39 44 43 83 84 89 88) (20 10 1) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + patch inlet + ( + (91 90 92 93) + ) + patch outlet + ( + (94 95 97 96) + ) + patch outlet-right + ( + (98 99 101 100) + ) + wall designWall + ( + (40 35 80 85) //0 + (41 40 85 86) + (42 41 86 87) + (43 42 87 88) + (44 43 88 89) + (39 44 89 84) //5 + (34 39 84 79) + (29 34 79 74) + (24 29 74 69) + (23 24 69 68) + (22 23 68 67) //10 + (17 22 67 62) + (18 17 62 63) + (19 18 63 64) + (14 19 64 59) + ( 4 9 54 49) //15 + ( 3 4 49 48) + ( 1 2 47 46) + ( 0 1 46 45) + ( 5 0 45 50) + (10 5 50 55) //20 + (11 10 55 56) + (16 11 56 61) + (15 16 61 60) + (20 15 60 65) + (21 20 65 66) //25 + (26 21 66 71) + (25 26 71 70) + (30 25 70 75) + ) + wall IEntranceWall + ( + (91 93 80 35) //0 + (92 90 30 75) + ) + wall OEntranceWall + ( + ( 2 94 96 47) //0 + ( 3 48 97 95) + ) + wall OREntranceWall + ( + (14 59 101 99) //0 + ( 9 98 100 54) + ) + empty back + ( + // back + ( 5 6 1 0) //0 + ( 6 7 2 1) + ( 7 8 3 2) + ( 8 9 4 3) + (10 11 6 5) + (11 12 7 6) //5 + (12 13 8 7) + (13 14 9 8) + (16 17 12 11) + (17 18 13 12) + (18 19 14 13) //10 + (20 21 16 15) + (21 22 17 16) + (26 27 22 21) + (27 28 23 22) + (28 29 24 23) //15 + (30 31 26 25) + (31 32 27 26) + (32 33 28 27) + (33 34 29 28) + (35 36 31 30) //20 + (36 37 32 31) + (37 38 33 32) + (38 39 34 33) + (40 41 36 35) + (41 42 37 36) //25 + (42 43 38 37) + (43 44 39 38) + + (35 30 90 91) + ( 2 3 95 94) + ( 9 14 99 98) + + // front + (51 50 45 46) + (52 51 46 47) + (53 52 47 48) //30 + (54 53 48 49) + (56 55 50 51) + (57 56 51 52) + (58 57 52 53) + (59 58 53 54) //35 + (62 61 56 57) + (63 62 57 58) + (64 63 58 59) + (66 65 60 61) + (67 66 61 62) //40 + (72 71 66 67) + (73 72 67 68) + (74 73 68 69) + (76 75 70 71) + (77 76 71 72) //45 + (78 77 72 73) + (79 78 73 74) + (81 80 75 76) + (82 81 76 77) + (83 82 77 78) //50 + (84 83 78 79) + (86 85 80 81) + (87 86 81 82) + (88 87 82 83) + (89 88 83 84) //55 + + (93 92 75 80) + (48 47 96 97) + (59 54 100 101) + ) + +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/controlDict new file mode 100644 index 0000000000..e5402f2d1e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/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 70; + +deltaT 1; + +writeControl timeStep; + +writeInterval 70; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/decomposeParDict new file mode 100644 index 0000000000..ee6bfc7e8b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/decomposeParDict @@ -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 decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/fvOptions new file mode 100644 index 0000000000..6c9d74e93a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/fvOptions @@ -0,0 +1,26 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 BorrvallPetersson; + b 100; + interpolationField beta; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/fvSchemes similarity index 61% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/fvSchemes index 91afa0a871..5a1bcd75ec 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/decomposeParDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/fvSchemes @@ -10,49 +10,42 @@ FoamFile version 2.0; format ascii; class dictionary; - object decomposeParDict; + object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -numberOfSubdomains 4; - -method scotch; -//method metis; -//method parMetis; - -simpleCoeffs +ddtSchemes { - n (2 2 1); - delta 0.001; + default steadyState; } -hierarchicalCoeffs +gradSchemes { - n (4 4 2); - delta 0.001; - order xyz; + default Gauss linear; + gradUConv cellLimited Gauss linear 1; } -metisCoeffs +divSchemes { - //processorWeights - //( - // 1 - // 1 - // 1 - // 1 - //); + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradUConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwind gradUConv; } -manualCoeffs +interpolationSchemes { - dataFile ""; + default linear; } -distributed no; +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} -roots -( -); // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/fvSolution new file mode 100644 index 0000000000..a0b3aee65e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/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.8; + "pa.*" 0.7; + } + equations + { + U 0.8; + "Ua.*" 0.7; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/optimisationDict new file mode 100644 index 0000000000..5fc60fe5a5 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/optimisationDict @@ -0,0 +1,193 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 + { + nInitialIters 3000; + nIters 300; + consistent true; + 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 + { + nInitialIters 3000; + nIters 300; + consistent true; + 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.3 0.7); + target 1.e-05; + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nInitialIters 3000; + 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.415; + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type topO; + sensitivityType topO; + fixedZeroPorousZones (IEntranceZone OEntranceZone OREntranceZone); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 10; + function tanh; + b 20; + } + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + } + maxInitChange 0.2; + } + updateMethod + { + method nullSpace; + strictMaxDVChange true; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/topoSetDict similarity index 68% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/topoSetDict index c9bfc30ace..9f6a53ddcc 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/topoSetDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-30-70/system/topoSetDict @@ -24,7 +24,17 @@ actions source boxToCell; sourceInfo { - box (-1.0 0.0 0.0)(0.0 1.0 1.0); + box (-1.0 0.0 0.0)(0.0 2.0 1.0); + } + } + { + name IEntranceZone; + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set IEntranceSet; // name of cellSet } } @@ -36,7 +46,17 @@ actions source boxToCell; sourceInfo { - box (-1.0 -1.0 0.0)(1.0 0.0 1.0); + box (0.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + { + name OEntranceZone; + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set OEntranceSet; // name of cellSet } } @@ -51,16 +71,14 @@ actions box (1.0 0.0 0.0)(2.0 1.0 1.0); } } - - // Design space { - name designSpace; - type cellSet; + name OREntranceZone; + type cellZoneSet; action new; - source boxToCell; + source setToCellZone; sourceInfo { - box (0.0 0.0 0.0)(1.0 1.0 1.0); + set OREntranceSet; // name of cellSet } } ); diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/U new file mode 100644 index 0000000000..7ff41e373c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/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 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 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_Dual_Bottleneck/losses-mass-50-50/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/Ua new file mode 100644 index 0000000000..4fc33860de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/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 Ua; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +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/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/p similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/p rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/p index 333c6613a2..6990146ff0 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/p +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/p @@ -61,7 +61,7 @@ boundaryField 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/pa similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/pa index f954a80212..9a8d9c8dfd 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/pa +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/0/pa @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/Allclean new file mode 100755 index 0000000000..dbae2a919d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/Allclean @@ -0,0 +1,15 @@ +#!/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_Dual_Bottleneck/losses-mass-50-50/Allrun similarity index 86% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allrun rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/Allrun index b253269152..596c4f1409 100755 --- 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_Dual_Bottleneck/losses-mass-50-50/Allrun @@ -13,8 +13,8 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & - cd .. + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval + cd .. fi #------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/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/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/constant/transportProperties similarity index 95% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/constant/transportProperties index 0fc71599b9..566ce53a02 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/transportProperties +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/constant/transportProperties @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +nu [0 2 -1 0 0 0 0] 1e-03; // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/constant/turbulenceProperties new file mode 100644 index 0000000000..3d9b82f999 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/constant/turbulenceProperties @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/0/U new file mode 100644 index 0000000000..1d6825f92e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/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_Dual_Bottleneck/losses-mass-50-50/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/0/Ua new file mode 100644 index 0000000000..aaff8ba714 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/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 Ua; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +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_Dual_Bottleneck/losses-mass-50-50/reEval/0/p similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/0/p rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/0/p index be8c1e2add..1a857d895b 100644 --- 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_Dual_Bottleneck/losses-mass-50-50/reEval/0/p @@ -66,7 +66,7 @@ boundaryField 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/0/pa similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/0/pa index 8e219909dd..28edee0769 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/pa +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/0/pa @@ -66,7 +66,7 @@ boundaryField 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/Allclean similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/Allclean rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/Allclean diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/AllrunReEval similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/AllrunReEval rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/AllrunReEval diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/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/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/constant/transportProperties similarity index 95% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/constant/transportProperties index 0fc71599b9..566ce53a02 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/transportProperties +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/constant/transportProperties @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +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_Dual_Bottleneck/losses-mass-50-50/reEval/constant/turbulenceProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/constant/turbulenceProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/constant/turbulenceProperties 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/controlDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/controlDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/controlDict diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/decomposeParDict new file mode 100644 index 0000000000..ee6bfc7e8b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/decomposeParDict @@ -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 decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // 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_Dual_Bottleneck/losses-mass-50-50/reEval/system/fvSchemes similarity index 76% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSchemes rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/fvSchemes index 63e6bad479..909e9f768a 100644 --- 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_Dual_Bottleneck/losses-mass-50-50/reEval/system/fvSchemes @@ -22,18 +22,19 @@ ddtSchemes gradSchemes { default Gauss linear; + gradUConv cellLimited Gauss linear 1; } divSchemes { - default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(-phi,Uaas1) bounded Gauss upwind; + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradUConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwind gradUConv; } interpolationSchemes { - default linear; + default linear; } laplacianSchemes { @@ -44,4 +45,4 @@ 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_Dual_Bottleneck/losses-mass-50-50/reEval/system/fvSolution similarity index 94% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/fvSolution rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/fvSolution index 33f0c181e9..4d4c5c06bb 100644 --- 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_Dual_Bottleneck/losses-mass-50-50/reEval/system/fvSolution @@ -52,4 +52,4 @@ relaxationFactors } } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// ************************************************************************* // 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/meshDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/meshDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/meshDict 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/optimisationDict similarity index 84% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/optimisationDict index ddda8d972e..ebb9063e1e 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/optimisationDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/reEval/system/optimisationDict @@ -62,7 +62,14 @@ adjointManagers 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); } } } @@ -88,31 +95,4 @@ adjointManagers } } -/* -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_Dual_Bottleneck/losses-mass-50-50/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/blockMeshDict new file mode 100644 index 0000000000..4e6bf515d5 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/blockMeshDict @@ -0,0 +1,307 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 + (0.4 0.0 0) + (0.6 0.0 0) + (0.8 0.0 0) + (1.0 0.0 0) + (0.0 0.2 0) //5 + (0.4 0.2 0) + (0.6 0.2 0) + (0.8 0.2 0) + (1.0 0.2 0) + (0.0 0.4 0) //10 + (0.4 0.4 0) + (0.6 0.4 0) + (0.8 0.4 0) + (1.0 0.4 0) + (0.0 0.65 0) //15 + (0.4 0.65 0) + (0.6 0.65 0) + (0.8 0.65 0) + (1.0 0.65 0) + (0.0 1.35 0) //20 + (0.4 1.35 0) + (0.6 1.35 0) + (0.8 1.35 0) + (1.0 1.35 0) + (0.0 1.6 0) //25 + (0.4 1.6 0) + (0.6 1.6 0) + (0.8 1.6 0) + (1.0 1.6 0) + (0.0 1.7 0) //30 + (0.4 1.7 0) + (0.6 1.7 0) + (0.8 1.7 0) + (1.0 1.7 0) + (0.0 1.9 0) //35 + (0.4 1.9 0) + (0.6 1.9 0) + (0.8 1.9 0) + (1.0 1.9 0) + (0.0 2.0 0) //40 + (0.4 2.0 0) + (0.6 2.0 0) + (0.8 2.0 0) + (1.0 2.0 0) //44 + + (0.0 0.0 0.1) //45 + (0.4 0.0 0.1) + (0.6 0.0 0.1) + (0.8 0.0 0.1) + (1.0 0.0 0.1) + (0.0 0.2 0.1) //50 + (0.4 0.2 0.1) + (0.6 0.2 0.1) + (0.8 0.2 0.1) + (1.0 0.2 0.1) + (0.0 0.4 0.1) //55 + (0.4 0.4 0.1) + (0.6 0.4 0.1) + (0.8 0.4 0.1) + (1.0 0.4 0.1) + (0.0 0.65 0.1) //60 + (0.4 0.65 0.1) + (0.6 0.65 0.1) + (0.8 0.65 0.1) + (1.0 0.65 0.1) + (0.0 1.35 0.1) //65 + (0.4 1.35 0.1) + (0.6 1.35 0.1) + (0.8 1.35 0.1) + (1.0 1.35 0.1) + (0.0 1.6 0.1) //70 + (0.4 1.6 0.1) + (0.6 1.6 0.1) + (0.8 1.6 0.1) + (1.0 1.6 0.1) + (0.0 1.7 0.1) //75 + (0.4 1.7 0.1) + (0.6 1.7 0.1) + (0.8 1.7 0.1) + (1.0 1.7 0.1) + (0.0 1.9 0.1) //80 + (0.4 1.9 0.1) + (0.6 1.9 0.1) + (0.8 1.9 0.1) + (1.0 1.9 0.1) + (0.0 2.0 0.1) //85 + (0.4 2.0 0.1) + (0.6 2.0 0.1) + (0.8 2.0 0.1) + (1.0 2.0 0.1) //89 + + (-0.5 1.7 0) //90 + (-0.5 1.9 0) //91 + (-0.5 1.7 0.1) //92 + (-0.5 1.9 0.1) //93 + + (0.6 -0.5 0) //94 + (0.8 -0.5 0) //95 + (0.6 -0.5 0.1) //96 + (0.8 -0.5 0.1) //97 + + (1.5 0.2 0) //98 + (1.5 0.4 0) //99 + (1.5 0.2 0.1) //100 + (1.5 0.4 0.1) //101 +); + +blocks +( + hex (90 30 35 91 92 75 80 93) (50 20 1) simpleGrading (1 1 1) //0 + hex (94 95 3 2 96 97 48 47) (20 50 1) simpleGrading (1 1 1) //0 + hex ( 9 98 99 14 54 100 101 59) (50 20 1) simpleGrading (1 1 1) //0 + + hex ( 0 1 6 5 45 46 51 50) (40 20 1) simpleGrading (1 1 1) + hex ( 1 2 7 6 46 47 52 51) (20 20 1) simpleGrading (1 1 1) + hex ( 2 3 8 7 47 48 53 52) (20 20 1) simpleGrading (1 1 1) + hex ( 3 4 9 8 48 49 54 53) (20 20 1) simpleGrading (1 1 1) + hex ( 5 6 11 10 50 51 56 55) (40 20 1) simpleGrading (1 1 1) //5 + hex ( 6 7 12 11 51 52 57 56) (20 20 1) simpleGrading (1 1 1) + hex ( 7 8 13 12 52 53 58 57) (20 20 1) simpleGrading (1 1 1) + hex ( 8 9 14 13 53 54 59 58) (20 20 1) simpleGrading (1 1 1) + hex (11 12 17 16 56 57 62 61) (20 25 1) simpleGrading (1 1 1) + hex (12 13 18 17 57 58 63 62) (20 25 1) simpleGrading (1 1 1) //10 + hex (13 14 19 18 58 59 64 63) (20 25 1) simpleGrading (1 1 1) + hex (15 16 21 20 60 61 66 65) (40 70 1) simpleGrading (1 1 1) + hex (16 17 22 21 61 62 67 66) (20 70 1) simpleGrading (1 1 1) + hex (21 22 27 26 66 67 72 71) (20 25 1) simpleGrading (1 1 1) + hex (22 23 28 27 67 68 73 72) (20 25 1) simpleGrading (1 1 1) //15 + hex (23 24 29 28 68 69 74 73) (20 25 1) simpleGrading (1 1 1) + hex (25 26 31 30 70 71 76 75) (40 10 1) simpleGrading (1 1 1) + hex (26 27 32 31 71 72 77 76) (20 10 1) simpleGrading (1 1 1) + hex (27 28 33 32 72 73 78 77) (20 10 1) simpleGrading (1 1 1) + hex (28 29 34 33 73 74 79 78) (20 10 1) simpleGrading (1 1 1) //20 + hex (30 31 36 35 75 76 81 80) (40 20 1) simpleGrading (1 1 1) + hex (31 32 37 36 76 77 82 81) (20 20 1) simpleGrading (1 1 1) + hex (32 33 38 37 77 78 83 82) (20 20 1) simpleGrading (1 1 1) + hex (33 34 39 38 78 79 84 83) (20 20 1) simpleGrading (1 1 1) + hex (35 36 41 40 80 81 86 85) (40 10 1) simpleGrading (1 1 1) //25 + hex (36 37 42 41 81 82 87 86) (20 10 1) simpleGrading (1 1 1) + hex (37 38 43 42 82 83 88 87) (20 10 1) simpleGrading (1 1 1) + hex (38 39 44 43 83 84 89 88) (20 10 1) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + patch inlet + ( + (91 90 92 93) + ) + patch outlet + ( + (94 95 97 96) + ) + patch outlet-right + ( + (98 99 101 100) + ) + wall designWall + ( + (40 35 80 85) //0 + (41 40 85 86) + (42 41 86 87) + (43 42 87 88) + (44 43 88 89) + (39 44 89 84) //5 + (34 39 84 79) + (29 34 79 74) + (24 29 74 69) + (23 24 69 68) + (22 23 68 67) //10 + (17 22 67 62) + (18 17 62 63) + (19 18 63 64) + (14 19 64 59) + ( 4 9 54 49) //15 + ( 3 4 49 48) + ( 1 2 47 46) + ( 0 1 46 45) + ( 5 0 45 50) + (10 5 50 55) //20 + (11 10 55 56) + (16 11 56 61) + (15 16 61 60) + (20 15 60 65) + (21 20 65 66) //25 + (26 21 66 71) + (25 26 71 70) + (30 25 70 75) + ) + wall IEntranceWall + ( + (91 93 80 35) //0 + (92 90 30 75) + ) + wall OEntranceWall + ( + ( 2 94 96 47) //0 + ( 3 48 97 95) + ) + wall OREntranceWall + ( + (14 59 101 99) //0 + ( 9 98 100 54) + ) + empty back + ( + // back + ( 5 6 1 0) //0 + ( 6 7 2 1) + ( 7 8 3 2) + ( 8 9 4 3) + (10 11 6 5) + (11 12 7 6) //5 + (12 13 8 7) + (13 14 9 8) + (16 17 12 11) + (17 18 13 12) + (18 19 14 13) //10 + (20 21 16 15) + (21 22 17 16) + (26 27 22 21) + (27 28 23 22) + (28 29 24 23) //15 + (30 31 26 25) + (31 32 27 26) + (32 33 28 27) + (33 34 29 28) + (35 36 31 30) //20 + (36 37 32 31) + (37 38 33 32) + (38 39 34 33) + (40 41 36 35) + (41 42 37 36) //25 + (42 43 38 37) + (43 44 39 38) + + (35 30 90 91) + ( 2 3 95 94) + ( 9 14 99 98) + + // front + (51 50 45 46) + (52 51 46 47) + (53 52 47 48) //30 + (54 53 48 49) + (56 55 50 51) + (57 56 51 52) + (58 57 52 53) + (59 58 53 54) //35 + (62 61 56 57) + (63 62 57 58) + (64 63 58 59) + (66 65 60 61) + (67 66 61 62) //40 + (72 71 66 67) + (73 72 67 68) + (74 73 68 69) + (76 75 70 71) + (77 76 71 72) //45 + (78 77 72 73) + (79 78 73 74) + (81 80 75 76) + (82 81 76 77) + (83 82 77 78) //50 + (84 83 78 79) + (86 85 80 81) + (87 86 81 82) + (88 87 82 83) + (89 88 83 84) //55 + + (93 92 75 80) + (48 47 96 97) + (59 54 100 101) + ) + +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/controlDict new file mode 100644 index 0000000000..e5402f2d1e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/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 70; + +deltaT 1; + +writeControl timeStep; + +writeInterval 70; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/decomposeParDict new file mode 100644 index 0000000000..ee6bfc7e8b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/decomposeParDict @@ -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 decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/fvOptions new file mode 100644 index 0000000000..6c9d74e93a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/fvOptions @@ -0,0 +1,26 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 BorrvallPetersson; + b 100; + interpolationField beta; +} + +// ************************************************************************* // 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/fvSchemes similarity index 61% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/fvSchemes index 91afa0a871..5a1bcd75ec 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/decomposeParDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/fvSchemes @@ -10,49 +10,42 @@ FoamFile version 2.0; format ascii; class dictionary; - object decomposeParDict; + object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -numberOfSubdomains 4; - -method scotch; -//method metis; -//method parMetis; - -simpleCoeffs +ddtSchemes { - n (2 2 1); - delta 0.001; + default steadyState; } -hierarchicalCoeffs +gradSchemes { - n (4 4 2); - delta 0.001; - order xyz; + default Gauss linear; + gradUConv cellLimited Gauss linear 1; } -metisCoeffs +divSchemes { - //processorWeights - //( - // 1 - // 1 - // 1 - // 1 - //); + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradUConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwind gradUConv; } -manualCoeffs +interpolationSchemes { - dataFile ""; + default linear; } -distributed no; +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} -roots -( -); // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/fvSolution new file mode 100644 index 0000000000..a0b3aee65e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/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.8; + "pa.*" 0.7; + } + equations + { + U 0.8; + "Ua.*" 0.7; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/optimisationDict new file mode 100644 index 0000000000..116a2d129b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/optimisationDict @@ -0,0 +1,193 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 + { + nInitialIters 3000; + nIters 300; + consistent true; + 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 + { + nInitialIters 3000; + nIters 300; + consistent true; + 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); + target 1.e-05; + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nInitialIters 3000; + 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.415; + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type topO; + sensitivityType topO; + fixedZeroPorousZones (IEntranceZone OEntranceZone OREntranceZone); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 10; + function tanh; + b 20; + } + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + } + maxInitChange 0.2; + } + updateMethod + { + method nullSpace; + strictMaxDVChange true; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/topoSetDict new file mode 100644 index 0000000000..9f6a53ddcc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-50-50/system/topoSetDict @@ -0,0 +1,86 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 2.0 1.0); + } + } + { + name IEntranceZone; + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set IEntranceSet; // name of cellSet + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + { + name OEntranceZone; + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set OEntranceSet; // name of cellSet + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + { + name OREntranceZone; + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set OREntranceSet; // name of cellSet + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/U new file mode 100644 index 0000000000..7ff41e373c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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 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 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_Dual_Bottleneck/losses-mass-70-30/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/Ua new file mode 100644 index 0000000000..4fc33860de --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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 Ua; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +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_Dual_Bottleneck/losses-mass-70-30/0/p similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/p rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/p index 333c6613a2..6990146ff0 100644 --- 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_Dual_Bottleneck/losses-mass-70-30/0/p @@ -61,7 +61,7 @@ boundaryField 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/pa similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/pa index f954a80212..9a8d9c8dfd 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/pa +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/0/pa @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,7 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } + // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/Allclean new file mode 100755 index 0000000000..dbae2a919d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/Allclean @@ -0,0 +1,15 @@ +#!/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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/Allrun similarity index 86% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/Allrun index b253269152..596c4f1409 100755 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/Allrun +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/Allrun @@ -13,8 +13,8 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & - cd .. + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval + cd .. fi #------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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_Dual_Bottleneck/losses-mass-70-30/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/constant/transportProperties new file mode 100644 index 0000000000..566ce53a02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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 [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/constant/turbulenceProperties new file mode 100644 index 0000000000..3d9b82f999 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/constant/turbulenceProperties @@ -0,0 +1,19 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/0/U new file mode 100644 index 0000000000..1d6825f92e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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_Dual_Bottleneck/losses-mass-70-30/reEval/0/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/0/Ua new file mode 100644 index 0000000000..aaff8ba714 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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 Ua; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +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/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/0/p similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/0/p index be8c1e2add..1a857d895b 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/p +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/0/p @@ -66,7 +66,7 @@ boundaryField 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/0/pa similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/0/pa index 8e219909dd..28edee0769 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/pa +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/0/pa @@ -66,7 +66,7 @@ boundaryField 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/Allclean similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/Allclean rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/Allclean diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/AllrunReEval similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/AllrunReEval rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/AllrunReEval diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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_Dual_Bottleneck/losses-mass-70-30/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/constant/transportProperties new file mode 100644 index 0000000000..566ce53a02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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 [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/controlDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/controlDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/controlDict diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/decomposeParDict new file mode 100644 index 0000000000..ee6bfc7e8b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/decomposeParDict @@ -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 decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/fvSchemes new file mode 100644 index 0000000000..909e9f768a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/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; + gradUConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradUConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwind gradUConv; +} + +interpolationSchemes +{ + default linear; +} +laplacianSchemes +{ + default Gauss linear corrected; +} +snGradSchemes +{ + default corrected; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/fvSolution new file mode 100644 index 0000000000..4d4c5c06bb --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/meshDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/meshDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/meshDict 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/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/optimisationDict similarity index 84% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/optimisationDict index ddda8d972e..ebb9063e1e 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/optimisationDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/reEval/system/optimisationDict @@ -62,7 +62,14 @@ adjointManagers 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); } } } @@ -88,31 +95,4 @@ adjointManagers } } -/* -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_Dual_Bottleneck/losses-mass-70-30/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/blockMeshDict new file mode 100644 index 0000000000..4e6bf515d5 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/blockMeshDict @@ -0,0 +1,307 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 + (0.4 0.0 0) + (0.6 0.0 0) + (0.8 0.0 0) + (1.0 0.0 0) + (0.0 0.2 0) //5 + (0.4 0.2 0) + (0.6 0.2 0) + (0.8 0.2 0) + (1.0 0.2 0) + (0.0 0.4 0) //10 + (0.4 0.4 0) + (0.6 0.4 0) + (0.8 0.4 0) + (1.0 0.4 0) + (0.0 0.65 0) //15 + (0.4 0.65 0) + (0.6 0.65 0) + (0.8 0.65 0) + (1.0 0.65 0) + (0.0 1.35 0) //20 + (0.4 1.35 0) + (0.6 1.35 0) + (0.8 1.35 0) + (1.0 1.35 0) + (0.0 1.6 0) //25 + (0.4 1.6 0) + (0.6 1.6 0) + (0.8 1.6 0) + (1.0 1.6 0) + (0.0 1.7 0) //30 + (0.4 1.7 0) + (0.6 1.7 0) + (0.8 1.7 0) + (1.0 1.7 0) + (0.0 1.9 0) //35 + (0.4 1.9 0) + (0.6 1.9 0) + (0.8 1.9 0) + (1.0 1.9 0) + (0.0 2.0 0) //40 + (0.4 2.0 0) + (0.6 2.0 0) + (0.8 2.0 0) + (1.0 2.0 0) //44 + + (0.0 0.0 0.1) //45 + (0.4 0.0 0.1) + (0.6 0.0 0.1) + (0.8 0.0 0.1) + (1.0 0.0 0.1) + (0.0 0.2 0.1) //50 + (0.4 0.2 0.1) + (0.6 0.2 0.1) + (0.8 0.2 0.1) + (1.0 0.2 0.1) + (0.0 0.4 0.1) //55 + (0.4 0.4 0.1) + (0.6 0.4 0.1) + (0.8 0.4 0.1) + (1.0 0.4 0.1) + (0.0 0.65 0.1) //60 + (0.4 0.65 0.1) + (0.6 0.65 0.1) + (0.8 0.65 0.1) + (1.0 0.65 0.1) + (0.0 1.35 0.1) //65 + (0.4 1.35 0.1) + (0.6 1.35 0.1) + (0.8 1.35 0.1) + (1.0 1.35 0.1) + (0.0 1.6 0.1) //70 + (0.4 1.6 0.1) + (0.6 1.6 0.1) + (0.8 1.6 0.1) + (1.0 1.6 0.1) + (0.0 1.7 0.1) //75 + (0.4 1.7 0.1) + (0.6 1.7 0.1) + (0.8 1.7 0.1) + (1.0 1.7 0.1) + (0.0 1.9 0.1) //80 + (0.4 1.9 0.1) + (0.6 1.9 0.1) + (0.8 1.9 0.1) + (1.0 1.9 0.1) + (0.0 2.0 0.1) //85 + (0.4 2.0 0.1) + (0.6 2.0 0.1) + (0.8 2.0 0.1) + (1.0 2.0 0.1) //89 + + (-0.5 1.7 0) //90 + (-0.5 1.9 0) //91 + (-0.5 1.7 0.1) //92 + (-0.5 1.9 0.1) //93 + + (0.6 -0.5 0) //94 + (0.8 -0.5 0) //95 + (0.6 -0.5 0.1) //96 + (0.8 -0.5 0.1) //97 + + (1.5 0.2 0) //98 + (1.5 0.4 0) //99 + (1.5 0.2 0.1) //100 + (1.5 0.4 0.1) //101 +); + +blocks +( + hex (90 30 35 91 92 75 80 93) (50 20 1) simpleGrading (1 1 1) //0 + hex (94 95 3 2 96 97 48 47) (20 50 1) simpleGrading (1 1 1) //0 + hex ( 9 98 99 14 54 100 101 59) (50 20 1) simpleGrading (1 1 1) //0 + + hex ( 0 1 6 5 45 46 51 50) (40 20 1) simpleGrading (1 1 1) + hex ( 1 2 7 6 46 47 52 51) (20 20 1) simpleGrading (1 1 1) + hex ( 2 3 8 7 47 48 53 52) (20 20 1) simpleGrading (1 1 1) + hex ( 3 4 9 8 48 49 54 53) (20 20 1) simpleGrading (1 1 1) + hex ( 5 6 11 10 50 51 56 55) (40 20 1) simpleGrading (1 1 1) //5 + hex ( 6 7 12 11 51 52 57 56) (20 20 1) simpleGrading (1 1 1) + hex ( 7 8 13 12 52 53 58 57) (20 20 1) simpleGrading (1 1 1) + hex ( 8 9 14 13 53 54 59 58) (20 20 1) simpleGrading (1 1 1) + hex (11 12 17 16 56 57 62 61) (20 25 1) simpleGrading (1 1 1) + hex (12 13 18 17 57 58 63 62) (20 25 1) simpleGrading (1 1 1) //10 + hex (13 14 19 18 58 59 64 63) (20 25 1) simpleGrading (1 1 1) + hex (15 16 21 20 60 61 66 65) (40 70 1) simpleGrading (1 1 1) + hex (16 17 22 21 61 62 67 66) (20 70 1) simpleGrading (1 1 1) + hex (21 22 27 26 66 67 72 71) (20 25 1) simpleGrading (1 1 1) + hex (22 23 28 27 67 68 73 72) (20 25 1) simpleGrading (1 1 1) //15 + hex (23 24 29 28 68 69 74 73) (20 25 1) simpleGrading (1 1 1) + hex (25 26 31 30 70 71 76 75) (40 10 1) simpleGrading (1 1 1) + hex (26 27 32 31 71 72 77 76) (20 10 1) simpleGrading (1 1 1) + hex (27 28 33 32 72 73 78 77) (20 10 1) simpleGrading (1 1 1) + hex (28 29 34 33 73 74 79 78) (20 10 1) simpleGrading (1 1 1) //20 + hex (30 31 36 35 75 76 81 80) (40 20 1) simpleGrading (1 1 1) + hex (31 32 37 36 76 77 82 81) (20 20 1) simpleGrading (1 1 1) + hex (32 33 38 37 77 78 83 82) (20 20 1) simpleGrading (1 1 1) + hex (33 34 39 38 78 79 84 83) (20 20 1) simpleGrading (1 1 1) + hex (35 36 41 40 80 81 86 85) (40 10 1) simpleGrading (1 1 1) //25 + hex (36 37 42 41 81 82 87 86) (20 10 1) simpleGrading (1 1 1) + hex (37 38 43 42 82 83 88 87) (20 10 1) simpleGrading (1 1 1) + hex (38 39 44 43 83 84 89 88) (20 10 1) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + patch inlet + ( + (91 90 92 93) + ) + patch outlet + ( + (94 95 97 96) + ) + patch outlet-right + ( + (98 99 101 100) + ) + wall designWall + ( + (40 35 80 85) //0 + (41 40 85 86) + (42 41 86 87) + (43 42 87 88) + (44 43 88 89) + (39 44 89 84) //5 + (34 39 84 79) + (29 34 79 74) + (24 29 74 69) + (23 24 69 68) + (22 23 68 67) //10 + (17 22 67 62) + (18 17 62 63) + (19 18 63 64) + (14 19 64 59) + ( 4 9 54 49) //15 + ( 3 4 49 48) + ( 1 2 47 46) + ( 0 1 46 45) + ( 5 0 45 50) + (10 5 50 55) //20 + (11 10 55 56) + (16 11 56 61) + (15 16 61 60) + (20 15 60 65) + (21 20 65 66) //25 + (26 21 66 71) + (25 26 71 70) + (30 25 70 75) + ) + wall IEntranceWall + ( + (91 93 80 35) //0 + (92 90 30 75) + ) + wall OEntranceWall + ( + ( 2 94 96 47) //0 + ( 3 48 97 95) + ) + wall OREntranceWall + ( + (14 59 101 99) //0 + ( 9 98 100 54) + ) + empty back + ( + // back + ( 5 6 1 0) //0 + ( 6 7 2 1) + ( 7 8 3 2) + ( 8 9 4 3) + (10 11 6 5) + (11 12 7 6) //5 + (12 13 8 7) + (13 14 9 8) + (16 17 12 11) + (17 18 13 12) + (18 19 14 13) //10 + (20 21 16 15) + (21 22 17 16) + (26 27 22 21) + (27 28 23 22) + (28 29 24 23) //15 + (30 31 26 25) + (31 32 27 26) + (32 33 28 27) + (33 34 29 28) + (35 36 31 30) //20 + (36 37 32 31) + (37 38 33 32) + (38 39 34 33) + (40 41 36 35) + (41 42 37 36) //25 + (42 43 38 37) + (43 44 39 38) + + (35 30 90 91) + ( 2 3 95 94) + ( 9 14 99 98) + + // front + (51 50 45 46) + (52 51 46 47) + (53 52 47 48) //30 + (54 53 48 49) + (56 55 50 51) + (57 56 51 52) + (58 57 52 53) + (59 58 53 54) //35 + (62 61 56 57) + (63 62 57 58) + (64 63 58 59) + (66 65 60 61) + (67 66 61 62) //40 + (72 71 66 67) + (73 72 67 68) + (74 73 68 69) + (76 75 70 71) + (77 76 71 72) //45 + (78 77 72 73) + (79 78 73 74) + (81 80 75 76) + (82 81 76 77) + (83 82 77 78) //50 + (84 83 78 79) + (86 85 80 81) + (87 86 81 82) + (88 87 82 83) + (89 88 83 84) //55 + + (93 92 75 80) + (48 47 96 97) + (59 54 100 101) + ) + +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/controlDict new file mode 100644 index 0000000000..e5402f2d1e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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 70; + +deltaT 1; + +writeControl timeStep; + +writeInterval 70; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression yes; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/decomposeParDict new file mode 100644 index 0000000000..ee6bfc7e8b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/decomposeParDict @@ -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 decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/fvOptions new file mode 100644 index 0000000000..6c9d74e93a --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/fvOptions @@ -0,0 +1,26 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 BorrvallPetersson; + b 100; + interpolationField beta; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/fvSchemes new file mode 100644 index 0000000000..5a1bcd75ec --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/fvSchemes @@ -0,0 +1,51 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + gradUConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradUConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwind gradUConv; +} + +interpolationSchemes +{ + default linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/fvSolution new file mode 100644 index 0000000000..a0b3aee65e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/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.8; + "pa.*" 0.7; + } + equations + { + U 0.8; + "Ua.*" 0.7; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/optimisationDict new file mode 100644 index 0000000000..1c862f72d0 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/optimisationDict @@ -0,0 +1,193 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 + { + nInitialIters 3000; + nIters 300; + consistent true; + 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 + { + nInitialIters 3000; + nIters 300; + consistent true; + 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.7 0.3); + target 1.e-05; + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nInitialIters 3000; + 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.415; + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type topO; + sensitivityType topO; + fixedZeroPorousZones (IEntranceZone OEntranceZone OREntranceZone); + regularisation + { + regularise true; + growFromWalls true; + meanRadiusMult 10; + function tanh; + b 20; + } + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + } + maxInitChange 0.2; + } + updateMethod + { + method nullSpace; + strictMaxDVChange true; + } +} + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/topoSetDict new file mode 100644 index 0000000000..9f6a53ddcc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet_Dual_Bottleneck/losses-mass-70-30/system/topoSetDict @@ -0,0 +1,86 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 2.0 1.0); + } + } + { + name IEntranceZone; + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set IEntranceSet; // name of cellSet + } + } + + // Outlet + { + name OEntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (0.0 -1.0 0.0)(1.0 0.0 1.0); + } + } + { + name OEntranceZone; + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set OEntranceSet; // name of cellSet + } + } + + // Outlet-right + { + name OREntranceSet; + type cellSet; + action new; + source boxToCell; + sourceInfo + { + box (1.0 0.0 0.0)(2.0 1.0 1.0); + } + } + { + name OREntranceZone; + type cellZoneSet; + action new; + source setToCellZone; + sourceInfo + { + set OREntranceSet; // name of cellSet + } + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/U new file mode 100644 index 0000000000..8c27222f5b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/U @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type surfaceNormalFixedValue; + refValue uniform -10; + value uniform (0 0 0); + } + "outlet.*" + { + type zeroGradient; + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/Ua new file mode 100644 index 0000000000..9e09bdf828 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/Ua @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + "outlet.*" + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/p new file mode 100644 index 0000000000..9d0c7cb92b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/p @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type fixedValue; + value uniform 0; + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/pa new file mode 100644 index 0000000000..734ba35411 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/0.orig/pa @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type adjointOutletPressure; + value uniform 0; + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/Allclean similarity index 91% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allclean rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/Allclean index 387f267882..1fc5ecb533 100755 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/Allclean +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/Allclean @@ -3,12 +3,13 @@ cd "${0%/*}" || exit # Run from this directory . ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions #------------------------------------------------------------------------------ -cleanCase -if [ -d "reEval" ] +cleanCase0 + +if [ -d reEval ] then cd reEval ./Allclean cd .. -fi +fi #------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/Allrun new file mode 100755 index 0000000000..6fa0be27e0 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/Allrun @@ -0,0 +1,23 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication -s 'refinementZones' topoSet +runApplication refineHexMesh -overwrite allIO +runApplication -s 'allZones' topoSet +runApplication setsToZones -noFlipMap +runApplication createPatch -overwrite +restore0Dir +runApplication decomposePar +runParallel $(getApplication) + +if [ -d reEval ] +then + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/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/3DBox/losses-mass-uniformity/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/constant/transportProperties new file mode 100644 index 0000000000..566ce53a02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/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 [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/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/3DBox/losses-mass-uniformity/reEval/0.orig/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/U new file mode 100644 index 0000000000..37a3566963 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/U @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type surfaceNormalFixedValue; + refValue uniform -10; + value uniform (0 0 0); + } + "outlet.*" + { + type zeroGradient; + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/Ua new file mode 100644 index 0000000000..76a421646c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/Ua @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + "outlet.*" + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/p new file mode 100644 index 0000000000..3e6a4da41c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/p @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type fixedValue; + value uniform 0; + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/pa new file mode 100644 index 0000000000..1c318451ea --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/0.orig/pa @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type adjointOutletPressure; + value uniform 0; + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/Allclean new file mode 100755 index 0000000000..39b3cdb14e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/Allclean @@ -0,0 +1,22 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase0 + +# Remove surface and features +rm -rf constant/extendedFeatureEdgeMesh +rm -rf constant/triSurface/* + +# Restore default entries in snappyHexMeshDict and surfaceFeatureExtractDict +foamDictionary system/snappyHexMeshDict -entry castellatedMeshControls.locationInMesh -remove +foamDictionary system/snappyHexMeshDict -entry castellatedMeshControls.locationInMesh -add "myLocationInMesh" + +topOEndTime=$(foamDictionary ../system/controlDict -entry 'endTime' -value) +fileName=topOIsoSurface$topOEndTime + +sed -i "s|$fileName|stlName|g" system/snappyHexMeshDict +sed -i "s|$fileName|stlName|g" system/surfaceFeatureExtractDict + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/AllrunReEval new file mode 100755 index 0000000000..1dd2651f42 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/AllrunReEval @@ -0,0 +1,30 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +topOEndTime=$(foamDictionary ../system/controlDict -entry 'endTime' -value) +fileName=topOIsoSurface$topOEndTime + +# A bit ugly but expanding a stored variable of the form "(a b c)" seems tricky +locationInMesh="\(0.058 0.15 0.094\)" +sed -i "s|myLocationInMesh|$locationInMesh|g" system/snappyHexMeshDict +sed -i "s|stlName|$fileName|g" system/snappyHexMeshDict +sed -i "s|stlName|$fileName|g" system/surfaceFeatureExtractDict + +cp ../optimisation/topOIsoSurfaces/$fileName.stl constant/triSurface/. + +runApplication blockMesh + +runApplication surfaceFeatureExtract + +runApplication decomposePar + +runParallel snappyHexMesh -overwrite + +restore0Dir -processor + +runParallel $(getApplication) + + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/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/3DBox/losses-mass-uniformity/reEval/constant/dynamicMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/constant/dynamicMeshDict new file mode 100644 index 0000000000..a9ab777d92 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/constant/dynamicMeshDict @@ -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 dynamicMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dynamicFvMesh dynamicRefineFvMesh; + +dynamicRefineFvMeshCoeffs +{ + // How often to refine + refineInterval 1; + // Field to be refinement on + field mmagfi; + // Refine field inbetween lower..upper + lowerRefineLevel -0.003; + upperRefineLevel 0; + // If value < unrefineLevel unrefine + unrefineLevel -0.003; + // Have slower than 2:1 refinement + nBufferLayers 1; + // Refine cells only up to maxRefinement levels + maxRefinement 1; + // Stop refinement if maxCells reached + maxCells 500000; + // Flux field and corresponding velocity field. Fluxes on changed + // faces get recalculated by interpolating the velocity. Use 'none' + // on surfaceScalarFields that do not need to be reinterpolated. + correctFluxes + ( + // (phi U) + // (phia Ua) + ); + // Write the refinement level as a volScalarField + dumpLevel true; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/constant/transportProperties new file mode 100644 index 0000000000..566ce53a02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/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 [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/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/3DBox/losses-mass-uniformity/reEval/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/blockMeshDict new file mode 100644 index 0000000000..4dab8d8e33 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/blockMeshDict @@ -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 blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0.3 0 0) //1 + (0.3 0.3 0) //2 + (0 0.3 0) //3 + (0 0 0.3) //4 + (0.3 0 0.3) //5 + (0.3 0.3 0.3) //6 + (0 0.3 0.3) //7 +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (75 75 75) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/controlDict new file mode 100644 index 0000000000..18b6d8f4bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/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 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression false; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/decomposeParDict new file mode 100644 index 0000000000..a3754e7ed7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/decomposeParDict @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/fvSchemes new file mode 100644 index 0000000000..732d61ffe7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/fvSchemes @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + gradUATC cellLimited Gauss linear 1; + grad(U) cellLimited Gauss linear 1; + gradUConv cellLimited Gauss linear 1; + gradUaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwindV gradUConv; + div(-phi,Ua) bounded Gauss linearUpwindV gradUaConv; +} + +interpolationSchemes +{ + default linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/fvSolution new file mode 100644 index 0000000000..ebaac32819 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/fvSolution @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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.*" smoothSolver + { + smoother GaussSeidel; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.6; + "pa.*" 0.7; + } + equations + { + U 0.8; + "Ua.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/optimisationDict new file mode 100644 index 0000000000..cd3c9a5d53 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/optimisationDict @@ -0,0 +1,104 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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.*"); + } + uniformity + { + weight 1.; + type uniformityPatch; + patches (outlet1 outlet2); + } + mass + { + weight 1.; + type flowRatePartition; + inletPatches (inlet); + outletPatches (outlet1 outlet2); + targetPercentages (0.5 0.5); + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/snappyHexMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/snappyHexMeshDict new file mode 100644 index 0000000000..0a53a1dd07 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/snappyHexMeshDict @@ -0,0 +1,170 @@ +/*--------------------------------*- 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 snappyHexMeshDict; +} + +castellatedMesh true; + +snap true; + +addLayers true; + +singleRegionName true; + +geometry +{ + stlName.stl + { + type triSurfaceMesh; + name duct; + regions + { + fixedWalls + { + name fixedWalls; + } + symmetry + { + name symmetry; + } + outlet1 + { + name outlet1; + } + outlet2 + { + name outlet2; + } + inlet + { + name inlet; + } + topOPatch + { + name topOPatch; + } + } + } +} + +castellatedMeshControls +{ + maxLocalCells 100000; + maxGlobalCells 2000000; + minRefinementCells 100; + maxLoadUnbalance 0.2; + nCellsBetweenLevels 2; + features ( { file stlName.eMesh ; level 2 ; } ); + refinementSurfaces + { + duct + { + level ( 2 2 ); + patchInfo + { + type patch; + } + regions + { + "topOPatch|fixedWalls" + { + level ( 2 2 ); + patchInfo + { + type wall; + inGroups ( ductWalls ); + } + } + symmetry + { + level ( 1 1 ); + patchInfo + { + type symmetry; + } + } + } + } + } + resolveFeatureAngle 30; + refinementRegions + { + } + allowFreeStandingZoneFaces true; + locationInMesh myLocationInMesh; +} + +snapControls +{ + nSmoothPatch 3; + tolerance 2; + nSolveIter 30; + nRelaxIter 5; + nFeatureSnapIter 10; + implicitFeatureSnap false; + explicitFeatureSnap true; + multiRegionFeatureSnap false; +} + +addLayersControls +{ + relativeSizes true; + layers + { + "topOPatch|fixedWalls" + { + nSurfaceLayers 2; + } + } + expansionRatio 1; + finalLayerThickness 0.3; + minThickness 0.1; + nGrow 0; + featureAngle 60; + slipFeatureAngle 30; + nRelaxIter 3; + nSmoothSurfaceNormals 1; + nSmoothNormals 3; + nSmoothThickness 10; + maxFaceThicknessRatio 0.5; + maxThicknessToMedialRatio 0.3; + minMedialAxisAngle 90; + nBufferCellsNoExtrude 0; + nLayerIter 50; +} + +meshQualityControls +{ + maxNonOrtho 65; + maxBoundarySkewness 20; + maxInternalSkewness 4; + maxConcave 80; + minVol 1e-13; + minTetQuality 1e-15; + minArea -1; + minTwist 0.02; + minDeterminant 0.001; + minFaceWeight 0.02; + minVolRatio 0.01; + minTriangleTwist -1; + nSmoothScale 4; + errorReduction 0.75; +} + +writeFlags ( scalarLevels layerSets layerFields ); + +mergeTolerance 1e-06; + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/surfaceFeatureExtractDict similarity index 53% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/surfaceFeatureExtractDict index 91afa0a871..217d805539 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/decomposeParDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/reEval/system/surfaceFeatureExtractDict @@ -10,49 +10,34 @@ FoamFile version 2.0; format ascii; class dictionary; - object decomposeParDict; + object surfaceFeatureExtractDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -numberOfSubdomains 4; - -method scotch; -//method metis; -//method parMetis; - -simpleCoeffs +stlName.stl { - n (2 2 1); - delta 0.001; + // How to obtain raw features (extractFromFile || extractFromSurface) + extractionMethod extractFromSurface; + + // Mark edges whose adjacent surface normals are at an angle less + // than includedAngle as features + // - 0 : selects no edges + // - 180: selects all edges + includedAngle 120; + + subsetFeatures + { + // Keep nonManifold edges (edges with >2 connected faces) + nonManifoldEdges no; + + // Keep open edges (edges with 1 connected face) + openEdges yes; + } + + // Write options + + // Write features to obj format for postprocessing + writeObj yes; } -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/3DBox/losses-mass-uniformity/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/blockMeshDict new file mode 100644 index 0000000000..c77a2e6b02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/blockMeshDict @@ -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 dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0.2 0 0) //1 + (0.2 0.1 0) //2 + (0.2 0.2 0) //3 + (0.1 0.2 0) //4 + (0 0.1 0) //5 + (0 0 0.1) //6 + (0.2 0 0.1) //7 + (0.2 0.1 0.1) //8 + (0.2 0.2 0.1) //9 + (0.1 0.2 0.1) //10 + (0 0.1 0.1) //11 +); + +blocks +( + hex (0 1 2 5 6 7 8 11) (76 38 38) simpleGrading (1 1 1) + hex (5 2 3 4 11 8 9 10) (76 38 38) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + wall fixedWalls + ( + (0 1 2 5) + (7 1 2 8) + (6 0 5 11) + (0 1 7 6) + (5 2 3 4) + (8 2 3 9) + (11 5 4 10) + (4 3 9 10) + ) + symmetry symmetry + ( + (6 7 8 11) + (11 8 9 10) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/controlDict new file mode 100644 index 0000000000..9bdde832a3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/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 70; + +deltaT 1; + +writeControl timeStep; + +writeInterval 70; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression false; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/createPatchDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/createPatchDict new file mode 100644 index 0000000000..6bcb710b1c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/createPatchDict @@ -0,0 +1,91 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object createPatchDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// This application/dictionary controls: +// - optional: create new patches from boundary faces (either given as +// a set of patches or as a faceSet) +// - always: order faces on coupled patches such that they are opposite. This +// is done for all coupled faces, not just for any patches created. +// - optional: synchronise points on coupled patches. +// - always: remove zero-sized (non-coupled) patches (that were not added) + +// 1. Create cyclic: +// - specify where the faces should come from +// - specify the type of cyclic. If a rotational specify the rotationAxis +// and centre to make matching easier +// - always create both halves in one invocation with correct 'neighbourPatch' +// setting. +// - optionally pointSync true to guarantee points to line up. + +// 2. Correct incorrect cyclic: +// This will usually fail upon loading: +// "face 0 area does not match neighbour 2 by 0.0100005%" +// " -- possible face ordering problem." +// - in polyMesh/boundary file: +// - loosen matchTolerance of all cyclics to get case to load +// - or change patch type from 'cyclic' to 'patch' +// and regenerate cyclic as above + +// Do a synchronisation of coupled points after creation of any patches. +// Note: this does not work with points that are on multiple coupled patches +// with transformations (i.e. cyclics). +pointSync false; + +// Patches to create. +patches +( + { + name inlet; + patchInfo + { + type patch; + } + constructFrom set; + set inlet; + } + + { + // Name of new patch + name outlet1; + + // Dictionary to construct new patch from + patchInfo + { + type patch; + } + + constructFrom set; + + set outlet1; + } + + { + // Name of new patch + name outlet2; + + // Dictionary to construct new patch from + patchInfo + { + type patch; + } + + constructFrom set; + + set outlet2; + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/decomposeParDict new file mode 100644 index 0000000000..c9d397f65e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/decomposeParDict @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 60; +method scotch; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvOptions new file mode 100644 index 0000000000..4366c9361d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvOptions @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 Uauniformity Uamass); + function BorrvallPetersson; + b 100; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSchemes new file mode 100644 index 0000000000..8153b470b6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSchemes @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + gradUATC cellLimited Gauss linear 1; + grad(U) cellLimited Gauss linear 1; + gradUConv cellLimited Gauss linear 1; + gradUaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwindV gradUConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwindV gradUaConv; +} + +interpolationSchemes +{ + default linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSolution new file mode 100644 index 0000000000..245bf03f31 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/fvSolution @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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-12; + relTol 0.01; + } + + "U|Ua.*" smoothSolver + { + smoother GaussSeidel; + tolerance 1e-12; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.6; + "pa.*" 0.6; + } + equations + { + U 0.8; + "Ua.*" 0.6; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/optimisationDict new file mode 100644 index 0000000000..185ae850ed --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/optimisationDict @@ -0,0 +1,235 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + consistent true; + residualControl + { + "p.*" 1.e-6; + "U.*" 1.e-6; + } + } + } +} + +adjointManagers +{ + adjManager1 + { + primalSolver op1; + adjointSolvers + { + as1 + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + losses + { + weight 1.; + type PtLosses; + patches ("inlet.*" "outlet.*"); + normalize true; + target 0.778; + normFactor 0.778; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + consistent true; + residualControl + { + "pa.*" 1.e-6; + "Ua.*" 1.e-6; + } + } + } + uniformity + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + uniformity + { + weight 1.; + type uniformityPatch; + patches (outlet1 outlet2); + normalize true; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + consistent true; + residualControl + { + "pa.*" 1.e-6; + "Ua.*" 1.e-6; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight 1.; + type topOVolume; + percentage 0.1; + } + } + } + } + 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 (outlet1 outlet2); + targetPercentages (0.5 0.5); + normalize true; + target 1.e-5; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + consistent true; + residualControl + { + "pa.*" 1.e-6; + "Ua.*" 1.e-6; + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type topO; + sensitivityType topO; + regularisation + { + regularise true; + growFromWalls true; + //meanRadiusMult 10; + radius 0.0380789; + function tanh; + b 20; + } + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + } + maxInitChange 0.2; + } + updateMethod + { + method nullSpace; + violatedConstraintsThreshold 1.e-02; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/topoSetDict new file mode 100644 index 0000000000..0613289aa7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass-uniformity/system/topoSetDict @@ -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 topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + + { + name fixedWalls; + type faceSet; + action new; + source patchToFace; + patch fixedWalls; + } + + { + name inlet; + type faceSet; + action new; + source faceToFace; + set fixedWalls; + } + + { + name inlet; + type faceSet; + action subset; + source boxToFace; + sourceInfo + { + box (0.030 0.130 0.080) (0.070 0.170 0.120); + } + } + { + name inletZone; + type cellSet; + action new; + source faceToCell; + set inlet; + option any; + } + + { + name outlet1; + type faceSet; + action new; + source faceToFace; + set fixedWalls; + } + + { + name outlet1; + type faceSet; + action subset; + source boxToFace; + sourceInfo + { + box (0.199 0.088 0.02) (0.201 0.112 0.044); + } + } + { + name outlet1Zone; + type cellSet; + action new; + source faceToCell; + set outlet1; + option any; + } + + { + name outlet2; + type faceSet; + action new; + source faceToFace; + set fixedWalls; + } + + { + name outlet2; + type faceSet; + action subset; + source boxToFace; + sourceInfo + { + box (0.199 0.088 0.064) (0.201 0.112 0.088); + } + } + { + name outlet2Zone; + type cellSet; + action new; + source faceToCell; + set outlet2; + option any; + } + + { + name allIO; + type cellSet; + action new; + source cellToCell; + sets (inletZone outlet1Zone outlet2Zone); + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/U new file mode 100644 index 0000000000..8c27222f5b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/U @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type surfaceNormalFixedValue; + refValue uniform -10; + value uniform (0 0 0); + } + "outlet.*" + { + type zeroGradient; + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/Ua new file mode 100644 index 0000000000..9e09bdf828 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/Ua @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + "outlet.*" + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/p new file mode 100644 index 0000000000..9d0c7cb92b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/p @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type fixedValue; + value uniform 0; + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/pa new file mode 100644 index 0000000000..734ba35411 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/0.orig/pa @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type adjointOutletPressure; + value uniform 0; + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/Allclean similarity index 91% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/Allclean index 387f267882..1fc5ecb533 100755 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/Allclean +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/Allclean @@ -3,12 +3,13 @@ cd "${0%/*}" || exit # Run from this directory . ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions #------------------------------------------------------------------------------ -cleanCase -if [ -d "reEval" ] +cleanCase0 + +if [ -d reEval ] then cd reEval ./Allclean cd .. -fi +fi #------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/Allrun new file mode 100755 index 0000000000..6fa0be27e0 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/Allrun @@ -0,0 +1,23 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication -s 'refinementZones' topoSet +runApplication refineHexMesh -overwrite allIO +runApplication -s 'allZones' topoSet +runApplication setsToZones -noFlipMap +runApplication createPatch -overwrite +restore0Dir +runApplication decomposePar +runParallel $(getApplication) + +if [ -d reEval ] +then + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/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/3DBox/losses-mass/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/constant/transportProperties new file mode 100644 index 0000000000..566ce53a02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/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 [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/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/3DBox/losses-mass/reEval/0.orig/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/U new file mode 100644 index 0000000000..37a3566963 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/U @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type surfaceNormalFixedValue; + refValue uniform -10; + value uniform (0 0 0); + } + "outlet.*" + { + type zeroGradient; + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/Ua new file mode 100644 index 0000000000..76a421646c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/Ua @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + "outlet.*" + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/p new file mode 100644 index 0000000000..3e6a4da41c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/p @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type fixedValue; + value uniform 0; + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/pa new file mode 100644 index 0000000000..1c318451ea --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/0.orig/pa @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type adjointOutletPressure; + value uniform 0; + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/Allclean new file mode 100755 index 0000000000..39b3cdb14e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/Allclean @@ -0,0 +1,22 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase0 + +# Remove surface and features +rm -rf constant/extendedFeatureEdgeMesh +rm -rf constant/triSurface/* + +# Restore default entries in snappyHexMeshDict and surfaceFeatureExtractDict +foamDictionary system/snappyHexMeshDict -entry castellatedMeshControls.locationInMesh -remove +foamDictionary system/snappyHexMeshDict -entry castellatedMeshControls.locationInMesh -add "myLocationInMesh" + +topOEndTime=$(foamDictionary ../system/controlDict -entry 'endTime' -value) +fileName=topOIsoSurface$topOEndTime + +sed -i "s|$fileName|stlName|g" system/snappyHexMeshDict +sed -i "s|$fileName|stlName|g" system/surfaceFeatureExtractDict + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/AllrunReEval new file mode 100755 index 0000000000..1dd2651f42 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/AllrunReEval @@ -0,0 +1,30 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +topOEndTime=$(foamDictionary ../system/controlDict -entry 'endTime' -value) +fileName=topOIsoSurface$topOEndTime + +# A bit ugly but expanding a stored variable of the form "(a b c)" seems tricky +locationInMesh="\(0.058 0.15 0.094\)" +sed -i "s|myLocationInMesh|$locationInMesh|g" system/snappyHexMeshDict +sed -i "s|stlName|$fileName|g" system/snappyHexMeshDict +sed -i "s|stlName|$fileName|g" system/surfaceFeatureExtractDict + +cp ../optimisation/topOIsoSurfaces/$fileName.stl constant/triSurface/. + +runApplication blockMesh + +runApplication surfaceFeatureExtract + +runApplication decomposePar + +runParallel snappyHexMesh -overwrite + +restore0Dir -processor + +runParallel $(getApplication) + + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/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/3DBox/losses-mass/reEval/constant/dynamicMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/constant/dynamicMeshDict new file mode 100644 index 0000000000..a9ab777d92 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/constant/dynamicMeshDict @@ -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 dynamicMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dynamicFvMesh dynamicRefineFvMesh; + +dynamicRefineFvMeshCoeffs +{ + // How often to refine + refineInterval 1; + // Field to be refinement on + field mmagfi; + // Refine field inbetween lower..upper + lowerRefineLevel -0.003; + upperRefineLevel 0; + // If value < unrefineLevel unrefine + unrefineLevel -0.003; + // Have slower than 2:1 refinement + nBufferLayers 1; + // Refine cells only up to maxRefinement levels + maxRefinement 1; + // Stop refinement if maxCells reached + maxCells 500000; + // Flux field and corresponding velocity field. Fluxes on changed + // faces get recalculated by interpolating the velocity. Use 'none' + // on surfaceScalarFields that do not need to be reinterpolated. + correctFluxes + ( + // (phi U) + // (phia Ua) + ); + // Write the refinement level as a volScalarField + dumpLevel true; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/constant/transportProperties new file mode 100644 index 0000000000..566ce53a02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/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 [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/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/3DBox/losses-mass/reEval/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/blockMeshDict new file mode 100644 index 0000000000..4dab8d8e33 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/blockMeshDict @@ -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 blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0.3 0 0) //1 + (0.3 0.3 0) //2 + (0 0.3 0) //3 + (0 0 0.3) //4 + (0.3 0 0.3) //5 + (0.3 0.3 0.3) //6 + (0 0.3 0.3) //7 +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (75 75 75) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/controlDict new file mode 100644 index 0000000000..18b6d8f4bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/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 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression false; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/decomposeParDict new file mode 100644 index 0000000000..a3754e7ed7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/decomposeParDict @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/fvSchemes new file mode 100644 index 0000000000..732d61ffe7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/fvSchemes @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + gradUATC cellLimited Gauss linear 1; + grad(U) cellLimited Gauss linear 1; + gradUConv cellLimited Gauss linear 1; + gradUaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwindV gradUConv; + div(-phi,Ua) bounded Gauss linearUpwindV gradUaConv; +} + +interpolationSchemes +{ + default linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/fvSolution new file mode 100644 index 0000000000..ebaac32819 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/fvSolution @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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.*" smoothSolver + { + smoother GaussSeidel; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.6; + "pa.*" 0.7; + } + equations + { + U 0.8; + "Ua.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/optimisationDict new file mode 100644 index 0000000000..cd3c9a5d53 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/optimisationDict @@ -0,0 +1,104 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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.*"); + } + uniformity + { + weight 1.; + type uniformityPatch; + patches (outlet1 outlet2); + } + mass + { + weight 1.; + type flowRatePartition; + inletPatches (inlet); + outletPatches (outlet1 outlet2); + targetPercentages (0.5 0.5); + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/snappyHexMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/snappyHexMeshDict new file mode 100644 index 0000000000..0a53a1dd07 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/snappyHexMeshDict @@ -0,0 +1,170 @@ +/*--------------------------------*- 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 snappyHexMeshDict; +} + +castellatedMesh true; + +snap true; + +addLayers true; + +singleRegionName true; + +geometry +{ + stlName.stl + { + type triSurfaceMesh; + name duct; + regions + { + fixedWalls + { + name fixedWalls; + } + symmetry + { + name symmetry; + } + outlet1 + { + name outlet1; + } + outlet2 + { + name outlet2; + } + inlet + { + name inlet; + } + topOPatch + { + name topOPatch; + } + } + } +} + +castellatedMeshControls +{ + maxLocalCells 100000; + maxGlobalCells 2000000; + minRefinementCells 100; + maxLoadUnbalance 0.2; + nCellsBetweenLevels 2; + features ( { file stlName.eMesh ; level 2 ; } ); + refinementSurfaces + { + duct + { + level ( 2 2 ); + patchInfo + { + type patch; + } + regions + { + "topOPatch|fixedWalls" + { + level ( 2 2 ); + patchInfo + { + type wall; + inGroups ( ductWalls ); + } + } + symmetry + { + level ( 1 1 ); + patchInfo + { + type symmetry; + } + } + } + } + } + resolveFeatureAngle 30; + refinementRegions + { + } + allowFreeStandingZoneFaces true; + locationInMesh myLocationInMesh; +} + +snapControls +{ + nSmoothPatch 3; + tolerance 2; + nSolveIter 30; + nRelaxIter 5; + nFeatureSnapIter 10; + implicitFeatureSnap false; + explicitFeatureSnap true; + multiRegionFeatureSnap false; +} + +addLayersControls +{ + relativeSizes true; + layers + { + "topOPatch|fixedWalls" + { + nSurfaceLayers 2; + } + } + expansionRatio 1; + finalLayerThickness 0.3; + minThickness 0.1; + nGrow 0; + featureAngle 60; + slipFeatureAngle 30; + nRelaxIter 3; + nSmoothSurfaceNormals 1; + nSmoothNormals 3; + nSmoothThickness 10; + maxFaceThicknessRatio 0.5; + maxThicknessToMedialRatio 0.3; + minMedialAxisAngle 90; + nBufferCellsNoExtrude 0; + nLayerIter 50; +} + +meshQualityControls +{ + maxNonOrtho 65; + maxBoundarySkewness 20; + maxInternalSkewness 4; + maxConcave 80; + minVol 1e-13; + minTetQuality 1e-15; + minArea -1; + minTwist 0.02; + minDeterminant 0.001; + minFaceWeight 0.02; + minVolRatio 0.01; + minTriangleTwist -1; + nSmoothScale 4; + errorReduction 0.75; +} + +writeFlags ( scalarLevels layerSets layerFields ); + +mergeTolerance 1e-06; + + +// ************************************************************************* // 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/laminar/3DBox/losses-mass/reEval/system/surfaceFeatureExtractDict similarity index 53% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/surfaceFeatureExtractDict index 91afa0a871..217d805539 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/decomposeParDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/reEval/system/surfaceFeatureExtractDict @@ -10,49 +10,34 @@ FoamFile version 2.0; format ascii; class dictionary; - object decomposeParDict; + object surfaceFeatureExtractDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -numberOfSubdomains 4; - -method scotch; -//method metis; -//method parMetis; - -simpleCoeffs +stlName.stl { - n (2 2 1); - delta 0.001; + // How to obtain raw features (extractFromFile || extractFromSurface) + extractionMethod extractFromSurface; + + // Mark edges whose adjacent surface normals are at an angle less + // than includedAngle as features + // - 0 : selects no edges + // - 180: selects all edges + includedAngle 120; + + subsetFeatures + { + // Keep nonManifold edges (edges with >2 connected faces) + nonManifoldEdges no; + + // Keep open edges (edges with 1 connected face) + openEdges yes; + } + + // Write options + + // Write features to obj format for postprocessing + writeObj yes; } -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/3DBox/losses-mass/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/blockMeshDict new file mode 100644 index 0000000000..c77a2e6b02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/blockMeshDict @@ -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 dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0.2 0 0) //1 + (0.2 0.1 0) //2 + (0.2 0.2 0) //3 + (0.1 0.2 0) //4 + (0 0.1 0) //5 + (0 0 0.1) //6 + (0.2 0 0.1) //7 + (0.2 0.1 0.1) //8 + (0.2 0.2 0.1) //9 + (0.1 0.2 0.1) //10 + (0 0.1 0.1) //11 +); + +blocks +( + hex (0 1 2 5 6 7 8 11) (76 38 38) simpleGrading (1 1 1) + hex (5 2 3 4 11 8 9 10) (76 38 38) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + wall fixedWalls + ( + (0 1 2 5) + (7 1 2 8) + (6 0 5 11) + (0 1 7 6) + (5 2 3 4) + (8 2 3 9) + (11 5 4 10) + (4 3 9 10) + ) + symmetry symmetry + ( + (6 7 8 11) + (11 8 9 10) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/controlDict new file mode 100644 index 0000000000..9bdde832a3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/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 70; + +deltaT 1; + +writeControl timeStep; + +writeInterval 70; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression false; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/createPatchDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/createPatchDict new file mode 100644 index 0000000000..6bcb710b1c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/createPatchDict @@ -0,0 +1,91 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object createPatchDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// This application/dictionary controls: +// - optional: create new patches from boundary faces (either given as +// a set of patches or as a faceSet) +// - always: order faces on coupled patches such that they are opposite. This +// is done for all coupled faces, not just for any patches created. +// - optional: synchronise points on coupled patches. +// - always: remove zero-sized (non-coupled) patches (that were not added) + +// 1. Create cyclic: +// - specify where the faces should come from +// - specify the type of cyclic. If a rotational specify the rotationAxis +// and centre to make matching easier +// - always create both halves in one invocation with correct 'neighbourPatch' +// setting. +// - optionally pointSync true to guarantee points to line up. + +// 2. Correct incorrect cyclic: +// This will usually fail upon loading: +// "face 0 area does not match neighbour 2 by 0.0100005%" +// " -- possible face ordering problem." +// - in polyMesh/boundary file: +// - loosen matchTolerance of all cyclics to get case to load +// - or change patch type from 'cyclic' to 'patch' +// and regenerate cyclic as above + +// Do a synchronisation of coupled points after creation of any patches. +// Note: this does not work with points that are on multiple coupled patches +// with transformations (i.e. cyclics). +pointSync false; + +// Patches to create. +patches +( + { + name inlet; + patchInfo + { + type patch; + } + constructFrom set; + set inlet; + } + + { + // Name of new patch + name outlet1; + + // Dictionary to construct new patch from + patchInfo + { + type patch; + } + + constructFrom set; + + set outlet1; + } + + { + // Name of new patch + name outlet2; + + // Dictionary to construct new patch from + patchInfo + { + type patch; + } + + constructFrom set; + + set outlet2; + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/decomposeParDict new file mode 100644 index 0000000000..c9d397f65e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/decomposeParDict @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 60; +method scotch; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvOptions b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvOptions new file mode 100644 index 0000000000..5baaec8bfb --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvOptions @@ -0,0 +1,22 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 BorrvallPetersson; + b 100; + interpolationField beta; +} diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSchemes new file mode 100644 index 0000000000..8153b470b6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSchemes @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + gradUATC cellLimited Gauss linear 1; + grad(U) cellLimited Gauss linear 1; + gradUConv cellLimited Gauss linear 1; + gradUaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwindV gradUConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwindV gradUaConv; +} + +interpolationSchemes +{ + default linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSolution new file mode 100644 index 0000000000..245bf03f31 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/fvSolution @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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-12; + relTol 0.01; + } + + "U|Ua.*" smoothSolver + { + smoother GaussSeidel; + tolerance 1e-12; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.6; + "pa.*" 0.6; + } + equations + { + U 0.8; + "Ua.*" 0.6; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/optimisationDict new file mode 100644 index 0000000000..41a39e3c5d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/optimisationDict @@ -0,0 +1,196 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + consistent true; + residualControl + { + "p.*" 1.e-6; + "U.*" 1.e-6; + } + } + } +} + +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; + } + uniformity + { + weight 0.; + type uniformityPatch; + patches (outlet1 outlet2); + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nInitialIters 300; + nIters 300; + consistent true; + residualControl + { + "pa.*" 1.e-6; + "Ua.*" 1.e-6; + } + } + } + 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 (outlet1 outlet2); + targetPercentages (0.5 0.5); + normalize true; + target 1.e-5; + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + consistent true; + residualControl + { + "pa.*" 1.e-6; + "Ua.*" 1.e-6; + } + } + } + vol + { + // choose adjoint solver + //---------------------- + active true; + type null; + isConstraint true; + // manage objectives + //------------------ + objectives + { + type geometric; + objectiveNames + { + vol + { + weight 1.; + type topOVolume; + percentage 0.1; + } + } + } + } + } + } +} + +optimisation +{ + designVariables + { + type topO; + sensitivityType topO; + regularisation + { + regularise true; + growFromWalls true; + //meanRadiusMult 10; + radius 0.0380789; + function tanh; + b 20; + } + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + } + maxInitChange 0.2; + } + updateMethod + { + method nullSpace; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/topoSetDict new file mode 100644 index 0000000000..0613289aa7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses-mass/system/topoSetDict @@ -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 topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + + { + name fixedWalls; + type faceSet; + action new; + source patchToFace; + patch fixedWalls; + } + + { + name inlet; + type faceSet; + action new; + source faceToFace; + set fixedWalls; + } + + { + name inlet; + type faceSet; + action subset; + source boxToFace; + sourceInfo + { + box (0.030 0.130 0.080) (0.070 0.170 0.120); + } + } + { + name inletZone; + type cellSet; + action new; + source faceToCell; + set inlet; + option any; + } + + { + name outlet1; + type faceSet; + action new; + source faceToFace; + set fixedWalls; + } + + { + name outlet1; + type faceSet; + action subset; + source boxToFace; + sourceInfo + { + box (0.199 0.088 0.02) (0.201 0.112 0.044); + } + } + { + name outlet1Zone; + type cellSet; + action new; + source faceToCell; + set outlet1; + option any; + } + + { + name outlet2; + type faceSet; + action new; + source faceToFace; + set fixedWalls; + } + + { + name outlet2; + type faceSet; + action subset; + source boxToFace; + sourceInfo + { + box (0.199 0.088 0.064) (0.201 0.112 0.088); + } + } + { + name outlet2Zone; + type cellSet; + action new; + source faceToCell; + set outlet2; + option any; + } + + { + name allIO; + type cellSet; + action new; + source cellToCell; + sets (inletZone outlet1Zone outlet2Zone); + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/U new file mode 100644 index 0000000000..8c27222f5b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/U @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type surfaceNormalFixedValue; + refValue uniform -10; + value uniform (0 0 0); + } + "outlet.*" + { + type zeroGradient; + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/Ua new file mode 100644 index 0000000000..9e09bdf828 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/Ua @@ -0,0 +1,44 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + "outlet.*" + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/p new file mode 100644 index 0000000000..9d0c7cb92b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/p @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type fixedValue; + value uniform 0; + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/pa new file mode 100644 index 0000000000..734ba35411 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/0.orig/pa @@ -0,0 +1,42 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type adjointOutletPressure; + value uniform 0; + } + symmetry + { + type symmetry; + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/Allclean similarity index 91% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/Allclean index 387f267882..1fc5ecb533 100755 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allclean +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/Allclean @@ -3,12 +3,13 @@ cd "${0%/*}" || exit # Run from this directory . ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions #------------------------------------------------------------------------------ -cleanCase -if [ -d "reEval" ] +cleanCase0 + +if [ -d reEval ] then cd reEval ./Allclean cd .. -fi +fi #------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/Allrun new file mode 100755 index 0000000000..6fa0be27e0 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/Allrun @@ -0,0 +1,23 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +runApplication blockMesh +runApplication -s 'refinementZones' topoSet +runApplication refineHexMesh -overwrite allIO +runApplication -s 'allZones' topoSet +runApplication setsToZones -noFlipMap +runApplication createPatch -overwrite +restore0Dir +runApplication decomposePar +runParallel $(getApplication) + +if [ -d reEval ] +then + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval + cd .. +fi + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/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/3DBox/losses/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/constant/transportProperties new file mode 100644 index 0000000000..566ce53a02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/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 [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/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/3DBox/losses/reEval/0.orig/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/U new file mode 100644 index 0000000000..37a3566963 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/U @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type surfaceNormalFixedValue; + refValue uniform -10; + value uniform (0 0 0); + } + "outlet.*" + { + type zeroGradient; + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/Ua b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/Ua new file mode 100644 index 0000000000..76a421646c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/Ua @@ -0,0 +1,45 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type fixedValue; + value uniform (0 0 0); + } + inlet + { + type adjointInletVelocity; + value uniform (0 0 0); + } + "outlet.*" + { + type adjointOutletVelocityFlux; + value uniform (0 0 0); + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/p new file mode 100644 index 0000000000..3e6a4da41c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/p @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type fixedValue; + value uniform 0; + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/pa new file mode 100644 index 0000000000..1c318451ea --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/0.orig/pa @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 +{ + "wall|fixedWalls|topOPatch" + { + type zeroGradient; + } + inlet + { + type zeroGradient; + } + "outlet.*" + { + type adjointOutletPressure; + value uniform 0; + } + symmetry + { + type symmetry; + } + #includeEtc "caseDicts/setConstraintTypes" +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/Allclean new file mode 100755 index 0000000000..39b3cdb14e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/Allclean @@ -0,0 +1,22 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase0 + +# Remove surface and features +rm -rf constant/extendedFeatureEdgeMesh +rm -rf constant/triSurface/* + +# Restore default entries in snappyHexMeshDict and surfaceFeatureExtractDict +foamDictionary system/snappyHexMeshDict -entry castellatedMeshControls.locationInMesh -remove +foamDictionary system/snappyHexMeshDict -entry castellatedMeshControls.locationInMesh -add "myLocationInMesh" + +topOEndTime=$(foamDictionary ../system/controlDict -entry 'endTime' -value) +fileName=topOIsoSurface$topOEndTime + +sed -i "s|$fileName|stlName|g" system/snappyHexMeshDict +sed -i "s|$fileName|stlName|g" system/surfaceFeatureExtractDict + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/AllrunReEval new file mode 100755 index 0000000000..1dd2651f42 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/AllrunReEval @@ -0,0 +1,30 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions # Tutorial run functions +#------------------------------------------------------------------------------ + +topOEndTime=$(foamDictionary ../system/controlDict -entry 'endTime' -value) +fileName=topOIsoSurface$topOEndTime + +# A bit ugly but expanding a stored variable of the form "(a b c)" seems tricky +locationInMesh="\(0.058 0.15 0.094\)" +sed -i "s|myLocationInMesh|$locationInMesh|g" system/snappyHexMeshDict +sed -i "s|stlName|$fileName|g" system/snappyHexMeshDict +sed -i "s|stlName|$fileName|g" system/surfaceFeatureExtractDict + +cp ../optimisation/topOIsoSurfaces/$fileName.stl constant/triSurface/. + +runApplication blockMesh + +runApplication surfaceFeatureExtract + +runApplication decomposePar + +runParallel snappyHexMesh -overwrite + +restore0Dir -processor + +runParallel $(getApplication) + + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/constant/adjointRASProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/constant/adjointRASProperties new file mode 100644 index 0000000000..161ad9f638 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/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/3DBox/losses/reEval/constant/dynamicMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/constant/dynamicMeshDict new file mode 100644 index 0000000000..a9ab777d92 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/constant/dynamicMeshDict @@ -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 dynamicMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dynamicFvMesh dynamicRefineFvMesh; + +dynamicRefineFvMeshCoeffs +{ + // How often to refine + refineInterval 1; + // Field to be refinement on + field mmagfi; + // Refine field inbetween lower..upper + lowerRefineLevel -0.003; + upperRefineLevel 0; + // If value < unrefineLevel unrefine + unrefineLevel -0.003; + // Have slower than 2:1 refinement + nBufferLayers 1; + // Refine cells only up to maxRefinement levels + maxRefinement 1; + // Stop refinement if maxCells reached + maxCells 500000; + // Flux field and corresponding velocity field. Fluxes on changed + // faces get recalculated by interpolating the velocity. Use 'none' + // on surfaceScalarFields that do not need to be reinterpolated. + correctFluxes + ( + // (phi U) + // (phia Ua) + ); + // Write the refinement level as a volScalarField + dumpLevel true; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/constant/transportProperties new file mode 100644 index 0000000000..566ce53a02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/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 [0 2 -1 0 0 0 0] 1e-03; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/constant/turbulenceProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/constant/turbulenceProperties new file mode 100644 index 0000000000..935f07f3c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/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/3DBox/losses/reEval/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/blockMeshDict new file mode 100644 index 0000000000..4dab8d8e33 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/blockMeshDict @@ -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 blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0.3 0 0) //1 + (0.3 0.3 0) //2 + (0 0.3 0) //3 + (0 0 0.3) //4 + (0.3 0 0.3) //5 + (0.3 0.3 0.3) //6 + (0 0.3 0.3) //7 +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (75 75 75) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/controlDict new file mode 100644 index 0000000000..18b6d8f4bc --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/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 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression false; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/decomposeParDict new file mode 100644 index 0000000000..a3754e7ed7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/decomposeParDict @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/fvSchemes new file mode 100644 index 0000000000..732d61ffe7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/fvSchemes @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + gradUATC cellLimited Gauss linear 1; + grad(U) cellLimited Gauss linear 1; + gradUConv cellLimited Gauss linear 1; + gradUaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwindV gradUConv; + div(-phi,Ua) bounded Gauss linearUpwindV gradUaConv; +} + +interpolationSchemes +{ + default linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/fvSolution new file mode 100644 index 0000000000..ebaac32819 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/fvSolution @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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.*" smoothSolver + { + smoother GaussSeidel; + tolerance 1e-9; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.6; + "pa.*" 0.7; + } + equations + { + U 0.8; + "Ua.*" 0.7; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/optimisationDict new file mode 100644 index 0000000000..cd3c9a5d53 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/optimisationDict @@ -0,0 +1,104 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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.*"); + } + uniformity + { + weight 1.; + type uniformityPatch; + patches (outlet1 outlet2); + } + mass + { + weight 1.; + type flowRatePartition; + inletPatches (inlet); + outletPatches (outlet1 outlet2); + targetPercentages (0.5 0.5); + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/snappyHexMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/snappyHexMeshDict new file mode 100644 index 0000000000..0a53a1dd07 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/snappyHexMeshDict @@ -0,0 +1,170 @@ +/*--------------------------------*- 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 snappyHexMeshDict; +} + +castellatedMesh true; + +snap true; + +addLayers true; + +singleRegionName true; + +geometry +{ + stlName.stl + { + type triSurfaceMesh; + name duct; + regions + { + fixedWalls + { + name fixedWalls; + } + symmetry + { + name symmetry; + } + outlet1 + { + name outlet1; + } + outlet2 + { + name outlet2; + } + inlet + { + name inlet; + } + topOPatch + { + name topOPatch; + } + } + } +} + +castellatedMeshControls +{ + maxLocalCells 100000; + maxGlobalCells 2000000; + minRefinementCells 100; + maxLoadUnbalance 0.2; + nCellsBetweenLevels 2; + features ( { file stlName.eMesh ; level 2 ; } ); + refinementSurfaces + { + duct + { + level ( 2 2 ); + patchInfo + { + type patch; + } + regions + { + "topOPatch|fixedWalls" + { + level ( 2 2 ); + patchInfo + { + type wall; + inGroups ( ductWalls ); + } + } + symmetry + { + level ( 1 1 ); + patchInfo + { + type symmetry; + } + } + } + } + } + resolveFeatureAngle 30; + refinementRegions + { + } + allowFreeStandingZoneFaces true; + locationInMesh myLocationInMesh; +} + +snapControls +{ + nSmoothPatch 3; + tolerance 2; + nSolveIter 30; + nRelaxIter 5; + nFeatureSnapIter 10; + implicitFeatureSnap false; + explicitFeatureSnap true; + multiRegionFeatureSnap false; +} + +addLayersControls +{ + relativeSizes true; + layers + { + "topOPatch|fixedWalls" + { + nSurfaceLayers 2; + } + } + expansionRatio 1; + finalLayerThickness 0.3; + minThickness 0.1; + nGrow 0; + featureAngle 60; + slipFeatureAngle 30; + nRelaxIter 3; + nSmoothSurfaceNormals 1; + nSmoothNormals 3; + nSmoothThickness 10; + maxFaceThicknessRatio 0.5; + maxThicknessToMedialRatio 0.3; + minMedialAxisAngle 90; + nBufferCellsNoExtrude 0; + nLayerIter 50; +} + +meshQualityControls +{ + maxNonOrtho 65; + maxBoundarySkewness 20; + maxInternalSkewness 4; + maxConcave 80; + minVol 1e-13; + minTetQuality 1e-15; + minArea -1; + minTwist 0.02; + minDeterminant 0.001; + minFaceWeight 0.02; + minVolRatio 0.01; + minTriangleTwist -1; + nSmoothScale 4; + errorReduction 0.75; +} + +writeFlags ( scalarLevels layerSets layerFields ); + +mergeTolerance 1e-06; + + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/surfaceFeatureExtractDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/surfaceFeatureExtractDict new file mode 100644 index 0000000000..217d805539 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/reEval/system/surfaceFeatureExtractDict @@ -0,0 +1,43 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object surfaceFeatureExtractDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +stlName.stl +{ + // How to obtain raw features (extractFromFile || extractFromSurface) + extractionMethod extractFromSurface; + + // Mark edges whose adjacent surface normals are at an angle less + // than includedAngle as features + // - 0 : selects no edges + // - 180: selects all edges + includedAngle 120; + + subsetFeatures + { + // Keep nonManifold edges (edges with >2 connected faces) + nonManifoldEdges no; + + // Keep open edges (edges with 1 connected face) + openEdges yes; + } + + // Write options + + // Write features to obj format for postprocessing + writeObj yes; +} + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/blockMeshDict new file mode 100644 index 0000000000..c77a2e6b02 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/blockMeshDict @@ -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 dictionary; + object blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) //0 + (0.2 0 0) //1 + (0.2 0.1 0) //2 + (0.2 0.2 0) //3 + (0.1 0.2 0) //4 + (0 0.1 0) //5 + (0 0 0.1) //6 + (0.2 0 0.1) //7 + (0.2 0.1 0.1) //8 + (0.2 0.2 0.1) //9 + (0.1 0.2 0.1) //10 + (0 0.1 0.1) //11 +); + +blocks +( + hex (0 1 2 5 6 7 8 11) (76 38 38) simpleGrading (1 1 1) + hex (5 2 3 4 11 8 9 10) (76 38 38) simpleGrading (1 1 1) +); + +edges +( +); + +patches +( + wall fixedWalls + ( + (0 1 2 5) + (7 1 2 8) + (6 0 5 11) + (0 1 7 6) + (5 2 3 4) + (8 2 3 9) + (11 5 4 10) + (4 3 9 10) + ) + symmetry symmetry + ( + (6 7 8 11) + (11 8 9 10) + ) +); + +mergePatchPairs +( +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/controlDict new file mode 100644 index 0000000000..9bdde832a3 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/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 70; + +deltaT 1; + +writeControl timeStep; + +writeInterval 70; + +purgeWrite 0; + +writeFormat binary; + +writePrecision 6; + +writeCompression false; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/createPatchDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/createPatchDict new file mode 100644 index 0000000000..6bcb710b1c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/createPatchDict @@ -0,0 +1,91 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: v2306 | +| \\ / A nd | Website: www.openfoam.com | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object createPatchDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// This application/dictionary controls: +// - optional: create new patches from boundary faces (either given as +// a set of patches or as a faceSet) +// - always: order faces on coupled patches such that they are opposite. This +// is done for all coupled faces, not just for any patches created. +// - optional: synchronise points on coupled patches. +// - always: remove zero-sized (non-coupled) patches (that were not added) + +// 1. Create cyclic: +// - specify where the faces should come from +// - specify the type of cyclic. If a rotational specify the rotationAxis +// and centre to make matching easier +// - always create both halves in one invocation with correct 'neighbourPatch' +// setting. +// - optionally pointSync true to guarantee points to line up. + +// 2. Correct incorrect cyclic: +// This will usually fail upon loading: +// "face 0 area does not match neighbour 2 by 0.0100005%" +// " -- possible face ordering problem." +// - in polyMesh/boundary file: +// - loosen matchTolerance of all cyclics to get case to load +// - or change patch type from 'cyclic' to 'patch' +// and regenerate cyclic as above + +// Do a synchronisation of coupled points after creation of any patches. +// Note: this does not work with points that are on multiple coupled patches +// with transformations (i.e. cyclics). +pointSync false; + +// Patches to create. +patches +( + { + name inlet; + patchInfo + { + type patch; + } + constructFrom set; + set inlet; + } + + { + // Name of new patch + name outlet1; + + // Dictionary to construct new patch from + patchInfo + { + type patch; + } + + constructFrom set; + + set outlet1; + } + + { + // Name of new patch + name outlet2; + + // Dictionary to construct new patch from + patchInfo + { + type patch; + } + + constructFrom set; + + set outlet2; + } +); + +// ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/decomposeParDict new file mode 100644 index 0000000000..c9d397f65e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/decomposeParDict @@ -0,0 +1,20 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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 60; +method scotch; + +// ************************************************************************* // 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/3DBox/losses/system/fvOptions similarity index 89% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvOptions rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvOptions index 5f299f19bf..8835f7e7c3 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/fvOptions +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvOptions @@ -14,8 +14,9 @@ FoamFile } momSource { - type topOSource; - names (U Ua); - function linear; + type topOSource; + names (U Ua); + function BorrvallPetersson; + b 100; interpolationField beta; } diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSchemes new file mode 100644 index 0000000000..8153b470b6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSchemes @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + gradUATC cellLimited Gauss linear 1; + grad(U) cellLimited Gauss linear 1; + gradUConv cellLimited Gauss linear 1; + gradUaConv cellLimited Gauss linear 1; +} + +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwindV gradUConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwindV gradUaConv; +} + +interpolationSchemes +{ + default linear; +} + +laplacianSchemes +{ + default Gauss linear corrected; +} + +snGradSchemes +{ + default corrected; +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSolution b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSolution new file mode 100644 index 0000000000..245bf03f31 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/fvSolution @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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-12; + relTol 0.01; + } + + "U|Ua.*" smoothSolver + { + smoother GaussSeidel; + tolerance 1e-12; + relTol 0.1; + }; +} + +relaxationFactors +{ + fields + { + p 0.6; + "pa.*" 0.6; + } + equations + { + U 0.8; + "Ua.*" 0.6; + } +} + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/optimisationDict similarity index 66% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/optimisationDict index fa5329df26..043566224b 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/optimisationDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/optimisationDict @@ -25,13 +25,12 @@ primalSolvers solver simple; solutionControls { - nIters 500; - nInitialIters 1000; + nIters 300; + consistent true; residualControl { - "p.*" 5.e-7; - "U.*" 5.e-7; - "nu.*" 5.e-7; + "p.*" 1.e-6; + "U.*" 1.e-6; } } } @@ -62,9 +61,23 @@ adjointManagers { weight 1.; type PtLosses; - patches (inlet "outlet.*"); + patches ("inlet.*" "outlet.*"); normalize true; } + uniformity + { + weight 0.; + type uniformityPatch; + patches (outlet1 outlet2); + } + mass + { + weight 0.; + type flowRatePartition; + inletPatches (inlet); + outletPatches (outlet1 outlet2); + targetPercentages (0.5 0.5); + } } } // ATC treatment @@ -77,13 +90,12 @@ adjointManagers //------------------ solutionControls { - nIters 500; - nInitialIters 1000; + nIters 300; + consistent true; residualControl { - "pa.*" 5.e-7; - "Ua.*" 5.e-7; - "nua.*" 5.e-7; + "pa.*" 1.e-6; + "Ua.*" 1.e-6; } } } @@ -103,24 +115,9 @@ adjointManagers { vol { - weight -1.; - type topOSolidVolume; - percentage - { - type scale; - scale - { - type stepRamp; - start 0; - duration 70; - interval 1; - } - value - { - type constant; - value constant 0.538; - } - } + weight 1.; + type topOVolume; + percentage 0.1; } } } @@ -133,28 +130,27 @@ optimisation { designVariables { - type dynamicTopO; + type topO; sensitivityType topO; - marchingCoeffs - { - seedPatches (designWall); - marchingStep 2; - } - fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); regularisation { - regularise true; - growFromWalls true; - meanRadiusMult 10; - function tanh; - b 20; + regularise true; + growFromWalls true; + //meanRadiusMult 10; + radius 0.0380789; + function tanh; + b 20; } - betaMax 50; + betaMaxType Darcy; + DarcyCoeffs + { + inletPatches (inlet); + } + maxInitChange 0.2; } updateMethod { - method MMA; - eta 1; + method nullSpace; } } diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/topoSetDict new file mode 100644 index 0000000000..0613289aa7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/3DBox/losses/system/topoSetDict @@ -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 topoSetDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +actions +( + + { + name fixedWalls; + type faceSet; + action new; + source patchToFace; + patch fixedWalls; + } + + { + name inlet; + type faceSet; + action new; + source faceToFace; + set fixedWalls; + } + + { + name inlet; + type faceSet; + action subset; + source boxToFace; + sourceInfo + { + box (0.030 0.130 0.080) (0.070 0.170 0.120); + } + } + { + name inletZone; + type cellSet; + action new; + source faceToCell; + set inlet; + option any; + } + + { + name outlet1; + type faceSet; + action new; + source faceToFace; + set fixedWalls; + } + + { + name outlet1; + type faceSet; + action subset; + source boxToFace; + sourceInfo + { + box (0.199 0.088 0.02) (0.201 0.112 0.044); + } + } + { + name outlet1Zone; + type cellSet; + action new; + source faceToCell; + set outlet1; + option any; + } + + { + name outlet2; + type faceSet; + action new; + source faceToFace; + set fixedWalls; + } + + { + name outlet2; + type faceSet; + action subset; + source boxToFace; + sourceInfo + { + box (0.199 0.088 0.064) (0.201 0.112 0.088); + } + } + { + name outlet2Zone; + type cellSet; + action new; + source faceToCell; + set outlet2; + option any; + } + + { + name allIO; + type cellSet; + action new; + source cellToCell; + sets (inletZone outlet1Zone outlet2Zone); + } +); + +// ************************************************************************* // 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 index d1ab548385..7e2405e806 100644 --- 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 @@ -64,7 +64,6 @@ boundaryField { 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 index 4053ed914b..7de79f37ed 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/0/p index 333c6613a2..22f51142c7 100644 --- 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 @@ -61,7 +61,6 @@ boundaryField 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 index f954a80212..53ef59ae51 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,6 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 0fc71599b9..8204f1ec58 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/U index 7a7bb821c4..92f38a3f20 100644 --- 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 @@ -70,7 +70,6 @@ boundaryField { 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 index c740fbd652..31b71c82be 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,6 @@ boundaryField 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/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/0/p index be8c1e2add..e38d736126 100644 --- 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 @@ -66,7 +66,6 @@ boundaryField 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 index 8e219909dd..df0574f733 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_05x_NB_01/reEval/constant/transportProperties index 0fc71599b9..8204f1ec58 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/U index d1ab548385..7e2405e806 100644 --- 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 @@ -64,7 +64,6 @@ boundaryField { 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 index 4053ed914b..7de79f37ed 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/0/p index 333c6613a2..22f51142c7 100644 --- 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 @@ -61,7 +61,6 @@ boundaryField 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 index f954a80212..53ef59ae51 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,6 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 0fc71599b9..8204f1ec58 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/U index 7a7bb821c4..92f38a3f20 100644 --- 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 @@ -70,7 +70,6 @@ boundaryField { 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 index c740fbd652..31b71c82be 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,6 @@ boundaryField 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/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/0/p index be8c1e2add..e38d736126 100644 --- 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 @@ -66,7 +66,6 @@ boundaryField 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 index 8e219909dd..df0574f733 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_01/reEval/constant/transportProperties index 0fc71599b9..8204f1ec58 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/U index d1ab548385..7e2405e806 100644 --- 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 @@ -64,7 +64,6 @@ boundaryField { 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 index 4053ed914b..7de79f37ed 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/0/p index 333c6613a2..22f51142c7 100644 --- 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 @@ -61,7 +61,6 @@ boundaryField 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 index f954a80212..53ef59ae51 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,6 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 0fc71599b9..8204f1ec58 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/U index 7a7bb821c4..92f38a3f20 100644 --- 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 @@ -70,7 +70,6 @@ boundaryField { 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 index c740fbd652..31b71c82be 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,6 @@ boundaryField 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/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/0/p index be8c1e2add..e38d736126 100644 --- 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 @@ -66,7 +66,6 @@ boundaryField 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 index 8e219909dd..df0574f733 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_10x_NB_02/reEval/constant/transportProperties index 0fc71599b9..8204f1ec58 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/U index d1ab548385..7e2405e806 100644 --- 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 @@ -64,7 +64,6 @@ boundaryField { 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 index 4053ed914b..7de79f37ed 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/0/p index 333c6613a2..22f51142c7 100644 --- 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 @@ -61,7 +61,6 @@ boundaryField 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 index f954a80212..53ef59ae51 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,6 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } // ************************************************************************* // 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 index b253269152..3c75019a29 100755 --- 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 @@ -13,7 +13,7 @@ if [[ ! -z $(which cartesian2DMesh) ]] then echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval cd .. fi 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 index 0fc71599b9..8204f1ec58 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +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/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/U index 7a7bb821c4..92f38a3f20 100644 --- 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 @@ -70,7 +70,6 @@ boundaryField { 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 index c740fbd652..31b71c82be 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,6 @@ boundaryField 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/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/0/p index be8c1e2add..e38d736126 100644 --- 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 @@ -66,7 +66,6 @@ boundaryField 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 index 8e219909dd..df0574f733 100644 --- 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 @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/levelSet/R_20x_NB_01/reEval/constant/transportProperties index 0fc71599b9..8204f1ec58 100644 --- 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 @@ -16,6 +16,6 @@ FoamFile transportModel Newtonian; -nu nu [0 2 -1 0 0 0 0] 2e-05; +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/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties deleted file mode 100644 index 0fc71599b9..0000000000 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/transportProperties +++ /dev/null @@ -1,21 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open 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/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties deleted file mode 100644 index 0fc71599b9..0000000000 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/transportProperties +++ /dev/null @@ -1,21 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open 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/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties deleted file mode 100644 index 0fc71599b9..0000000000 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/transportProperties +++ /dev/null @@ -1,21 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open 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/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties deleted file mode 100644 index 0fc71599b9..0000000000 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/transportProperties +++ /dev/null @@ -1,21 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open 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/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes deleted file mode 100644 index d8d7227780..0000000000 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSchemes +++ /dev/null @@ -1,64 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open 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/blockMeshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict deleted file mode 100644 index 247f1f0c3d..0000000000 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/blockMeshDict +++ /dev/null @@ -1,245 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open 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/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict deleted file mode 100644 index 91afa0a871..0000000000 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/decomposeParDict +++ /dev/null @@ -1,58 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open 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/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes deleted file mode 100644 index d8d7227780..0000000000 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSchemes +++ /dev/null @@ -1,64 +0,0 @@ -/*--------------------------------*- C++ -*----------------------------------*\ -| ========= | | -| \\ / F ield | OpenFOAM: The Open 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/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/U b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/U similarity index 99% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/U rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/U index d1ab548385..7e2405e806 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/U +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/U @@ -64,7 +64,6 @@ boundaryField { 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/losses-massConstr/0/Ua similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/Ua rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/Ua index 4053ed914b..7de79f37ed 100644 --- 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/losses-massConstr/0/Ua @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/losses-massConstr/0/nuTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/nuTilda 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/losses-massConstr/0/nuaTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nuaTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/nuaTilda 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/losses-massConstr/0/nut similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/nut rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/nut 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/losses-massConstr/0/p similarity index 99% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/p rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/p index 333c6613a2..22f51142c7 100644 --- 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/losses-massConstr/0/p @@ -61,7 +61,6 @@ boundaryField 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/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/pa similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/pa rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/pa index f954a80212..53ef59ae51 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/0/pa +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/0/pa @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -61,7 +61,6 @@ boundaryField type adjointOutletPressure; value uniform 0.0; } - } // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/Allclean new file mode 100755 index 0000000000..19e36f051d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/Allclean @@ -0,0 +1,11 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +cd reEval + ./Allclean +cd .. + +#------------------------------------------------------------------------------ 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/losses-massConstr/Allrun similarity index 83% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/Allrun rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/Allrun index b253269152..bf75d4e00c 100755 --- 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/losses-massConstr/Allrun @@ -11,9 +11,8 @@ runParallel $(getApplication) if [[ ! -z $(which cartesian2DMesh) ]] then - echo "Re-evaluating topO solution on a body-fitted grid" cd reEval - ./AllrunReEval > log.AllrunReEval 2>&1 & + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval 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/losses-massConstr/constant/adjointRASProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/adjointRASProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/constant/adjointRASProperties diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/constant/transportProperties new file mode 100644 index 0000000000..8204f1ec58 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-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 [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/losses-massConstr/constant/turbulenceProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/constant/turbulenceProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/constant/turbulenceProperties 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/losses-massConstr/reEval/0/U similarity index 99% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/U rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/0/U index 7a7bb821c4..92f38a3f20 100644 --- 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/losses-massConstr/reEval/0/U @@ -70,7 +70,6 @@ boundaryField { 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/losses-massConstr/reEval/0/Ua similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/Ua rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/0/Ua index c740fbd652..31b71c82be 100644 --- 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/losses-massConstr/reEval/0/Ua @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,6 @@ boundaryField 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/losses-massConstr/reEval/0/nuTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/0/nuTilda 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/losses-massConstr/reEval/0/nuaTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nuaTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/0/nuaTilda 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/losses-massConstr/reEval/0/nut similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/nut rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/0/nut 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/losses-massConstr/reEval/0/p similarity index 99% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/p rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/0/p index be8c1e2add..e38d736126 100644 --- 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/losses-massConstr/reEval/0/p @@ -66,7 +66,6 @@ boundaryField 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/losses-massConstr/reEval/0/pa similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/pa rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/0/pa index 8e219909dd..df0574f733 100644 --- 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/losses-massConstr/reEval/0/pa @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object p; + object pa; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/losses-massConstr/reEval/Allclean similarity index 92% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/Allclean rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/Allclean index 4be93bec56..03be0ac7f6 100755 --- 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/losses-massConstr/reEval/Allclean @@ -4,7 +4,7 @@ cd "${0%/*}" || exit # Run from this directory #------------------------------------------------------------------------------ cleanCase -rm -f *.stl *.fms +rm -f topOIsoSurface*.{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/losses-massConstr/reEval/AllrunReEval similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/AllrunReEval rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/AllrunReEval 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/losses-massConstr/reEval/constant/adjointRASProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/adjointRASProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/constant/adjointRASProperties diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/constant/transportProperties new file mode 100644 index 0000000000..8204f1ec58 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-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 [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/losses-massConstr/reEval/constant/turbulenceProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/constant/turbulenceProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/constant/turbulenceProperties 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/losses-massConstr/reEval/system/controlDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/controlDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/system/controlDict 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/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/system/decomposeParDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/decomposeParDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/system/decomposeParDict 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/losses-massConstr/reEval/system/fvSchemes similarity index 82% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSchemes rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/system/fvSchemes index d8d7227780..835176398a 100644 --- 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/losses-massConstr/reEval/system/fvSchemes @@ -22,6 +22,7 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; gradDConv cellLimited Gauss linear 1; gradDaConv cellLimited Gauss linear 1; } @@ -29,11 +30,11 @@ gradSchemes divSchemes { default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(phi,nuTilda) bounded Gauss upwind; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(phi,nuTilda) bounded Gauss linearUpwind gradConv; div(yPhi,yWall) Gauss linearUpwind gradDConv; - div(-phi,Ua) bounded Gauss upwind; - div(-phi,nuaTilda) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; + div(-phi,nuaTilda) bounded Gauss linearUpwind gradConv; div(-yPhi,da) Gauss linearUpwind gradDaConv; } 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/losses-massConstr/reEval/system/fvSolution similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSolution rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/system/fvSolution 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/losses-massConstr/reEval/system/meshDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/meshDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/system/meshDict diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/system/optimisationDict new file mode 100644 index 0000000000..ebb9063e1e --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/reEval/system/optimisationDict @@ -0,0 +1,98 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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.*"); + } + mass + { + weight 1.; + type flowRatePartition; + inletPatches (inlet); + outletPatches (outlet outlet-right); + targetPercentages (0.5 0.5); + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +// ************************************************************************* // 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/losses-massConstr/system/blockMeshDict similarity index 70% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/blockMeshDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/blockMeshDict index 247f1f0c3d..21bd1ba914 100644 --- 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/losses-massConstr/system/blockMeshDict @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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/losses-massConstr/system/controlDict similarity index 96% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/controlDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/controlDict index a82aa693bc..02bcb24102 100644 --- 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/losses-massConstr/system/controlDict @@ -22,13 +22,13 @@ startTime 0; stopAt endTime; -endTime 100; +endTime 50; deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 50; purgeWrite 0; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/decomposeParDict new file mode 100644 index 0000000000..ee6bfc7e8b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/decomposeParDict @@ -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 decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // 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/losses-massConstr/system/fvOptions similarity index 87% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvOptions rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/fvOptions index fd885827c6..6c6e33aa79 100644 --- 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/losses-massConstr/system/fvOptions @@ -17,8 +17,9 @@ eqSource type topOSource; names ( - U nuTilda yWall - Ua nuaTilda da + U nuTilda yWall + Uaas1 nuaTildaas1 daas1 + Uamass nuaTildamass damass ); function linear; interpolationField beta; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/fvSchemes new file mode 100644 index 0000000000..264b384112 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/fvSchemes @@ -0,0 +1,62 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + gradConv cellLimited Gauss linear 1; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(phi,nuTilda) bounded Gauss linearUpwind gradConv; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwind gradConv; + "div\(-phi,nuaTilda.*\)" bounded Gauss linearUpwind gradConv; + "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/losses-massConstr/system/fvSolution similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSolution rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/fvSolution 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/losses-massConstr/system/optimisationDict similarity index 62% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/optimisationDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/optimisationDict index 70cf1a6e75..611f4852fc 100644 --- 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/losses-massConstr/system/optimisationDict @@ -87,6 +87,57 @@ adjointManagers } } } + 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 500; + nInitialIters 1000; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + "nua.*" 5.e-7; + } + } + } vol { // choose adjoint solver @@ -103,24 +154,9 @@ adjointManagers { vol { - weight -1.; - type topOSolidVolume; - percentage - { - type scale; - scale - { - type stepRamp; - start 0; - duration 70; - interval 1; - } - value - { - type constant; - value constant 0.538; - } - } + weight 1.; + type topOVolume; + percentage 0.462; } } } @@ -133,28 +169,23 @@ optimisation { designVariables { - type dynamicTopO; + type topO; sensitivityType topO; - marchingCoeffs - { - seedPatches (designWall); - marchingStep 2; - } fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); regularisation { - regularise true; - growFromWalls true; - meanRadiusMult 05; - function tanh; - b 10; + regularise true; + growFromWalls true; + meanRadiusMult 20; + function tanh; + b 40; } - betaMax 50; + betaMax 50; + maxInitChange 0.2; } updateMethod { - method MMA; - eta 1; + method nullSpace; } } diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/topoSetDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/topoSetDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/topoSetDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses-massConstr/system/topoSetDict 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/losses/0/U similarity index 99% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/U rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/U index d1ab548385..7e2405e806 100644 --- 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/losses/0/U @@ -64,7 +64,6 @@ boundaryField { 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/losses/0/Ua similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/Ua rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/Ua index 4053ed914b..7de79f37ed 100644 --- 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/losses/0/Ua @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/losses/0/nuTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/nuTilda 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/losses/0/nuaTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nuaTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/nuaTilda 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/losses/0/nut similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/nut rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/nut diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/p new file mode 100644 index 0000000000..22f51142c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/p @@ -0,0 +1,66 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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/losses/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/pa new file mode 100644 index 0000000000..53ef59ae51 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/0/pa @@ -0,0 +1,66 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 pa; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +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/losses/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/Allclean new file mode 100755 index 0000000000..19e36f051d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/Allclean @@ -0,0 +1,11 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +cd reEval + ./Allclean +cd .. + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/Allrun new file mode 100755 index 0000000000..bf75d4e00c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/Allrun @@ -0,0 +1,19 @@ +#!/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 + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval + 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/losses/constant/adjointRASProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/adjointRASProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/constant/adjointRASProperties diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/constant/transportProperties new file mode 100644 index 0000000000..8204f1ec58 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/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 [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/losses/constant/turbulenceProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/constant/turbulenceProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/constant/turbulenceProperties 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/losses/reEval/0/U similarity index 99% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/U rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/U index 7a7bb821c4..92f38a3f20 100644 --- 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/losses/reEval/0/U @@ -70,7 +70,6 @@ boundaryField { 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/losses/reEval/0/Ua similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/Ua rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/Ua index c740fbd652..31b71c82be 100644 --- 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/losses/reEval/0/Ua @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,6 @@ boundaryField 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/losses/reEval/0/nuTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/nuTilda 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/losses/reEval/0/nuaTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nuaTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/nuaTilda 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/losses/reEval/0/nut similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/0/nut rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/nut diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/p new file mode 100644 index 0000000000..e38d736126 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/p @@ -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 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/losses/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/pa new file mode 100644 index 0000000000..df0574f733 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/0/pa @@ -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 pa; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +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/losses/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/Allclean new file mode 100755 index 0000000000..03be0ac7f6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/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 topOIsoSurface*.{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/losses/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/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/losses/reEval/constant/adjointRASProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/adjointRASProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/constant/adjointRASProperties diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/constant/transportProperties new file mode 100644 index 0000000000..8204f1ec58 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/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 [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/losses/reEval/constant/turbulenceProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/constant/turbulenceProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/constant/turbulenceProperties 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/losses/reEval/system/controlDict similarity index 96% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/controlDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/controlDict index a82aa693bc..9533859001 100644 --- 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/losses/reEval/system/controlDict @@ -28,9 +28,9 @@ deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 3000; -purgeWrite 0; +purgeWrite 1; writeFormat ascii; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/decomposeParDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/decomposeParDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/decomposeParDict 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/losses/reEval/system/fvSchemes similarity index 82% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/fvSchemes rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/fvSchemes index d8d7227780..835176398a 100644 --- 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/losses/reEval/system/fvSchemes @@ -22,6 +22,7 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; gradDConv cellLimited Gauss linear 1; gradDaConv cellLimited Gauss linear 1; } @@ -29,11 +30,11 @@ gradSchemes divSchemes { default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(phi,nuTilda) bounded Gauss upwind; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(phi,nuTilda) bounded Gauss linearUpwind gradConv; div(yPhi,yWall) Gauss linearUpwind gradDConv; - div(-phi,Ua) bounded Gauss upwind; - div(-phi,nuaTilda) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; + div(-phi,nuaTilda) bounded Gauss linearUpwind gradConv; div(-yPhi,da) Gauss linearUpwind gradDaConv; } 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/losses/reEval/system/fvSolution similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/reEval/system/fvSolution rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/fvSolution diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/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/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/optimisationDict similarity index 85% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/optimisationDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/optimisationDict index ddda8d972e..5979444f68 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/reEval/system/optimisationDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/reEval/system/optimisationDict @@ -88,31 +88,4 @@ adjointManagers } } -/* -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/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/blockMeshDict similarity index 70% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/blockMeshDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/blockMeshDict index 247f1f0c3d..21bd1ba914 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/blockMeshDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/blockMeshDict @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 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/losses/system/controlDict similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/controlDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/controlDict index a82aa693bc..f18e861c43 100644 --- 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/losses/system/controlDict @@ -28,7 +28,7 @@ deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 100; purgeWrite 0; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/decomposeParDict new file mode 100644 index 0000000000..ee6bfc7e8b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/decomposeParDict @@ -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 decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // 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/losses/system/fvOptions similarity index 91% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvOptions rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/fvOptions index fd885827c6..02cdc60edb 100644 --- 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/losses/system/fvOptions @@ -17,8 +17,8 @@ eqSource type topOSource; names ( - U nuTilda yWall - Ua nuaTilda da + 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/losses/system/fvSchemes similarity index 82% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSchemes rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/fvSchemes index d8d7227780..835176398a 100644 --- 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/losses/system/fvSchemes @@ -22,6 +22,7 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; gradDConv cellLimited Gauss linear 1; gradDaConv cellLimited Gauss linear 1; } @@ -29,11 +30,11 @@ gradSchemes divSchemes { default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(phi,nuTilda) bounded Gauss upwind; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(phi,nuTilda) bounded Gauss linearUpwind gradConv; div(yPhi,yWall) Gauss linearUpwind gradDConv; - div(-phi,Ua) bounded Gauss upwind; - div(-phi,nuaTilda) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; + div(-phi,nuaTilda) bounded Gauss linearUpwind gradConv; div(-yPhi,da) Gauss linearUpwind gradDaConv; } 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/losses/system/fvSolution similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/fvSolution rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/fvSolution diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/optimisationDict similarity index 88% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/optimisationDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/optimisationDict index bc3fed3673..f7edfad9ab 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/optimisationDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/optimisationDict @@ -25,11 +25,13 @@ primalSolvers solver simple; solutionControls { - nIters 300; + nIters 500; + nInitialIters 1000; residualControl { "p.*" 5.e-7; "U.*" 5.e-7; + "nu.*" 5.e-7; } } } @@ -75,11 +77,13 @@ adjointManagers //------------------ solutionControls { - nIters 300; + nIters 500; + nInitialIters 1000; residualControl { "pa.*" 5.e-7; "Ua.*" 5.e-7; + "nua.*" 5.e-7; } } } @@ -114,24 +118,23 @@ optimisation { designVariables { - type dynamicTopO; + type topO; sensitivityType topO; - marchingCoeffs - { - seedPatches (designWall); - marchingStep 2; - } fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); regularisation { - regularise false; + regularise true; + growFromWalls true; + meanRadiusMult 20; + function tanh; + b 40; } - betaMax 2500; + betaMax 50; + maxInitChange 0.2; } updateMethod { - method MMA; - eta 1; + method nullSpace; } } 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/losses/system/topoSetDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/topoSetDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/losses/system/topoSetDict 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/uniformity-losses/0/U similarity index 99% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/0/U rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/U index d1ab548385..7e2405e806 100644 --- 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/uniformity-losses/0/U @@ -64,7 +64,6 @@ boundaryField { 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/uniformity-losses/0/Ua similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/0/Ua rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/Ua index 4053ed914b..7de79f37ed 100644 --- 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/uniformity-losses/0/Ua @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -66,7 +66,6 @@ boundaryField 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/uniformity-losses/0/nuTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/nuTilda 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/uniformity-losses/0/nuaTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nuaTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/nuaTilda 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/uniformity-losses/0/nut similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/0/nut rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/nut diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/p new file mode 100644 index 0000000000..22f51142c7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/p @@ -0,0 +1,66 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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/uniformity-losses/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/pa new file mode 100644 index 0000000000..53ef59ae51 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/0/pa @@ -0,0 +1,66 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: 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 pa; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +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/uniformity-losses/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/Allclean new file mode 100755 index 0000000000..19e36f051d --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/Allclean @@ -0,0 +1,11 @@ +#!/bin/sh +cd "${0%/*}" || exit # Run from this directory +. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions # Tutorial clean functions +#------------------------------------------------------------------------------ + +cleanCase +cd reEval + ./Allclean +cd .. + +#------------------------------------------------------------------------------ diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/Allrun b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/Allrun new file mode 100755 index 0000000000..bf75d4e00c --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/Allrun @@ -0,0 +1,19 @@ +#!/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 + cd reEval + ./AllrunReEval > log.AllrunReEval 2>&1 && echo "End" >> log.AllrunReEval + 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/uniformity-losses/constant/adjointRASProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/adjointRASProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/constant/adjointRASProperties diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/constant/transportProperties new file mode 100644 index 0000000000..8204f1ec58 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/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 [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/uniformity-losses/constant/turbulenceProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/constant/turbulenceProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/constant/turbulenceProperties 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/uniformity-losses/reEval/0/U similarity index 99% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/U rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/U index 7a7bb821c4..92f38a3f20 100644 --- 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/uniformity-losses/reEval/0/U @@ -70,7 +70,6 @@ boundaryField { 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/uniformity-losses/reEval/0/Ua similarity index 98% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/0/Ua rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/Ua index c740fbd652..31b71c82be 100644 --- 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/uniformity-losses/reEval/0/Ua @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volVectorField; - object U; + object Ua; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -72,7 +72,6 @@ boundaryField 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/uniformity-losses/reEval/0/nuTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/nuTilda 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/uniformity-losses/reEval/0/nuaTilda similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nuaTilda rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/nuaTilda 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/uniformity-losses/reEval/0/nut similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/0/nut rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/nut diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/p b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/p new file mode 100644 index 0000000000..e38d736126 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/p @@ -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 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/uniformity-losses/reEval/0/pa b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/pa new file mode 100644 index 0000000000..df0574f733 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/0/pa @@ -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 pa; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +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/uniformity-losses/reEval/Allclean b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/Allclean new file mode 100755 index 0000000000..03be0ac7f6 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/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 topOIsoSurface*.{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/uniformity-losses/reEval/AllrunReEval b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/AllrunReEval new file mode 100755 index 0000000000..5f644be547 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/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/uniformity-losses/reEval/constant/adjointRASProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/adjointRASProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/constant/adjointRASProperties diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/constant/transportProperties b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/constant/transportProperties new file mode 100644 index 0000000000..8204f1ec58 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/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 [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/uniformity-losses/reEval/constant/turbulenceProperties similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/constant/turbulenceProperties rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/constant/turbulenceProperties diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/controlDict similarity index 96% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/controlDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/controlDict index a82aa693bc..9533859001 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_00x/system/controlDict +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/controlDict @@ -28,9 +28,9 @@ deltaT 1; writeControl timeStep; -writeInterval 10; +writeInterval 3000; -purgeWrite 0; +purgeWrite 1; writeFormat ascii; 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/uniformity-losses/reEval/system/decomposeParDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/reEval/system/decomposeParDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/decomposeParDict 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/uniformity-losses/reEval/system/fvSchemes similarity index 82% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_05x/system/fvSchemes rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/fvSchemes index d8d7227780..835176398a 100644 --- 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/uniformity-losses/reEval/system/fvSchemes @@ -22,6 +22,7 @@ ddtSchemes gradSchemes { default Gauss linear; + gradConv cellLimited Gauss linear 1; gradDConv cellLimited Gauss linear 1; gradDaConv cellLimited Gauss linear 1; } @@ -29,11 +30,11 @@ gradSchemes divSchemes { default Gauss linear; - div(phi,U) bounded Gauss upwind; - div(phi,nuTilda) bounded Gauss upwind; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(phi,nuTilda) bounded Gauss linearUpwind gradConv; div(yPhi,yWall) Gauss linearUpwind gradDConv; - div(-phi,Ua) bounded Gauss upwind; - div(-phi,nuaTilda) bounded Gauss upwind; + div(-phi,Ua) bounded Gauss linearUpwind gradConv; + div(-phi,nuaTilda) bounded Gauss linearUpwind gradConv; div(-yPhi,da) Gauss linearUpwind gradDaConv; } 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/uniformity-losses/reEval/system/fvSolution similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/reEval/system/fvSolution rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/fvSolution diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/meshDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/meshDict new file mode 100644 index 0000000000..8337e36762 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/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/uniformity-losses/reEval/system/optimisationDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/optimisationDict new file mode 100644 index 0000000000..e3007674d7 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/reEval/system/optimisationDict @@ -0,0 +1,96 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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.*"); + } + uniformity + { + weight 1.; + type uniformityPatch; + patches (outlet outlet-right); + } + } + } + // ATC treatment + //-------------- + ATCModel + { + ATCModel standard; + } + // solution control + //------------------ + solutionControls + { + nIters 300; + residualControl + { + "pa.*" 5.e-7; + "Ua.*" 5.e-7; + } + } + } + } + } +} + +// ************************************************************************* // 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/uniformity-losses/system/blockMeshDict similarity index 70% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/blockMeshDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/blockMeshDict index 247f1f0c3d..21bd1ba914 100644 --- 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/uniformity-losses/system/blockMeshDict @@ -85,24 +85,6 @@ vertices 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 @@ -121,24 +103,6 @@ blocks 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 diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/controlDict new file mode 100644 index 0000000000..02bcb24102 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/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 50; + +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/uniformity-losses/system/decomposeParDict b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/decomposeParDict new file mode 100644 index 0000000000..ee6bfc7e8b --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/decomposeParDict @@ -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 decomposeParDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +numberOfSubdomains 4; + +method scotch; + +// ************************************************************************* // 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/uniformity-losses/system/fvOptions similarity index 85% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvOptions rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/fvOptions index fd885827c6..5b3a0b6adf 100644 --- 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/uniformity-losses/system/fvOptions @@ -17,8 +17,9 @@ eqSource type topOSource; names ( - U nuTilda yWall - Ua nuaTilda da + U nuTilda yWall + Uaas1 nuaTildaas1 daas1 + Uauniformity nuaTildauniformity dauniformity ); function linear; interpolationField beta; diff --git a/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/fvSchemes b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/fvSchemes new file mode 100644 index 0000000000..264b384112 --- /dev/null +++ b/tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/fvSchemes @@ -0,0 +1,62 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open 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; + gradConv cellLimited Gauss linear 1; + gradDConv cellLimited Gauss linear 1; + gradDaConv cellLimited Gauss linear 1; +} +divSchemes +{ + default Gauss linear; + div(phi,U) bounded Gauss linearUpwind gradConv; + div(phi,nuTilda) bounded Gauss linearUpwind gradConv; + div(yPhi,yWall) Gauss linearUpwind gradDConv; + "div\(-phi,Ua.*\)" bounded Gauss linearUpwind gradConv; + "div\(-phi,nuaTilda.*\)" bounded Gauss linearUpwind gradConv; + "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/uniformity-losses/system/fvSolution similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/fvSolution rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/fvSolution 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/uniformity-losses/system/optimisationDict similarity index 64% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_20x/system/optimisationDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/optimisationDict index 3bc984bc12..b6db714786 100644 --- 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/uniformity-losses/system/optimisationDict @@ -51,6 +51,7 @@ adjointManagers active true; type incompressible; solver adjointSimple; + isConstraint true; // manage objectives //------------------ objectives @@ -64,6 +65,51 @@ adjointManagers type PtLosses; patches (inlet "outlet.*"); normalize true; + target 0.003; + normFactor 0.00499815; + } + } + } + // 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; + } + } + } + uniformity + { + // choose adjoint solver + //---------------------- + active true; + type incompressible; + solver adjointSimple; + // manage objectives + //------------------ + objectives + { + type incompressible; + objectiveNames + { + uniformity + { + weight 1.; + type uniformityPatch; + patches (outlet outlet-right); + normalize true; } } } @@ -103,24 +149,9 @@ adjointManagers { vol { - weight -1.; - type topOSolidVolume; - percentage - { - type scale; - scale - { - type stepRamp; - start 0; - duration 70; - interval 1; - } - value - { - type constant; - value constant 0.538; - } - } + weight 1.; + type topOVolume; + percentage 0.462; } } } @@ -133,28 +164,23 @@ optimisation { designVariables { - type dynamicTopO; + type topO; sensitivityType topO; - marchingCoeffs - { - seedPatches (designWall); - marchingStep 2; - } fixedZeroPorousZones (IEntranceSet OEntranceSet OREntranceSet); regularisation { - regularise true; - growFromWalls true; + regularise true; + growFromWalls true; meanRadiusMult 20; - function tanh; - b 40; + function tanh; + b 40; } - betaMax 50; + betaMax 50; + maxInitChange 0.2; } updateMethod { - method MMA; - eta 1; + method nullSpace; } } 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/uniformity-losses/system/topoSetDict similarity index 100% rename from tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/R_10x/system/topoSetDict rename to tutorials/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/turbulent/1_Inlet_2_Outlet/porosityBased/uniformity-losses/system/topoSetDict