1 #ifndef ABLATELIBRARY_SUBLIMATIONTEMPERATURE_HPP
2 #define ABLATELIBRARY_SUBLIMATIONTEMPERATURE_HPP
6 #include "oneDimensionHeatTransfer.hpp"
7 #include "solver/cellSolver.hpp"
8 #include "solver/timeStepper.hpp"
9 #include "sublimationModel.hpp"
11 namespace ablate::boundarySolver::physics::subModels {
16 std::map<PetscInt, std::shared_ptr<OneDimensionHeatTransfer>> oneDimensionHeatTransfer;
19 std::map<PetscInt, PetscReal> heatFluxIntoSolid;
22 const std::shared_ptr<ablate::parameters::Parameters> properties;
25 const std::shared_ptr<ablate::mathFunctions::MathFunction> initialization;
28 const std::shared_ptr<ablate::parameters::Parameters> options;
31 const PetscReal latentHeatOfFusion;
34 const PetscReal solidDensity;
37 TemperatureSublimation(
const std::shared_ptr<ablate::parameters::Parameters> &properties,
const std::shared_ptr<ablate::mathFunctions::MathFunction> &initialization,
38 const std::shared_ptr<ablate::parameters::Parameters> &options = {});
58 PetscErrorCode
Update(PetscInt faceId, PetscReal dt, PetscReal heatFluxToSurface, PetscReal &temperature)
override;
64 PetscErrorCode
Compute(PetscInt faceId, PetscReal heatFluxToSurface, SurfaceState &)
override;
78 PetscErrorCode
Save(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time)
override;
86 PetscErrorCode
Restore(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time)
override;
Definition: boundarySolver.hpp:13
Definition: sublimationModel.hpp:9
Definition: temperatureSublimation.hpp:13
SerializerType Serialize() const override
Definition: temperatureSublimation.hpp:70
PetscErrorCode Restore(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override
Definition: temperatureSublimation.cpp:86
PetscErrorCode Compute(PetscInt faceId, PetscReal heatFluxToSurface, SurfaceState &) override
Definition: temperatureSublimation.cpp:63
PetscErrorCode Save(PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override
Definition: temperatureSublimation.cpp:78
void Initialize(ablate::boundarySolver::BoundarySolver &bSolver) override
Definition: temperatureSublimation.cpp:15
PetscErrorCode Update(PetscInt faceId, PetscReal dt, PetscReal heatFluxToSurface, PetscReal &temperature) override
Definition: temperatureSublimation.cpp:55
bool RequiresUpdate() override
Definition: temperatureSublimation.hpp:51
SerializerType
Definition: serializable.hpp:18