diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.C b/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.C index d7bab37b8ebed8b8ac51290a4a82dd2acd66253b..dd600099e9e7eeee1b910f15728315c988d18360 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.C +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.C @@ -107,7 +107,8 @@ Foam::simple::simple incoVars_(allocateVars()), MRF_(mesh, word(useSolverNameForFields() ? solverName_ : word::null)), cumulativeContErr_(Zero), - objectives_() + objectives_(), + allowFunctionObjects_(dict.getOrDefault("allowFunctionObjects", false)) { addExtraSchemes(); setRefCell @@ -246,7 +247,7 @@ void Foam::simple::postIter() { // Execute function objects in optimisation cases // Disabled in Time since we are subsycling - if (managerType_ == "steadyOptimisation") + if (managerType_ == "steadyOptimisation" && allowFunctionObjects_) { const_cast<Time&>(mesh_.time()).functionObjects().execute(false); } diff --git a/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.H b/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.H index 7f2b68cac908353555dafd8964a6a81627f822a3..38cd61d648c5b2833381cc880224432d380f8fc3 100644 --- a/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.H +++ b/src/optimisation/adjointOptimisation/adjoint/solvers/primalSolvers/incompressible/simple/simple.H @@ -86,6 +86,12 @@ protected: //- List of objectives related to this primal solver UPtrList<objective> objectives_; + //- Allow the execution of function objects in optimisation mode. + // Depending on the functions used and the setup, this might lead + // to a high amount of data written to the hard drive. + // WIP + bool allowFunctionObjects_; + //- Protected Member Functions diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-continuation/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-continuation/system/controlDict index 80267a160aba131494c1fbe60d28f97b40526b09..8ac263eda1ec784dc4b5ae30a09b0bf1aff83ce1 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-continuation/system/controlDict +++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-continuation/system/controlDict @@ -44,16 +44,5 @@ timePrecision 6; runTimeModifiable yes; -functions -{ - yPlus - { - type yPlus; - libs ( fieldFunctionObjects ); - writeFields yes; - writeControl writeTime; - } -} - // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/controlDict index 027ec157e9cc7cccc1b225abd8f15d0b64415e18..a676be50dda5f63de54dc7578f9e4a63899ad2db 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/controlDict +++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS-oneGo/system/controlDict @@ -44,16 +44,5 @@ timePrecision 6; runTimeModifiable yes; -functions -{ - yPlus - { - type yPlus; - libs (fieldFunctionObjects); - writeFields yes; - writeControl writeTime; - } -} - // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op1/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op1/system/controlDict index 7f096db2e9aff43474fb7d0da03637391366a76a..41e8757f2ea569fd4104fe3fce86a5f75f0b7a22 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op1/system/controlDict +++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/losses/BFGS/op1/system/controlDict @@ -44,16 +44,5 @@ timePrecision 6; runTimeModifiable yes; -functions -{ - yPlus - { - type yPlus; - libs (fieldFunctionObjects); - writeFields yes; - writeControl writeTime; - } -} - // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/system/controlDict index f6230cff5f85a58ba048fba909b208d231d2b3a3..41e8757f2ea569fd4104fe3fce86a5f75f0b7a22 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/system/controlDict +++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/nutSqr/system/controlDict @@ -44,15 +44,5 @@ timePrecision 6; runTimeModifiable yes; -functions -{ - yPlus - { - type yPlus; - libs (fieldFunctionObjects); - writeFields yes; - writeControl writeTime; - } -} // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/powerDissipation/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/powerDissipation/system/controlDict index f6230cff5f85a58ba048fba909b208d231d2b3a3..41e8757f2ea569fd4104fe3fce86a5f75f0b7a22 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/powerDissipation/system/controlDict +++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/SA/opt/powerDissipation/system/controlDict @@ -44,15 +44,5 @@ timePrecision 6; runTimeModifiable yes; -functions -{ - yPlus - { - type yPlus; - libs (fieldFunctionObjects); - writeFields yes; - writeControl writeTime; - } -} // ************************************************************************* // diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/kOmegaSST/opt/system/controlDict b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/kOmegaSST/opt/system/controlDict index 564840935ac7c4d3db05f0158a7b746436148a84..41e8757f2ea569fd4104fe3fce86a5f75f0b7a22 100644 --- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/kOmegaSST/opt/system/controlDict +++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/kOmegaSST/opt/system/controlDict @@ -44,15 +44,5 @@ timePrecision 6; runTimeModifiable yes; -functions -{ -// yPlus -// { -// type yPlus; -// libs ("libfieldFunctionObjects.so"); -// writeFields yes; -// writeControl writeTime; -// } -} // ************************************************************************* //