Jet  v1.3.3
Public Member Functions | List of all members
jet::GridDiffusionSolver2 Class Referenceabstract

Abstract base class for 2-D grid-based diffusion equation solver. More...

#include <jet/grid_diffusion_solver2.h>

Inheritance diagram for jet::GridDiffusionSolver2:
jet::GridBackwardEulerDiffusionSolver2 jet::GridForwardEulerDiffusionSolver2

Public Member Functions

 GridDiffusionSolver2 ()
 Default constructor. More...
 
virtual ~GridDiffusionSolver2 ()
 Default destructor. More...
 
virtual void solve (const ScalarGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, ScalarGrid2 *dest, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD), const ScalarField2 &fluidSdf=ConstantScalarField2(-kMaxD))=0
 
virtual void solve (const CollocatedVectorGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, CollocatedVectorGrid2 *dest, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD), const ScalarField2 &fluidSdf=ConstantScalarField2(-kMaxD))=0
 
virtual void solve (const FaceCenteredGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, FaceCenteredGrid2 *dest, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD), const ScalarField2 &fluidSdf=ConstantScalarField2(-kMaxD))=0
 

Detailed Description

Abstract base class for 2-D grid-based diffusion equation solver.

This class provides functions to solve the diffusion equation for different types of fields. The target equation can be written as $\frac{\partial f}{\partial t} = \mu\nabla^2 f$ where $\mu$ is the diffusion coefficient. The field $f$ can be either scalar or vector field.

Constructor & Destructor Documentation

◆ GridDiffusionSolver2()

jet::GridDiffusionSolver2::GridDiffusionSolver2 ( )

Default constructor.

◆ ~GridDiffusionSolver2()

virtual jet::GridDiffusionSolver2::~GridDiffusionSolver2 ( )
virtual

Default destructor.

Member Function Documentation

◆ solve() [1/3]

virtual void jet::GridDiffusionSolver2::solve ( const CollocatedVectorGrid2 source,
double  diffusionCoefficient,
double  timeIntervalInSeconds,
CollocatedVectorGrid2 dest,
const ScalarField2 boundarySdf = ConstantScalarField2(kMaxD),
const ScalarField2 fluidSdf = ConstantScalarField2(-kMaxD) 
)
pure virtual

Solves diffusion equation for a collocated vector field.

Parameters
sourceInput collocated vector field.
diffusionCoefficientAmount of diffusion.
timeIntervalInSecondsSmall time-interval that diffusion occur.
destOutput collocated vector field.
boundarySdfShape of the solid boundary that is empty by default.
boundarySdfShape of the fluid boundary that is full by default.

Implemented in jet::GridBackwardEulerDiffusionSolver2, and jet::GridForwardEulerDiffusionSolver2.

◆ solve() [2/3]

virtual void jet::GridDiffusionSolver2::solve ( const FaceCenteredGrid2 source,
double  diffusionCoefficient,
double  timeIntervalInSeconds,
FaceCenteredGrid2 dest,
const ScalarField2 boundarySdf = ConstantScalarField2(kMaxD),
const ScalarField2 fluidSdf = ConstantScalarField2(-kMaxD) 
)
pure virtual

Solves diffusion equation for a face-centered vector field.

Parameters
sourceInput face-centered vector field.
diffusionCoefficientAmount of diffusion.
timeIntervalInSecondsSmall time-interval that diffusion occur.
destOutput face-centered vector field.
boundarySdfShape of the solid boundary that is empty by default.
boundarySdfShape of the fluid boundary that is full by default.

Implemented in jet::GridBackwardEulerDiffusionSolver2, and jet::GridForwardEulerDiffusionSolver2.

◆ solve() [3/3]

virtual void jet::GridDiffusionSolver2::solve ( const ScalarGrid2 source,
double  diffusionCoefficient,
double  timeIntervalInSeconds,
ScalarGrid2 dest,
const ScalarField2 boundarySdf = ConstantScalarField2(kMaxD),
const ScalarField2 fluidSdf = ConstantScalarField2(-kMaxD) 
)
pure virtual

Solves diffusion equation for a scalar field.

Parameters
sourceInput scalar field.
diffusionCoefficientAmount of diffusion.
timeIntervalInSecondsSmall time-interval that diffusion occur.
destOutput scalar field.
boundarySdfShape of the solid boundary that is empty by default.
boundarySdfShape of the fluid boundary that is full by default.

Implemented in jet::GridBackwardEulerDiffusionSolver2, and jet::GridForwardEulerDiffusionSolver2.


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