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