|
| Sublimation (std::shared_ptr< subModels::SublimationModel > sublimationModel, std::shared_ptr< ablate::eos::transport::TransportModel > transportModel, std::shared_ptr< ablate::eos::EOS > eos, const std::shared_ptr< ablate::mathFunctions::FieldFunction > &={}, std::shared_ptr< mathFunctions::MathFunction > additionalHeatFlux={}, std::shared_ptr< finiteVolume::processes::PressureGradientScaling > pressureGradientScaling={}, bool diffusionFlame=false, std::shared_ptr< ablate::radiation::SurfaceRadiation > radiationIn={}, const std::shared_ptr< io::interval::Interval > &intervalIn={}, const std::shared_ptr< ablate::parameters::Parameters > &={}) |
|
void | Setup (ablate::boundarySolver::BoundarySolver &bSolver) override |
|
void | Initialize (ablate::boundarySolver::BoundarySolver &bSolver) override |
|
void | Setup (PetscInt numberSpecies) |
|
const std::string & | GetId () const override |
|
SerializerType | Serialize () const override |
|
PetscErrorCode | Save (PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override |
|
PetscErrorCode | Restore (PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override |
|
|
static PetscErrorCode | SublimationPreRHS (BoundarySolver &, TS ts, PetscReal time, bool initialStage, Vec locX, void *ctx) |
|
static PetscErrorCode | SublimationFunction (PetscInt dim, const ablate::boundarySolver::BoundarySolver::BoundaryFVFaceGeom *fg, const PetscFVCellGeom *boundaryCell, const PetscInt uOff[], const PetscScalar *boundaryValues, const PetscScalar *stencilValues[], const PetscInt aOff[], const PetscScalar *auxValues, const PetscScalar *stencilAuxValues[], PetscInt stencilSize, const PetscInt stencil[], const PetscScalar stencilWeights[], const PetscInt sOff[], PetscScalar source[], void *ctx) |
|
static PetscErrorCode | SublimationOutputFunction (PetscInt dim, const ablate::boundarySolver::BoundarySolver::BoundaryFVFaceGeom *fg, const PetscFVCellGeom *boundaryCell, const PetscInt uOff[], const PetscScalar *boundaryValues, const PetscScalar *stencilValues[], const PetscInt aOff[], const PetscScalar *auxValues, const PetscScalar *stencilAuxValues[], PetscInt stencilSize, const PetscInt stencil[], const PetscScalar stencilWeights[], const PetscInt sOff[], PetscScalar source[], void *ctx) |
|
static PetscErrorCode | UpdateBoundaryHeatTransferModel (PetscReal time, PetscReal dt, PetscInt dim, const ablate::boundarySolver::BoundarySolver::BoundaryFVFaceGeom *fg, const PetscFVCellGeom *boundaryCell, const PetscInt uOff[], PetscScalar *boundaryValues, const PetscScalar *stencilValues[], const PetscInt aOff[], PetscScalar *auxValues, const PetscScalar *stencilAuxValues[], PetscInt stencilSize, const PetscInt stencil[], const PetscScalar stencilWeights[], void *ctx) |
|
|
enum class | SerializerType { none
, collective
, serial
} |
|
static PetscErrorCode | SaveKeyValue (PetscViewer viewer, const char *name, PetscScalar value) |
|
static PetscErrorCode | RestoreKeyValue (PetscViewer viewer, const char *name, PetscScalar &value) |
|
template<class T > |
static PetscErrorCode | SaveKeyValue (PetscViewer viewer, const char *name, T value) |
|
template<class T > |
static PetscErrorCode | RestoreKeyValue (PetscViewer viewer, const char *name, T &value) |
|
template<class T > |
static SerializerType | DetermineSerializerType (const T &types) |
|
produces required source terms in the "gas phase" assuming that the solid phase sublimates and no regression compared to the simulation time
Set up mesh dependent initialization
- Parameters
-
Initialize the radiation solver with the face geometry of the boundary solver in order to solve for surface flux
< Get the face range of the boundary cells to initialize the rays with this range. Add all of the faces to this range that belong to the boundary solver.
< Add each ID to the range that the radiation solver will use
< Pass the non-dynamic range into the radiation solver
Initialize the solid boundary heat transfer model
Reimplemented from ablate::boundarySolver::BoundaryProcess.