Go to the documentation of this file.
7 #ifndef INCLUDE_JET_GRID_BACKWARD_EULER_DIFFUSION_SOLVER2_H_
8 #define INCLUDE_JET_GRID_BACKWARD_EULER_DIFFUSION_SOLVER2_H_
52 double diffusionCoefficient,
53 double timeIntervalInSeconds,
72 double diffusionCoefficient,
73 double timeIntervalInSeconds,
92 double diffusionCoefficient,
93 double timeIntervalInSeconds,
111 const std::function<
Vector2D(
size_t,
size_t)>& pos,
130 typedef std::shared_ptr<GridBackwardEulerDiffusionSolver2>
135 #endif // INCLUDE_JET_GRID_BACKWARD_EULER_DIFFUSION_SOLVER2_H_
Abstract base class for 2-D grid-based diffusion equation solver.
Definition: grid_diffusion_solver2.h:29
Linear system (Ax=b) for 2-D finite differencing.
Definition: fdm_linear_system2.h:36
std::shared_ptr< FdmLinearSystemSolver2 > FdmLinearSystemSolver2Ptr
Shared pointer type for the FdmLinearSystemSolver2.
Definition: fdm_linear_system_solver2.h:31
Vector2< double > Vector2D
Double-type 2D vector.
Definition: vector2.h:340
void solve(const CollocatedVectorGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, CollocatedVectorGrid2 *dest, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD), const ScalarField2 &fluidSdf=ConstantScalarField2(-kMaxD)) override
Abstract base class for 2-D scalar field.
Definition: scalar_field2.h:18
void solve(const FaceCenteredGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, FaceCenteredGrid2 *dest, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD), const ScalarField2 &fluidSdf=ConstantScalarField2(-kMaxD)) override
2-D face-centered (a.k.a MAC or staggered) grid.
Definition: face_centered_grid2.h:26
2-D array class.
Definition: array2.h:42
BoundaryType
Definition: grid_backward_euler_diffusion_solver2.h:31
Definition: advection_solver2.h:18
2-D read-only array accessor class.
Definition: array_accessor2.h:261
Abstract base class for 2-D scalar grid structure.
Definition: scalar_grid2.h:21
@ Neumann
Definition: grid_backward_euler_diffusion_solver2.h:33
2-D constant scalar field.
Definition: constant_scalar_field2.h:15
2-D vector class.
Definition: vector2.h:24
Abstract base class for 2-D collocated vector grid structure.
Definition: collocated_vector_grid2.h:18
void setLinearSystemSolver(const FdmLinearSystemSolver2Ptr &solver)
Sets the linear system solver for this diffusion solver.
std::shared_ptr< GridBackwardEulerDiffusionSolver2 > GridBackwardEulerDiffusionSolver2Ptr
Shared pointer type for the GridBackwardEulerDiffusionSolver2.
Definition: grid_backward_euler_diffusion_solver2.h:131
constexpr double kMaxD
Max double.
Definition: constants.h:88
2-D size class.
Definition: size2.h:19
GridBackwardEulerDiffusionSolver2(BoundaryType boundaryType=Neumann)
Constructs the solver with given boundary type.
2-D grid-based backward Euler diffusion solver.
Definition: grid_backward_euler_diffusion_solver2.h:29
void solve(const ScalarGrid2 &source, double diffusionCoefficient, double timeIntervalInSeconds, ScalarGrid2 *dest, const ScalarField2 &boundarySdf=ConstantScalarField2(kMaxD), const ScalarField2 &fluidSdf=ConstantScalarField2(-kMaxD)) override
@ Dirichlet
Definition: grid_backward_euler_diffusion_solver2.h:32