Jet  v1.3.3
apic_solver2.h
Go to the documentation of this file.
1 // Copyright (c) 2018 Doyub Kim
2 //
3 // I am making my contributions/submissions to this project solely in my
4 // personal capacity and am not conveying any rights to any intellectual
5 // property of any third parties.
6 
7 #ifndef INCLUDE_JET_APIC_SOLVER2_H_
8 #define INCLUDE_JET_APIC_SOLVER2_H_
9 
10 #include <jet/pic_solver2.h>
11 
12 namespace jet {
13 
23 class ApicSolver2 : public PicSolver2 {
24  public:
25  class Builder;
26 
29 
32  const Size2& resolution,
33  const Vector2D& gridSpacing,
34  const Vector2D& gridOrigin);
35 
37  virtual ~ApicSolver2();
38 
40  static Builder builder();
41 
42  protected:
45 
48 
49  private:
50  Array1<Vector2D> _cX;
51  Array1<Vector2D> _cY;
52 };
53 
55 typedef std::shared_ptr<ApicSolver2> ApicSolver2Ptr;
56 
57 
62  : public GridFluidSolverBuilderBase2<ApicSolver2::Builder> {
63  public:
65  ApicSolver2 build() const;
66 
69 };
70 
71 } // namespace jet
72 
73 #endif // INCLUDE_JET_APIC_SOLVER2_H_
jet::ApicSolver2::ApicSolver2
ApicSolver2()
Default constructor.
jet::Array< T, 1 >
1-D array class.
Definition: array1.h:31
jet::GridFluidSolver2::gridSpacing
Vector2D gridSpacing() const
Returns the grid spacing of the grid system data.
jet::ApicSolver2::Builder
Front-end to create ApicSolver2 objects step by step.
Definition: apic_solver2.h:62
pic_solver2.h
jet::PicSolver2
2-D Particle-in-Cell (PIC) implementation.
Definition: pic_solver2.h:26
jet::GridFluidSolver2::gridOrigin
Vector2D gridOrigin() const
Returns the origin of the grid system data.
jet::ApicSolver2::~ApicSolver2
virtual ~ApicSolver2()
Default destructor.
jet::ApicSolver2::transferFromGridsToParticles
void transferFromGridsToParticles() override
Transfers velocity field from grids to particles.
jet::ApicSolver2::transferFromParticlesToGrids
void transferFromParticlesToGrids() override
Transfers velocity field from particles to grids.
jet
Definition: advection_solver2.h:18
jet::Vector< T, 2 >
2-D vector class.
Definition: vector2.h:24
jet::ApicSolver2::Builder::build
ApicSolver2 build() const
Builds ApicSolver2.
jet::ApicSolver2::ApicSolver2
ApicSolver2(const Size2 &resolution, const Vector2D &gridSpacing, const Vector2D &gridOrigin)
Constructs solver with initial grid size.
jet::Size2
2-D size class.
Definition: size2.h:19
jet::ApicSolver2::Builder::makeShared
ApicSolver2Ptr makeShared() const
Builds shared pointer of ApicSolver2 instance.
jet::ApicSolver2::builder
static Builder builder()
Returns builder fox ApicSolver2.
jet::ApicSolver2
2-D Affine Particle-in-Cell (APIC) implementation
Definition: apic_solver2.h:23
jet::ApicSolver2Ptr
std::shared_ptr< ApicSolver2 > ApicSolver2Ptr
Shared pointer type for the ApicSolver2.
Definition: apic_solver2.h:55
jet::GridFluidSolver2::resolution
Size2 resolution() const
Returns the resolution of the grid system data.
jet::GridFluidSolverBuilderBase2
Base class for grid-based fluid solver builder.
Definition: grid_fluid_solver2.h:300