diff --git a/applications/utilities/preProcessing/optimisation/writeMorpherCPs/writeMorpherCPs.C b/applications/utilities/preProcessing/optimisation/writeMorpherCPs/writeMorpherCPs.C index 2b70f305685f60a509b88349497b35b4950ded1e..4729ac3bf34bac88c1d97c8367d5fb3f185dc765 100644 --- a/applications/utilities/preProcessing/optimisation/writeMorpherCPs/writeMorpherCPs.C +++ b/applications/utilities/preProcessing/optimisation/writeMorpherCPs/writeMorpherCPs.C @@ -45,33 +45,37 @@ int main(int argc, char *argv[]) #include "createTime.H" #include "createMesh.H" - IOdictionary dict + const dictionary NURBSdict ( - IOobject + IOdictionary ( - "dynamicMeshDict", - mesh.time().constant(), - mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ) + IOobject + ( + "dynamicMeshDict", + mesh.time().constant(), + mesh, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE, + false + ) + ).subDict("volumetricBSplinesMotionSolverCoeffs") ); + // Read box names and allocate size + wordList controlBoxes(NURBSdict.toc()); - const dictionary& coeffDict = - dict.subDict("volumetricBSplinesMotionSolverCoeffs"); - - wordList controlBoxes(coeffDict.get<wordList>("controlBoxes")); - - forAll(controlBoxes, iNURB) + for (const word& boxName : controlBoxes) { - // Creating an object writes the control points in the - // constructor - NURBS3DVolume::New - ( - coeffDict.subDict(controlBoxes[iNURB]), - mesh, - false // do not compute parametric coordinates - ); + if (NURBSdict.isDict(boxName)) + { + // Creating an object writes the control points in the + // constructor + NURBS3DVolume::New + ( + NURBSdict.subDict(boxName), + mesh, + false // do not compute parametric coordinates + ); + } } Info<< "End\n" << endl; diff --git a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/primalAdjointFullSetup/Allrun b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/primalAdjointFullSetup/Allrun index 69abef2dca90fc3a6a3609090bf40641043b3d53..7c9b06005f0815e4c4bc9f4bae1045921a226851 100755 --- a/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/primalAdjointFullSetup/Allrun +++ b/tutorials/incompressible/adjointOptimisationFoam/shapeOptimisation/sbend/turbulent/primalAdjointFullSetup/Allrun @@ -7,6 +7,7 @@ resourcesDir=$FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/resources \cp $resourcesDir/param/sbend/* 0 \cp -r $resourcesDir/meshes/sbend/polyMesh constant +runApplication writeMorpherCPs runApplication decomposePar runParallel $(getApplication)