Skip to content

Latest commit

 

History

History
54 lines (39 loc) · 2.99 KB

File metadata and controls

54 lines (39 loc) · 2.99 KB

Fluid

Derived from Pose.

Fluid {
  SFString description    ""        # any string
  SFString name           "fluid"   # any string
  SFString model          ""        # any string
  SFString description    ""        # any string
  SFFloat  density        1000      # {-1, [0, inf)}
  SFFloat  viscosity      0.001     # [0, inf)
  SFVec3f  streamVelocity 0 0 0     # any vector
  SFNode   boundingObject NULL      # {node, PROTO}
  SFBool   locked         FALSE     # {TRUE, FALSE}
}

Description

A Fluid node represents a possibly unbounded fluid volume with physical properties such as density and stream velocity. A Solid node which is partially or fully immersed in some Fluid's boundingObject will be subject to the static force (Archimedes' thrust) and the dynamic force (drag force) exerted by the Fluid provided it has a Physics node, a boundingObject and that its field immersionProperties contains an ImmersionProperties node referring to the given Fluid.

In the 3D window, Fluid nodes can be manipulated (dragged, lifted, rotated, etc) using the mouse.

Fluid Fields

  • name: name of the fluid. This is the name used in a ImmersionProperties to refer to a given Fluid.

  • model: generic name of the fluid, e.g., "sea".

  • description: short description (1 line) of the fluid.

  • density: density of the fluid expressed in kilogram per cubic meter [kg/m³]; it defaults to water density. The fluid density is taken into account for the computations of Archimedes' thrust, drag forces and drag torques, see ImmersionProperties.

  • viscosity: dynamic viscosity of the fluid expressed in pascal second [Pa·s = N·s/m²]. It defaults to viscosity of water at 20 degrees Celsius.

  • streamVelocity: fluid linear velocity, the flow being assumed laminar. The fluid linear velocity is taken into account for the drag and viscous resistance computations, see ImmersionProperties.

  • boundingObject: the bounding object specifies the geometrical primitives and their Pose offset used for immersion detection. If the boundingObject field is NULL, then no immersion detection is performed and that fluid will have no effect on immersed objects. A Solid will undergo static or dynamic forces exerted by a Fluid only if its boundingObject collides with the Fluid's boundingObject. The intersection volume with an individual primitive geometry is approximated by the intersection volume of this geometry with a tangent plane of equation y = c, c > 0 in the geometry coordinate system. This volume is used to generates Archimedes' thrust.

    This field is subject to the same restrictions as a Solid's boundingObject.

  • locked: if TRUE, the fluid object cannot be moved using the mouse. This is useful to prevent moving an object by mistake.