SPHinXsys  alpha version
fluid_body.h
Go to the documentation of this file.
1 /* -----------------------------------------------------------------------------*
2  * SPHinXsys *
3  * -----------------------------------------------------------------------------*
4  * SPHinXsys (pronunciation: s'finksis) is an acronym from Smoothed Particle *
5  * Hydrodynamics for industrial compleX systems. It provides C++ APIs for *
6  * physical accurate simulation and aims to model coupled industrial dynamic *
7  * systems including fluid, solid, multi-body dynamics and beyond with SPH *
8  * (smoothed particle hydrodynamics), a meshless computational method using *
9  * particle discretization. *
10  * *
11  * SPHinXsys is partially funded by German Research Foundation *
12  * (Deutsche Forschungsgemeinschaft) DFG HU1527/6-1, HU1527/10-1, *
13  * HU1527/12-1 and HU1527/12-4. *
14  * *
15  * Portions copyright (c) 2017-2022 Technical University of Munich and *
16  * the authors' affiliations. *
17  * *
18  * Licensed under the Apache License, Version 2.0 (the "License"); you may *
19  * not use this file except in compliance with the License. You may obtain a *
20  * copy of the License at http://www.apache.org/licenses/LICENSE-2.0. *
21  * *
22  * -----------------------------------------------------------------------------*/
29 #ifndef FLUID_BODY_H
30 #define FLUID_BODY_H
31 
32 
33 
34 #include "base_body.h"
35 
36 namespace SPH {
37  class SPHSystem;
43  class FluidBody : public RealBody
44  {
45  public:
46  explicit FluidBody(SPHSystem &system, SharedPtr<Shape> shape_ptr);
47  virtual ~FluidBody() {};
48 
50  virtual void updateCellLinkedList() override;
51  virtual FluidBody* ThisObjectPtr() override {return this;};
52  protected:
53  size_t iteration_count_;
54  };
55 
60  class EulerianFluidBody : public RealBody
61  {
62  public:
63  explicit EulerianFluidBody(SPHSystem &system, SharedPtr<Shape> shape_ptr);
64  virtual ~EulerianFluidBody() {};
65 
66  virtual EulerianFluidBody* ThisObjectPtr() override { return this; };
67  };
68 }
69 #endif //FLUID_BODY_H
Fluid body uses smoothing length to particle spacing 1.3 and carry out particle sorting every 100 ite...
Definition: fluid_body.h:43
virtual void updateCellLinkedList() override
Definition: fluid_body.cpp:18
This is the base classes of SPH bodies. The real body is for that with cell linked list and the ficti...
Eulerian Fluid body uses smoothing length to particle spacing 1.3.
Definition: fluid_body.h:60
The SPH system managing objects in the system level.
Definition: sph_system.h:46
Derived body with inner particle configuration or inner interactions. After construction, the particle and material must be specified.
Definition: base_body.h:182
Definition: solid_body_supplementary.cpp:9