Jet
v1.3.3
|
3-D grid-based forward Euler diffusion solver. More...
#include <jet/grid_forward_euler_diffusion_solver3.h>
Public Member Functions | |
GridForwardEulerDiffusionSolver3 () | |
Default constructor. More... | |
void | solve (const ScalarGrid3 &source, double diffusionCoefficient, double timeIntervalInSeconds, ScalarGrid3 *dest, const ScalarField3 &boundarySdf=ConstantScalarField3(kMaxD), const ScalarField3 &fluidSdf=ConstantScalarField3(-kMaxD)) override |
void | solve (const CollocatedVectorGrid3 &source, double diffusionCoefficient, double timeIntervalInSeconds, CollocatedVectorGrid3 *dest, const ScalarField3 &boundarySdf=ConstantScalarField3(kMaxD), const ScalarField3 &fluidSdf=ConstantScalarField3(-kMaxD)) override |
void | solve (const FaceCenteredGrid3 &source, double diffusionCoefficient, double timeIntervalInSeconds, FaceCenteredGrid3 *dest, const ScalarField3 &boundarySdf=ConstantScalarField3(kMaxD), const ScalarField3 &fluidSdf=ConstantScalarField3(-kMaxD)) override |
![]() | |
GridDiffusionSolver3 () | |
Default constructor. More... | |
virtual | ~GridDiffusionSolver3 () |
Default destructor. More... | |
3-D grid-based forward Euler diffusion solver.
This class implements 3-D grid-based forward Euler diffusion solver using second-order central differencing spatially. Since the method is relying on explicit time-integration (i.e. forward Euler), the diffusion coefficient is limited by the time interval and grid spacing such as: where
,
, and
are the diffusion coefficient, grid spacing, and time interval, respectively.
jet::GridForwardEulerDiffusionSolver3::GridForwardEulerDiffusionSolver3 | ( | ) |
Default constructor.
|
overridevirtual |
Solves diffusion equation for a collocated vector field.
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. |
Implements jet::GridDiffusionSolver3.
|
overridevirtual |
Solves diffusion equation for a face-centered vector field.
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. |
Implements jet::GridDiffusionSolver3.
|
overridevirtual |
Solves diffusion equation for a scalar field.
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. |
Implements jet::GridDiffusionSolver3.