ABLATE Source Documentation  0.12.34
ablate::finiteVolume::FaceInterpolant Class Reference

Classes

struct  ContinuousFluxFunctionDescription
 

Public Types

using ContinuousFluxFunction = PetscErrorCode(*)(PetscInt dim, const PetscFVFaceGeom *fg, const PetscInt uOff[], const PetscInt uOff_x[], const PetscScalar field[], const PetscScalar grad[], const PetscInt aOff[], const PetscInt aOff_x[], const PetscScalar aux[], const PetscScalar gradAux[], PetscScalar flux[], void *ctx)
 

Public Member Functions

 FaceInterpolant (const 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< FaceInterpolant::ContinuousFluxFunctionDescription > &rhsFunctions, const ablate::domain::Range &faceRange, Vec cellGeomVec, Vec faceGeomVec)
 
void GetInterpolatedFaceVectors (Vec solutionVec, Vec auxVec, Vec &faceSolutionVec, Vec &faceAuxVec, Vec &faceSolutionGradVec, Vec &faceAuxGradVec)
 
void RestoreInterpolatedFaceVectors (Vec solutionVec, Vec auxVec, Vec &faceSolutionVec, Vec &faceAuxVec, Vec &faceSolutionGradVec, Vec &faceAuxGradVec)
 

Member Typedef Documentation

◆ ContinuousFluxFunction

using ablate::finiteVolume::FaceInterpolant::ContinuousFluxFunction = PetscErrorCode (*)(PetscInt dim, const PetscFVFaceGeom* fg, const PetscInt uOff[], const PetscInt uOff_x[], const PetscScalar field[], const PetscScalar grad[], const PetscInt aOff[], const PetscInt aOff_x[], const PetscScalar aux[], const PetscScalar gradAux[], PetscScalar flux[], void* ctx)

Function assumes that the left/right solution and aux variables are continuous across the interface and values are interpolated to the face

Constructor & Destructor Documentation

◆ FaceInterpolant()

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

Member Function Documentation

◆ ComputeRHS()

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

Adds in contributions for face based rhs functions

Parameters
time
locXVec
locFVec

◆ GetInterpolatedFaceVectors()

void ablate::finiteVolume::FaceInterpolant::GetInterpolatedFaceVectors ( Vec  solutionVec,
Vec  auxVec,
Vec &  faceSolutionVec,
Vec &  faceAuxVec,
Vec &  faceSolutionGradVec,
Vec &  faceAuxGradVec 
)

function to get the interpolated values on the face

Parameters
solutionVec
auxVec
faceSolutionVec
faceAuxVec
faceSolutionGradVec
faceAuxGradVec

◆ RestoreInterpolatedFaceVectors()

void ablate::finiteVolume::FaceInterpolant::RestoreInterpolatedFaceVectors ( Vec  solutionVec,
Vec  auxVec,
Vec &  faceSolutionVec,
Vec &  faceAuxVec,
Vec &  faceSolutionGradVec,
Vec &  faceAuxGradVec 
)

function to return the interpolated values on the face

Parameters
solutionVec
auxVec
faceSolutionVec
faceAuxVec
faceSolutionGradVec
faceAuxGradVec

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