1 #ifndef ABLATELIBRARY_VIRTUALTCP_H
2 #define ABLATELIBRARY_VIRTUALTCP_H
4 #include "boundarySolver/boundarySolver.hpp"
5 #include "domain/dynamicRange.hpp"
6 #include "io/interval/fixedInterval.hpp"
7 #include "io/interval/interval.hpp"
9 #include "radiation/radiation.hpp"
10 #include "radiation/surfaceRadiation.hpp"
27 std::string name =
"_radiationFluxMonitor";
32 std::vector<std::shared_ptr<ablate::radiation::SurfaceRadiation>> radiation;
37 std::shared_ptr<ablate::boundarySolver::BoundarySolver> boundarySolver;
47 std::shared_ptr<ablate::domain::Region> radiationFluxRegion;
50 RadiationFlux(std::vector<std::shared_ptr<radiation::SurfaceRadiation>> radiationIn, std::shared_ptr<domain::Region> radiationFluxRegionIn, std::shared_ptr<ablate::monitors::logs::Log> = {});
61 void Register(std::shared_ptr<solver::Solver> solverIn)
override;
69 PetscErrorCode
Save(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time)
override;
76 [[nodiscard]]
const std::string&
GetId()
const override {
return name; };
78 PetscErrorCode
Restore(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time)
override {
return 0; };
89 const std::shared_ptr<ablate::monitors::logs::Log> log =
nullptr;
Definition: dynamicRange.hpp:12
Definition: serializable.hpp:13
SerializerType
Definition: serializable.hpp:18
Definition: monitor.hpp:12
Definition: radiationFlux.hpp:17
PetscErrorCode Save(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override
Definition: radiationFlux.cpp:105
void * GetContext() override
Definition: radiationFlux.hpp:74
SerializerType Serialize() const override
Definition: radiationFlux.hpp:80
const std::string & GetId() const override
Definition: radiationFlux.hpp:76
PetscErrorCode Restore(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override
Definition: radiationFlux.hpp:78
void Register(std::shared_ptr< solver::Solver > solverIn) override
Definition: radiationFlux.cpp:13
PetscMonitorFunction GetPetscFunction() override
Definition: radiationFlux.hpp:86
~RadiationFlux() override
Definition: radiationFlux.cpp:7
Definition: boundarySolverMonitor.hpp:16