ABLATE Source Documentation  0.12.33
ablate::finiteVolume::CellInterpolant Class Reference

Classes

struct  DiscontinuousFluxFunctionDescription
 
struct  PointFunctionDescription
 

Public Types

using DiscontinuousFluxFunction = PetscErrorCode(*)(PetscInt dim, const PetscFVFaceGeom *fg, const PetscInt uOff[], const PetscScalar fieldL[], const PetscScalar fieldR[], const PetscInt aOff[], const PetscScalar auxL[], const PetscScalar auxR[], PetscScalar flux[], void *ctx)
 
using PointFunction = PetscErrorCode(*)(PetscInt dim, PetscReal time, const PetscFVCellGeom *cg, const PetscInt uOff[], const PetscScalar u[], const PetscInt aOff[], const PetscScalar a[], PetscScalar f[], void *ctx)
 

Public Member Functions

 CellInterpolant (std::shared_ptr< ablate::domain::SubDomain > subDomain, const std::shared_ptr< domain::Region > &solverRegion, Vec faceGeomVec, Vec cellGeomVec)
 
void ComputeRHS (PetscReal time, Vec locXVec, Vec locAuxVec, Vec locFVec, const std::shared_ptr< domain::Region > &solverRegion, std::vector< CellInterpolant::DiscontinuousFluxFunctionDescription > &rhsFunctions, const ablate::domain::Range &faceRange, const ablate::domain::Range &cellRange, Vec cellGeomVec, Vec faceGeomVec)
 
void ComputeRHS (PetscReal time, Vec locXVec, Vec locAuxVec, Vec locFVec, const std::shared_ptr< domain::Region > &solverRegion, std::vector< CellInterpolant::PointFunctionDescription > &rhsFunctions, const ablate::domain::Range &cellRange, Vec cellGeomVec)
 

Member Typedef Documentation

◆ DiscontinuousFluxFunction

using ablate::finiteVolume::CellInterpolant::DiscontinuousFluxFunction = PetscErrorCode (*)(PetscInt dim, const PetscFVFaceGeom* fg, const PetscInt uOff[], const PetscScalar fieldL[], const PetscScalar fieldR[], const PetscInt aOff[], const PetscScalar auxL[], const PetscScalar auxR[], PetscScalar flux[], void* ctx)

Function assumes that the left/right solution and aux variables are discontinuous across the interface

◆ PointFunction

using ablate::finiteVolume::CellInterpolant::PointFunction = PetscErrorCode (*)(PetscInt dim, PetscReal time, const PetscFVCellGeom* cg, const PetscInt uOff[], const PetscScalar u[], const PetscInt aOff[], const PetscScalar a[], PetscScalar f[], void* ctx)

Functions that operates on entire cell value.

Constructor & Destructor Documentation

◆ CellInterpolant()

ablate::finiteVolume::CellInterpolant::CellInterpolant ( std::shared_ptr< ablate::domain::SubDomain subDomain,
const std::shared_ptr< domain::Region > &  solverRegion,
Vec  faceGeomVec,
Vec  cellGeomVec 
)

Create an instance of the cell interpolant for the current solver region

Parameters
subDomain
solverRegion
faceGeomVec
cellGeomVec

Member Function Documentation

◆ ComputeRHS() [1/2]

void ablate::finiteVolume::CellInterpolant::ComputeRHS ( PetscReal  time,
Vec  locXVec,
Vec  locAuxVec,
Vec  locFVec,
const std::shared_ptr< domain::Region > &  solverRegion,
std::vector< CellInterpolant::DiscontinuousFluxFunctionDescription > &  rhsFunctions,
const ablate::domain::Range faceRange,
const ablate::domain::Range cellRange,
Vec  cellGeomVec,
Vec  faceGeomVec 
)

Adds in contributions for face based rhs functions

Parameters
time
locXVec
locFVec

◆ ComputeRHS() [2/2]

void ablate::finiteVolume::CellInterpolant::ComputeRHS ( PetscReal  time,
Vec  locXVec,
Vec  locAuxVec,
Vec  locFVec,
const std::shared_ptr< domain::Region > &  solverRegion,
std::vector< CellInterpolant::PointFunctionDescription > &  rhsFunctions,
const ablate::domain::Range cellRange,
Vec  cellGeomVec 
)

Adds in contributions for face based rhs point cell functions

Parameters
time
locXVec
locFVec

The documentation for this class was generated from the following files: