Freestream#

class Freestream[source]#

Bases: BoundaryBaseWithTurbulenceQuantities

Freestream defines the freestream boundary condition.

Example

  • Define freestream boundary condition with velocity expression and boundaries from the volume mesh:

    >>> fl.Freestream(
    ...     surfaces=[volume_mesh["blk-1/freestream-part1"],
    ...               volume_mesh["blk-1/freestream-part2"]],
    ...     velocity = ["min(0.2, 0.2 + 0.2*y/0.5)", "0", "0.1*y/0.5"]
    ... )
    
  • Define freestream boundary condition with turbulence quantities and automated farfield:

    >>> auto_farfield = fl.AutomatedFarfield()
    ... fl.Freestream(
    ...     entities=[auto_farfield.farfield],
    ...     turbulence_quantities= fl.TurbulenceQuantities(
    ...         modified_viscosity_ratio=10,
    ...     )
    ... )
    

Attributes

entities: EntityList[Surface, MirroredSurface, GhostSurface, WindTunnelGhostSurface, GhostSphere, GhostCircularPlane]#

List of boundaries with the Freestream boundary condition imposed.

turbulence_quantities: TurbulentViscosityRatio | TurbulentKineticEnergy | TurbulentIntensity | TurbulentLengthScale | ModifiedTurbulentViscosityRatio | ModifiedTurbulentViscosity | SpecificDissipationRateAndTurbulentKineticEnergy | TurbulentViscosityRatioAndTurbulentKineticEnergy | TurbulentLengthScaleAndTurbulentKineticEnergy | TurbulentIntensityAndSpecificDissipationRate | TurbulentIntensityAndTurbulentViscosityRatio | TurbulentIntensityAndTurbulentLengthScale | SpecificDissipationRateAndTurbulentViscosityRatio | SpecificDissipationRateAndTurbulentLengthScale | TurbulentViscosityRatioAndTurbulentLengthScale, optional#

The turbulence related quantities definition.See TurbulenceQuantities() documentation.

Default:

None

name: str, optional#

Name of the Freestream boundary condition.

Default:

'Freestream'

velocity: Union[tuple[typing.Annotated[str, AfterValidator(func=<function process_expressions at 0x7a109691ef80>)], typing.Annotated[str, AfterValidator(func=<function process_expressions at 0x7a109691ef80>)], typing.Annotated[str, AfterValidator(func=<function process_expressions at 0x7a109691ef80>)]], typing.Annotated[typing.Any, BeforeValidator(func=<function _create_validator.<locals>.validate at 0x7a109638b1c0>, json_schema_input_type=PydanticUndefined), PlainSerializer(func=<function _create_serializer.<locals>.serialize at 0x7a109638b490>, return_type=PydanticUndefined, when_used='always'), WithJsonSchema(json_schema={'type': 'object', 'properties': {'value': {'$ref': 'https://flexcompute.com/schemas/1.0.0/Vector3Json.json'}, 'units': {'type': 'string'}}, 'required': ['value', 'units'], 'additionalProperties': False}, mode=None)], NoneType]#

The default values are set according to the AerospaceCondition.alpha and AerospaceCondition.beta angles. Optionally, an expression for each of the velocity components can be specified.

Default:

None

Methods

classmethod remap_symmetric_to_user_name(value)#

Remap ‘symmetric’ ghost entity to user’s symmetry surface name for UDF backward compat.

classmethod ensure_surface_existence(value)#

Ensure all boundaries will be present after mesher