Jet  v1.3.3
apic_solver3.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_SOLVER3_H_
8 #define INCLUDE_JET_APIC_SOLVER3_H_
9 
10 #include <jet/pic_solver3.h>
11 
12 namespace jet {
13 
23 class ApicSolver3 : public PicSolver3 {
24  public:
25  class Builder;
26 
29 
32  const Size3& resolution,
33  const Vector3D& gridSpacing,
34  const Vector3D& gridOrigin);
35 
37  virtual ~ApicSolver3();
38 
40  static Builder builder();
41 
42  protected:
45 
48 
49  private:
50  Array1<Vector3D> _cX;
51  Array1<Vector3D> _cY;
52  Array1<Vector3D> _cZ;
53 };
54 
56 typedef std::shared_ptr<ApicSolver3> ApicSolver3Ptr;
57 
58 
63  : public GridFluidSolverBuilderBase3<ApicSolver3::Builder> {
64  public:
66  ApicSolver3 build() const;
67 
70 };
71 
72 } // namespace jet
73 
74 #endif // INCLUDE_JET_APIC_SOLVER3_H_
jet::Array< T, 1 >
1-D array class.
Definition: array1.h:31
jet::GridFluidSolver3::resolution
Size3 resolution() const
Returns the resolution of the grid system data.
jet::ApicSolver3::ApicSolver3
ApicSolver3(const Size3 &resolution, const Vector3D &gridSpacing, const Vector3D &gridOrigin)
Constructs solver with initial grid size.
jet::ApicSolver3::builder
static Builder builder()
Returns builder fox ApicSolver3.
jet::ApicSolver3::ApicSolver3
ApicSolver3()
Default constructor.
jet
Definition: advection_solver2.h:18
jet::GridFluidSolver3::gridSpacing
Vector3D gridSpacing() const
Returns the grid spacing of the grid system data.
jet::GridFluidSolverBuilderBase3
Base class for grid-based fluid solver builder.
Definition: grid_fluid_solver3.h:300
jet::ApicSolver3::Builder::build
ApicSolver3 build() const
Builds ApicSolver3.
jet::ApicSolver3::Builder
Front-end to create ApicSolver3 objects step by step.
Definition: apic_solver3.h:63
jet::Size3
3-D size class.
Definition: size3.h:19
jet::ApicSolver3::Builder::makeShared
ApicSolver3Ptr makeShared() const
Builds shared pointer of ApicSolver3 instance.
jet::GridFluidSolver3::gridOrigin
Vector3D gridOrigin() const
Returns the origin of the grid system data.
jet::ApicSolver3::~ApicSolver3
virtual ~ApicSolver3()
Default destructor.
jet::PicSolver3
3-D Particle-in-Cell (PIC) implementation.
Definition: pic_solver3.h:26
jet::ApicSolver3
3-D Affine Particle-in-Cell (APIC) implementation
Definition: apic_solver3.h:23
jet::Vector< T, 3 >
3-D vector class.
Definition: vector3.h:25
jet::ApicSolver3::transferFromGridsToParticles
void transferFromGridsToParticles() override
Transfers velocity field from grids to particles.
jet::ApicSolver3Ptr
std::shared_ptr< ApicSolver3 > ApicSolver3Ptr
Shared pointer type for the ApicSolver3.
Definition: apic_solver3.h:56
pic_solver3.h
jet::ApicSolver3::transferFromParticlesToGrids
void transferFromParticlesToGrids() override
Transfers velocity field from particles to grids.