mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: cleanup/reorganize surfaceWriter and fileFormats
- remove unused surfaceWriter constructors, noexcept on methods - relocate/rename writerCaching from surfMesh -> fileFormats - changed from surfaceWriters::writerCaching to ensightOutput::writerCaching to permit reuse elsewhere - relocate static output helpers to ensightCase - refactor NAS coordinate writing
This commit is contained in:
@ -191,11 +191,11 @@ int main(int argc, char *argv[])
|
|||||||
const scalar scaleFactor = args.getOrDefault<scalar>("scale", 1);
|
const scalar scaleFactor = args.getOrDefault<scalar>("scale", 1);
|
||||||
|
|
||||||
// Default to binary output, unless otherwise specified
|
// Default to binary output, unless otherwise specified
|
||||||
const IOstream::streamFormat format =
|
const IOstreamOption::streamFormat format =
|
||||||
(
|
(
|
||||||
args.found("ascii")
|
args.found("ascii")
|
||||||
? IOstream::ASCII
|
? IOstreamOption::ASCII
|
||||||
: IOstream::BINARY
|
: IOstreamOption::BINARY
|
||||||
);
|
);
|
||||||
|
|
||||||
// Increase the precision of the points data
|
// Increase the precision of the points data
|
||||||
|
|||||||
@ -90,11 +90,11 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
|
|
||||||
// Binary output, unless otherwise specified
|
// Binary output, unless otherwise specified
|
||||||
const IOstream::streamFormat format =
|
const IOstreamOption::streamFormat format =
|
||||||
(
|
(
|
||||||
args.found("ascii")
|
args.found("ascii")
|
||||||
? IOstream::ASCII
|
? IOstreamOption::ASCII
|
||||||
: IOstream::BINARY
|
: IOstreamOption::BINARY
|
||||||
);
|
);
|
||||||
|
|
||||||
// increase the precision of the points data
|
// increase the precision of the points data
|
||||||
|
|||||||
@ -96,11 +96,11 @@ int main(int argc, char *argv[])
|
|||||||
Time runTime(args.rootPath(), args.caseName());
|
Time runTime(args.rootPath(), args.caseName());
|
||||||
|
|
||||||
// Binary output, unless otherwise specified
|
// Binary output, unless otherwise specified
|
||||||
const IOstream::streamFormat format =
|
const IOstreamOption::streamFormat format =
|
||||||
(
|
(
|
||||||
args.found("ascii")
|
args.found("ascii")
|
||||||
? IOstream::ASCII
|
? IOstreamOption::ASCII
|
||||||
: IOstream::BINARY
|
: IOstreamOption::BINARY
|
||||||
);
|
);
|
||||||
|
|
||||||
// Increase the precision of the points data
|
// Increase the precision of the points data
|
||||||
|
|||||||
@ -308,11 +308,11 @@ int main(int argc, char *argv[])
|
|||||||
// Configuration
|
// Configuration
|
||||||
|
|
||||||
// Default to binary output, unless otherwise specified
|
// Default to binary output, unless otherwise specified
|
||||||
const IOstream::streamFormat format =
|
const IOstreamOption::streamFormat format =
|
||||||
(
|
(
|
||||||
args.found("ascii")
|
args.found("ascii")
|
||||||
? IOstream::ASCII
|
? IOstreamOption::ASCII
|
||||||
: IOstream::BINARY
|
: IOstreamOption::BINARY
|
||||||
);
|
);
|
||||||
|
|
||||||
const bool doBoundary = !args.found("no-boundary");
|
const bool doBoundary = !args.found("no-boundary");
|
||||||
|
|||||||
@ -6,6 +6,7 @@ ensight/file/ensightCase.C
|
|||||||
ensight/file/ensightCaseOptions.C
|
ensight/file/ensightCaseOptions.C
|
||||||
ensight/file/ensightFile.C
|
ensight/file/ensightFile.C
|
||||||
ensight/file/ensightGeoFile.C
|
ensight/file/ensightGeoFile.C
|
||||||
|
ensight/file/ensightWriterCaching.C
|
||||||
|
|
||||||
ensight/mesh/ensightMesh.C
|
ensight/mesh/ensightMesh.C
|
||||||
ensight/mesh/ensightMeshOptions.C
|
ensight/mesh/ensightMeshOptions.C
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2016-2021 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -30,6 +30,7 @@ License
|
|||||||
#include "Time.H"
|
#include "Time.H"
|
||||||
#include "cloud.H"
|
#include "cloud.H"
|
||||||
#include "IOmanip.H"
|
#include "IOmanip.H"
|
||||||
|
#include "OSstream.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -37,6 +38,126 @@ const char* Foam::ensightCase::dataDirName = "data";
|
|||||||
const char* Foam::ensightCase::geometryName = "geometry";
|
const char* Foam::ensightCase::geometryName = "geometry";
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
void Foam::ensightCase::printTimeset
|
||||||
|
(
|
||||||
|
OSstream& os,
|
||||||
|
const label ts,
|
||||||
|
const scalar timeValue
|
||||||
|
)
|
||||||
|
{
|
||||||
|
os
|
||||||
|
<< "time set: " << ts << nl
|
||||||
|
<< "number of steps: " << 1 << nl;
|
||||||
|
|
||||||
|
// Single value - starts at index 0
|
||||||
|
os << "filename start number: 0" << nl
|
||||||
|
<< "filename increment: 1" << nl
|
||||||
|
<< "time values:" << nl;
|
||||||
|
|
||||||
|
os << " " << timeValue
|
||||||
|
<< nl << nl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::ensightCase::printTimeset
|
||||||
|
(
|
||||||
|
OSstream& os,
|
||||||
|
const label ts,
|
||||||
|
const UList<scalar>& values
|
||||||
|
)
|
||||||
|
{
|
||||||
|
label pos_(0);
|
||||||
|
|
||||||
|
os
|
||||||
|
<< "time set: " << ts << nl
|
||||||
|
<< "number of steps: " << values.size() << nl;
|
||||||
|
|
||||||
|
// Assume contiguous numbering - starts at index 0
|
||||||
|
os << "filename start number: 0" << nl
|
||||||
|
<< "filename increment: 1" << nl;
|
||||||
|
|
||||||
|
|
||||||
|
os << "time values:" << nl;
|
||||||
|
pos_ = 0;
|
||||||
|
for (const scalar val : values)
|
||||||
|
{
|
||||||
|
if (pos_ == 6)
|
||||||
|
{
|
||||||
|
os << nl;
|
||||||
|
pos_ = 0;
|
||||||
|
}
|
||||||
|
++pos_;
|
||||||
|
|
||||||
|
os << ' ' << setf(ios_base::right) << setw(12) << val;
|
||||||
|
}
|
||||||
|
os << nl << nl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::ensightCase::printTimeset
|
||||||
|
(
|
||||||
|
OSstream& os,
|
||||||
|
const label ts,
|
||||||
|
const UList<scalar>& values,
|
||||||
|
const bitSet& indices
|
||||||
|
)
|
||||||
|
{
|
||||||
|
label pos_(0);
|
||||||
|
|
||||||
|
// Check if continuous numbering can be used
|
||||||
|
if
|
||||||
|
(
|
||||||
|
values.empty()
|
||||||
|
|| (indices.size() == values.size() && indices.all())
|
||||||
|
)
|
||||||
|
{
|
||||||
|
// Can simply emit as 0-based with increment
|
||||||
|
printTimeset(os, ts, values);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Generate time set
|
||||||
|
os
|
||||||
|
<< "time set: " << ts << nl
|
||||||
|
<< "number of steps: " << indices.count() << nl;
|
||||||
|
|
||||||
|
|
||||||
|
os << "filename numbers:" << nl;
|
||||||
|
pos_ = 0;
|
||||||
|
for (const label idx : indices)
|
||||||
|
{
|
||||||
|
if (pos_ == 6)
|
||||||
|
{
|
||||||
|
os << nl;
|
||||||
|
pos_ = 0;
|
||||||
|
}
|
||||||
|
++pos_;
|
||||||
|
|
||||||
|
os << ' ' << setf(ios_base::right) << setw(8) << idx;
|
||||||
|
}
|
||||||
|
os << nl;
|
||||||
|
|
||||||
|
|
||||||
|
os << "time values:" << nl;
|
||||||
|
pos_ = 0;
|
||||||
|
for (const label idx : indices)
|
||||||
|
{
|
||||||
|
if (pos_ == 6)
|
||||||
|
{
|
||||||
|
os << nl;
|
||||||
|
pos_ = 0;
|
||||||
|
}
|
||||||
|
++pos_;
|
||||||
|
|
||||||
|
os << ' ' << setf(ios_base::right) << setw(12) << values[idx];
|
||||||
|
}
|
||||||
|
os << nl << nl;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Private Functions * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Private Functions * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::fileName Foam::ensightCase::dataDir() const
|
Foam::fileName Foam::ensightCase::dataDir() const
|
||||||
@ -73,7 +194,7 @@ void Foam::ensightCase::initialize()
|
|||||||
mkDir(dataDir());
|
mkDir(dataDir());
|
||||||
|
|
||||||
// The case file is always ASCII
|
// The case file is always ASCII
|
||||||
os_.reset(new OFstream(ensightDir_/caseName_, IOstream::ASCII));
|
os_.reset(new OFstream(ensightDir_/caseName_, IOstreamOption::ASCII));
|
||||||
|
|
||||||
// Format options
|
// Format options
|
||||||
os_->setf(ios_base::left);
|
os_->setf(ios_base::left);
|
||||||
@ -405,7 +526,7 @@ Foam::ensightCase::ensightCase
|
|||||||
(
|
(
|
||||||
const fileName& ensightDir,
|
const fileName& ensightDir,
|
||||||
const word& caseName,
|
const word& caseName,
|
||||||
const IOstream::streamFormat format
|
const IOstreamOption::streamFormat format
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
options_(new options(format)),
|
options_(new options(format)),
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2016-2020 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -38,15 +38,14 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef ensightCase_H
|
#ifndef Foam_ensightCase_H
|
||||||
#define ensightCase_H
|
#define Foam_ensightCase_H
|
||||||
|
|
||||||
#include "autoPtr.H"
|
#include "autoPtr.H"
|
||||||
#include "HashSet.H"
|
#include "HashSet.H"
|
||||||
#include "InfoProxy.H"
|
#include "InfoProxy.H"
|
||||||
#include "Map.H"
|
#include "Map.H"
|
||||||
#include "HashSet.H"
|
#include "HashSet.H"
|
||||||
#include "OSspecific.H"
|
|
||||||
#include "Pstream.H"
|
#include "Pstream.H"
|
||||||
#include "ensightGeoFile.H"
|
#include "ensightGeoFile.H"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
@ -57,8 +56,10 @@ namespace Foam
|
|||||||
{
|
{
|
||||||
|
|
||||||
// Forward Declarations
|
// Forward Declarations
|
||||||
|
class bitSet;
|
||||||
class ensightCase;
|
class ensightCase;
|
||||||
class instant;
|
class instant;
|
||||||
|
class OSstream;
|
||||||
class Time;
|
class Time;
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
@ -217,7 +218,7 @@ public:
|
|||||||
(
|
(
|
||||||
const fileName& ensightDir,
|
const fileName& ensightDir,
|
||||||
const word& caseName,
|
const word& caseName,
|
||||||
const IOstream::streamFormat format = IOstream::BINARY
|
const IOstreamOption::streamFormat format = IOstreamOption::BINARY
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -233,10 +234,10 @@ public:
|
|||||||
inline const ensightCase::options& option() const;
|
inline const ensightCase::options& option() const;
|
||||||
|
|
||||||
//- The output file format (ascii/binary)
|
//- The output file format (ascii/binary)
|
||||||
inline IOstream::streamFormat format() const;
|
inline IOstreamOption::streamFormat format() const;
|
||||||
|
|
||||||
//- The nominal path to the case file
|
//- The nominal path to the case file
|
||||||
inline const fileName& path() const;
|
inline const fileName& path() const noexcept;
|
||||||
|
|
||||||
//- The output '*' mask
|
//- The output '*' mask
|
||||||
inline const word& mask() const;
|
inline const word& mask() const;
|
||||||
@ -322,16 +323,67 @@ public:
|
|||||||
|
|
||||||
//- Print some general information.
|
//- Print some general information.
|
||||||
Ostream& printInfo(Ostream& os) const;
|
Ostream& printInfo(Ostream& os) const;
|
||||||
|
|
||||||
|
|
||||||
|
// Output Helpers
|
||||||
|
|
||||||
|
//- Print time-set for ensight case file with a single time
|
||||||
|
static void printTimeset
|
||||||
|
(
|
||||||
|
OSstream& os,
|
||||||
|
const label ts,
|
||||||
|
const scalar timeValue
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Print time-set for ensight case file, with N times and 0-based
|
||||||
|
//- file numbering
|
||||||
|
//
|
||||||
|
// \verbatim
|
||||||
|
// TIME
|
||||||
|
// time set: ts
|
||||||
|
// number of steps: ns
|
||||||
|
// filename start number: 0
|
||||||
|
// filename increment: 1
|
||||||
|
// time values: time_1 time_2 ... time_ns
|
||||||
|
// \endverbatim
|
||||||
|
static void printTimeset
|
||||||
|
(
|
||||||
|
OSstream& os,
|
||||||
|
const label ts,
|
||||||
|
const UList<scalar>& times
|
||||||
|
);
|
||||||
|
|
||||||
|
//- Print time-set for ensight case file, with N times, 0-based
|
||||||
|
//- file numbering but perhaps non-contiguous
|
||||||
|
//
|
||||||
|
// \verbatim
|
||||||
|
// TIME
|
||||||
|
// time set: ts
|
||||||
|
// number of steps: ns
|
||||||
|
// filename numbers: idx_1 idx_2 ... idx_ns
|
||||||
|
// time values: time_1 time_2 ... time_ns
|
||||||
|
// \endverbatim
|
||||||
|
static void printTimeset
|
||||||
|
(
|
||||||
|
OSstream& os,
|
||||||
|
const label ts,
|
||||||
|
const UList<scalar>& times,
|
||||||
|
const bitSet& indices
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
Class ensightCase::options Declaration
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
//- Configuration options for the ensightCase
|
//- Configuration options for the ensightCase
|
||||||
class ensightCase::options
|
class ensightCase::options
|
||||||
{
|
{
|
||||||
// Private Data
|
// Private Data
|
||||||
|
|
||||||
//- Ascii/Binary file output
|
//- Ascii/Binary file output
|
||||||
IOstream::streamFormat format_;
|
IOstreamOption::streamFormat format_;
|
||||||
|
|
||||||
//- Remove existing directory and sub-directories on creation
|
//- Remove existing directory and sub-directories on creation
|
||||||
bool overwrite_;
|
bool overwrite_;
|
||||||
@ -357,7 +409,7 @@ public:
|
|||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct with the specified format (default is binary)
|
//- Construct with the specified format (default is binary)
|
||||||
options(IOstream::streamFormat format = IOstream::BINARY);
|
options(IOstreamOption::streamFormat format = IOstreamOption::BINARY);
|
||||||
|
|
||||||
|
|
||||||
// Member Functions
|
// Member Functions
|
||||||
@ -365,22 +417,22 @@ public:
|
|||||||
// Access
|
// Access
|
||||||
|
|
||||||
//- Ascii/Binary file output
|
//- Ascii/Binary file output
|
||||||
IOstream::streamFormat format() const;
|
IOstreamOption::streamFormat format() const noexcept { return format_; }
|
||||||
|
|
||||||
//- The '*' mask appropriate for sub-directories
|
//- The '*' mask appropriate for sub-directories
|
||||||
const word& mask() const;
|
const word& mask() const noexcept { return mask_; }
|
||||||
|
|
||||||
//- Consistent zero-padded integer value
|
//- Consistent zero-padded integer value
|
||||||
word padded(const label i) const;
|
word padded(const label i) const;
|
||||||
|
|
||||||
//- Return current width of mask and padded.
|
//- Return current width of mask and padded.
|
||||||
label width() const;
|
label width() const noexcept { return width_; }
|
||||||
|
|
||||||
//- Remove existing directory and sub-directories on creation
|
//- Remove existing directory and sub-directories on creation
|
||||||
bool overwrite() const;
|
bool overwrite() const noexcept { return overwrite_; }
|
||||||
|
|
||||||
//- Write clouds into their own directory instead in "data" directory
|
//- Write clouds into their own directory instead in "data" directory
|
||||||
bool separateCloud() const;
|
bool separateCloud() const noexcept { return separateCloud_; }
|
||||||
|
|
||||||
|
|
||||||
// Edit
|
// Edit
|
||||||
@ -390,22 +442,22 @@ public:
|
|||||||
void width(const label i);
|
void width(const label i);
|
||||||
|
|
||||||
//- Remove existing directory and sub-directories on creation
|
//- Remove existing directory and sub-directories on creation
|
||||||
void overwrite(bool);
|
void overwrite(bool on) noexcept { overwrite_ = on; }
|
||||||
|
|
||||||
//- Write clouds into their own directory instead in "data" directory
|
//- Write clouds into their own directory instead in "data" directory
|
||||||
void separateCloud(bool);
|
void separateCloud(bool on) noexcept { separateCloud_ = on; }
|
||||||
|
|
||||||
|
|
||||||
// Housekeeping
|
// Housekeeping
|
||||||
|
|
||||||
//- Force use of values per node instead of per element
|
//- Forced use of values per node instead of per element
|
||||||
bool nodeValues() const;
|
bool nodeValues() const noexcept { return nodeValues_; }
|
||||||
|
|
||||||
//- Force use of values per node instead of per element
|
//- Force use of values per node instead of per element
|
||||||
// Deprecated(2020-02) - The newData() method with a second parameter
|
// Deprecated(2020-02) - The newData() method with a second parameter
|
||||||
// is more flexible.
|
// is more flexible.
|
||||||
// \deprecated(2020-02) - newData() with second parameter
|
// \deprecated(2020-02) - newData() with second parameter
|
||||||
void nodeValues(bool);
|
void nodeValues(bool on) noexcept { nodeValues_ = on; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2016 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -33,13 +33,13 @@ inline const Foam::ensightCase::options& Foam::ensightCase::option() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline Foam::IOstream::streamFormat Foam::ensightCase::format() const
|
inline Foam::IOstreamOption::streamFormat Foam::ensightCase::format() const
|
||||||
{
|
{
|
||||||
return options_->format();
|
return options_->format();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline const Foam::fileName& Foam::ensightCase::path() const
|
inline const Foam::fileName& Foam::ensightCase::path() const noexcept
|
||||||
{
|
{
|
||||||
return ensightDir_;
|
return ensightDir_;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2016-2018 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -29,7 +29,7 @@ License
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::ensightCase::options::options(IOstream::streamFormat format)
|
Foam::ensightCase::options::options(IOstreamOption::streamFormat format)
|
||||||
:
|
:
|
||||||
format_(format),
|
format_(format),
|
||||||
overwrite_(false),
|
overwrite_(false),
|
||||||
@ -45,18 +45,6 @@ Foam::ensightCase::options::options(IOstream::streamFormat format)
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::IOstream::streamFormat Foam::ensightCase::options::format() const
|
|
||||||
{
|
|
||||||
return format_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const Foam::word& Foam::ensightCase::options::mask() const
|
|
||||||
{
|
|
||||||
return mask_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::word Foam::ensightCase::options::padded(const label i) const
|
Foam::word Foam::ensightCase::options::padded(const label i) const
|
||||||
{
|
{
|
||||||
// As per word::printf(), but with fixed length
|
// As per word::printf(), but with fixed length
|
||||||
@ -70,12 +58,6 @@ Foam::word Foam::ensightCase::options::padded(const label i) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::label Foam::ensightCase::options::width() const
|
|
||||||
{
|
|
||||||
return width_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Foam::ensightCase::options::width(const label n)
|
void Foam::ensightCase::options::width(const label n)
|
||||||
{
|
{
|
||||||
// Enforce min/max sanity limits
|
// Enforce min/max sanity limits
|
||||||
@ -92,40 +74,4 @@ void Foam::ensightCase::options::width(const label n)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Foam::ensightCase::options::overwrite() const
|
|
||||||
{
|
|
||||||
return overwrite_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Foam::ensightCase::options::overwrite(bool b)
|
|
||||||
{
|
|
||||||
overwrite_ = b;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Foam::ensightCase::options::nodeValues() const
|
|
||||||
{
|
|
||||||
return nodeValues_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Foam::ensightCase::options::nodeValues(bool b)
|
|
||||||
{
|
|
||||||
nodeValues_ = b;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool Foam::ensightCase::options::separateCloud() const
|
|
||||||
{
|
|
||||||
return separateCloud_;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Foam::ensightCase::options::separateCloud(bool b)
|
|
||||||
{
|
|
||||||
separateCloud_ = b;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011-2015 OpenFOAM Foundation
|
Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||||
Copyright (C) 2016-2020 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -119,7 +119,7 @@ void Foam::ensightFile::initialize()
|
|||||||
Foam::ensightFile::ensightFile
|
Foam::ensightFile::ensightFile
|
||||||
(
|
(
|
||||||
const fileName& pathname,
|
const fileName& pathname,
|
||||||
IOstream::streamFormat format
|
IOstreamOption::streamFormat format
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
OFstream(ensight::FileName(pathname), format)
|
OFstream(ensight::FileName(pathname), format)
|
||||||
@ -132,7 +132,7 @@ Foam::ensightFile::ensightFile
|
|||||||
(
|
(
|
||||||
const fileName& path,
|
const fileName& path,
|
||||||
const fileName& name,
|
const fileName& name,
|
||||||
IOstream::streamFormat format
|
IOstreamOption::streamFormat format
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
OFstream(path/ensight::FileName(name), format)
|
OFstream(path/ensight::FileName(name), format)
|
||||||
@ -176,7 +176,7 @@ Foam::Ostream& Foam::ensightFile::writeString(const char* str)
|
|||||||
char buf[80+1];
|
char buf[80+1];
|
||||||
strncpy(buf, str, 80); // max 80 chars or padded with nul if smaller
|
strncpy(buf, str, 80); // max 80 chars or padded with nul if smaller
|
||||||
|
|
||||||
if (format() == IOstream::BINARY)
|
if (format() == IOstreamOption::BINARY)
|
||||||
{
|
{
|
||||||
write(buf, 80);
|
write(buf, 80);
|
||||||
}
|
}
|
||||||
@ -227,7 +227,7 @@ Foam::Ostream& Foam::ensightFile::write
|
|||||||
|
|
||||||
Foam::Ostream& Foam::ensightFile::write(const int32_t val)
|
Foam::Ostream& Foam::ensightFile::write(const int32_t val)
|
||||||
{
|
{
|
||||||
if (format() == IOstream::BINARY)
|
if (format() == IOstreamOption::BINARY)
|
||||||
{
|
{
|
||||||
write
|
write
|
||||||
(
|
(
|
||||||
@ -255,7 +255,7 @@ Foam::Ostream& Foam::ensightFile::write(const int64_t val)
|
|||||||
|
|
||||||
Foam::Ostream& Foam::ensightFile::write(const floatScalar val)
|
Foam::Ostream& Foam::ensightFile::write(const floatScalar val)
|
||||||
{
|
{
|
||||||
if (format() == IOstream::BINARY)
|
if (format() == IOstreamOption::BINARY)
|
||||||
{
|
{
|
||||||
write
|
write
|
||||||
(
|
(
|
||||||
@ -287,7 +287,7 @@ Foam::Ostream& Foam::ensightFile::write
|
|||||||
const label fieldWidth
|
const label fieldWidth
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (format() == IOstream::BINARY)
|
if (format() == IOstreamOption::BINARY)
|
||||||
{
|
{
|
||||||
write(value);
|
write(value);
|
||||||
}
|
}
|
||||||
@ -303,7 +303,7 @@ Foam::Ostream& Foam::ensightFile::write
|
|||||||
|
|
||||||
void Foam::ensightFile::newline()
|
void Foam::ensightFile::newline()
|
||||||
{
|
{
|
||||||
if (format() == IOstream::ASCII)
|
if (format() == IOstreamOption::ASCII)
|
||||||
{
|
{
|
||||||
stdStream() << nl;
|
stdStream() << nl;
|
||||||
}
|
}
|
||||||
@ -338,7 +338,7 @@ Foam::Ostream& Foam::ensightFile::writeKeyword(const keyType& key)
|
|||||||
|
|
||||||
Foam::Ostream& Foam::ensightFile::writeBinaryHeader()
|
Foam::Ostream& Foam::ensightFile::writeBinaryHeader()
|
||||||
{
|
{
|
||||||
if (format() == IOstream::BINARY)
|
if (format() == IOstreamOption::BINARY)
|
||||||
{
|
{
|
||||||
writeString("C Binary");
|
writeString("C Binary");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011-2015 OpenFOAM Foundation
|
Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||||
Copyright (C) 2016-2020 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -33,8 +33,8 @@ Description
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef ensightFile_H
|
#ifndef Foam_ensightFile_H
|
||||||
#define ensightFile_H
|
#define Foam_ensightFile_H
|
||||||
|
|
||||||
#include "OFstream.H"
|
#include "OFstream.H"
|
||||||
#include "ensightFileName.H"
|
#include "ensightFileName.H"
|
||||||
@ -105,7 +105,7 @@ public:
|
|||||||
explicit ensightFile
|
explicit ensightFile
|
||||||
(
|
(
|
||||||
const fileName& pathname,
|
const fileName& pathname,
|
||||||
IOstream::streamFormat format=IOstream::BINARY
|
IOstreamOption::streamFormat format = IOstreamOption::BINARY
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct from path and name.
|
//- Construct from path and name.
|
||||||
@ -114,7 +114,7 @@ public:
|
|||||||
(
|
(
|
||||||
const fileName& path,
|
const fileName& path,
|
||||||
const fileName& name,
|
const fileName& name,
|
||||||
IOstream::streamFormat format=IOstream::BINARY
|
IOstreamOption::streamFormat format = IOstreamOption::BINARY
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011 OpenFOAM Foundation
|
Copyright (C) 2011 OpenFOAM Foundation
|
||||||
Copyright (C) 2016-2020 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -56,7 +56,7 @@ void Foam::ensightGeoFile::initialize()
|
|||||||
Foam::ensightGeoFile::ensightGeoFile
|
Foam::ensightGeoFile::ensightGeoFile
|
||||||
(
|
(
|
||||||
const fileName& pathname,
|
const fileName& pathname,
|
||||||
IOstream::streamFormat format
|
IOstreamOption::streamFormat format
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
ensightFile(pathname, format)
|
ensightFile(pathname, format)
|
||||||
@ -69,7 +69,7 @@ Foam::ensightGeoFile::ensightGeoFile
|
|||||||
(
|
(
|
||||||
const fileName& path,
|
const fileName& path,
|
||||||
const fileName& name,
|
const fileName& name,
|
||||||
IOstream::streamFormat format
|
IOstreamOption::streamFormat format
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
ensightFile(path, name, format)
|
ensightFile(path, name, format)
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011-2015 OpenFOAM Foundation
|
Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||||
Copyright (C) 2016-2020 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -32,8 +32,8 @@ Description
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef ensightGeoFile_H
|
#ifndef Foam_ensightGeoFile_H
|
||||||
#define ensightGeoFile_H
|
#define Foam_ensightGeoFile_H
|
||||||
|
|
||||||
#include "ensightFile.H"
|
#include "ensightFile.H"
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ public:
|
|||||||
explicit ensightGeoFile
|
explicit ensightGeoFile
|
||||||
(
|
(
|
||||||
const fileName& pathname,
|
const fileName& pathname,
|
||||||
IOstream::streamFormat format=IOstream::BINARY
|
IOstreamOption::streamFormat format = IOstreamOption::BINARY
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Construct from path and name.
|
//- Construct from path and name.
|
||||||
@ -89,7 +89,7 @@ public:
|
|||||||
(
|
(
|
||||||
const fileName& path,
|
const fileName& path,
|
||||||
const fileName& name,
|
const fileName& name,
|
||||||
IOstream::streamFormat format=IOstream::BINARY
|
IOstreamOption::streamFormat format = IOstreamOption::BINARY
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2016-2020 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -25,7 +25,7 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "surfaceWriterCaching.H"
|
#include "ensightWriterCaching.H"
|
||||||
#include "ListOps.H"
|
#include "ListOps.H"
|
||||||
#include "Fstream.H"
|
#include "Fstream.H"
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ static label findTimeIndex(const UList<scalar>& list, const scalar val)
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::surfaceWriters::writerCaching::writerCaching(const word& cacheFileName)
|
Foam::ensightOutput::writerCaching::writerCaching(const word& cacheFileName)
|
||||||
:
|
:
|
||||||
dictName_(cacheFileName)
|
dictName_(cacheFileName)
|
||||||
{}
|
{}
|
||||||
@ -75,7 +75,7 @@ Foam::surfaceWriters::writerCaching::writerCaching(const word& cacheFileName)
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
const Foam::dictionary& Foam::surfaceWriters::writerCaching::fieldsDict() const
|
const Foam::dictionary& Foam::ensightOutput::writerCaching::fieldsDict() const
|
||||||
{
|
{
|
||||||
const dictionary* dictptr = cache_.findDict("fields", keyType::LITERAL);
|
const dictionary* dictptr = cache_.findDict("fields", keyType::LITERAL);
|
||||||
|
|
||||||
@ -88,7 +88,7 @@ const Foam::dictionary& Foam::surfaceWriters::writerCaching::fieldsDict() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::dictionary& Foam::surfaceWriters::writerCaching::fieldDict
|
Foam::dictionary& Foam::ensightOutput::writerCaching::fieldDict
|
||||||
(
|
(
|
||||||
const word& fieldName
|
const word& fieldName
|
||||||
)
|
)
|
||||||
@ -100,7 +100,7 @@ Foam::dictionary& Foam::surfaceWriters::writerCaching::fieldDict
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Foam::surfaceWriters::writerCaching::remove(const word& fieldName)
|
bool Foam::ensightOutput::writerCaching::remove(const word& fieldName)
|
||||||
{
|
{
|
||||||
dictionary* dictptr = cache_.findDict("fields", keyType::LITERAL);
|
dictionary* dictptr = cache_.findDict("fields", keyType::LITERAL);
|
||||||
|
|
||||||
@ -113,7 +113,7 @@ bool Foam::surfaceWriters::writerCaching::remove(const word& fieldName)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Foam::surfaceWriters::writerCaching::clear()
|
void Foam::ensightOutput::writerCaching::clear()
|
||||||
{
|
{
|
||||||
times_.clear();
|
times_.clear();
|
||||||
geoms_.clear();
|
geoms_.clear();
|
||||||
@ -123,7 +123,7 @@ void Foam::surfaceWriters::writerCaching::clear()
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::label Foam::surfaceWriters::writerCaching::readPreviousTimes
|
Foam::label Foam::ensightOutput::writerCaching::readPreviousTimes
|
||||||
(
|
(
|
||||||
const fileName& dictFile,
|
const fileName& dictFile,
|
||||||
const scalar timeValue
|
const scalar timeValue
|
||||||
@ -184,9 +184,40 @@ Foam::label Foam::surfaceWriters::writerCaching::readPreviousTimes
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Foam::label Foam::ensightOutput::writerCaching::latestTimeIndex() const
|
||||||
|
{
|
||||||
|
return max(0, times_.size()-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
Foam::label Foam::ensightOutput::writerCaching::latestGeomIndex() const
|
||||||
|
{
|
||||||
|
return max(0, geoms_.find_last());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
int Foam::ensightOutput::writerCaching::geometryTimeset() const
|
||||||
|
{
|
||||||
|
if (geoms_.count() <= 1)
|
||||||
|
{
|
||||||
|
// Static
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (geoms_.size() == times_.size() && geoms_.all())
|
||||||
|
{
|
||||||
|
// Geometry changing is identical to fields changing
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Geometry changing differently from fields
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
bool Foam::surfaceWriters::writerCaching::update
|
bool Foam::ensightOutput::writerCaching::update
|
||||||
(
|
(
|
||||||
const fileName& baseDir,
|
const fileName& baseDir,
|
||||||
const scalar timeValue,
|
const scalar timeValue,
|
||||||
@ -262,7 +293,7 @@ bool Foam::surfaceWriters::writerCaching::update
|
|||||||
if (stateChanged)
|
if (stateChanged)
|
||||||
{
|
{
|
||||||
OFstream os(dictFile);
|
OFstream os(dictFile);
|
||||||
os << "// State file for surface writer output" << nl << nl;
|
os << "// State file for writer output" << nl << nl;
|
||||||
cache_.write(os, false);
|
cache_.write(os, false);
|
||||||
|
|
||||||
os << nl << "// End" << nl;
|
os << nl << "// End" << nl;
|
||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2016-2020 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -24,22 +24,22 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
Class
|
Class
|
||||||
Foam::surfaceWriters::writerCaching
|
Foam::ensightOutput::writerCaching
|
||||||
|
|
||||||
Description
|
Description
|
||||||
Information for surface writers with collated times.
|
State information for writers with collated times.
|
||||||
|
|
||||||
The class maintains an internal list of the known times
|
The class maintains an internal list of the known times
|
||||||
as well as a file-cached version with the field information.
|
as well as a file-cached version with the field information.
|
||||||
The information is used for restarts.
|
The information is used for restarts.
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
surfaceWriterCaching.C
|
ensightWriterCaching.C
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef surfaceWriters_writerCaching_H
|
#ifndef Foam_ensightOutput_writerCaching_H
|
||||||
#define surfaceWriters_writerCaching_H
|
#define Foam_ensightOutput_writerCaching_H
|
||||||
|
|
||||||
#include "bitSet.H"
|
#include "bitSet.H"
|
||||||
#include "dictionary.H"
|
#include "dictionary.H"
|
||||||
@ -50,7 +50,7 @@ SourceFiles
|
|||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
namespace surfaceWriters
|
namespace ensightOutput
|
||||||
{
|
{
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*\
|
/*---------------------------------------------------------------------------*\
|
||||||
@ -106,28 +106,30 @@ public:
|
|||||||
// Member Functions
|
// Member Functions
|
||||||
|
|
||||||
//- The output times for fields
|
//- The output times for fields
|
||||||
const scalarList& times() const
|
const scalarList& times() const noexcept
|
||||||
{
|
{
|
||||||
return times_;
|
return times_;
|
||||||
}
|
}
|
||||||
|
|
||||||
//- Indices in times() when geometry (mesh) has been written
|
//- Indices in times() when geometry (mesh) has been written
|
||||||
const bitSet& geometries() const
|
const bitSet& geometries() const noexcept
|
||||||
{
|
{
|
||||||
return geoms_;
|
return geoms_;
|
||||||
}
|
}
|
||||||
|
|
||||||
//- The most current time index
|
//- The most current time index
|
||||||
label latestTimeIndex() const
|
label latestTimeIndex() const;
|
||||||
{
|
|
||||||
return max(0, times_.size()-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
//- The most current geometry index
|
//- The most current geometry index
|
||||||
label latestGeomIndex() const
|
label latestGeomIndex() const;
|
||||||
{
|
|
||||||
return max(0, geoms_.find_last());
|
//- Expected timeset for the geometry.
|
||||||
}
|
// Can be any of the following:
|
||||||
|
//
|
||||||
|
// 0: constant/static
|
||||||
|
// 1: moving, with the same frequency as the data
|
||||||
|
// 2: moving, with different frequency as the data
|
||||||
|
int geometryTimeset() const;
|
||||||
|
|
||||||
//- Get or create the 'fields' information dictionary.
|
//- Get or create the 'fields' information dictionary.
|
||||||
const dictionary& fieldsDict() const;
|
const dictionary& fieldsDict() const;
|
||||||
@ -141,7 +143,7 @@ public:
|
|||||||
// geometry change or a new time interval
|
// geometry change or a new time interval
|
||||||
bool update
|
bool update
|
||||||
(
|
(
|
||||||
const fileName& baseDir, //!< Directory containing the cache file
|
const fileName& baseDir, //!< Directory containing cache file
|
||||||
const scalar timeValue, //!< The current time value
|
const scalar timeValue, //!< The current time value
|
||||||
const bool geomChanged, //!< Monitored geometry changed
|
const bool geomChanged, //!< Monitored geometry changed
|
||||||
const word& fieldName, //!< Name of field
|
const word& fieldName, //!< Name of field
|
||||||
@ -153,7 +155,7 @@ public:
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
} // End namespace surfaceWriters
|
} // End namespace ensightOutput
|
||||||
} // End namespace Foam
|
} // End namespace Foam
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2016-2021 OpenCFD Ltd.
|
Copyright (C) 2016-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -54,7 +54,7 @@ Foam::Istream& Foam::ensightReadFile::read
|
|||||||
|
|
||||||
Foam::Istream& Foam::ensightReadFile::read(string& value)
|
Foam::Istream& Foam::ensightReadFile::read(string& value)
|
||||||
{
|
{
|
||||||
if (format() == IOstream::BINARY)
|
if (format() == IOstreamOption::BINARY)
|
||||||
{
|
{
|
||||||
auto& iss = stdStream();
|
auto& iss = stdStream();
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ Foam::Istream& Foam::ensightReadFile::read(label& value)
|
|||||||
{
|
{
|
||||||
int ivalue;
|
int ivalue;
|
||||||
|
|
||||||
if (format() == IOstream::BINARY)
|
if (format() == IOstreamOption::BINARY)
|
||||||
{
|
{
|
||||||
read
|
read
|
||||||
(
|
(
|
||||||
@ -123,7 +123,7 @@ Foam::Istream& Foam::ensightReadFile::read(scalar& value)
|
|||||||
{
|
{
|
||||||
float fvalue;
|
float fvalue;
|
||||||
|
|
||||||
if (format() == IOstream::BINARY)
|
if (format() == IOstreamOption::BINARY)
|
||||||
{
|
{
|
||||||
read
|
read
|
||||||
(
|
(
|
||||||
@ -151,7 +151,7 @@ Foam::Istream& Foam::ensightReadFile::readKeyword(string& key)
|
|||||||
|
|
||||||
Foam::Istream& Foam::ensightReadFile::readBinaryHeader()
|
Foam::Istream& Foam::ensightReadFile::readBinaryHeader()
|
||||||
{
|
{
|
||||||
if (format() == IOstream::BINARY)
|
if (format() == IOstreamOption::BINARY)
|
||||||
{
|
{
|
||||||
string buffer;
|
string buffer;
|
||||||
read(buffer);
|
read(buffer);
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2017-2020 OpenCFD Ltd.
|
Copyright (C) 2017-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -55,6 +55,21 @@ Foam::fileFormats::NASCore::loadFormatNames
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
|
||||||
|
template<class Type>
|
||||||
|
static inline void putValue(Ostream& os, const Type& value, const int width)
|
||||||
|
{
|
||||||
|
if (width) os << setw(width);
|
||||||
|
os << value;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::scalar Foam::fileFormats::NASCore::readNasScalar(const std::string& str)
|
Foam::scalar Foam::fileFormats::NASCore::readNasScalar(const std::string& str)
|
||||||
@ -133,10 +148,10 @@ void Foam::fileFormats::NASCore::setPrecision
|
|||||||
const fieldFormat format
|
const fieldFormat format
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
os.setf(ios_base::scientific);
|
os.setf(std::ios_base::scientific);
|
||||||
|
|
||||||
// Capitalise the E marker
|
// Capitalise the E marker
|
||||||
os.setf(ios_base::uppercase);
|
os.setf(std::ios_base::uppercase);
|
||||||
|
|
||||||
const label offset = 7;
|
const label offset = 7;
|
||||||
|
|
||||||
@ -168,7 +183,7 @@ Foam::Ostream& Foam::fileFormats::NASCore::writeKeyword
|
|||||||
const fieldFormat format
|
const fieldFormat format
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
os.setf(ios_base::left);
|
os.setf(std::ios_base::left);
|
||||||
|
|
||||||
switch (format)
|
switch (format)
|
||||||
{
|
{
|
||||||
@ -177,13 +192,11 @@ Foam::Ostream& Foam::fileFormats::NASCore::writeKeyword
|
|||||||
os << setw(8) << keyword;
|
os << setw(8) << keyword;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case fieldFormat::LONG :
|
case fieldFormat::LONG :
|
||||||
{
|
{
|
||||||
os << setw(8) << word(keyword + '*');
|
os << setw(8) << word(keyword + '*');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case fieldFormat::FREE :
|
case fieldFormat::FREE :
|
||||||
{
|
{
|
||||||
os << keyword;
|
os << keyword;
|
||||||
@ -191,12 +204,78 @@ Foam::Ostream& Foam::fileFormats::NASCore::writeKeyword
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
os.unsetf(ios_base::left);
|
os.unsetf(std::ios_base::left);
|
||||||
|
|
||||||
return os;
|
return os;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::fileFormats::NASCore::writeCoord
|
||||||
|
(
|
||||||
|
Ostream& os,
|
||||||
|
const point& p,
|
||||||
|
const label pointId, // zero-based
|
||||||
|
const fieldFormat format
|
||||||
|
)
|
||||||
|
{
|
||||||
|
// Field width (SHORT, LONG formats)
|
||||||
|
const int width =
|
||||||
|
(
|
||||||
|
format == fieldFormat::SHORT ? 8
|
||||||
|
: format == fieldFormat::LONG ? 16
|
||||||
|
: 0
|
||||||
|
);
|
||||||
|
|
||||||
|
// Separator char (FREE format)
|
||||||
|
const char sep = (format == fieldFormat::FREE ? ',' : '\0');
|
||||||
|
|
||||||
|
|
||||||
|
// Fixed short/long formats:
|
||||||
|
// 1 GRID
|
||||||
|
// 2 ID : point ID - requires starting index of 1
|
||||||
|
// 3 CP : coordinate system ID (blank)
|
||||||
|
// 4 X1 : point x coordinate
|
||||||
|
// 5 X2 : point x coordinate
|
||||||
|
// 6 X3 : point x coordinate
|
||||||
|
// 7 CD : coordinate system for displacements (blank)
|
||||||
|
// 8 PS : single point constraints (blank)
|
||||||
|
// 9 SEID : super-element ID
|
||||||
|
|
||||||
|
writeKeyword(os, "GRID", format);
|
||||||
|
if (sep) os << sep;
|
||||||
|
|
||||||
|
os.setf(std::ios_base::right);
|
||||||
|
|
||||||
|
// Point ID (from 0-based to 1-based)
|
||||||
|
putValue(os, (pointId+1), width);
|
||||||
|
if (sep) os << sep;
|
||||||
|
|
||||||
|
// Coordinate system ID (blank)
|
||||||
|
putValue(os, "", width);
|
||||||
|
if (sep) os << sep;
|
||||||
|
|
||||||
|
putValue(os, p.x(), width);
|
||||||
|
if (sep) os << sep;
|
||||||
|
|
||||||
|
putValue(os, p.y(), width);
|
||||||
|
if (sep) os << sep;
|
||||||
|
|
||||||
|
if (format == fieldFormat::LONG)
|
||||||
|
{
|
||||||
|
// Continuation
|
||||||
|
os.unsetf(std::ios_base::right);
|
||||||
|
os << nl;
|
||||||
|
writeKeyword(os, "", format);
|
||||||
|
os.setf(std::ios_base::right);
|
||||||
|
}
|
||||||
|
|
||||||
|
putValue(os, p.z(), width);
|
||||||
|
os << nl;
|
||||||
|
|
||||||
|
os.unsetf(std::ios_base::right);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::label Foam::fileFormats::NASCore::faceDecomposition
|
Foam::label Foam::fileFormats::NASCore::faceDecomposition
|
||||||
(
|
(
|
||||||
const UList<point>& points,
|
const UList<point>& points,
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2017-2020 OpenCFD Ltd.
|
Copyright (C) 2017-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -34,8 +34,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef NASCore_H
|
#ifndef Foam_fileFormats_NASCore_H
|
||||||
#define NASCore_H
|
#define Foam_fileFormats_NASCore_H
|
||||||
|
|
||||||
#include "scalar.H"
|
#include "scalar.H"
|
||||||
#include "string.H"
|
#include "string.H"
|
||||||
@ -121,6 +121,15 @@ public:
|
|||||||
const fieldFormat format
|
const fieldFormat format
|
||||||
);
|
);
|
||||||
|
|
||||||
|
//- Write a GRID point
|
||||||
|
static void writeCoord
|
||||||
|
(
|
||||||
|
Ostream& os,
|
||||||
|
const point& p,
|
||||||
|
const label pointId, //!< 0-based Point Id
|
||||||
|
const fieldFormat format
|
||||||
|
);
|
||||||
|
|
||||||
//- Calculate face decomposition for non tri/quad faces
|
//- Calculate face decomposition for non tri/quad faces
|
||||||
//
|
//
|
||||||
// \param points the surface points
|
// \param points the surface points
|
||||||
|
|||||||
@ -381,8 +381,8 @@ bool Foam::functionObjects::vtkCloud::read(const dictionary& dict)
|
|||||||
|
|
||||||
writeOpts_.ascii
|
writeOpts_.ascii
|
||||||
(
|
(
|
||||||
IOstream::ASCII
|
IOstreamOption::ASCII
|
||||||
== IOstream::formatEnum("format", dict, IOstream::BINARY)
|
== IOstreamOption::formatEnum("format", dict, IOstreamOption::BINARY)
|
||||||
);
|
);
|
||||||
|
|
||||||
writeOpts_.append(false); // No append supported
|
writeOpts_.append(false); // No append supported
|
||||||
|
|||||||
@ -183,8 +183,8 @@ bool Foam::functionObjects::vtkWrite::read(const dictionary& dict)
|
|||||||
|
|
||||||
writeOpts_.ascii
|
writeOpts_.ascii
|
||||||
(
|
(
|
||||||
IOstream::ASCII
|
IOstreamOption::ASCII
|
||||||
== IOstream::formatEnum("format", dict, IOstream::BINARY)
|
== IOstreamOption::formatEnum("format", dict, IOstreamOption::BINARY)
|
||||||
);
|
);
|
||||||
|
|
||||||
writeOpts_.legacy(dict.getOrDefault("legacy", false));
|
writeOpts_.legacy(dict.getOrDefault("legacy", false));
|
||||||
|
|||||||
@ -29,6 +29,7 @@ License
|
|||||||
#include "ensightSetWriter.H"
|
#include "ensightSetWriter.H"
|
||||||
#include "coordSet.H"
|
#include "coordSet.H"
|
||||||
#include "IOmanip.H"
|
#include "IOmanip.H"
|
||||||
|
#include "ensightCase.H"
|
||||||
#include "ensightGeoFile.H"
|
#include "ensightGeoFile.H"
|
||||||
#include "ensightPTraits.H"
|
#include "ensightPTraits.H"
|
||||||
#include "addToRunTimeSelectionTable.H"
|
#include "addToRunTimeSelectionTable.H"
|
||||||
|
|||||||
@ -76,24 +76,10 @@ void Foam::nastranSetWriter<Type>::write
|
|||||||
|
|
||||||
forAll(points, pointi)
|
forAll(points, pointi)
|
||||||
{
|
{
|
||||||
fileFormats::NASCore::writeKeyword(os, "GRID", fieldFormat::FREE);
|
fileFormats::NASCore::writeCoord
|
||||||
|
(
|
||||||
const point& pt = points[pointi];
|
os, points[pointi], pointi, fieldFormat::FREE
|
||||||
|
);
|
||||||
//os.setf(std::ios_base::right);
|
|
||||||
//os << setw(8) << pointi+1
|
|
||||||
// << setw(8) << ' '
|
|
||||||
// << setw(8) << float(pt.x())
|
|
||||||
// << setw(8) << float(pt.y())
|
|
||||||
// << setw(8) << float(pt.z())
|
|
||||||
// << nl;
|
|
||||||
//os.unsetf(std::ios_base::right);
|
|
||||||
os << ',' << pointi+1
|
|
||||||
<< ','
|
|
||||||
<< ',' << float(pt.x())
|
|
||||||
<< ',' << float(pt.y())
|
|
||||||
<< ',' << float(pt.z())
|
|
||||||
<< nl;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false)
|
if (false)
|
||||||
@ -109,12 +95,15 @@ void Foam::nastranSetWriter<Type>::write
|
|||||||
fieldFormat::FREE
|
fieldFormat::FREE
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// fieldFormat::SHORT
|
||||||
//os.setf(std::ios_base::right);
|
//os.setf(std::ios_base::right);
|
||||||
//os << setw(8) << edgei+1
|
//os << setw(8) << edgei+1
|
||||||
// << setw(8) << edgei+1
|
// << setw(8) << edgei+1
|
||||||
// << setw(8) << edgei+2
|
// << setw(8) << edgei+2
|
||||||
// << nl;
|
// << nl;
|
||||||
//os.unsetf(std::ios_base::right);
|
//os.unsetf(std::ios_base::right);
|
||||||
|
|
||||||
|
// fieldFormat::FREE
|
||||||
os << ',' << edgei+1
|
os << ',' << edgei+1
|
||||||
<< ',' << edgei+1
|
<< ',' << edgei+1
|
||||||
<< ',' << edgei+2
|
<< ',' << edgei+2
|
||||||
@ -162,27 +151,16 @@ void Foam::nastranSetWriter<Type>::write
|
|||||||
// nPoints += tracks[i].size();
|
// nPoints += tracks[i].size();
|
||||||
// }
|
// }
|
||||||
|
|
||||||
label globalPti = 0;
|
label globalPointi = 0;
|
||||||
for (const coordSet& points : tracks)
|
for (const coordSet& points : tracks)
|
||||||
{
|
{
|
||||||
for (const point& pt : points)
|
for (const point& p : points)
|
||||||
{
|
{
|
||||||
fileFormats::NASCore::writeKeyword(os, "GRID", fieldFormat::FREE);
|
fileFormats::NASCore::writeCoord
|
||||||
|
(
|
||||||
//os.setf(std::ios_base::right);
|
os, p, globalPointi, fieldFormat::FREE
|
||||||
//os << setw(8) << globalPti++
|
);
|
||||||
// << setw(8) << ' '
|
++globalPointi;
|
||||||
// << setw(8) << float(pt.x())
|
|
||||||
// << setw(8) << float(pt.y())
|
|
||||||
// << setw(8) << float(pt.z())
|
|
||||||
// << nl;
|
|
||||||
//os.unsetf(std::ios_base::right);
|
|
||||||
os << ',' << globalPti++
|
|
||||||
<< ','
|
|
||||||
<< ',' << float(pt.x())
|
|
||||||
<< ',' << float(pt.y())
|
|
||||||
<< ',' << float(pt.z())
|
|
||||||
<< nl;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -203,6 +181,7 @@ void Foam::nastranSetWriter<Type>::write
|
|||||||
fieldFormat::FREE
|
fieldFormat::FREE
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// fieldFormat::SHORT
|
||||||
//os.setf(std::ios_base::right);
|
//os.setf(std::ios_base::right);
|
||||||
//os << setw(8) << globalEdgei+1
|
//os << setw(8) << globalEdgei+1
|
||||||
// << setw(8) << globalPointi+1
|
// << setw(8) << globalPointi+1
|
||||||
@ -210,12 +189,14 @@ void Foam::nastranSetWriter<Type>::write
|
|||||||
// << nl;
|
// << nl;
|
||||||
//os.unsetf(std::ios_base::right);
|
//os.unsetf(std::ios_base::right);
|
||||||
|
|
||||||
|
// fieldFormat::FREE
|
||||||
os << ',' << globalEdgei+1
|
os << ',' << globalEdgei+1
|
||||||
<< ',' << globalPointi+1
|
<< ',' << globalPointi+1
|
||||||
<< ',' << globalPointi+2
|
<< ',' << globalPointi+2
|
||||||
<< nl;
|
<< nl;
|
||||||
globalEdgei++;
|
|
||||||
globalPointi++;
|
++globalEdgei;
|
||||||
|
++globalPointi;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -59,10 +59,9 @@ triSurface/patches/surfacePatch.C
|
|||||||
|
|
||||||
writers = writers
|
writers = writers
|
||||||
|
|
||||||
$(writers)/surfaceWriter.C
|
$(writers)/common/surfaceWriter.C
|
||||||
$(writers)/caching/surfaceWriterCaching.C
|
|
||||||
$(writers)/abaqus/abaqusSurfaceWriter.C
|
$(writers)/abaqus/abaqusSurfaceWriter.C
|
||||||
$(writers)/boundaryData/boundaryDataSurfaceWriter.C
|
$(writers)/boundary/boundaryDataSurfaceWriter.C
|
||||||
$(writers)/ensight/ensightSurfaceWriter.C
|
$(writers)/ensight/ensightSurfaceWriter.C
|
||||||
$(writers)/foam/foamSurfaceWriter.C
|
$(writers)/foam/foamSurfaceWriter.C
|
||||||
$(writers)/nastran/nastranSurfaceWriter.C
|
$(writers)/nastran/nastranSurfaceWriter.C
|
||||||
|
|||||||
@ -42,8 +42,8 @@ Foam::fileFormats::VTKsurfaceFormatCore::formatOptions
|
|||||||
|
|
||||||
opts.ascii
|
opts.ascii
|
||||||
(
|
(
|
||||||
IOstream::ASCII
|
IOstreamOption::ASCII
|
||||||
== IOstream::formatEnum("format", dict, IOstream::ASCII)
|
== IOstreamOption::formatEnum("format", dict, IOstreamOption::ASCII)
|
||||||
);
|
);
|
||||||
|
|
||||||
opts.precision
|
opts.precision
|
||||||
|
|||||||
@ -42,8 +42,8 @@ Foam::fileFormats::VTPsurfaceFormatCore::formatOptions
|
|||||||
|
|
||||||
opts.ascii
|
opts.ascii
|
||||||
(
|
(
|
||||||
IOstream::ASCII
|
IOstreamOption::ASCII
|
||||||
== IOstream::formatEnum("format", dict, IOstream::BINARY)
|
== IOstreamOption::formatEnum("format", dict, IOstreamOption::BINARY)
|
||||||
);
|
);
|
||||||
|
|
||||||
opts.precision
|
opts.precision
|
||||||
|
|||||||
@ -84,8 +84,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef abaqusSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_abaqusWriter_H
|
||||||
#define abaqusSurfaceWriter_H
|
#define Foam_surfaceWriters_abaqusWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
#include "ABAQUSCore.H"
|
#include "ABAQUSCore.H"
|
||||||
|
|||||||
@ -25,8 +25,8 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "OFstream.H"
|
|
||||||
#include "IOmanip.H"
|
#include "IOmanip.H"
|
||||||
|
#include "OFstream.H"
|
||||||
#include "OSspecific.H"
|
#include "OSspecific.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|||||||
@ -70,8 +70,8 @@ Foam::surfaceWriters::boundaryDataWriter::boundaryDataWriter
|
|||||||
header_(options.getOrDefault("header", true)),
|
header_(options.getOrDefault("header", true)),
|
||||||
streamOpt_
|
streamOpt_
|
||||||
(
|
(
|
||||||
IOstream::formatEnum("format", options, IOstream::ASCII),
|
IOstreamOption::formatEnum("format", options, IOstreamOption::ASCII),
|
||||||
IOstream::compressionEnum("compression", options)
|
IOstreamOption::compressionEnum("compression", options)
|
||||||
),
|
),
|
||||||
fieldScale_(options.subOrEmptyDict("fieldScale"))
|
fieldScale_(options.subOrEmptyDict("fieldScale"))
|
||||||
{}
|
{}
|
||||||
@ -303,6 +303,8 @@ Foam::fileName Foam::surfaceWriters::boundaryDataWriter::writeTemplate
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
// Field writing methods
|
// Field writing methods
|
||||||
defineSurfaceWriterWriteFields(Foam::surfaceWriters::boundaryDataWriter);
|
defineSurfaceWriterWriteFields(Foam::surfaceWriters::boundaryDataWriter);
|
||||||
|
|
||||||
@ -125,8 +125,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef boundaryDataSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_boundaryDataWriter_H
|
||||||
#define boundaryDataSurfaceWriter_H
|
#define Foam_surfaceWriters_boundaryDataWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
|
|
||||||
@ -166,33 +166,6 @@ Foam::surfaceWriter::surfaceWriter(const dictionary& options)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::surfaceWriter::surfaceWriter
|
|
||||||
(
|
|
||||||
const meshedSurf& surf,
|
|
||||||
bool parallel,
|
|
||||||
const dictionary& options
|
|
||||||
)
|
|
||||||
:
|
|
||||||
surfaceWriter(options)
|
|
||||||
{
|
|
||||||
setSurface(surf, parallel);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Foam::surfaceWriter::surfaceWriter
|
|
||||||
(
|
|
||||||
const pointField& points,
|
|
||||||
const faceList& faces,
|
|
||||||
bool parallel,
|
|
||||||
const dictionary& options
|
|
||||||
)
|
|
||||||
:
|
|
||||||
surfaceWriter(options)
|
|
||||||
{
|
|
||||||
setSurface(points, faces, parallel);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::surfaceWriter::~surfaceWriter()
|
Foam::surfaceWriter::~surfaceWriter()
|
||||||
@ -430,16 +403,14 @@ Foam::label Foam::surfaceWriter::size() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Foam::surfaceWriter::checkOpen() const
|
void Foam::surfaceWriter::checkOpen() const
|
||||||
{
|
{
|
||||||
if (outputPath_.empty())
|
if (!is_open())
|
||||||
{
|
{
|
||||||
FatalErrorInFunction
|
FatalErrorInFunction
|
||||||
<< type() << " : Attempted to write without a path" << nl
|
<< type() << " : Attempted to write without a path" << nl
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
return !outputPath_.empty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011-2012 OpenFOAM Foundation
|
Copyright (C) 2011-2012 OpenFOAM Foundation
|
||||||
Copyright (C) 2015-2021 OpenCFD Ltd.
|
Copyright (C) 2015-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -68,8 +68,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef surfaceWriter_H
|
#ifndef Foam_surfaceWriter_H
|
||||||
#define surfaceWriter_H
|
#define Foam_surfaceWriter_H
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include "typeInfo.H"
|
#include "typeInfo.H"
|
||||||
@ -160,7 +160,7 @@ protected:
|
|||||||
// Protected Member Functions
|
// Protected Member Functions
|
||||||
|
|
||||||
//- Verify that the outputPath_ has been set or FatalError
|
//- Verify that the outputPath_ has been set or FatalError
|
||||||
bool checkOpen() const;
|
void checkOpen() const;
|
||||||
|
|
||||||
//- Merge surfaces if they are not already upToDate (parallel)
|
//- Merge surfaces if they are not already upToDate (parallel)
|
||||||
//- or simply mark the surface as being up-to-date
|
//- or simply mark the surface as being up-to-date
|
||||||
@ -263,23 +263,6 @@ public:
|
|||||||
//- Default construct with specified options
|
//- Default construct with specified options
|
||||||
explicit surfaceWriter(const dictionary& options);
|
explicit surfaceWriter(const dictionary& options);
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
explicit surfaceWriter
|
|
||||||
(
|
|
||||||
const meshedSurf& surf,
|
|
||||||
bool parallel = Pstream::parRun(),
|
|
||||||
const dictionary& options = dictionary()
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Construct from components
|
|
||||||
surfaceWriter
|
|
||||||
(
|
|
||||||
const pointField& points,
|
|
||||||
const faceList& faces,
|
|
||||||
bool parallel = Pstream::parRun(),
|
|
||||||
const dictionary& options = dictionary()
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Destructor. Calls close()
|
//- Destructor. Calls close()
|
||||||
virtual ~surfaceWriter();
|
virtual ~surfaceWriter();
|
||||||
@ -368,6 +351,9 @@ public:
|
|||||||
|
|
||||||
// Queries, Access
|
// Queries, Access
|
||||||
|
|
||||||
|
//- Test if outputPath has been set
|
||||||
|
inline bool is_open() const noexcept;
|
||||||
|
|
||||||
//- Writer is associated with a surface
|
//- Writer is associated with a surface
|
||||||
bool hasSurface() const;
|
bool hasSurface() const;
|
||||||
|
|
||||||
@ -379,40 +365,40 @@ public:
|
|||||||
|
|
||||||
//- The number of expected output fields.
|
//- The number of expected output fields.
|
||||||
// Currently only used by the legacy VTK format.
|
// Currently only used by the legacy VTK format.
|
||||||
inline label nFields() const;
|
inline label nFields() const noexcept;
|
||||||
|
|
||||||
//- Set the number of expected output fields
|
//- Set the number of expected output fields
|
||||||
// Currently only used by the legacy VTK format.
|
// Currently only used by the legacy VTK format.
|
||||||
// \return old value
|
// \return old value
|
||||||
inline label nFields(const label n);
|
inline label nFields(const label n) noexcept;
|
||||||
|
|
||||||
//- Are the field data to be treated as point data?
|
//- Are the field data to be treated as point data?
|
||||||
inline bool isPointData() const;
|
inline bool isPointData() const noexcept;
|
||||||
|
|
||||||
//- Set handling of field data to face/point data
|
//- Set handling of field data to face/point data
|
||||||
// \return old value
|
// \return old value
|
||||||
inline bool isPointData(const bool on);
|
inline bool isPointData(const bool on) noexcept;
|
||||||
|
|
||||||
//- Should a time directory be spliced into the output path?
|
//- Should a time directory be spliced into the output path?
|
||||||
inline bool useTimeDir() const;
|
inline bool useTimeDir() const noexcept;
|
||||||
|
|
||||||
//- Enable/disable use of spliced output path
|
//- Enable/disable use of spliced output path
|
||||||
// \return old value
|
// \return old value
|
||||||
inline bool useTimeDir(const bool on);
|
inline bool useTimeDir(const bool on) noexcept;
|
||||||
|
|
||||||
//- Get output verbosity
|
//- Get output verbosity
|
||||||
inline bool verbose() const;
|
inline bool verbose() const noexcept;
|
||||||
|
|
||||||
//- Enable/disable verbose output
|
//- Enable/disable verbose output
|
||||||
// \return old value
|
// \return old value
|
||||||
inline bool verbose(const bool on);
|
inline bool verbose(const bool on) noexcept;
|
||||||
|
|
||||||
//- The current value of the point merge dimension (metre)
|
//- The current value of the point merge dimension (metre)
|
||||||
inline scalar mergeDim() const;
|
inline scalar mergeDim() const noexcept;
|
||||||
|
|
||||||
//- Change the point merge dimension (metre)
|
//- Change the point merge dimension (metre)
|
||||||
// \return old value
|
// \return old value
|
||||||
inline scalar mergeDim(const scalar dist);
|
inline scalar mergeDim(const scalar dist) noexcept;
|
||||||
|
|
||||||
|
|
||||||
// Time
|
// Time
|
||||||
45
src/surfMesh/writers/common/surfaceWriterCaching.H
Normal file
45
src/surfMesh/writers/common/surfaceWriterCaching.H
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | www.openfoam.com
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Copyright (C) 2022 OpenCFD Ltd.
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
|
||||||
|
|
||||||
|
Typedef
|
||||||
|
Foam::surfaceWriters::writerCaching
|
||||||
|
|
||||||
|
Description
|
||||||
|
Compatibility name. Replaced (JAN-2022) by
|
||||||
|
Foam::ensightOutput::writerCaching
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#ifndef Foam_surfaceWriters_writerCaching_H
|
||||||
|
#define Foam_surfaceWriters_writerCaching_H
|
||||||
|
|
||||||
|
#include "ensightWriterCaching.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
namespace Foam
|
||||||
|
{
|
||||||
|
namespace surfaceWriters
|
||||||
|
{
|
||||||
|
|
||||||
|
typedef Foam::ensightOutput::writerCaching writerCaching;
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
} // End namespace surfaceWriters
|
||||||
|
} // End namespace Foam
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -5,7 +5,7 @@
|
|||||||
\\ / A nd | www.openfoam.com
|
\\ / A nd | www.openfoam.com
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2019-2021 OpenCFD Ltd.
|
Copyright (C) 2019-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -27,13 +27,19 @@ License
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
inline Foam::label Foam::surfaceWriter::nFields() const
|
inline bool Foam::surfaceWriter::is_open() const noexcept
|
||||||
|
{
|
||||||
|
return !outputPath_.empty();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline Foam::label Foam::surfaceWriter::nFields() const noexcept
|
||||||
{
|
{
|
||||||
return nFields_;
|
return nFields_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline Foam::label Foam::surfaceWriter::nFields(const label n)
|
inline Foam::label Foam::surfaceWriter::nFields(const label n) noexcept
|
||||||
{
|
{
|
||||||
label old(nFields_);
|
label old(nFields_);
|
||||||
nFields_ = n;
|
nFields_ = n;
|
||||||
@ -41,13 +47,13 @@ inline Foam::label Foam::surfaceWriter::nFields(const label n)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline bool Foam::surfaceWriter::isPointData() const
|
inline bool Foam::surfaceWriter::isPointData() const noexcept
|
||||||
{
|
{
|
||||||
return isPointData_;
|
return isPointData_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline bool Foam::surfaceWriter::isPointData(const bool on)
|
inline bool Foam::surfaceWriter::isPointData(const bool on) noexcept
|
||||||
{
|
{
|
||||||
bool old(isPointData_);
|
bool old(isPointData_);
|
||||||
isPointData_ = on;
|
isPointData_ = on;
|
||||||
@ -55,13 +61,13 @@ inline bool Foam::surfaceWriter::isPointData(const bool on)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline bool Foam::surfaceWriter::useTimeDir() const
|
inline bool Foam::surfaceWriter::useTimeDir() const noexcept
|
||||||
{
|
{
|
||||||
return useTimeDir_;
|
return useTimeDir_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline bool Foam::surfaceWriter::useTimeDir(const bool on)
|
inline bool Foam::surfaceWriter::useTimeDir(const bool on) noexcept
|
||||||
{
|
{
|
||||||
bool old(useTimeDir_);
|
bool old(useTimeDir_);
|
||||||
useTimeDir_ = on;
|
useTimeDir_ = on;
|
||||||
@ -69,13 +75,13 @@ inline bool Foam::surfaceWriter::useTimeDir(const bool on)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline bool Foam::surfaceWriter::verbose() const
|
inline bool Foam::surfaceWriter::verbose() const noexcept
|
||||||
{
|
{
|
||||||
return verbose_;
|
return verbose_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline bool Foam::surfaceWriter::verbose(const bool on)
|
inline bool Foam::surfaceWriter::verbose(const bool on) noexcept
|
||||||
{
|
{
|
||||||
bool old(verbose_);
|
bool old(verbose_);
|
||||||
verbose_ = on;
|
verbose_ = on;
|
||||||
@ -83,13 +89,13 @@ inline bool Foam::surfaceWriter::verbose(const bool on)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline Foam::scalar Foam::surfaceWriter::mergeDim() const
|
inline Foam::scalar Foam::surfaceWriter::mergeDim() const noexcept
|
||||||
{
|
{
|
||||||
return mergeDim_;
|
return mergeDim_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline Foam::scalar Foam::surfaceWriter::mergeDim(const scalar dist)
|
inline Foam::scalar Foam::surfaceWriter::mergeDim(const scalar dist) noexcept
|
||||||
{
|
{
|
||||||
scalar old(mergeDim_);
|
scalar old(mergeDim_);
|
||||||
mergeDim_ = dist;
|
mergeDim_ = dist;
|
||||||
@ -31,8 +31,8 @@ Description
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef surfaceWriterMethods_H
|
#ifndef Foam_surfaceWriterMethods_H
|
||||||
#define surfaceWriterMethods_H
|
#define Foam_surfaceWriterMethods_H
|
||||||
|
|
||||||
namespace Foam
|
namespace Foam
|
||||||
{
|
{
|
||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011-2014 OpenFOAM Foundation
|
Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
Copyright (C) 2015-2020 OpenCFD Ltd.
|
Copyright (C) 2015-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -50,132 +50,12 @@ namespace surfaceWriters
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
void Foam::surfaceWriters::ensightWriter::printTimeset
|
|
||||||
(
|
|
||||||
OSstream& os,
|
|
||||||
const label ts,
|
|
||||||
const scalar timeValue
|
|
||||||
)
|
|
||||||
{
|
|
||||||
os
|
|
||||||
<< "time set: " << ts << nl
|
|
||||||
<< "number of steps: " << 1 << nl;
|
|
||||||
|
|
||||||
// Single value - starts at index 0
|
|
||||||
os << "filename start number: 0" << nl
|
|
||||||
<< "filename increment: 1" << nl
|
|
||||||
<< "time values:" << nl;
|
|
||||||
|
|
||||||
os << " " << timeValue
|
|
||||||
<< nl << nl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Foam::surfaceWriters::ensightWriter::printTimeset
|
|
||||||
(
|
|
||||||
OSstream& os,
|
|
||||||
const label ts,
|
|
||||||
const UList<scalar>& values
|
|
||||||
)
|
|
||||||
{
|
|
||||||
label pos_;
|
|
||||||
|
|
||||||
os
|
|
||||||
<< "time set: " << ts << nl
|
|
||||||
<< "number of steps: " << values.size() << nl;
|
|
||||||
|
|
||||||
// Assume contiguous numbering - starts at index 0
|
|
||||||
os << "filename start number: 0" << nl
|
|
||||||
<< "filename increment: 1" << nl;
|
|
||||||
|
|
||||||
|
|
||||||
os << "time values:" << nl;
|
|
||||||
pos_ = 0;
|
|
||||||
for (const scalar& val : values)
|
|
||||||
{
|
|
||||||
if (pos_ == 6)
|
|
||||||
{
|
|
||||||
os << nl;
|
|
||||||
pos_ = 0;
|
|
||||||
}
|
|
||||||
++pos_;
|
|
||||||
|
|
||||||
os << ' ' << setf(ios_base::right) << setw(12) << val;
|
|
||||||
}
|
|
||||||
os << nl << nl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void Foam::surfaceWriters::ensightWriter::printTimeset
|
|
||||||
(
|
|
||||||
OSstream& os,
|
|
||||||
const label ts,
|
|
||||||
const UList<scalar>& values,
|
|
||||||
const bitSet& indices
|
|
||||||
)
|
|
||||||
{
|
|
||||||
label pos_;
|
|
||||||
|
|
||||||
// Check if continuous numbering can be used
|
|
||||||
if
|
|
||||||
(
|
|
||||||
values.empty()
|
|
||||||
|| (indices.size() == values.size() && indices.all())
|
|
||||||
)
|
|
||||||
{
|
|
||||||
// Can simply emit as 0-based with increment
|
|
||||||
printTimeset(os, ts, values);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Generate time set
|
|
||||||
os
|
|
||||||
<< "time set: " << ts << nl
|
|
||||||
<< "number of steps: " << indices.count() << nl;
|
|
||||||
|
|
||||||
|
|
||||||
os << "filename numbers:" << nl;
|
|
||||||
pos_ = 0;
|
|
||||||
for (const label& idx : indices)
|
|
||||||
{
|
|
||||||
if (pos_ == 6)
|
|
||||||
{
|
|
||||||
os << nl;
|
|
||||||
pos_ = 0;
|
|
||||||
}
|
|
||||||
++pos_;
|
|
||||||
|
|
||||||
os << ' ' << setf(ios_base::right) << setw(8) << idx;
|
|
||||||
}
|
|
||||||
os << nl;
|
|
||||||
|
|
||||||
|
|
||||||
os << "time values:" << nl;
|
|
||||||
pos_ = 0;
|
|
||||||
for (const label& idx : indices)
|
|
||||||
{
|
|
||||||
if (pos_ == 6)
|
|
||||||
{
|
|
||||||
os << nl;
|
|
||||||
pos_ = 0;
|
|
||||||
}
|
|
||||||
++pos_;
|
|
||||||
|
|
||||||
os << ' ' << setf(ios_base::right) << setw(12) << values[idx];
|
|
||||||
}
|
|
||||||
os << nl << nl;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::surfaceWriters::ensightWriter::ensightWriter()
|
Foam::surfaceWriters::ensightWriter::ensightWriter()
|
||||||
:
|
:
|
||||||
surfaceWriter(),
|
surfaceWriter(),
|
||||||
writeFormat_(IOstream::ASCII),
|
writeFormat_(IOstreamOption::ASCII),
|
||||||
collateTimes_(true),
|
collateTimes_(true),
|
||||||
caching_("fieldsDict") // Historic name
|
caching_("fieldsDict") // Historic name
|
||||||
{}
|
{}
|
||||||
@ -189,7 +69,7 @@ Foam::surfaceWriters::ensightWriter::ensightWriter
|
|||||||
surfaceWriter(options),
|
surfaceWriter(options),
|
||||||
writeFormat_
|
writeFormat_
|
||||||
(
|
(
|
||||||
IOstreamOption::formatEnum("format", options, IOstream::ASCII)
|
IOstreamOption::formatEnum("format", options, IOstreamOption::ASCII)
|
||||||
),
|
),
|
||||||
collateTimes_(options.getOrDefault("collateTimes", true)),
|
collateTimes_(options.getOrDefault("collateTimes", true)),
|
||||||
caching_("fieldsDict") // Historic name
|
caching_("fieldsDict") // Historic name
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011 OpenFOAM Foundation
|
Copyright (C) 2011 OpenFOAM Foundation
|
||||||
Copyright (C) 2015-2020 OpenCFD Ltd.
|
Copyright (C) 2015-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -57,11 +57,11 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef ensightSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_ensightWriter_H
|
||||||
#define ensightSurfaceWriter_H
|
#define Foam_surfaceWriters_ensightWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
#include "surfaceWriterCaching.H"
|
#include "ensightWriterCaching.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -80,71 +80,18 @@ class ensightWriter
|
|||||||
{
|
{
|
||||||
// Private Data
|
// Private Data
|
||||||
|
|
||||||
//- Output format option (default: IOstream::ASCII)
|
//- Output format option (default: ASCII)
|
||||||
IOstream::streamFormat writeFormat_;
|
IOstreamOption::streamFormat writeFormat_;
|
||||||
|
|
||||||
//- Collate times (default: true)
|
//- Collate times (default: true)
|
||||||
bool collateTimes_;
|
bool collateTimes_;
|
||||||
|
|
||||||
//- Cached information for times, geometry, fields (collated)
|
//- Cached information for times, geometry, fields (collated)
|
||||||
writerCaching caching_;
|
ensightOutput::writerCaching caching_;
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
|
|
||||||
//- The geometry can be any of the following:
|
|
||||||
//
|
|
||||||
// 0: constant/static
|
|
||||||
// 1: moving, with the same frequency as the data
|
|
||||||
// 2: moving, with different frequency as the data
|
|
||||||
int geometryTimeset() const;
|
|
||||||
|
|
||||||
//- Print time-set for ensight case file with a single time
|
|
||||||
static void printTimeset
|
|
||||||
(
|
|
||||||
OSstream& os,
|
|
||||||
const label ts,
|
|
||||||
const scalar timeValue
|
|
||||||
);
|
|
||||||
|
|
||||||
//- Print time-set for ensight case file, with N times and 0-based
|
|
||||||
//- file numbering
|
|
||||||
//
|
|
||||||
// \verbatim
|
|
||||||
// TIME
|
|
||||||
// time set: ts
|
|
||||||
// number of steps: ns
|
|
||||||
// filename start number: 0
|
|
||||||
// filename increment: 1
|
|
||||||
// time values: time_1 time_2 ... time_ns
|
|
||||||
// \endverbatim
|
|
||||||
static void printTimeset
|
|
||||||
(
|
|
||||||
OSstream& os,
|
|
||||||
const label ts,
|
|
||||||
const UList<scalar>& times
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Print time-set for ensight case file, with N times, 0-based
|
|
||||||
//- file numbering but perhaps non-contiguous
|
|
||||||
//
|
|
||||||
// \verbatim
|
|
||||||
// TIME
|
|
||||||
// time set: ts
|
|
||||||
// number of steps: ns
|
|
||||||
// filename numbers: idx_1 idx_2 ... idx_ns
|
|
||||||
// time values: time_1 time_2 ... time_ns
|
|
||||||
// \endverbatim
|
|
||||||
static void printTimeset
|
|
||||||
(
|
|
||||||
OSstream& os,
|
|
||||||
const label ts,
|
|
||||||
const UList<scalar>& times,
|
|
||||||
const bitSet& indices
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
//- Write geometry
|
//- Write geometry
|
||||||
fileName writeCollated();
|
fileName writeCollated();
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011-2014 OpenFOAM Foundation
|
Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
Copyright (C) 2015-2020 OpenCFD Ltd.
|
Copyright (C) 2015-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -26,30 +26,6 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
|
||||||
|
|
||||||
int Foam::surfaceWriters::ensightWriter::geometryTimeset() const
|
|
||||||
{
|
|
||||||
const scalarList& times = caching_.times();
|
|
||||||
const bitSet& geoms = caching_.geometries();
|
|
||||||
|
|
||||||
if (geoms.count() <= 1)
|
|
||||||
{
|
|
||||||
// Static
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (geoms.size() == times.size() && geoms.all())
|
|
||||||
{
|
|
||||||
// Geometry changing is the same as fields changing
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Geometry changing differently from fields
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated()
|
Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated()
|
||||||
@ -169,7 +145,7 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated
|
|||||||
// 1: moving, with the same frequency as the data
|
// 1: moving, with the same frequency as the data
|
||||||
// 2: moving, with different frequency as the data
|
// 2: moving, with different frequency as the data
|
||||||
|
|
||||||
const label tsGeom = geometryTimeset();
|
const label tsGeom = caching_.geometryTimeset();
|
||||||
|
|
||||||
osCase
|
osCase
|
||||||
<< "FORMAT" << nl
|
<< "FORMAT" << nl
|
||||||
@ -228,10 +204,10 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeCollated
|
|||||||
<< nl
|
<< nl
|
||||||
<< "TIME" << nl;
|
<< "TIME" << nl;
|
||||||
|
|
||||||
printTimeset(osCase, 1, caching_.times());
|
ensightCase::printTimeset(osCase, 1, caching_.times());
|
||||||
if (tsGeom == 2)
|
if (tsGeom == 2)
|
||||||
{
|
{
|
||||||
printTimeset
|
ensightCase::printTimeset
|
||||||
(
|
(
|
||||||
osCase,
|
osCase,
|
||||||
tsGeom,
|
tsGeom,
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Copyright (C) 2011-2014 OpenFOAM Foundation
|
Copyright (C) 2011-2014 OpenFOAM Foundation
|
||||||
Copyright (C) 2015-2020 OpenCFD Ltd.
|
Copyright (C) 2015-2022 OpenCFD Ltd.
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
This file is part of OpenFOAM.
|
This file is part of OpenFOAM.
|
||||||
@ -32,13 +32,13 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated()
|
|||||||
{
|
{
|
||||||
checkOpen();
|
checkOpen();
|
||||||
|
|
||||||
const ensight::FileName surfName(outputPath_.name());
|
const ensight::FileName baseName(outputPath_.name());
|
||||||
|
|
||||||
|
|
||||||
// Uncollated
|
// Uncollated
|
||||||
// ==========
|
// ==========
|
||||||
// CaseFile: rootdir/<TIME>/surfaceName.case
|
// CaseFile: rootdir/<TIME>/NAME.case
|
||||||
// Geometry: rootdir/<TIME>/surfaceName.00000000.mesh
|
// Geometry: rootdir/<TIME>/NAME.00000000.mesh
|
||||||
|
|
||||||
fileName outputDir;
|
fileName outputDir;
|
||||||
if (useTimeDir() && !timeName().empty())
|
if (useTimeDir() && !timeName().empty())
|
||||||
@ -51,7 +51,7 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated()
|
|||||||
outputDir = outputPath_.path();
|
outputDir = outputPath_.path();
|
||||||
}
|
}
|
||||||
|
|
||||||
const fileName outputFile = outputDir / surfName + ".case";
|
const fileName outputFile = outputDir / baseName + ".case";
|
||||||
|
|
||||||
if (verbose_)
|
if (verbose_)
|
||||||
{
|
{
|
||||||
@ -72,7 +72,7 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated()
|
|||||||
ensightGeoFile osGeom
|
ensightGeoFile osGeom
|
||||||
(
|
(
|
||||||
outputDir,
|
outputDir,
|
||||||
surfName + ".00000000.mesh",
|
baseName + ".00000000.mesh",
|
||||||
writeFormat_
|
writeFormat_
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated()
|
|||||||
<< nl
|
<< nl
|
||||||
<< "TIME" << nl;
|
<< "TIME" << nl;
|
||||||
|
|
||||||
printTimeset(osCase, 1, scalar(0));
|
ensightCase::printTimeset(osCase, 1, scalar(0));
|
||||||
|
|
||||||
ensightOutputSurface part
|
ensightOutputSurface part
|
||||||
(
|
(
|
||||||
@ -110,24 +110,24 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated
|
|||||||
{
|
{
|
||||||
checkOpen();
|
checkOpen();
|
||||||
|
|
||||||
const ensight::FileName surfName(outputPath_.name());
|
const ensight::FileName baseName(outputPath_.name());
|
||||||
const ensight::VarName varName(fieldName);
|
const ensight::VarName varName(fieldName);
|
||||||
|
|
||||||
|
|
||||||
// Uncollated
|
// Uncollated
|
||||||
// ==========
|
// ==========
|
||||||
// CaseFile: rootdir/time/<field>/surfaceName.case
|
// CaseFile: rootdir/time/<field>/NAME.case
|
||||||
// Geometry: rootdir/time/<field>/surfaceName.<index>.mesh
|
// Geometry: rootdir/time/<field>/NAME.<index>.mesh
|
||||||
// Field: rootdir/time/<field>/surfaceName.<index>.<field>
|
// Field: rootdir/time/<field>/NAME.<index>.<field>
|
||||||
|
|
||||||
// Variable name as sub-directory for results. Eg,
|
// Variable name as sub-directory for results. Eg,
|
||||||
// - VAR1/SURF1.case
|
// - VAR1/NAME1.case
|
||||||
// - VAR1/SURF1.00000000.mesh
|
// - VAR1/NAME1.00000000.mesh
|
||||||
// - VAR1/SURF1.00000001.VAR1
|
// - VAR1/NAME1.00000001.VAR1
|
||||||
// and
|
// and
|
||||||
// - VAR2/SURF1.case
|
// - VAR2/NAME1.case
|
||||||
// - VAR2/SURF1.00000000.mesh
|
// - VAR2/NAME1.00000000.mesh
|
||||||
// - VAR2/SURF1.00000001.VAR2
|
// - VAR2/NAME1.00000001.VAR2
|
||||||
|
|
||||||
fileName outputDir;
|
fileName outputDir;
|
||||||
if (useTimeDir() && !timeName().empty())
|
if (useTimeDir() && !timeName().empty())
|
||||||
@ -144,7 +144,7 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated
|
|||||||
const word timeDir = timeName();
|
const word timeDir = timeName();
|
||||||
const scalar timeValue = currTime_.value();
|
const scalar timeValue = currTime_.value();
|
||||||
|
|
||||||
const fileName outputFile = baseDir / surfName + ".case";
|
const fileName outputFile = baseDir / baseName + ".case";
|
||||||
|
|
||||||
if (verbose_)
|
if (verbose_)
|
||||||
{
|
{
|
||||||
@ -175,13 +175,13 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated
|
|||||||
ensightGeoFile osGeom
|
ensightGeoFile osGeom
|
||||||
(
|
(
|
||||||
baseDir,
|
baseDir,
|
||||||
surfName + ".00000000.mesh",
|
baseName + ".00000000.mesh",
|
||||||
writeFormat_
|
writeFormat_
|
||||||
);
|
);
|
||||||
ensightFile osField
|
ensightFile osField
|
||||||
(
|
(
|
||||||
baseDir,
|
baseDir,
|
||||||
surfName + ".00000000." + varName,
|
baseName + ".00000000." + varName,
|
||||||
writeFormat_
|
writeFormat_
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -201,13 +201,13 @@ Foam::fileName Foam::surfaceWriters::ensightWriter::writeUncollated
|
|||||||
: " per element: 1 " // time-set 1
|
: " per element: 1 " // time-set 1
|
||||||
)
|
)
|
||||||
<< setw(15) << varName << ' '
|
<< setw(15) << varName << ' '
|
||||||
<< surfName.c_str() << ".********." << varName << nl;
|
<< baseName.c_str() << ".********." << varName << nl;
|
||||||
|
|
||||||
osCase
|
osCase
|
||||||
<< nl
|
<< nl
|
||||||
<< "TIME" << nl;
|
<< "TIME" << nl;
|
||||||
|
|
||||||
printTimeset(osCase, 1, timeValue);
|
ensightCase::printTimeset(osCase, 1, timeValue);
|
||||||
osCase << "# end" << nl;
|
osCase << "# end" << nl;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -63,8 +63,8 @@ Foam::surfaceWriters::foamWriter::foamWriter
|
|||||||
surfaceWriter(options),
|
surfaceWriter(options),
|
||||||
streamOpt_
|
streamOpt_
|
||||||
(
|
(
|
||||||
IOstream::formatEnum("format", options, IOstream::ASCII),
|
IOstreamOption::formatEnum("format", options, IOstreamOption::ASCII),
|
||||||
IOstream::compressionEnum("compression", options)
|
IOstreamOption::compressionEnum("compression", options)
|
||||||
),
|
),
|
||||||
fieldScale_(options.subOrEmptyDict("fieldScale"))
|
fieldScale_(options.subOrEmptyDict("fieldScale"))
|
||||||
{}
|
{}
|
||||||
@ -235,6 +235,8 @@ Foam::fileName Foam::surfaceWriters::foamWriter::writeTemplate
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
// Field writing methods
|
// Field writing methods
|
||||||
defineSurfaceWriterWriteFields(Foam::surfaceWriters::foamWriter);
|
defineSurfaceWriterWriteFields(Foam::surfaceWriters::foamWriter);
|
||||||
|
|
||||||
|
|||||||
@ -87,8 +87,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef foamSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_foamWriter_H
|
||||||
#define foamSurfaceWriter_H
|
#define Foam_surfaceWriters_foamWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ class foamWriter
|
|||||||
{
|
{
|
||||||
// Private Data
|
// Private Data
|
||||||
|
|
||||||
//- Output stream option (default: IOstream::ASCII, uncompressed)
|
//- Output stream option (default: ASCII, uncompressed)
|
||||||
IOstreamOption streamOpt_;
|
IOstreamOption streamOpt_;
|
||||||
|
|
||||||
//- Output field scaling
|
//- Output field scaling
|
||||||
|
|||||||
@ -70,58 +70,11 @@ Foam::Ostream& Foam::surfaceWriters::nastranWriter::writeKeyword
|
|||||||
void Foam::surfaceWriters::nastranWriter::writeCoord
|
void Foam::surfaceWriters::nastranWriter::writeCoord
|
||||||
(
|
(
|
||||||
Ostream& os,
|
Ostream& os,
|
||||||
const point& pt,
|
const point& p,
|
||||||
const label pointI
|
const label pointId
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
// Fixed short/long formats:
|
fileFormats::NASCore::writeCoord(os, p, pointId, writeFormat_);
|
||||||
// 1 GRID
|
|
||||||
// 2 ID : point ID - requires starting index of 1
|
|
||||||
// 3 CP : coordinate system ID (blank)
|
|
||||||
// 4 X1 : point x coordinate
|
|
||||||
// 5 X2 : point x coordinate
|
|
||||||
// 6 X3 : point x coordinate
|
|
||||||
// 7 CD : coordinate system for displacements (blank)
|
|
||||||
// 8 PS : single point constraints (blank)
|
|
||||||
// 9 SEID : super-element ID
|
|
||||||
|
|
||||||
writeKeyword(os, "GRID") << separator_;
|
|
||||||
|
|
||||||
os.setf(std::ios_base::right);
|
|
||||||
|
|
||||||
writeValue(os, pointI+1) << separator_;
|
|
||||||
writeValue(os, "") << separator_;
|
|
||||||
writeValue(os, pt.x()) << separator_;
|
|
||||||
writeValue(os, pt.y()) << separator_;
|
|
||||||
|
|
||||||
switch (writeFormat_)
|
|
||||||
{
|
|
||||||
case fieldFormat::SHORT :
|
|
||||||
{
|
|
||||||
os << setw(8) << pt.z() << nl;
|
|
||||||
os.unsetf(std::ios_base::right);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case fieldFormat::LONG :
|
|
||||||
{
|
|
||||||
os << nl;
|
|
||||||
os.unsetf(std::ios_base::right);
|
|
||||||
writeKeyword(os, "");
|
|
||||||
os.setf(std::ios_base::right);
|
|
||||||
|
|
||||||
writeValue(os, pt.z()) << nl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case fieldFormat::FREE :
|
|
||||||
{
|
|
||||||
writeValue(os, pt.z()) << nl;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
os.unsetf(std::ios_base::right);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -360,7 +313,12 @@ Foam::surfaceWriters::nastranWriter::nastranWriter()
|
|||||||
geometryScale_(1),
|
geometryScale_(1),
|
||||||
fieldScale_(),
|
fieldScale_(),
|
||||||
separator_()
|
separator_()
|
||||||
{}
|
{
|
||||||
|
// if (writeFormat_ == fieldFormat::FREE)
|
||||||
|
// {
|
||||||
|
// separator_ = ",";
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::surfaceWriters::nastranWriter::nastranWriter
|
Foam::surfaceWriters::nastranWriter::nastranWriter
|
||||||
|
|||||||
@ -99,8 +99,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef nastranSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_nastranWriter_H
|
||||||
#define nastranSurfaceWriter_H
|
#define Foam_surfaceWriters_nastranWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
#include "NASCore.H"
|
#include "NASCore.H"
|
||||||
@ -149,7 +149,7 @@ private:
|
|||||||
//- Output field scaling
|
//- Output field scaling
|
||||||
const dictionary fieldScale_;
|
const dictionary fieldScale_;
|
||||||
|
|
||||||
//- Separator used for free format
|
//- Separator (used for free format)
|
||||||
word separator_;
|
word separator_;
|
||||||
|
|
||||||
|
|
||||||
@ -159,8 +159,8 @@ private:
|
|||||||
void writeCoord
|
void writeCoord
|
||||||
(
|
(
|
||||||
Ostream& os,
|
Ostream& os,
|
||||||
const point& pt,
|
const point& p,
|
||||||
const label pointI //!< 0-based Point Id
|
const label pointId //!< 0-based Point Id
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
//- Write a face element (CTRIA3 or CQUAD4)
|
//- Write a face element (CTRIA3 or CQUAD4)
|
||||||
|
|||||||
@ -26,9 +26,9 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "OFstream.H"
|
|
||||||
#include "IOmanip.H"
|
#include "IOmanip.H"
|
||||||
#include "ListOps.H"
|
#include "ListOps.H"
|
||||||
|
#include "OFstream.H"
|
||||||
#include "OSspecific.H"
|
#include "OSspecific.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||||
|
|||||||
@ -129,6 +129,8 @@ Foam::fileName Foam::surfaceWriters::nullWriter::write()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
// Field writing methods
|
// Field writing methods
|
||||||
defineSurfaceWriterWriteFields(Foam::surfaceWriters::nullWriter);
|
defineSurfaceWriterWriteFields(Foam::surfaceWriters::nullWriter);
|
||||||
|
|
||||||
|
|||||||
@ -34,8 +34,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef nullSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_nullWriter_H
|
||||||
#define nullSurfaceWriter_H
|
#define Foam_surfaceWriters_nullWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
|
|
||||||
|
|||||||
@ -62,8 +62,8 @@ Foam::surfaceWriters::proxyWriter::proxyWriter
|
|||||||
fileExtension_(fileExt),
|
fileExtension_(fileExt),
|
||||||
streamOpt_
|
streamOpt_
|
||||||
(
|
(
|
||||||
IOstream::formatEnum("format", options, IOstream::ASCII),
|
IOstreamOption::formatEnum("format", options, IOstreamOption::ASCII),
|
||||||
IOstream::compressionEnum("compression", options)
|
IOstreamOption::compressionEnum("compression", options)
|
||||||
),
|
),
|
||||||
options_(options)
|
options_(options)
|
||||||
{}
|
{}
|
||||||
@ -148,6 +148,8 @@ Foam::fileName Foam::surfaceWriters::proxyWriter::write()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
// Field writing methods
|
// Field writing methods
|
||||||
defineSurfaceWriterWriteFields(Foam::surfaceWriters::proxyWriter);
|
defineSurfaceWriterWriteFields(Foam::surfaceWriters::proxyWriter);
|
||||||
|
|
||||||
|
|||||||
@ -59,8 +59,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef proxySurfaceWriter_H
|
#ifndef Foam_surfaceWriters_proxyWriter_H
|
||||||
#define proxySurfaceWriter_H
|
#define Foam_surfaceWriters_proxyWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
|
|
||||||
|
|||||||
@ -75,8 +75,8 @@ Foam::surfaceWriters::rawWriter::rawWriter
|
|||||||
surfaceWriter(options),
|
surfaceWriter(options),
|
||||||
streamOpt_
|
streamOpt_
|
||||||
(
|
(
|
||||||
IOstream::ASCII,
|
IOstreamOption::ASCII,
|
||||||
IOstream::compressionEnum("compression", options)
|
IOstreamOption::compressionEnum("compression", options)
|
||||||
),
|
),
|
||||||
precision_
|
precision_
|
||||||
(
|
(
|
||||||
|
|||||||
@ -84,8 +84,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef rawSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_rawWriter_H
|
||||||
#define rawSurfaceWriter_H
|
#define Foam_surfaceWriters_rawWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
|
|
||||||
|
|||||||
@ -26,9 +26,9 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "IOmanip.H"
|
||||||
#include "OFstream.H"
|
#include "OFstream.H"
|
||||||
#include "OSspecific.H"
|
#include "OSspecific.H"
|
||||||
#include "IOmanip.H"
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Local Functions * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|||||||
@ -82,8 +82,8 @@ Foam::surfaceWriters::starcdWriter::starcdWriter
|
|||||||
surfaceWriter(options),
|
surfaceWriter(options),
|
||||||
streamOpt_
|
streamOpt_
|
||||||
(
|
(
|
||||||
IOstream::ASCII,
|
IOstreamOption::ASCII,
|
||||||
IOstream::compressionEnum("compression", options)
|
IOstreamOption::compressionEnum("compression", options)
|
||||||
),
|
),
|
||||||
fieldScale_(options.subOrEmptyDict("fieldScale"))
|
fieldScale_(options.subOrEmptyDict("fieldScale"))
|
||||||
{}
|
{}
|
||||||
@ -274,6 +274,8 @@ Foam::fileName Foam::surfaceWriters::starcdWriter::writeTemplate
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
// Field writing methods
|
// Field writing methods
|
||||||
defineSurfaceWriterWriteFields(Foam::surfaceWriters::starcdWriter);
|
defineSurfaceWriterWriteFields(Foam::surfaceWriters::starcdWriter);
|
||||||
|
|
||||||
|
|||||||
@ -76,8 +76,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef starcdSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_starcdWriter_H
|
||||||
#define starcdSurfaceWriter_H
|
#define Foam_surfaceWriters_starcdWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
|
|
||||||
|
|||||||
@ -108,8 +108,8 @@ Foam::surfaceWriters::vtkWriter::vtkWriter
|
|||||||
|
|
||||||
opts.ascii
|
opts.ascii
|
||||||
(
|
(
|
||||||
IOstream::ASCII
|
IOstreamOption::ASCII
|
||||||
== IOstream::formatEnum("format", options, IOstream::BINARY)
|
== IOstreamOption::formatEnum("format", options, IOstreamOption::BINARY)
|
||||||
);
|
);
|
||||||
|
|
||||||
opts.legacy(options.getOrDefault("legacy", false));
|
opts.legacy(options.getOrDefault("legacy", false));
|
||||||
@ -348,6 +348,8 @@ Foam::fileName Foam::surfaceWriters::vtkWriter::writeTemplate
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
// Field writing methods
|
// Field writing methods
|
||||||
defineSurfaceWriterWriteFields(Foam::surfaceWriters::vtkWriter);
|
defineSurfaceWriterWriteFields(Foam::surfaceWriters::vtkWriter);
|
||||||
|
|
||||||
|
|||||||
@ -74,8 +74,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef vtkSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_vtkWriter_H
|
||||||
#define vtkSurfaceWriter_H
|
#define Foam_surfaceWriters_vtkWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
|
|
||||||
|
|||||||
@ -120,8 +120,8 @@ Foam::surfaceWriters::x3dWriter::x3dWriter
|
|||||||
surfaceWriter(options),
|
surfaceWriter(options),
|
||||||
streamOpt_
|
streamOpt_
|
||||||
(
|
(
|
||||||
IOstream::ASCII,
|
IOstreamOption::ASCII,
|
||||||
IOstream::compressionEnum("compression", options)
|
IOstreamOption::compressionEnum("compression", options)
|
||||||
),
|
),
|
||||||
range_(),
|
range_(),
|
||||||
colourTablePtr_(nullptr)
|
colourTablePtr_(nullptr)
|
||||||
@ -368,6 +368,8 @@ Foam::fileName Foam::surfaceWriters::x3dWriter::writeTemplate
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
// Field writing methods
|
// Field writing methods
|
||||||
defineSurfaceWriterWriteFields(Foam::surfaceWriters::x3dWriter);
|
defineSurfaceWriterWriteFields(Foam::surfaceWriters::x3dWriter);
|
||||||
|
|
||||||
|
|||||||
@ -62,8 +62,8 @@ SourceFiles
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef x3dSurfaceWriter_H
|
#ifndef Foam_surfaceWriters_x3dWriter_H
|
||||||
#define x3dSurfaceWriter_H
|
#define Foam_surfaceWriters_x3dWriter_H
|
||||||
|
|
||||||
#include "surfaceWriter.H"
|
#include "surfaceWriter.H"
|
||||||
#include "X3DsurfaceFormatCore.H"
|
#include "X3DsurfaceFormatCore.H"
|
||||||
|
|||||||
Reference in New Issue
Block a user