30 #ifndef FLUID_BOUNDARY_H 31 #define FLUID_BOUNDARY_H 37 namespace fluid_dynamics
59 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
76 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
97 virtual void Update(
size_t index_particle_i, Real dt = 0.0)
override;
118 Transformd &updated_transform_, old_transform_;
122 virtual Vecd getTargetVelocity(Vecd &position, Vecd &velocity) = 0;
124 virtual void Update(
size_t unsorted_index_i, Real dt = 0.0)
override;
135 size_t body_buffer_width,
int axis_direction,
bool positive);
146 size_t body_buffer_width_;
153 virtual void Update(
size_t unsorted_index_i, Real dt = 0.0)
override 155 checking_bound_(unsorted_index_i, dt);
170 Real rho0_, inv_sigma0_;
175 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
194 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
213 virtual void Update(
size_t index_i, Real dt = 0.0)
override;
233 #endif // FLUID_BOUNDARY_H
Fluid body uses smoothing length to particle spacing 1.3 and carry out particle sorting every 100 ite...
Definition: fluid_body.h:43
A body part with a collection of cell lists.
Definition: base_body_part.h:100
const int axis_
Definition: fluid_boundary.h:145
Here, we define the algorithm classes for fluid dynamics within the body.
Flow buffer in which the particles relaxes to a given target velocity profile. This technique will be...
Definition: fluid_boundary.h:45
static confinement condition for density summation
Definition: fluid_boundary.h:163
Abstract class for body part simple particle dynamics.
Definition: particle_dynamics_bodypart.h:70
damping boundary condition which relaxes the particles to zero velocity profile. TODO: one can using ...
Definition: fluid_boundary.h:86
A body part with the cell lists within a prescribed shape.
Definition: base_body_part.h:168
virtual void parallel_exec(Real dt=0.0) override
Definition: fluid_boundary.h:139
static confinement condition for density relaxation
Definition: fluid_boundary.h:201
Used to describe a bounding box in which the plane vertical to axis direction is aligned to a planar ...
Definition: complex_shape.h:68
A shape using level set to define geometry.
Definition: level_set_shape.h:46
A body part with the cell lists near the surface of a prescribed shape.
Definition: base_body_part.h:187
Inject particles into the computational domain.
Definition: fluid_boundary.h:131
A template body part with the collection of particles within by an AlignedBoxShape.
Definition: base_body_part.h:213
virtual void exec(Real dt=0.0) override
Definition: particle_dynamics_bodypart.cpp:69
virtual void checkLowerBound(size_t unsorted_index_i, Real dt=0.0)
Definition: fluid_boundary.cpp:112
virtual void updateTransform()
Definition: fluid_boundary.h:121
Inflow boundary condition imposed on an emitter, in which pressure and density profile are imposed to...
Definition: fluid_boundary.h:105
Real relaxation_rate_
Definition: fluid_boundary.h:54
virtual void setupDynamics(Real dt=0.0) override
Definition: fluid_boundary.h:123
Abstract class for imposing Eulerian constrain to a body. The constrained particles are in the tagged...
Definition: particle_dynamics_bodypart.h:143
static confinement condition for pressure relaxation
Definition: fluid_boundary.h:182
Real strength_
Definition: fluid_boundary.h:95
virtual Vecd getTargetVelocity(Vecd &position, Vecd &velocity)=0
Inflow boundary condition which imposes directly to a given velocity profile.
Definition: fluid_boundary.h:66
Definition: riemann_solver.h:74
Static confined boundary condition for complex structures.
Definition: fluid_boundary.h:220
prepare data for simple particle dynamics.
Definition: base_particle_dynamics.h:185
std::function< void(size_t, Real)> ParticleFunctor
Definition: base_particle_dynamics.h:49
virtual void checkUpperBound(size_t unsorted_index_i, Real dt=0.0)
Definition: fluid_boundary.cpp:89
Definition: solid_body_supplementary.cpp:9
Real inflow_pressure_
Definition: fluid_boundary.h:115