diff --git a/src/OpenFOAM/interpolations/interpolationTable/interpolationTable.H b/src/OpenFOAM/interpolations/interpolationTable/interpolationTable.H index 934976ffcb3ce2a4337815bd3d2ba29d1b33d5ee..a90dc1b83499e8e5c6831349a47e2a3a94ac4bd5 100644 --- a/src/OpenFOAM/interpolations/interpolationTable/interpolationTable.H +++ b/src/OpenFOAM/interpolations/interpolationTable/interpolationTable.H @@ -43,14 +43,13 @@ Description Read csv format: \verbatim - readerType csv; - file "<constant>/p0vsTime.csv"; - hasHeaderLine true; // skip first line - timeColumn 0; // time is in column 0 - valueColumns (1); // value starts in column 1 + readerType csv; + file "<constant>/p0vsTime.csv"; + hasHeaderLine true; // skip first line + refColumn 0; // reference (eg, time) is in column 0 + componentColumns (1); // component values starts in column 1 \endverbatim - Note - Accessing an empty list results in an error. - Accessing a list with a single element always returns the same value. diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C index ea6e419791fa0e893134c192ef19503e4fd930df..bc09a69dde6626c7965c1c500bf519bda0fe691c 100644 --- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C +++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.C @@ -37,6 +37,7 @@ template<class Type> Foam::labelList Foam::csvTableReader<Type>::getComponentColumns ( const word& name, + std::initializer_list<std::pair<const char*,int>> compat, const dictionary& dict ) { @@ -45,7 +46,7 @@ Foam::labelList Foam::csvTableReader<Type>::getComponentColumns labelList cols; - ITstream& is = dict.lookup(name); + ITstream& is = dict.lookupCompat(name, compat); is.format(IOstream::ASCII); is >> cols; dict.checkITstream(is, name); @@ -113,8 +114,11 @@ Foam::csvTableReader<Type>::csvTableReader(const dictionary& dict) : tableReader<Type>(dict), headerLine_(dict.get<bool>("hasHeaderLine")), - refColumn_(dict.get<label>("timeColumn")), - componentColumns_(getComponentColumns("valueColumns", dict)), + refColumn_(dict.getCompat<label>("refColumn", {{"timeColumn", 1912}})), + componentColumns_ + ( + getComponentColumns("componentColumns", {{"valueColumns", 1912}}, dict) + ), separator_(dict.getOrDefault<string>("separator", ",")[0]) {} @@ -218,9 +222,9 @@ void Foam::csvTableReader<Type>::write(Ostream& os) const tableReader<Type>::write(os); os.writeEntry("hasHeaderLine", headerLine_); - os.writeEntry("timeColumn", refColumn_); + os.writeEntry("refColumn", refColumn_); - // Force writing labelList in ascii + // Force writing labelList in ASCII const enum IOstream::streamFormat fmt = os.format(); os.format(IOstream::ASCII); os.writeEntry("componentColumns", componentColumns_); diff --git a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.H b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.H index cb44f487a17349c46fca39b1da0858f9057c1b62..7bc93dd3b165aa142731f8e1eaf8718edc4c4959 100644 --- a/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.H +++ b/src/OpenFOAM/interpolations/interpolationTable/tableReaders/csv/csvTableReader.H @@ -76,6 +76,7 @@ class csvTableReader static labelList getComponentColumns ( const word& name, + std::initializer_list<std::pair<const char*,int>> compat, const dictionary& dict ); diff --git a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C index 495cd5a481e1910ebca660c8eff03389350a946c..3ace21c0a6b8a91b25496e0f7a9825e39443604d 100644 --- a/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C +++ b/src/OpenFOAM/primitives/functions/Function1/CSV/CSV.C @@ -264,7 +264,7 @@ void Foam::Function1Types::CSV<Type>::writeData(Ostream& os) const os.writeEntry("nHeaderLine", nHeaderLine_); os.writeEntry("refColumn", refColumn_); - // Force writing labelList in ascii + // Force writing labelList in ASCII const enum IOstream::streamFormat fmt = os.format(); os.format(IOstream::ASCII); os.writeEntry("componentColumns", componentColumns_); diff --git a/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/p b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/p index e3e7868a8efcf13a4b5480c8ae0c5aca9d70de15..c5f069a7872ad442a3c55228f249be80b2a2e427 100644 --- a/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/p +++ b/tutorials/incompressible/pimpleFoam/RAS/TJunctionFan/0.orig/p @@ -27,7 +27,6 @@ boundaryField outOfBounds clamp; direction in; readerType openFoam; - hasHeaderLine true; file "<constant>/FluxVsdP.dat"; //nonDimensional true; //rpm 300;