flow360.TimeAverageSurfaceProbeOutput#

class TimeAverageSurfaceProbeOutput[source]#

Bases: SurfaceProbeOutput

TimeAverageSurfaceProbeOutput class for time average surface probe monitor output settings. The specified monitor point will be projected to the target_surfaces closest to the point. The probed results on the projected point will be dumped. The projection is executed at the start of the simulation. If the surface that the point was projected to is moving (mesh motion), the point moves with it (it remains stationary in the reference frame of the target surface).

Example

  • Calculate the average value on the geometry["surface1"] and geometry["surface2"] surfaces with multiple monitor points. The average is computed starting from the \(4^{th}\) physical step. The results are output every 10 physical step starting from the \(14^{th}\) physical step (14, 24, 34 etc.).

    >>> TimeAverageSurfaceProbeOutput(
    ...     name="time_average_surface_probe_group_points",
    ...     entities=[
    ...         Point(name="Point_1", location=[1, 1.02, 0.03] * fl.u.cm),
    ...         Point(name="Point_2", location=[2, 1.01, 0.03] * fl.u.m),
    ...         Point(name="Point_3", location=[3, 1.02, 0.03] * fl.u.m),
    ...     ],
    ...     target_surfaces=[
    ...         Surface(name="Surface_1", geometry["surface1"]),
    ...         Surface(name="Surface_2", geometry["surface2"]),
    ...     ],
    ...     output_fields=["Mach", "primitiveVars", "yPlus"],
    ...     start_step=4,
    ...     frequency=10,
    ...     frequency_offset=14,
    ... )
    
  • Calculate the average value on the geometry["surface1"] and geometry["surface2"] surfaces with multiple monitor lines. The average is computed starting from the \(4^{th}\) physical step. The results are output every 10 physical step starting from the \(14^{th}\) physical step (14, 24, 34 etc.).

    • Line_1 is from (1,0,0) * fl.u.m to (1.5,0,0) * fl.u.m and has 6 monitor points.

    • Line_2 is from (-1,0,0) * fl.u.m to (-1.5,0,0) * fl.u.m and has 3 monitor points, namely, (-1,0,0) * fl.u.m, (-1.25,0,0) * fl.u.m and (-1.5,0,0) * fl.u.m.

    >>> TimeAverageSurfaceProbeOutput(
    ...     name="time_average_surface_probe_group_points",
    ...     entities=[
    ...         fl.PointArray(
    ...             name="Line_1",
    ...             start=(1.0, 0.0, 0.0) * fl.u.m,
    ...             end=(1.5, 0.0, 0.0) * fl.u.m,
    ...             number_of_points=6,
    ...         ),
    ...         fl.PointArray(
    ...             name="Line_2",
    ...             start=(-1.0, 0.0, 0.0) * fl.u.m,
    ...             end=(-1.5, 0.0, 0.0) * fl.u.m,
    ...             number_of_points=3,
    ...         ),
    ...     ],
    ...     target_surfaces=[
    ...         Surface(name="Surface_1", geometry["surface1"]),
    ...         Surface(name="Surface_2", geometry["surface2"]),
    ...     ],
    ...     output_fields=["Mach", "primitiveVars", "yPlus"],
    ...     start_step=4,
    ...     frequency=10,
    ...     frequency_offset=14,
    ... )
    

name: str | None = 'Time average surface probe output'#

Name of the TimeAverageSurfaceProbeOutput.

frequency: Annotated[int, Gt(gt=0)] | Literal[-1] = 1#

Frequency (in number of physical time steps) at which output is saved. -1 is at end of simulation. Important for child cases - this parameter refers to the global time step, which gets transferred from the parent case. Example: if the parent case finished at time_step=174, the child case will start from time_step=175. If frequency=100 (child case), the output will be saved at time steps 200 (25 time steps of the child simulation), 300 (125 time steps of the child simulation), etc. This setting is NOT applicable for steady cases.

frequency_offset: int = 0#

Offset (in number of physical time steps) at which output is started to be saved. 0 is at beginning of simulation. 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). Example: if an output has a frequency of 100 and a frequency_offset of 10, the output will be saved at global time step 10, 110, 210, etc. This setting is NOT applicable for steady cases.

Constraints:
  • ge = 0

start_step: Annotated[int, Ge(ge=0)] | Literal[-1] = -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).

output_type: Literal['TimeAverageSurfaceProbeOutput'] = 'TimeAverageSurfaceProbeOutput'#
entities: EntityList[Point, PointArray] [Required] (alias 'probe_points')#

List of monitored Point/PointArray entities belonging to this surface monitor group. PointArray is used to define monitored points along a line.

target_surfaces: EntityList[Surface, MirroredSurface, WindTunnelGhostSurface] [Required]#

List of Surface entities belonging to this monitor group.

output_fields: UniqueItemList[SurfaceFieldNames | str | UserVariable] [Required]#

List of output variables. Including universal output variables, variables specific to SurfaceOutput and UserDefinedField.

moving_statistic: MovingStatistic | None = None#

When specified, report moving statistics of the fields instead.