GridDiffusionSolver3 ()=default
Default constructor.
GridDiffusionSolver3 (const GridDiffusionSolver3 &)=delete
Deleted copy constructor.
GridDiffusionSolver3 (GridDiffusionSolver3 &&) noexcept =delete
Deleted move constructor.
virtual ~GridDiffusionSolver3 ()=default
Default virtual destructor.
GridDiffusionSolver3 & operator= (const GridDiffusionSolver3 &)=delete
Deleted copy assignment operator.
GridDiffusionSolver3 & operator= (GridDiffusionSolver3 &&) noexcept =delete
Deleted move assignment operator.
virtual void Solve (const ScalarGrid3 &source , double diffusionCoefficient , double timeIntervalInSeconds, ScalarGrid3 *dest , const ScalarField3 &boundarySDF =ConstantScalarField3 { std::numeric_limits< double >::max () }, const ScalarField3 &fluidSDF =ConstantScalarField3 { -std::numeric_limits< double >::max () })=0
virtual void Solve (const CollocatedVectorGrid3 &source , double diffusionCoefficient , double timeIntervalInSeconds, CollocatedVectorGrid3 *dest , const ScalarField3 &boundarySDF =ConstantScalarField3 { std::numeric_limits< double >::max () }, const ScalarField3 &fluidSDF =ConstantScalarField3 { -std::numeric_limits< double >::max () })=0
virtual void Solve (const FaceCenteredGrid3 &source , double diffusionCoefficient , double timeIntervalInSeconds, FaceCenteredGrid3 *dest , const ScalarField3 &boundarySDF =ConstantScalarField3 { std::numeric_limits< double >::max () }, const ScalarField3 &fluidSDF =ConstantScalarField3 { -std::numeric_limits< double >::max () })=0
Abstract base class for 3-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.