diff --git a/applications/test/fieldTypes/Make/files b/applications/test/fieldTypes/Make/files new file mode 100644 index 0000000000000000000000000000000000000000..03262d28e4653f20321116c9ce07dfdcc4e5b8bf --- /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 0000000000000000000000000000000000000000..3a7088aeeac0f70aca2914ffce68963629f3efca --- /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 0000000000000000000000000000000000000000..f46f936c567f995102c8976507d3ad780e565acb --- /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 <http://www.gnu.org/licenses/>. + +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 9c1a8a55469f9c66f1dfa9e6b4d5c3de0eccd15b..207aff1af089a4fa3b17ac4d74778e7a74a977db 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 c115a066fc2aacc77cf174a3513a73125d59f1fc..16e0dabef5b30be793dc724b50fbb6a7cbed912f 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 2090d7bb4616d15d7a6826be4800761e9036a090..4f4705c2d292d33d7039568d6bf5e70cea0bdf88 100644 --- a/src/finiteArea/fields/areaFields/areaFields.C +++ b/src/finiteArea/fields/areaFields/areaFields.C @@ -79,13 +79,15 @@ void GeometricField<scalar, faPatchField, areaMesh>::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 30b1de4c45c697d7640994517d8be446fced098c..3ee98c4de7a2fdc2b42fcf53a7889a1b7800d28e 100644 --- a/src/finiteVolume/fields/volFields/volFields.C +++ b/src/finiteVolume/fields/volFields/volFields.C @@ -85,23 +85,25 @@ void GeometricField<scalar, fvPatchField, volMesh>::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" });