1 #ifndef ABLATELIBRARY_TURBFLOWSTATS_HPP
2 #define ABLATELIBRARY_TURBFLOWSTATS_HPP
5 #include "domain/field.hpp"
7 #include "fieldMonitor.hpp"
8 #include "io/interval/interval.hpp"
15 enum FieldPlacements { densitySum, densityDtSum, fieldsStart };
16 enum SectionLabels { densityMult, densityDtMult, densitySqr, sum, sumSqr, favreAvg, rms, mRms, END };
19 const std::vector<std::string> fieldNames;
20 const std::shared_ptr<ablate::eos::EOS> eos;
21 const std::shared_ptr<io::interval::Interval> interval;
25 static PetscErrorCode MonitorTurbFlowStats(TS ts, PetscInt step, PetscReal crtime, Vec u,
void* ctx);
28 explicit TurbFlowStats(
const std::vector<std::string> nameIn,
const std::shared_ptr<ablate::eos::EOS> eosIn, std::shared_ptr<io::interval::Interval> intervalIn = {});
30 void Register(std::shared_ptr<ablate::solver::Solver> solverIn)
override;
32 PetscErrorCode
Save(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time)
override;
33 PetscErrorCode
Restore(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time)
override;
Definition: fieldMonitor.hpp:14
Definition: turbFlowStats.hpp:12
PetscErrorCode Restore(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override
Definition: turbFlowStats.cpp:194
PetscErrorCode Save(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override
Definition: turbFlowStats.cpp:184
PetscMonitorFunction GetPetscFunction() override
Definition: turbFlowStats.hpp:29
Definition: boundarySolverMonitor.hpp:16