diff --git a/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C b/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C index ac180feb7ac0f29ed629b541825ac96ba2de3854..bbbdf4e4da8361c99ea70bef64db197e4fa22ad3 100644 --- a/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C +++ b/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C @@ -879,17 +879,15 @@ bool Foam::DMDModels::STDMD::initialise(const RMatrix& z) // algorithms at the final output computations (K:p. 43) { const label nSnap = z.m()/2; + timeName0_ = + mesh_.time().timeName(mesh_.time().startTime().value()); if (nSnap == 0) { empty_ = true; } - scalarField snapshot0(nSnap); - std::copy(z.cbegin(), z.cbegin() + nSnap, snapshot0.begin()); - timeName0_ = mesh_.time().timeName(); - - IOField<scalar> + IOField<scalar> snapshot0 ( IOobject ( @@ -897,10 +895,21 @@ bool Foam::DMDModels::STDMD::initialise(const RMatrix& z) timeName0_, mesh_, IOobject::NO_READ, - IOobject::NO_WRITE + IOobject::NO_WRITE, + false ), - snapshot0 - ).write(); + nSnap + ); + + std::copy(z.cbegin(), z.cbegin() + nSnap, snapshot0.begin()); + + const IOstreamOption streamOpt + ( + mesh_.time().writeFormat(), + mesh_.time().writeCompression() + ); + + fileHandler().writeObject(snapshot0, streamOpt, true); } Q_ = z/norm;