TimeAverageForceDistributionOutput#

class TimeAverageForceDistributionOutput[source]#

Bases: ForceDistributionOutput

TimeAverageForceDistributionOutput class for time-averaged customized force and moment distribution output. Axis-aligned components are output for force and moment coefficients at the end of the simulation.

Example

Calculate the average value starting from the \(4^{th}\) physical step.

>>> fl.TimeAverageForceDistributionOutput(
...     name="spanwise",
...     distribution_direction=[0.1, 0.9, 0.0],
...     start_step=4,
... )

Specifying specific surfaces to include in the force integration (useful for automotive cases to exclude road/floor surfaces):

>>> fl.TimeAverageForceDistributionOutput(
...     name="vehicle_x_distribution",
...     distribution_direction=[1.0, 0.0, 0.0],
...     entities=[volume_mesh["vehicle_body"], volume_mesh["wheels"]],
...     number_of_segments=500,
...     start_step=100,
... )

Attributes

name: str#

Name of the TimeAverageForceDistributionOutput.

Default:

'Time average force distribution output'

distribution_direction: Axis#

Direction of the force distribution output.

distribution_type: Literal['incremental', 'cumulative']#

Type of the distribution.

Default:

'incremental'

entities: EntityList[Surface, MirroredSurface], optional#

List of surfaces to include in the force integration. If not specified, all wall surfaces are included. This is useful for automotive cases to exclude road/floor surfaces.

Default:

None

number_of_segments: int#

Number of segments (bins) to use along the distribution direction. Default is 300 segments. Increasing this value provides higher resolution in the force distribution plot.

Default:

300

start_step: int | Literal[-1]#

Physical time step to start calculating averaging. Important for child cases - this parameter refers to the global time step, which gets transferred from the parent case (see frequency parameter for an example).

Default:

-1

averaging_reference_frame: Literal['body', 'global']#

How vector fields (velocity, vorticity, on surfaces CfVec and nodeForcesPerUnitArea, and any user variable with three components) are time-averaged on geometry that rotates (zones with a Rotation model). With "global" (default), components are averaged in the fixed global frame (the behavior of earlier solver versions): on rotating geometry they tend toward zero over full revolutions, which can be used to check that the flow has become steady in the rotating frame. With "body", the average is accumulated in the frame of the rotating geometry, which on a rotor blade gives the physically meaningful average. Only the averaging uses that frame: the result is always written in global components, with the blade at its current position. Scalar fields, rms values, and cases without rotation are unaffected by this option. Averaged slices keep their geometry at the initial position and their vectors are written accordingly. For outputs whose averages are carried across restarts (surface, volume, and force distribution), the frame is part of the restart record: restarting a rotating case with a different value restarts the time average (files predating this option count as "global"). All instances of an output type that are averaged together must use the same value.

Default:

'global'

Methods

classmethod ensure_surface_existence(value)#

Ensure all boundaries will be present after mesher

ensure_surfaces_have_wall_bc()#

Ensure all specified surfaces have Wall boundary conditions assigned.