|
|
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
|
| |
|
| | 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 |
| |
|
|
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 |
| |
|
|
| 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) |
| |
◆ CellSolver()
Create a base solver used for cell based solvers
- Parameters
-
◆ Initialize()
| void ablate::solver::CellSolver::Initialize |
( |
| ) |
|
|
overridevirtual |
◆ RegisterAuxFieldUpdate()
| void ablate::solver::CellSolver::RegisterAuxFieldUpdate |
( |
AuxFieldUpdateFunction |
function, |
|
|
void * |
context, |
|
|
const std::vector< std::string > & |
auxField, |
|
|
const std::vector< std::string > & |
inputFields |
|
) |
| |
Register a auxFieldUpdate
- Parameters
-
| function | |
| context | |
| field | |
| inputFields | |
| auxFields | |
◆ RegisterSolutionFieldUpdate()
| void ablate::solver::CellSolver::RegisterSolutionFieldUpdate |
( |
SolutionFieldUpdateFunction |
function, |
|
|
void * |
context, |
|
|
const std::vector< std::string > & |
inputFields |
|
) |
| |
Register a auxFieldUpdate
- Parameters
-
| function | |
| context | |
| field | |
| inputFields | |
| auxFields | |
◆ Setup()
| void ablate::solver::CellSolver::Setup |
( |
| ) |
|
|
overridevirtual |
◆ UpdateAuxFields()
| void ablate::solver::CellSolver::UpdateAuxFields |
( |
PetscReal |
time, |
|
|
Vec |
locXVec, |
|
|
Vec |
locAuxField |
|
) |
| |
Helper function to march over each cell and update the aux Fields
- Parameters
-
◆ UpdateSolutionFields()
| void ablate::solver::CellSolver::UpdateSolutionFields |
( |
PetscReal |
time, |
|
|
Vec |
globXVec |
|
) |
| |
Helper function to march over each cell and update the solution fields if specified (including ghost nodes)
- Parameters
-
The documentation for this class was generated from the following files: