BUG: writeMorpherCPs expects a controlBoxes entry

The controlBoxes wordList was removed from NURBS3DVolume in the
pre-release phase but writeMorpherCPs was not updated accordingly.

TUT: added the invocation of writeMorpherCPs in one of the tutotials to
help identify future regression
This commit is contained in:
Vaggelis Papoutsis
2019-12-31 20:46:22 +02:00
committed by Andrew Heather
parent 227a0f5d43
commit c413ec5009
2 changed files with 27 additions and 22 deletions

View File

@ -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;

View File

@ -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)