Go to the documentation of this file.
7 #ifndef INCLUDE_JET_GRID_BACKWARD_EULER_DIFFUSION_SOLVER3_H_
8 #define INCLUDE_JET_GRID_BACKWARD_EULER_DIFFUSION_SOLVER3_H_
52 double diffusionCoefficient,
53 double timeIntervalInSeconds,
72 double diffusionCoefficient,
73 double timeIntervalInSeconds,
92 double diffusionCoefficient,
93 double timeIntervalInSeconds,
111 const std::function<
Vector3D(
size_t,
size_t,
size_t)>& pos,
130 typedef std::shared_ptr<GridBackwardEulerDiffusionSolver3>
135 #endif // INCLUDE_JET_GRID_BACKWARD_EULER_DIFFUSION_SOLVER3_H_
3-D read-only array accessor class.
Definition: array_accessor3.h:270
3-D grid-based backward Euler diffusion solver.
Definition: grid_backward_euler_diffusion_solver3.h:29
Abstract base class for 3-D scalar field.
Definition: scalar_field3.h:18
void solve(const FaceCenteredGrid3 &source, double diffusionCoefficient, double timeIntervalInSeconds, FaceCenteredGrid3 *dest, const ScalarField3 &boundarySdf=ConstantScalarField3(kMaxD), const ScalarField3 &fluidSdf=ConstantScalarField3(-kMaxD)) override
void solve(const ScalarGrid3 &source, double diffusionCoefficient, double timeIntervalInSeconds, ScalarGrid3 *dest, const ScalarField3 &boundarySdf=ConstantScalarField3(kMaxD), const ScalarField3 &fluidSdf=ConstantScalarField3(-kMaxD)) override
@ Dirichlet
Definition: grid_backward_euler_diffusion_solver3.h:32
Abstract base class for 3-D collocated vector grid structure.
Definition: collocated_vector_grid3.h:18
void solve(const CollocatedVectorGrid3 &source, double diffusionCoefficient, double timeIntervalInSeconds, CollocatedVectorGrid3 *dest, const ScalarField3 &boundarySdf=ConstantScalarField3(kMaxD), const ScalarField3 &fluidSdf=ConstantScalarField3(-kMaxD)) override
Definition: advection_solver2.h:18
Abstract base class for 3-D grid-based diffusion equation solver.
Definition: grid_diffusion_solver3.h:30
GridBackwardEulerDiffusionSolver3(BoundaryType boundaryType=Neumann)
Constructs the solver with given boundary type.
3-D face-centered (a.k.a MAC or staggered) grid.
Definition: face_centered_grid3.h:26
3-D constant scalar field.
Definition: constant_scalar_field3.h:15
BoundaryType
Definition: grid_backward_euler_diffusion_solver3.h:31
3-D size class.
Definition: size3.h:19
constexpr double kMaxD
Max double.
Definition: constants.h:88
Linear system (Ax=b) for 3-D finite differencing.
Definition: fdm_linear_system3.h:39
Abstract base class for 3-D scalar grid structure.
Definition: scalar_grid3.h:21
Vector3< double > Vector3D
Double-type 3D vector.
Definition: vector3.h:349
@ Neumann
Definition: grid_backward_euler_diffusion_solver3.h:33
void setLinearSystemSolver(const FdmLinearSystemSolver3Ptr &solver)
Sets the linear system solver for this diffusion solver.
3-D vector class.
Definition: vector3.h:25
3-D array class.
Definition: array3.h:43
std::shared_ptr< FdmLinearSystemSolver3 > FdmLinearSystemSolver3Ptr
Shared pointer type for the FdmLinearSystemSolver3.
Definition: fdm_linear_system_solver3.h:31
std::shared_ptr< GridBackwardEulerDiffusionSolver3 > GridBackwardEulerDiffusionSolver3Ptr
Shared pointer type for the GridBackwardEulerDiffusionSolver3.
Definition: grid_backward_euler_diffusion_solver3.h:131