subsetMesh: Added -noFields option
With the -noFields option the mesh is subset but the fields are not changed. This is useful when the field fields have been created to correspond to the mesh after the mesh subset.
This commit is contained in:
@ -208,6 +208,12 @@ int main(int argc, char *argv[])
|
|||||||
"time",
|
"time",
|
||||||
"specify a time for the resulting mesh"
|
"specify a time for the resulting mesh"
|
||||||
);
|
);
|
||||||
|
argList::addBoolOption
|
||||||
|
(
|
||||||
|
"noFields",
|
||||||
|
"do not update fields"
|
||||||
|
);
|
||||||
|
|
||||||
#include "setRootCase.H"
|
#include "setRootCase.H"
|
||||||
#include "createTime.H"
|
#include "createTime.H"
|
||||||
runTime.functionObjects().off();
|
runTime.functionObjects().off();
|
||||||
@ -234,6 +240,7 @@ int main(int argc, char *argv[])
|
|||||||
// Set both mesh and field to this time
|
// Set both mesh and field to this time
|
||||||
meshInstance = fieldsInstance;
|
meshInstance = fieldsInstance;
|
||||||
}
|
}
|
||||||
|
const bool fields = !args.optionFound("noFields");
|
||||||
|
|
||||||
|
|
||||||
Info<< "Reading cell set from " << setName << endl << endl;
|
Info<< "Reading cell set from " << setName << endl << endl;
|
||||||
@ -268,296 +275,325 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
|
|
||||||
cellSet currentSet(mesh, setName);
|
cellSet currentSet(mesh, setName);
|
||||||
|
|
||||||
subsetter.setLargeCellSubset(currentSet, patchi, true);
|
subsetter.setLargeCellSubset(currentSet, patchi, true);
|
||||||
|
|
||||||
IOobjectList objects(mesh, runTime.timeName());
|
|
||||||
|
|
||||||
|
if (fields)
|
||||||
// Read vol fields and subset
|
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
wordList scalarNames(objects.names(volScalarField::typeName));
|
|
||||||
PtrList<volScalarField> scalarFlds(scalarNames.size());
|
|
||||||
subsetVolFields(subsetter, scalarNames, scalarFlds);
|
|
||||||
|
|
||||||
wordList vectorNames(objects.names(volVectorField::typeName));
|
|
||||||
PtrList<volVectorField> vectorFlds(vectorNames.size());
|
|
||||||
subsetVolFields(subsetter, vectorNames, vectorFlds);
|
|
||||||
|
|
||||||
wordList sphericalTensorNames
|
|
||||||
(
|
|
||||||
objects.names(volSphericalTensorField::typeName)
|
|
||||||
);
|
|
||||||
PtrList<volSphericalTensorField> sphericalTensorFlds
|
|
||||||
(
|
|
||||||
sphericalTensorNames.size()
|
|
||||||
);
|
|
||||||
subsetVolFields(subsetter, sphericalTensorNames, sphericalTensorFlds);
|
|
||||||
|
|
||||||
wordList symmTensorNames(objects.names(volSymmTensorField::typeName));
|
|
||||||
PtrList<volSymmTensorField> symmTensorFlds(symmTensorNames.size());
|
|
||||||
subsetVolFields(subsetter, symmTensorNames, symmTensorFlds);
|
|
||||||
|
|
||||||
wordList tensorNames(objects.names(volTensorField::typeName));
|
|
||||||
PtrList<volTensorField> tensorFlds(tensorNames.size());
|
|
||||||
subsetVolFields(subsetter, tensorNames, tensorFlds);
|
|
||||||
|
|
||||||
|
|
||||||
// Read surface fields and subset
|
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
wordList surfScalarNames(objects.names(surfaceScalarField::typeName));
|
|
||||||
PtrList<surfaceScalarField> surfScalarFlds(surfScalarNames.size());
|
|
||||||
subsetSurfaceFields(subsetter, surfScalarNames, surfScalarFlds);
|
|
||||||
|
|
||||||
wordList surfVectorNames(objects.names(surfaceVectorField::typeName));
|
|
||||||
PtrList<surfaceVectorField> surfVectorFlds(surfVectorNames.size());
|
|
||||||
subsetSurfaceFields(subsetter, surfVectorNames, surfVectorFlds);
|
|
||||||
|
|
||||||
wordList surfSphericalTensorNames
|
|
||||||
(
|
|
||||||
objects.names(surfaceSphericalTensorField::typeName)
|
|
||||||
);
|
|
||||||
PtrList<surfaceSphericalTensorField> surfSphericalTensorFlds
|
|
||||||
(
|
|
||||||
surfSphericalTensorNames.size()
|
|
||||||
);
|
|
||||||
subsetSurfaceFields
|
|
||||||
(
|
|
||||||
subsetter,
|
|
||||||
surfSphericalTensorNames,
|
|
||||||
surfSphericalTensorFlds
|
|
||||||
);
|
|
||||||
|
|
||||||
wordList surfSymmTensorNames
|
|
||||||
(
|
|
||||||
objects.names(surfaceSymmTensorField::typeName)
|
|
||||||
);
|
|
||||||
PtrList<surfaceSymmTensorField> surfSymmTensorFlds
|
|
||||||
(
|
|
||||||
surfSymmTensorNames.size()
|
|
||||||
);
|
|
||||||
subsetSurfaceFields(subsetter, surfSymmTensorNames, surfSymmTensorFlds);
|
|
||||||
|
|
||||||
wordList surfTensorNames(objects.names(surfaceTensorField::typeName));
|
|
||||||
PtrList<surfaceTensorField> surfTensorFlds(surfTensorNames.size());
|
|
||||||
subsetSurfaceFields(subsetter, surfTensorNames, surfTensorFlds);
|
|
||||||
|
|
||||||
|
|
||||||
// Read point fields and subset
|
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
const pointMesh& pMesh = pointMesh::New(mesh);
|
|
||||||
|
|
||||||
wordList pointScalarNames(objects.names(pointScalarField::typeName));
|
|
||||||
PtrList<pointScalarField> pointScalarFlds(pointScalarNames.size());
|
|
||||||
subsetPointFields(subsetter, pMesh, pointScalarNames, pointScalarFlds);
|
|
||||||
|
|
||||||
wordList pointVectorNames(objects.names(pointVectorField::typeName));
|
|
||||||
PtrList<pointVectorField> pointVectorFlds(pointVectorNames.size());
|
|
||||||
subsetPointFields(subsetter, pMesh, pointVectorNames, pointVectorFlds);
|
|
||||||
|
|
||||||
wordList pointSphericalTensorNames
|
|
||||||
(
|
|
||||||
objects.names(pointSphericalTensorField::typeName)
|
|
||||||
);
|
|
||||||
PtrList<pointSphericalTensorField> pointSphericalTensorFlds
|
|
||||||
(
|
|
||||||
pointSphericalTensorNames.size()
|
|
||||||
);
|
|
||||||
subsetPointFields
|
|
||||||
(
|
|
||||||
subsetter,
|
|
||||||
pMesh,
|
|
||||||
pointSphericalTensorNames,
|
|
||||||
pointSphericalTensorFlds
|
|
||||||
);
|
|
||||||
|
|
||||||
wordList pointSymmTensorNames
|
|
||||||
(
|
|
||||||
objects.names(pointSymmTensorField::typeName)
|
|
||||||
);
|
|
||||||
PtrList<pointSymmTensorField> pointSymmTensorFlds
|
|
||||||
(
|
|
||||||
pointSymmTensorNames.size()
|
|
||||||
);
|
|
||||||
subsetPointFields
|
|
||||||
(
|
|
||||||
subsetter,
|
|
||||||
pMesh,
|
|
||||||
pointSymmTensorNames,
|
|
||||||
pointSymmTensorFlds
|
|
||||||
);
|
|
||||||
|
|
||||||
wordList pointTensorNames(objects.names(pointTensorField::typeName));
|
|
||||||
PtrList<pointTensorField> pointTensorFlds(pointTensorNames.size());
|
|
||||||
subsetPointFields(subsetter, pMesh, pointTensorNames, pointTensorFlds);
|
|
||||||
|
|
||||||
|
|
||||||
// Read dimensioned fields and subset
|
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
typedef volScalarField::Internal dimScalType;
|
|
||||||
wordList scalarDimNames(objects.names(dimScalType::typeName));
|
|
||||||
PtrList<dimScalType> scalarDimFlds(scalarDimNames.size());
|
|
||||||
subsetDimensionedFields(subsetter, scalarDimNames, scalarDimFlds);
|
|
||||||
|
|
||||||
typedef volVectorField::Internal dimVecType;
|
|
||||||
wordList vectorDimNames(objects.names(dimVecType::typeName));
|
|
||||||
PtrList<dimVecType> vectorDimFlds(vectorDimNames.size());
|
|
||||||
subsetDimensionedFields(subsetter, vectorDimNames, vectorDimFlds);
|
|
||||||
|
|
||||||
typedef volSphericalTensorField::Internal dimSphereType;
|
|
||||||
wordList sphericalTensorDimNames(objects.names(dimSphereType::typeName));
|
|
||||||
PtrList<dimSphereType> sphericalTensorDimFlds
|
|
||||||
(
|
|
||||||
sphericalTensorDimNames.size()
|
|
||||||
);
|
|
||||||
subsetDimensionedFields
|
|
||||||
(
|
|
||||||
subsetter,
|
|
||||||
sphericalTensorDimNames,
|
|
||||||
sphericalTensorDimFlds
|
|
||||||
);
|
|
||||||
|
|
||||||
typedef volSymmTensorField::Internal dimSymmTensorType;
|
|
||||||
wordList symmTensorDimNames(objects.names(dimSymmTensorType::typeName));
|
|
||||||
PtrList<dimSymmTensorType> symmTensorDimFlds(symmTensorDimNames.size());
|
|
||||||
subsetDimensionedFields(subsetter, symmTensorDimNames, symmTensorDimFlds);
|
|
||||||
|
|
||||||
typedef volTensorField::Internal dimTensorType;
|
|
||||||
wordList tensorDimNames(objects.names(dimTensorType::typeName));
|
|
||||||
PtrList<dimTensorType> tensorDimFlds(tensorDimNames.size());
|
|
||||||
subsetDimensionedFields(subsetter, tensorDimNames, tensorDimFlds);
|
|
||||||
|
|
||||||
|
|
||||||
// Write mesh and fields to new time
|
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
|
|
||||||
if (overwrite || specifiedInstance)
|
|
||||||
{
|
{
|
||||||
runTime.setTime(instant(fieldsInstance), 0);
|
IOobjectList objects(mesh, runTime.timeName());
|
||||||
subsetter.subMesh().setInstance(meshInstance);
|
|
||||||
|
// Read vol fields and subset
|
||||||
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
wordList scalarNames(objects.names(volScalarField::typeName));
|
||||||
|
PtrList<volScalarField> scalarFlds(scalarNames.size());
|
||||||
|
subsetVolFields(subsetter, scalarNames, scalarFlds);
|
||||||
|
|
||||||
|
wordList vectorNames(objects.names(volVectorField::typeName));
|
||||||
|
PtrList<volVectorField> vectorFlds(vectorNames.size());
|
||||||
|
subsetVolFields(subsetter, vectorNames, vectorFlds);
|
||||||
|
|
||||||
|
wordList sphericalTensorNames
|
||||||
|
(
|
||||||
|
objects.names(volSphericalTensorField::typeName)
|
||||||
|
);
|
||||||
|
PtrList<volSphericalTensorField> sphericalTensorFlds
|
||||||
|
(
|
||||||
|
sphericalTensorNames.size()
|
||||||
|
);
|
||||||
|
subsetVolFields(subsetter, sphericalTensorNames, sphericalTensorFlds);
|
||||||
|
|
||||||
|
wordList symmTensorNames(objects.names(volSymmTensorField::typeName));
|
||||||
|
PtrList<volSymmTensorField> symmTensorFlds(symmTensorNames.size());
|
||||||
|
subsetVolFields(subsetter, symmTensorNames, symmTensorFlds);
|
||||||
|
|
||||||
|
wordList tensorNames(objects.names(volTensorField::typeName));
|
||||||
|
PtrList<volTensorField> tensorFlds(tensorNames.size());
|
||||||
|
subsetVolFields(subsetter, tensorNames, tensorFlds);
|
||||||
|
|
||||||
|
|
||||||
|
// Read surface fields and subset
|
||||||
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
wordList surfScalarNames(objects.names(surfaceScalarField::typeName));
|
||||||
|
PtrList<surfaceScalarField> surfScalarFlds(surfScalarNames.size());
|
||||||
|
subsetSurfaceFields(subsetter, surfScalarNames, surfScalarFlds);
|
||||||
|
|
||||||
|
wordList surfVectorNames(objects.names(surfaceVectorField::typeName));
|
||||||
|
PtrList<surfaceVectorField> surfVectorFlds(surfVectorNames.size());
|
||||||
|
subsetSurfaceFields(subsetter, surfVectorNames, surfVectorFlds);
|
||||||
|
|
||||||
|
wordList surfSphericalTensorNames
|
||||||
|
(
|
||||||
|
objects.names(surfaceSphericalTensorField::typeName)
|
||||||
|
);
|
||||||
|
PtrList<surfaceSphericalTensorField> surfSphericalTensorFlds
|
||||||
|
(
|
||||||
|
surfSphericalTensorNames.size()
|
||||||
|
);
|
||||||
|
subsetSurfaceFields
|
||||||
|
(
|
||||||
|
subsetter,
|
||||||
|
surfSphericalTensorNames,
|
||||||
|
surfSphericalTensorFlds
|
||||||
|
);
|
||||||
|
|
||||||
|
wordList surfSymmTensorNames
|
||||||
|
(
|
||||||
|
objects.names(surfaceSymmTensorField::typeName)
|
||||||
|
);
|
||||||
|
PtrList<surfaceSymmTensorField> surfSymmTensorFlds
|
||||||
|
(
|
||||||
|
surfSymmTensorNames.size()
|
||||||
|
);
|
||||||
|
subsetSurfaceFields(subsetter, surfSymmTensorNames, surfSymmTensorFlds);
|
||||||
|
|
||||||
|
wordList surfTensorNames(objects.names(surfaceTensorField::typeName));
|
||||||
|
PtrList<surfaceTensorField> surfTensorFlds(surfTensorNames.size());
|
||||||
|
subsetSurfaceFields(subsetter, surfTensorNames, surfTensorFlds);
|
||||||
|
|
||||||
|
|
||||||
|
// Read point fields and subset
|
||||||
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
const pointMesh& pMesh = pointMesh::New(mesh);
|
||||||
|
|
||||||
|
wordList pointScalarNames(objects.names(pointScalarField::typeName));
|
||||||
|
PtrList<pointScalarField> pointScalarFlds(pointScalarNames.size());
|
||||||
|
subsetPointFields(subsetter, pMesh, pointScalarNames, pointScalarFlds);
|
||||||
|
|
||||||
|
wordList pointVectorNames(objects.names(pointVectorField::typeName));
|
||||||
|
PtrList<pointVectorField> pointVectorFlds(pointVectorNames.size());
|
||||||
|
subsetPointFields(subsetter, pMesh, pointVectorNames, pointVectorFlds);
|
||||||
|
|
||||||
|
wordList pointSphericalTensorNames
|
||||||
|
(
|
||||||
|
objects.names(pointSphericalTensorField::typeName)
|
||||||
|
);
|
||||||
|
PtrList<pointSphericalTensorField> pointSphericalTensorFlds
|
||||||
|
(
|
||||||
|
pointSphericalTensorNames.size()
|
||||||
|
);
|
||||||
|
subsetPointFields
|
||||||
|
(
|
||||||
|
subsetter,
|
||||||
|
pMesh,
|
||||||
|
pointSphericalTensorNames,
|
||||||
|
pointSphericalTensorFlds
|
||||||
|
);
|
||||||
|
|
||||||
|
wordList pointSymmTensorNames
|
||||||
|
(
|
||||||
|
objects.names(pointSymmTensorField::typeName)
|
||||||
|
);
|
||||||
|
PtrList<pointSymmTensorField> pointSymmTensorFlds
|
||||||
|
(
|
||||||
|
pointSymmTensorNames.size()
|
||||||
|
);
|
||||||
|
subsetPointFields
|
||||||
|
(
|
||||||
|
subsetter,
|
||||||
|
pMesh,
|
||||||
|
pointSymmTensorNames,
|
||||||
|
pointSymmTensorFlds
|
||||||
|
);
|
||||||
|
|
||||||
|
wordList pointTensorNames(objects.names(pointTensorField::typeName));
|
||||||
|
PtrList<pointTensorField> pointTensorFlds(pointTensorNames.size());
|
||||||
|
subsetPointFields(subsetter, pMesh, pointTensorNames, pointTensorFlds);
|
||||||
|
|
||||||
|
|
||||||
|
// Read dimensioned fields and subset
|
||||||
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
typedef volScalarField::Internal dimScalType;
|
||||||
|
wordList scalarDimNames(objects.names(dimScalType::typeName));
|
||||||
|
PtrList<dimScalType> scalarDimFlds(scalarDimNames.size());
|
||||||
|
subsetDimensionedFields(subsetter, scalarDimNames, scalarDimFlds);
|
||||||
|
|
||||||
|
typedef volVectorField::Internal dimVecType;
|
||||||
|
wordList vectorDimNames(objects.names(dimVecType::typeName));
|
||||||
|
PtrList<dimVecType> vectorDimFlds(vectorDimNames.size());
|
||||||
|
subsetDimensionedFields(subsetter, vectorDimNames, vectorDimFlds);
|
||||||
|
|
||||||
|
typedef volSphericalTensorField::Internal dimSphereType;
|
||||||
|
wordList sphericalTensorDimNames
|
||||||
|
(
|
||||||
|
objects.names(dimSphereType::typeName)
|
||||||
|
);
|
||||||
|
PtrList<dimSphereType> sphericalTensorDimFlds
|
||||||
|
(
|
||||||
|
sphericalTensorDimNames.size()
|
||||||
|
);
|
||||||
|
subsetDimensionedFields
|
||||||
|
(
|
||||||
|
subsetter,
|
||||||
|
sphericalTensorDimNames,
|
||||||
|
sphericalTensorDimFlds
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef volSymmTensorField::Internal dimSymmTensorType;
|
||||||
|
wordList symmTensorDimNames(objects.names(dimSymmTensorType::typeName));
|
||||||
|
PtrList<dimSymmTensorType> symmTensorDimFlds(symmTensorDimNames.size());
|
||||||
|
subsetDimensionedFields
|
||||||
|
(
|
||||||
|
subsetter,
|
||||||
|
symmTensorDimNames,
|
||||||
|
symmTensorDimFlds
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef volTensorField::Internal dimTensorType;
|
||||||
|
wordList tensorDimNames(objects.names(dimTensorType::typeName));
|
||||||
|
PtrList<dimTensorType> tensorDimFlds(tensorDimNames.size());
|
||||||
|
subsetDimensionedFields(subsetter, tensorDimNames, tensorDimFlds);
|
||||||
|
|
||||||
|
|
||||||
|
// Write mesh and fields to new time
|
||||||
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
if (overwrite || specifiedInstance)
|
||||||
|
{
|
||||||
|
runTime.setTime(instant(fieldsInstance), 0);
|
||||||
|
subsetter.subMesh().setInstance(meshInstance);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
runTime++;
|
||||||
|
}
|
||||||
|
|
||||||
|
Info<< "Writing subsetted mesh and fields to time "
|
||||||
|
<< runTime.timeName() << endl;
|
||||||
|
|
||||||
|
subsetter.subMesh().write();
|
||||||
|
|
||||||
|
// Subsetting adds 'subset' prefix. Rename field to be like original.
|
||||||
|
forAll(scalarFlds, i)
|
||||||
|
{
|
||||||
|
scalarFlds[i].rename(scalarNames[i]);
|
||||||
|
scalarFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(vectorFlds, i)
|
||||||
|
{
|
||||||
|
vectorFlds[i].rename(vectorNames[i]);
|
||||||
|
vectorFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(sphericalTensorFlds, i)
|
||||||
|
{
|
||||||
|
sphericalTensorFlds[i].rename(sphericalTensorNames[i]);
|
||||||
|
sphericalTensorFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(symmTensorFlds, i)
|
||||||
|
{
|
||||||
|
symmTensorFlds[i].rename(symmTensorNames[i]);
|
||||||
|
symmTensorFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(tensorFlds, i)
|
||||||
|
{
|
||||||
|
tensorFlds[i].rename(tensorNames[i]);
|
||||||
|
tensorFlds[i].write();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Surface ones.
|
||||||
|
forAll(surfScalarFlds, i)
|
||||||
|
{
|
||||||
|
surfScalarFlds[i].rename(surfScalarNames[i]);
|
||||||
|
surfScalarFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(surfVectorFlds, i)
|
||||||
|
{
|
||||||
|
surfVectorFlds[i].rename(surfVectorNames[i]);
|
||||||
|
surfVectorFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(surfSphericalTensorFlds, i)
|
||||||
|
{
|
||||||
|
surfSphericalTensorFlds[i].rename(surfSphericalTensorNames[i]);
|
||||||
|
surfSphericalTensorFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(surfSymmTensorFlds, i)
|
||||||
|
{
|
||||||
|
surfSymmTensorFlds[i].rename(surfSymmTensorNames[i]);
|
||||||
|
surfSymmTensorFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(surfTensorNames, i)
|
||||||
|
{
|
||||||
|
surfTensorFlds[i].rename(surfTensorNames[i]);
|
||||||
|
surfTensorFlds[i].write();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Point ones
|
||||||
|
forAll(pointScalarFlds, i)
|
||||||
|
{
|
||||||
|
pointScalarFlds[i].rename(pointScalarNames[i]);
|
||||||
|
pointScalarFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(pointVectorFlds, i)
|
||||||
|
{
|
||||||
|
pointVectorFlds[i].rename(pointVectorNames[i]);
|
||||||
|
pointVectorFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(pointSphericalTensorFlds, i)
|
||||||
|
{
|
||||||
|
pointSphericalTensorFlds[i].rename(pointSphericalTensorNames[i]);
|
||||||
|
pointSphericalTensorFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(pointSymmTensorFlds, i)
|
||||||
|
{
|
||||||
|
pointSymmTensorFlds[i].rename(pointSymmTensorNames[i]);
|
||||||
|
pointSymmTensorFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(pointTensorNames, i)
|
||||||
|
{
|
||||||
|
pointTensorFlds[i].rename(pointTensorNames[i]);
|
||||||
|
pointTensorFlds[i].write();
|
||||||
|
}
|
||||||
|
|
||||||
|
// DimensionedFields
|
||||||
|
forAll(scalarDimFlds, i)
|
||||||
|
{
|
||||||
|
scalarDimFlds[i].rename(scalarDimNames[i]);
|
||||||
|
scalarDimFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(vectorDimFlds, i)
|
||||||
|
{
|
||||||
|
vectorDimFlds[i].rename(vectorDimNames[i]);
|
||||||
|
vectorDimFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(sphericalTensorDimFlds, i)
|
||||||
|
{
|
||||||
|
sphericalTensorDimFlds[i].rename(sphericalTensorDimNames[i]);
|
||||||
|
sphericalTensorDimFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(symmTensorDimFlds, i)
|
||||||
|
{
|
||||||
|
symmTensorDimFlds[i].rename(symmTensorDimNames[i]);
|
||||||
|
symmTensorDimFlds[i].write();
|
||||||
|
}
|
||||||
|
forAll(tensorDimFlds, i)
|
||||||
|
{
|
||||||
|
tensorDimFlds[i].rename(tensorDimNames[i]);
|
||||||
|
tensorDimFlds[i].write();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
runTime++;
|
// Write mesh to new time
|
||||||
}
|
// ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Info<< "Writing subsetted mesh and fields to time " << runTime.timeName()
|
if (overwrite || specifiedInstance)
|
||||||
<< endl;
|
{
|
||||||
subsetter.subMesh().write();
|
runTime.setTime(instant(fieldsInstance), 0);
|
||||||
|
subsetter.subMesh().setInstance(meshInstance);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
runTime++;
|
||||||
|
}
|
||||||
|
|
||||||
|
Info<< "Writing subsetted mesh to time "
|
||||||
|
<< runTime.timeName() << endl;
|
||||||
|
|
||||||
// Subsetting adds 'subset' prefix. Rename field to be like original.
|
subsetter.subMesh().write();
|
||||||
forAll(scalarFlds, i)
|
|
||||||
{
|
|
||||||
scalarFlds[i].rename(scalarNames[i]);
|
|
||||||
scalarFlds[i].write();
|
|
||||||
}
|
}
|
||||||
forAll(vectorFlds, i)
|
|
||||||
{
|
|
||||||
vectorFlds[i].rename(vectorNames[i]);
|
|
||||||
vectorFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(sphericalTensorFlds, i)
|
|
||||||
{
|
|
||||||
sphericalTensorFlds[i].rename(sphericalTensorNames[i]);
|
|
||||||
sphericalTensorFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(symmTensorFlds, i)
|
|
||||||
{
|
|
||||||
symmTensorFlds[i].rename(symmTensorNames[i]);
|
|
||||||
symmTensorFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(tensorFlds, i)
|
|
||||||
{
|
|
||||||
tensorFlds[i].rename(tensorNames[i]);
|
|
||||||
tensorFlds[i].write();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Surface ones.
|
|
||||||
forAll(surfScalarFlds, i)
|
|
||||||
{
|
|
||||||
surfScalarFlds[i].rename(surfScalarNames[i]);
|
|
||||||
surfScalarFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(surfVectorFlds, i)
|
|
||||||
{
|
|
||||||
surfVectorFlds[i].rename(surfVectorNames[i]);
|
|
||||||
surfVectorFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(surfSphericalTensorFlds, i)
|
|
||||||
{
|
|
||||||
surfSphericalTensorFlds[i].rename(surfSphericalTensorNames[i]);
|
|
||||||
surfSphericalTensorFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(surfSymmTensorFlds, i)
|
|
||||||
{
|
|
||||||
surfSymmTensorFlds[i].rename(surfSymmTensorNames[i]);
|
|
||||||
surfSymmTensorFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(surfTensorNames, i)
|
|
||||||
{
|
|
||||||
surfTensorFlds[i].rename(surfTensorNames[i]);
|
|
||||||
surfTensorFlds[i].write();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Point ones
|
|
||||||
forAll(pointScalarFlds, i)
|
|
||||||
{
|
|
||||||
pointScalarFlds[i].rename(pointScalarNames[i]);
|
|
||||||
pointScalarFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(pointVectorFlds, i)
|
|
||||||
{
|
|
||||||
pointVectorFlds[i].rename(pointVectorNames[i]);
|
|
||||||
pointVectorFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(pointSphericalTensorFlds, i)
|
|
||||||
{
|
|
||||||
pointSphericalTensorFlds[i].rename(pointSphericalTensorNames[i]);
|
|
||||||
pointSphericalTensorFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(pointSymmTensorFlds, i)
|
|
||||||
{
|
|
||||||
pointSymmTensorFlds[i].rename(pointSymmTensorNames[i]);
|
|
||||||
pointSymmTensorFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(pointTensorNames, i)
|
|
||||||
{
|
|
||||||
pointTensorFlds[i].rename(pointTensorNames[i]);
|
|
||||||
pointTensorFlds[i].write();
|
|
||||||
}
|
|
||||||
|
|
||||||
// DimensionedFields
|
|
||||||
forAll(scalarDimFlds, i)
|
|
||||||
{
|
|
||||||
scalarDimFlds[i].rename(scalarDimNames[i]);
|
|
||||||
scalarDimFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(vectorDimFlds, i)
|
|
||||||
{
|
|
||||||
vectorDimFlds[i].rename(vectorDimNames[i]);
|
|
||||||
vectorDimFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(sphericalTensorDimFlds, i)
|
|
||||||
{
|
|
||||||
sphericalTensorDimFlds[i].rename(sphericalTensorDimNames[i]);
|
|
||||||
sphericalTensorDimFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(symmTensorDimFlds, i)
|
|
||||||
{
|
|
||||||
symmTensorDimFlds[i].rename(symmTensorDimNames[i]);
|
|
||||||
symmTensorDimFlds[i].write();
|
|
||||||
}
|
|
||||||
forAll(tensorDimFlds, i)
|
|
||||||
{
|
|
||||||
tensorDimFlds[i].rename(tensorDimNames[i]);
|
|
||||||
tensorDimFlds[i].write();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Info<< "End\n" << endl;
|
Info<< "End\n" << endl;
|
||||||
|
|
||||||
|
|||||||
@ -6,16 +6,16 @@ cd ${0%/*} || exit 1 # Run from this directory
|
|||||||
|
|
||||||
rm -rf 0
|
rm -rf 0
|
||||||
|
|
||||||
# create the underlying block mesh
|
# Create the underlying block mesh
|
||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
|
|
||||||
# create the set for the obstacles
|
# Create the set for the obstacles
|
||||||
runApplication topoSet
|
runApplication topoSet
|
||||||
|
|
||||||
# create the obstacles - add obstacle patches to wallFilm patch
|
# Create the obstacles - add obstacle patches to wallFilm patch
|
||||||
runApplication subsetMesh c0 -patch wallFilm -overwrite
|
runApplication subsetMesh c0 -patch wallFilm -overwrite -noFields
|
||||||
|
|
||||||
# split the obstacle patches into cube[1-6]_patch[1-6]
|
# Split the obstacle patches into cube[1-6]_patch[1-6]
|
||||||
runApplication ./patchifyObstacles
|
runApplication ./patchifyObstacles
|
||||||
|
|
||||||
# Create the wall film region via extrusion
|
# Create the wall film region via extrusion
|
||||||
@ -25,9 +25,6 @@ runApplication extrudeToRegionMesh -overwrite
|
|||||||
rm -rf system/wallFilmRegion
|
rm -rf system/wallFilmRegion
|
||||||
cp -r system/wallFilmRegion.orig system/wallFilmRegion
|
cp -r system/wallFilmRegion.orig system/wallFilmRegion
|
||||||
|
|
||||||
find ./0 -maxdepth 1 -type f -exec \
|
|
||||||
sed -i -e "s/wallFilm/\"(region0_to.*)\"/g" {} \;
|
|
||||||
|
|
||||||
paraFoam -touch
|
paraFoam -touch
|
||||||
paraFoam -touch -region wallFilmRegion
|
paraFoam -touch -region wallFilmRegion
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ application=$(getApplication)
|
|||||||
|
|
||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
runApplication topoSet
|
runApplication topoSet
|
||||||
runApplication subsetMesh -overwrite c0 -patch floatingObject
|
runApplication subsetMesh -overwrite c0 -patch floatingObject -noFields
|
||||||
runApplication setFields
|
runApplication setFields
|
||||||
runApplication $application
|
runApplication $application
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ cd ${0%/*} || exit 1 # Run from this directory
|
|||||||
|
|
||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
runApplication topoSet
|
runApplication topoSet
|
||||||
runApplication subsetMesh -overwrite c0 -patch walls
|
runApplication subsetMesh -overwrite c0 -patch walls -noFields
|
||||||
runApplication setFields
|
runApplication setFields
|
||||||
runApplication $(getApplication)
|
runApplication $(getApplication)
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ runApplication blockMesh
|
|||||||
|
|
||||||
runApplication -s 1 topoSet
|
runApplication -s 1 topoSet
|
||||||
|
|
||||||
runApplication subsetMesh -overwrite c0 -patch floatingObject
|
runApplication subsetMesh -overwrite c0 -patch floatingObject -noFields
|
||||||
|
|
||||||
runApplication -s selectBottom \
|
runApplication -s selectBottom \
|
||||||
topoSet -dict system/topoSetDict-selectBottom
|
topoSet -dict system/topoSetDict-selectBottom
|
||||||
|
|||||||
@ -9,7 +9,7 @@ application=$(getApplication)
|
|||||||
|
|
||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
runApplication topoSet
|
runApplication topoSet
|
||||||
runApplication subsetMesh -overwrite c0 -patch floatingObject
|
runApplication subsetMesh -overwrite c0 -patch floatingObject -noFields
|
||||||
|
|
||||||
runApplication $application
|
runApplication $application
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user