diff --git a/applications/test/fieldTypes/Make/files b/applications/test/fieldTypes/Make/files new file mode 100644 index 0000000000..03262d28e4 --- /dev/null +++ b/applications/test/fieldTypes/Make/files @@ -0,0 +1,3 @@ +Test-fieldTypes.C + +EXE = $(FOAM_USER_APPBIN)/Test-fieldTypes diff --git a/applications/test/fieldTypes/Make/options b/applications/test/fieldTypes/Make/options new file mode 100644 index 0000000000..3a7088aeea --- /dev/null +++ b/applications/test/fieldTypes/Make/options @@ -0,0 +1,9 @@ +EXE_INC = \ + -I$(LIB_SRC)/finiteArea/lnInclude \ + -I${LIB_SRC}/finiteVolume/lnInclude \ + -I${LIB_SRC}/meshTools/lnInclude \ + +EXE_LIBS = \ + -lfiniteArea \ + -lfiniteVolume \ + -lmeshTools diff --git a/applications/test/fieldTypes/Test-fieldTypes.C b/applications/test/fieldTypes/Test-fieldTypes.C new file mode 100644 index 0000000000..f46f936c56 --- /dev/null +++ b/applications/test/fieldTypes/Test-fieldTypes.C @@ -0,0 +1,63 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2018 OpenCFD Ltd. + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Application + Test-fieldTypes + +Description + Print fieldTypes + +\*---------------------------------------------------------------------------*/ + +#include "fvCFD.H" +#include "argList.H" +#include "IOobject.H" +#include "IOstreams.H" + +#include "areaFields.H" +#include "fieldTypes.H" +#include "pointFields.H" +#include "volFields.H" + +using namespace Foam; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Main program: + +int main(int argc, char *argv[]) +{ + argList::noParallel(); + + Info<< "basic: " << flatOutput(fieldTypes::basic) << nl + << "area: " << flatOutput(fieldTypes::area) << nl + << "volume: " << flatOutput(fieldTypes::volume) << nl + << "internal: " << flatOutput(fieldTypes::internal) << nl + << "point: " << flatOutput(fieldTypes::point) << nl + << endl; + + Info<< "\nEnd\n" << endl; + return 0; +} + + +// ************************************************************************* // diff --git a/src/OpenFOAM/fields/Fields/fieldTypes.C b/src/OpenFOAM/fields/Fields/fieldTypes.C index 9c1a8a5546..207aff1af0 100644 --- a/src/OpenFOAM/fields/Fields/fieldTypes.C +++ b/src/OpenFOAM/fields/Fields/fieldTypes.C @@ -24,23 +24,19 @@ License \*---------------------------------------------------------------------------*/ #include "fieldTypes.H" -#include "labelIOField.H" -#include "scalarIOField.H" -#include "vectorIOField.H" -#include "sphericalTensorIOField.H" -#include "symmTensorIOField.H" -#include "tensorIOField.H" // * * * * * * * * * * * * * * * * Global Data * * * * * * * * * * * * * * * // +// Note hard-coded values are more reliable than other alternatives + const Foam::wordList Foam::fieldTypes::basic ({ - Foam::labelIOField::typeName_(), - Foam::scalarIOField::typeName_(), - Foam::vectorIOField::typeName_(), - Foam::sphericalTensorIOField::typeName_(), - Foam::symmTensorIOField::typeName_(), - Foam::tensorIOField::typeName_() + "labelField", //< labelIOField + "scalarField", //< scalarIOField + "vectorField", //< vectorOField + "sphericalTensorField", //< sphericalTensorIOField + "symmTensorField", //< symmTensorIOField + "tensorField" //< tensorIOField }); diff --git a/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C b/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C index c115a066fc..16e0dabef5 100644 --- a/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C +++ b/src/OpenFOAM/fields/GeometricFields/pointFields/pointFields.C @@ -56,13 +56,15 @@ namespace Foam // * * * * * * * * * * * * * * * * Global Data * * * * * * * * * * * * * * * // +// Note hard-coded values are more reliable than other alternatives + const Foam::wordList Foam::fieldTypes::point ({ - Foam::pointScalarField::typeName_(), - Foam::pointVectorField::typeName_(), - Foam::pointSphericalTensorField::typeName_(), - Foam::pointSymmTensorField::typeName_(), - Foam::pointTensorField::typeName_() + "pointScalarField", + "pointVectorField", + "pointSphericalTensorField", + "pointSymmTensorField", + "pointTensorField" }); diff --git a/src/finiteArea/fields/areaFields/areaFields.C b/src/finiteArea/fields/areaFields/areaFields.C index 2090d7bb46..4f4705c2d2 100644 --- a/src/finiteArea/fields/areaFields/areaFields.C +++ b/src/finiteArea/fields/areaFields/areaFields.C @@ -79,13 +79,15 @@ void GeometricField::replace // * * * * * * * * * * * * * * * * Global Data * * * * * * * * * * * * * * * // +// Note hard-coded values are more reliable than other alternatives + const Foam::wordList Foam::fieldTypes::area ({ - Foam::areaScalarField::typeName_(), - Foam::areaVectorField::typeName_(), - Foam::areaSphericalTensorField::typeName_(), - Foam::areaSymmTensorField::typeName_(), - Foam::areaTensorField::typeName_() + "areaScalarField", + "areaVectorField", + "areaSphericalTensorField", + "areaSymmTensorField", + "areaTensorField" }); diff --git a/src/finiteVolume/fields/volFields/volFields.C b/src/finiteVolume/fields/volFields/volFields.C index 30b1de4c45..3ee98c4de7 100644 --- a/src/finiteVolume/fields/volFields/volFields.C +++ b/src/finiteVolume/fields/volFields/volFields.C @@ -85,23 +85,25 @@ void GeometricField::replace // * * * * * * * * * * * * * * * * Global Data * * * * * * * * * * * * * * * // +// Note hard-coded values are more reliable than other alternatives + const Foam::wordList Foam::fieldTypes::internal ({ - Foam::volScalarField::Internal::typeName_(), - Foam::volVectorField::Internal::typeName_(), - Foam::volSphericalTensorField::Internal::typeName_(), - Foam::volSymmTensorField::Internal::typeName_(), - Foam::volTensorField::Internal::typeName_() + "volScalarField::Internal", + "volVectorField::Internal", + "volSphericalTensorField::Internal", + "volSymmTensorField::Internal", + "volTensorField::Internal" }); const Foam::wordList Foam::fieldTypes::volume ({ - Foam::volScalarField::typeName_(), - Foam::volVectorField::typeName_(), - Foam::volSphericalTensorField::typeName_(), - Foam::volSymmTensorField::typeName_(), - Foam::volTensorField::typeName_() + "volScalarField", + "volVectorField", + "volSphericalTensorField", + "volSymmTensorField", + "volTensorField" });