Rigid Bodies

Rigid bodies in TrixiParticles.jl are represented by particles whose motion is evolved with rigid-body translation and rotation. This allows fluid-structure interaction while keeping the structure kinematics rigid.

API

TrixiParticles.RigidBodySystemType
RigidBodySystem(initial_condition;
               boundary_model=nothing,
               acceleration=ntuple(_ -> 0.0, ndims(initial_condition)),
               particle_spacing=initial_condition.particle_spacing,
               source_terms=nothing, adhesion_coefficient=0.0,
               color_value=0)

System for particles of a rigid structure.

The rigid body is represented by particles and advanced with rigid-body translation and rotation. Fluid-structure interaction forces are reduced to resultant force and torque and applied consistently to all rigid particles.

Arguments

  • initial_condition: Initial condition representing the rigid particles.

Keywords

  • boundary_model: Boundary model for fluid-structure interaction (see Boundary Models).
  • acceleration: Global acceleration vector applied to all rigid particles.
  • particle_spacing: Reference particle spacing used for time-step estimation.
  • source_terms: Optional source terms of the form (coords, velocity, density, pressure, t) -> source.
  • adhesion_coefficient: Wall-adhesion strength used by Akinci-type surface tension models when fluids interact with this rigid body. This is only evaluated for fluid-structure interaction with surface-tension-enabled fluid systems.
  • color_value: Integer label stored as system.cache.color. Currently this is used with BoundaryModelDummyParticles during colorfield initialization so fluids using ColorfieldSurfaceNormal can detect contact with rigid bodies, it participates in the multi-system color sanity check for surface-tension setups, and it is written to VTK output as "color".
source