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 0x7bbe26477a30>)], typing.Annotated[str, AfterValidator(func=<function process_expressions at 0x7bbe26477a30>)], typing.Annotated[str, AfterValidator(func=<function process_expressions at 0x7bbe26477a30>)]], typing.Annotated[typing.Any, BeforeValidator(func=<function _create_validator.<locals>.validate at 0x7bbe2187fc70>, json_schema_input_type=PydanticUndefined), PlainSerializer(func=<function _create_serializer.<locals>.serialize at 0x7bbe21953490>, 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

Additional Constructors

classmethod from_file(filename)#

Load a Flow360BaseModel from a .json file.

Parameters:

filename (str)

Return type:

Flow360BaseModel

Methods

help(methods=False)#

Print fields and methods of a Flow360BaseModel using rich.

Parameters:

methods (bool)

Return type:

None

to_file(filename, **kwargs)#

Export Flow360BaseModel instance to a .json file.

Parameters:
Return type:

None