|
FhSim
3.1.0
Marine systems simulation
|
Casts one wake for its members, bodies that name it in their WakeGroup parameter.
Collaboration diagram for Wake group:A wake group: separate sphere and disc SimObjects cast one wake, as one object of rigid bodies would.
A body SimObject with CastWake="true" and WakeGroup="<name>" (a sphere or a disc with a shape caster: fhsim_marine_elements' Net/Sphere and Net/Disk, TestWakeBody) casts no wake of its own but joins the WakeGroup SimObject of that name. The group casts its members as one environment::wake::IndexedWakeCastingObject (doc/user/wakes.md, "Multi-body objects", option 3, or 2 with WakeEvaluation="None"): the other objects see one lumped source of the members' summed loads, registered under the group's name, and the members see each other through the group's private field, built in one pass in flow order. Members compose that field by the product rule, where separate casting bodies compose by the momentum-flux rule, so grouping changes the result. The private field is the direct sum over the members unless WakeEvaluation says otherwise (Direct by default, where a source set has Grid: a sized grid over a long, sparse group smears the members' wakes upstream). The wake parameters (Wake*) are the group's; a member's own schedule parameters do not act. The group's density is its members' (they must agree).
The first of the group and its members to run PreOdeFcn at a new time rebuilds the group when due, from every member's state, and every member takes after it: the result does not depend on the order of the objects in the input. The members hand over their bodies in their first PreOdeFcn, so the group casts from the second step on. A disc's axis is the one its SimObject set in its last PreOdeFcn before the rebuild. The group updates once per time: an FMU that repeats a step at the same time after a rollback keeps the first attempt's update, and a member's state changed through IStateUpdater later in the same pass is seen from the next step on, so the order then matters (doc/user/wakes.md, "Wake groups").
A member that names no WakeGroup SimObject is a setup error; so is a group without CastWake="true". A group without members casts nothing; so does a group with a member that hands over no body, which is logged once as a warning naming it.
None.
None.
| Name | Width | Description |
|---|---|---|
| CastWake | 1 | Must be true: a group casts its members' wake. (Default: false, a setup error) |
| Wake* | 1 | The wake parameters of a source set (WakeUpdate and the schedule, WakeEvaluation, WakeLength, WakeGrid, WakeXStartFactor, WakeExpansion, WakeCutoff), listed in doc/user/wake-parameters.md. (Defaults there, except WakeEvaluation) |
| WakeEvaluation | 1 | Direct: the private field is the direct sum over the members; Grid or None as for a source set. (Default: Direct, not a source set's Grid) |
This SimObject is referred to as WakeGroup