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.RigidBodySystem — Type
RigidBodySystem(initial_condition;
boundary_model=nothing,
contact_model=nothing,
acceleration=ntuple(_ -> 0.0, ndims(initial_condition)),
particle_spacing=initial_condition.particle_spacing,
max_manifolds=8,
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).contact_model: Optional rigid contact model. If specified, rigid-wall and rigid-rigid collisions are enabled.acceleration: Global acceleration vector applied to all rigid particles.particle_spacing: Reference particle spacing used for time-step estimation.max_manifolds: Maximum number of wall-contact manifolds cached per rigid particle.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 assystem.cache.color. Currently this is used withBoundaryModelDummyParticlesduring colorfield initialization so fluids usingColorfieldSurfaceNormalcan 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".
Contact Models
Rigid contact is configured through the contact model. This is separate from the boundary model used for fluid-structure interaction; see Boundary Models for that part of the rigid-body setup.
TrixiParticles.RigidContactModel — Type
RigidContactModel(; normal_stiffness,
normal_damping=0.0,
contact_distance=0.0)Basic rigid contact model stored on a rigid body. It is currently used for both rigid-wall and rigid-rigid contact. The contact force consists of a linear normal spring-dashpot contribution only. If contact_distance == 0, the particle spacing of the RigidBodySystem will be used as contact distance.