diff --git a/applications/utilities/postProcessing/noise/noise.C b/applications/utilities/postProcessing/noise/noise.C index 78924a984..4f45c42fa 100644 --- a/applications/utilities/postProcessing/noise/noise.C +++ b/applications/utilities/postProcessing/noise/noise.C @@ -134,7 +134,11 @@ int main(int argc, char *argv[]) #include "createFields.H" Info<< "Reading data file" << endl; - Function1Types::CSV pData("pressure", dict.subDict("pressureData")); + FieldFunction1> pData + ( + "pressure", + dict.subDict("pressureData") + ); // time history data const scalarField t(pData.x()); diff --git a/src/OpenFOAM/Make/files b/src/OpenFOAM/Make/files index b6e70668b..df86f1dc7 100644 --- a/src/OpenFOAM/Make/files +++ b/src/OpenFOAM/Make/files @@ -85,7 +85,7 @@ primitives/septernion/septernion.C primitives/triad/triad.C /* Run-time selectable functions */ -primitives/functions/Function1/makeDataEntries.C +primitives/functions/Function1/makeFunction1s.C primitives/functions/Function1/ramp/ramp.C primitives/functions/Function1/linearRamp/linearRamp.C primitives/functions/Function1/quadraticRamp/quadraticRamp.C diff --git a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.H b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.H index 4790b0be1..3550b390b 100644 --- a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.H +++ b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.H @@ -126,12 +126,6 @@ public: //- Copy constructor CSV(const CSV& tbl); - //- Construct and return a clone - virtual tmp> clone() const - { - return tmp>(new CSV(*this)); - } - //- Destructor virtual ~CSV(); diff --git a/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.C b/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.C index 3f53313f6..0d056a052 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.C +++ b/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -85,17 +85,20 @@ Foam::Function1Types::Constant::~Constant() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template -Type Foam::Function1Types::Constant::value(const scalar x) const +Foam::tmp> Foam::Function1Types::Constant::value +( + const scalarField& x +) const { - return value_; + return tmp>(new Field(x.size(), value_)); } template -Type Foam::Function1Types::Constant::integrate +Foam::tmp> Foam::Function1Types::Constant::integrate ( - const scalar x1, - const scalar x2 + const scalarField& x1, + const scalarField& x2 ) const { return (x2 - x1)*value_; diff --git a/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.H b/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.H index 3ccbc5224..3a42d4687 100644 --- a/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.H +++ b/src/OpenFOAM/primitives/functions/Function1/Constant/Constant.H @@ -106,16 +106,34 @@ public: // Member Functions //- Return constant value - Type value(const scalar) const; + virtual inline Type value(const scalar) const; //- Integrate between two values - Type integrate(const scalar x1, const scalar x2) const; + virtual inline Type integrate(const scalar x1, const scalar x2) const; + + //- Return value as a function of (scalar) independent variable + virtual tmp> value(const scalarField& x) const; + + //- Integrate between two (scalar) values + virtual tmp> integrate + ( + const scalarField& x1, + const scalarField& x2 + ) const; //- Write in dictionary format virtual void writeData(Ostream& os) const; }; +template<> +tmp> Function1Types::Constant