Jet
v1.3.3
|
2-D grid-based forward Euler diffusion solver. More...
#include <jet/grid_forward_euler_diffusion_solver2.h>
Public Member Functions | |
GridForwardEulerDiffusionSolver2 () | |
Default constructor. More... | |
void | solve (const ScalarGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, ScalarGrid2 *dest, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD), const ScalarField2 &fluidSdf=ConstantScalarField2(-kMaxD)) override |
void | solve (const CollocatedVectorGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, CollocatedVectorGrid2 *dest, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD), const ScalarField2 &fluidSdf=ConstantScalarField2(-kMaxD)) override |
void | solve (const FaceCenteredGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, FaceCenteredGrid2 *dest, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD), const ScalarField2 &fluidSdf=ConstantScalarField2(-kMaxD)) override |
![]() | |
GridDiffusionSolver2 () | |
Default constructor. More... | |
virtual | ~GridDiffusionSolver2 () |
Default destructor. More... | |
2-D grid-based forward Euler diffusion solver.
This class implements 2-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::GridForwardEulerDiffusionSolver2::GridForwardEulerDiffusionSolver2 | ( | ) |
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::GridDiffusionSolver2.
|
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::GridDiffusionSolver2.
|
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::GridDiffusionSolver2.