From 4c96647af2d7161cdacb8a2bce7d4d0dd5f71ee7 Mon Sep 17 00:00:00 2001 From: Kutalmis Bercin <kutalmis.bercin@esi-group.com> Date: Tue, 20 Jul 2021 12:22:34 +0100 Subject: [PATCH] BUG: DMD: write snapshot0 at start times (fixes #2122) --- .../field/DMD/DMDModels/derived/STDMD/STDMD.C | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C b/src/functionObjects/field/DMD/DMDModels/derived/STDMD/STDMD.C index ac180feb7ac..bbbdf4e4da8 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; -- GitLab