|
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 |
Public Member Functions inherited from jet::GridDiffusionSolver2 | |
| 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.
1.8.18