Abstract base class for 2-D grid-based diffusion equation solver. More...
#include <Core/Solver/Grid/GridDiffusionSolver2.hpp>
Public Member Functions | |
GridDiffusionSolver2 ()=default | |
Default constructor. More... | |
GridDiffusionSolver2 (const GridDiffusionSolver2 &)=delete | |
Deleted copy constructor. More... | |
GridDiffusionSolver2 (GridDiffusionSolver2 &&) noexcept=delete | |
Deleted move constructor. More... | |
virtual | ~GridDiffusionSolver2 ()=default |
Default virtual destructor. More... | |
GridDiffusionSolver2 & | operator= (const GridDiffusionSolver2 &)=delete |
Deleted copy assignment operator. More... | |
GridDiffusionSolver2 & | operator= (GridDiffusionSolver2 &&) noexcept=delete |
Deleted move assignment operator. More... | |
virtual void | Solve (const ScalarGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, ScalarGrid2 *dest, const ScalarField2 &boundarySDF=ConstantScalarField2{ std::numeric_limits< double >::max() }, const ScalarField2 &fluidSDF=ConstantScalarField2{ -std::numeric_limits< double >::max() })=0 |
virtual void | Solve (const CollocatedVectorGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, CollocatedVectorGrid2 *dest, const ScalarField2 &boundarySDF=ConstantScalarField2{ std::numeric_limits< double >::max() }, const ScalarField2 &fluidSDF=ConstantScalarField2{ -std::numeric_limits< double >::max() })=0 |
virtual void | Solve (const FaceCenteredGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, FaceCenteredGrid2 *dest, const ScalarField2 &boundarySDF=ConstantScalarField2{ std::numeric_limits< double >::max() }, const ScalarField2 &fluidSDF=ConstantScalarField2{ -std::numeric_limits< double >::max() })=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 where is the diffusion coefficient. The field can be either scalar or vector field.
Constructor & Destructor Documentation
◆ GridDiffusionSolver2() [1/3]
|
default |
Default constructor.
◆ GridDiffusionSolver2() [2/3]
|
delete |
Deleted copy constructor.
◆ GridDiffusionSolver2() [3/3]
|
deletenoexcept |
Deleted move constructor.
◆ ~GridDiffusionSolver2()
|
virtualdefault |
Default virtual destructor.
Member Function Documentation
◆ operator=() [1/2]
|
delete |
Deleted copy assignment operator.
◆ operator=() [2/2]
|
deletenoexcept |
Deleted move assignment operator.
◆ Solve() [1/3]
|
pure virtual |
Solves diffusion equation for a scalar field.
- Parameters
-
source Input scalar field. diffusionCoefficient Amount of diffusion. timeIntervalInSeconds Small time-interval that diffusion occur. dest Output scalar field. boundarySDF Shape of the solid boundary that is empty by default. fluidSDF Shape of the fluid boundary that is full by default.
Implemented in CubbyFlow::GridBackwardEulerDiffusionSolver2, and CubbyFlow::GridForwardEulerDiffusionSolver2.
◆ Solve() [2/3]
|
pure virtual |
Solves diffusion equation for a collocated vector field.
- Parameters
-
source Input collocated vector field. diffusionCoefficient Amount of diffusion. timeIntervalInSeconds Small time-interval that diffusion occur. dest Output collocated vector field. boundarySDF Shape of the solid boundary that is empty by default. fluidSDF Shape of the fluid boundary that is full by default.
Implemented in CubbyFlow::GridBackwardEulerDiffusionSolver2, and CubbyFlow::GridForwardEulerDiffusionSolver2.
◆ Solve() [3/3]
|
pure virtual |
Solves diffusion equation for a face-centered vector field.
- Parameters
-
source Input face-centered vector field. diffusionCoefficient Amount of diffusion. timeIntervalInSeconds Small time-interval that diffusion occur. dest Output face-centered vector field. boundarySDF Shape of the solid boundary that is empty by default. fluidSDF Shape of the fluid boundary that is full by default.
Implemented in CubbyFlow::GridBackwardEulerDiffusionSolver2, and CubbyFlow::GridForwardEulerDiffusionSolver2.
The documentation for this class was generated from the following file:
- Core/Solver/Grid/GridDiffusionSolver2.hpp