|
| enum | MeshCharacteristics { MIN_CELL_RADIUS = 0
, MAX_CELL_RADIUS
} |
| | store an enum for the fields in the meshCharacteristicsDm
|
| |
|
using | PreRHSFunctionDefinition = PetscErrorCode(*)(FiniteVolumeSolver &, TS ts, PetscReal time, bool initialStage, Vec locX, void *ctx) |
| |
|
using | RHSArbitraryFunction = PetscErrorCode(*)(const FiniteVolumeSolver &, DM dm, PetscReal time, Vec locXVec, Vec locFVec, void *ctx) |
| |
|
using | ComputeTimeStepFunction = double(*)(TS ts, FiniteVolumeSolver &, void *ctx) |
| |
|
using | AuxFieldUpdateFunction = PetscErrorCode(*)(PetscReal time, PetscInt dim, const PetscFVCellGeom *cellGeom, const PetscInt uOff[], const PetscScalar *u, const PetscInt aOff[], PetscScalar *auxField, void *ctx) |
| | function template for updating the aux field
|
| |
|
using | SolutionFieldUpdateFunction = PetscErrorCode(*)(PetscReal time, PetscInt dim, const PetscFVCellGeom *cellGeom, const PetscInt uOff[], PetscScalar *u, void *ctx) |
| | function template for updating the solution field
|
| |
| enum class | SerializerType { none
, collective
, serial
} |
| |
|
|
| FiniteVolumeSolver (std::string solverId, std::shared_ptr< domain::Region >, std::shared_ptr< parameters::Parameters > options, std::vector< std::shared_ptr< processes::Process >> flowProcesses, std::vector< std::shared_ptr< boundaryConditions::BoundaryCondition >> boundaryConditions) |
| |
|
| ~FiniteVolumeSolver () override |
| | cleanup
|
| |
| void | Setup () override |
| |
| void | Initialize () override |
| |
| PetscErrorCode | ComputeRHSFunction (PetscReal time, Vec locXVec, Vec locFVec) override |
| |
| PetscErrorCode | ComputeBoundary (PetscReal time, Vec locX, Vec locX_t) override |
| |
| void | RegisterRHSFunction (CellInterpolant::DiscontinuousFluxFunction function, void *context, const std::string &field, const std::vector< std::string > &inputFields, const std::vector< std::string > &auxFields) |
| |
| void | RegisterRHSFunction (FaceInterpolant::ContinuousFluxFunction function, void *context, const std::string &field, const std::vector< std::string > &inputFields, const std::vector< std::string > &auxFields) |
| |
| void | RegisterRHSFunction (CellInterpolant::PointFunction function, void *context, const std::vector< std::string > &fields, const std::vector< std::string > &inputFields, const std::vector< std::string > &auxFields) |
| |
| void | RegisterRHSFunction (RHSArbitraryFunction function, void *context) |
| |
| void | RegisterPreRHSFunction (PreRHSFunctionDefinition function, void *context) |
| |
| void | RegisterComputeTimeStepFunction (ComputeTimeStepFunction function, void *ctx, std::string name) |
| |
| std::map< std::string, double > | ComputePhysicsTimeSteps (TS) override |
| |
| double | ComputePhysicsTimeStep (TS) override |
| |
| SerializerType | Serialize () const override |
| |
| const std::string & | GetId () const override |
| |
| PetscErrorCode | Save (PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override |
| |
| PetscErrorCode | Restore (PetscViewer viewer, PetscInt sequenceNumber, PetscReal time) override |
| |
| void | GetCellRangeWithoutGhost (ablate::domain::Range &faceRange) const |
| |
| template<class T > |
| std::shared_ptr< T > | FindProcess () |
| |
| PetscErrorCode | PreRHSFunction (TS ts, PetscReal time, bool initialStage, Vec locX) override |
| |
| void | GetMeshCharacteristics (DM &dm, Vec &vec) |
| |
| | CellSolver (std::string solverId, std::shared_ptr< domain::Region >={}, std::shared_ptr< parameters::Parameters > options=nullptr) |
| |
| void | RegisterAuxFieldUpdate (AuxFieldUpdateFunction function, void *context, const std::vector< std::string > &auxField, const std::vector< std::string > &inputFields) |
| |
| void | RegisterSolutionFieldUpdate (SolutionFieldUpdateFunction function, void *context, const std::vector< std::string > &inputFields) |
| |
| void | UpdateAuxFields (PetscReal time, Vec locXVec, Vec locAuxField) |
| |
| void | UpdateSolutionFields (PetscReal time, Vec globXVec) |
| |
| void | Setup () override |
| |
| void | Initialize () override |
| |
| virtual void | Register (std::shared_ptr< ablate::domain::SubDomain > subDomain) |
| |
| const std::string & | GetSolverId () const |
| |
| ablate::domain::SubDomain & | GetSubDomain () noexcept |
| |
| const ablate::domain::SubDomain & | GetSubDomain () const noexcept |
| |
| std::shared_ptr< domain::Region > | GetRegion () const noexcept |
| |
|
void | PreStage (TS ts, PetscReal stagetime) |
| |
|
void | PreStep (TS ts) |
| |
|
void | PostStep (TS ts) |
| |
|
void | PostEvaluate (TS ts) |
| |
| void | RegisterPreStep (const std::function< void(TS ts, Solver &)> &preStep) |
| |
| void | RegisterPreStage (const std::function< void(TS ts, Solver &, PetscReal)> &preStage) |
| |
| void | RegisterPostStep (const std::function< void(TS ts, Solver &)> &postStep) |
| |
| void | RegisterPostEvaluate (const std::function< void(TS ts, Solver &)> &postEval) |
| |
| void | GetCellRange (ablate::domain::Range &cellRange) const |
| |
| void | GetFaceRange (ablate::domain::Range &faceRange) const |
| |
| void | GetRange (PetscInt depth, ablate::domain::Range &range) const |
| |
| void | RestoreRange (ablate::domain::Range &range) const |
| |
|
|
| Solver (std::string solverId, std::shared_ptr< domain::Region >={}, std::shared_ptr< parameters::Parameters > options=nullptr) |
| |
|
static PetscErrorCode | DMPlexInsertBoundaryValues_Plex (DM dm, PetscDS ds, PetscBool insertEssential, Vec locX, PetscReal time, Vec faceGeomFVM, Vec cellGeomFVM, Vec gradFVM) |
| |
|
static PetscErrorCode | DMPlexInsertTimeDerivativeBoundaryValues_Plex (DM dm, PetscDS ds, PetscBool insertEssential, Vec locX, PetscReal time, Vec faceGeomFVM, Vec cellGeomFVM, Vec gradFVM) |
| |
| 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) |
| |
|
Vec | cellGeomVec = nullptr |
| | Vector used to describe the entire cell geom of the dm. This is constant and does not depend upon region.
|
| |
|
Vec | faceGeomVec = nullptr |
| | Vector used to describe the entire face geom of the dm. This is constant and does not depend upon region.
|
| |
|
PetscOptions | petscOptions |
| |
|
std::shared_ptr< ablate::domain::SubDomain > | subDomain |
| |