1 #ifndef ABLATELIBRARY_PROBES_HPP 
    2 #define ABLATELIBRARY_PROBES_HPP 
    5 #include "io/interval/interval.hpp" 
    7 #include "probes/probe.hpp" 
    8 #include "probes/probeInitializer.hpp" 
   26         std::filesystem::path outputPath;
 
   29         PetscReal lastOutputTime = PETSC_MIN_REAL;
 
   35         std::vector<std::vector<double>> buffer;
 
   38         std::vector<double> timeHistory;
 
   46         ProbeRecorder(
int bufferSize, 
const std::vector<std::string>& variables, 
const std::filesystem::path& outputPath);
 
   63         void SetValue(std::size_t index, 
double value);
 
   72     const std::shared_ptr<ablate::monitors::probes::ProbeInitializer> 
initializer;
 
   78     const std::shared_ptr<io::interval::Interval> 
interval;
 
   98     static PetscErrorCode UpdateProbes(TS ts, PetscInt step, PetscReal crtime, Vec u, 
void* ctx);
 
  108     Probes(
const std::shared_ptr<ablate::monitors::probes::ProbeInitializer>&, std::vector<std::string> 
variableNames, 
const std::shared_ptr<io::interval::Interval>& 
interval = {},
 
  117     void Register(std::shared_ptr<solver::Solver> solver) 
override;
 
Definition: monitor.hpp:12
 
Definition: probes.hpp:20
 
void SetValue(std::size_t index, double value)
Definition: probes.cpp:251
 
ProbeRecorder(int bufferSize, const std::vector< std::string > &variables, const std::filesystem::path &outputPath)
Definition: probes.cpp:200
 
void WriteBuffer()
Definition: probes.cpp:257
 
void AdvanceTime(double time)
Definition: probes.cpp:239
 
~ProbeRecorder()
Definition: probes.cpp:237
 
Definition: probes.hpp:15
 
PetscMonitorFunction GetPetscFunction() override
Definition: probes.hpp:123
 
void Register(std::shared_ptr< solver::Solver > solver) override
Definition: probes.cpp:15
 
Probes(const std::shared_ptr< ablate::monitors::probes::ProbeInitializer > &, std::vector< std::string > variableNames, const std::shared_ptr< io::interval::Interval > &interval={}, const int bufferSize=0)
Definition: probes.cpp:8
 
std::vector< ProbeRecorder > recorders
list of probe recorders that goe
Definition: probes.hpp:96
 
std::vector< int > fieldOffset
store the offset for the field in the output (needed for multiple components)
Definition: probes.hpp:90
 
std::vector< DMInterpolationInfo > interpolants
list of petsc intepolants
Definition: probes.hpp:93
 
const std::vector< std::string > variableNames
List of variables to output.
Definition: probes.hpp:75
 
const int bufferSize
output bufferSize
Definition: probes.hpp:81
 
const std::shared_ptr< ablate::monitors::probes::ProbeInitializer > initializer
Original list of all requested probe locations by name.
Definition: probes.hpp:72
 
std::vector< probes::Probe > localProbes
list of local probes on this rank
Definition: probes.hpp:84
 
const std::shared_ptr< io::interval::Interval > interval
The sampling interval.
Definition: probes.hpp:78
 
std::vector< domain::Field > fields
list of fields to interpolate
Definition: probes.hpp:87
 
Definition: boundarySolverMonitor.hpp:16