Air#

class Air[source]#

Bases: MaterialBase

Calorically-perfect-gas (CPG) preset for air: constant gamma = 1.4, constant R = 287.0529 J/(kg*K), and a standard Sutherland viscosity model.

For temperature-dependent thermodynamics (NASA-9 polynomials) or variable- composition multi-species transport, use Gas instead. Air rejects thermally_perfect_gas and species_transport_model at construction time with a message pointing at the Gas replacement.

Attributes

name: str#
Default:

'air'

dynamic_viscosity: Sutherland | Viscosity.NonNegativeFloat64#

The dynamic viscosity model or value for air. Defaults to a Sutherland model with standard atmospheric conditions.

Default:

Sutherland()

prandtl_number: float#

Laminar Prandtl number. Default is 0.72 for air.

Default:

0.72

turbulent_prandtl_number: float#

Turbulent Prandtl number. Default is 0.9.

Default:

0.9

Properties

gas_constant: SpecificHeatCapacity.PositiveFloat64#

Standard-air specific gas constant: R = R_u / W_air = 287.0529 J/(kg*K).

Methods

get_specific_heat_ratio(temperature)[source]#

CPG: constant gamma = 1.4 (temperature-independent).

Parameters:

temperature (Annotated[Any, BeforeValidator(func=~flow360_schema.framework.physical_dimensions.composers._create_validator.<locals>.validate, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~flow360_schema.framework.physical_dimensions.composers._create_serializer.<locals>.serialize, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={'type': 'object', 'properties': {'value': {'$ref': 'https://flexcompute.com/schemas/1.0.0/Float64.json', '$units': 'kelvin'}, 'display_unit': {'type': 'string'}}, 'required': ['value'], 'additionalProperties': False}, mode=None)])

Return type:

Annotated[float, Gt(gt=0)]

get_pressure(density, temperature)[source]#

Ideal-gas pressure: p = rho * R * T.

Parameters:
  • density (Annotated[Any, BeforeValidator(func=~flow360_schema.framework.physical_dimensions.composers._create_validator.<locals>.validate, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~flow360_schema.framework.physical_dimensions.composers._create_serializer.<locals>.serialize, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={'type': 'object', 'properties': {'value': {'$ref': 'https://flexcompute.com/schemas/1.0.0/PositiveFloat64.json', '$units': 'kilogram/meter^3'}, 'display_unit': {'type': 'string'}}, 'required': ['value'], 'additionalProperties': False}, mode=None)])

  • temperature (Annotated[Any, BeforeValidator(func=~flow360_schema.framework.physical_dimensions.composers._create_validator.<locals>.validate, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~flow360_schema.framework.physical_dimensions.composers._create_serializer.<locals>.serialize, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={'type': 'object', 'properties': {'value': {'$ref': 'https://flexcompute.com/schemas/1.0.0/Float64.json', '$units': 'kelvin'}, 'display_unit': {'type': 'string'}}, 'required': ['value'], 'additionalProperties': False}, mode=None)])

Return type:

Annotated[Any, BeforeValidator(func=~flow360_schema.framework.physical_dimensions.composers._create_validator.<locals>.validate, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~flow360_schema.framework.physical_dimensions.composers._create_serializer.<locals>.serialize, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={‘type’: ‘object’, ‘properties’: {‘value’: {‘$ref’: ‘https://flexcompute.com/schemas/1.0.0/PositiveFloat64.json’, ‘$units’: ‘pascal’}, ‘display_unit’: {‘type’: ‘string’}}, ‘required’: [‘value’], ‘additionalProperties’: False}, mode=None)]

get_speed_of_sound(temperature)[source]#

Speed of sound: sqrt(gamma * R * T) with gamma = 1.4.

Parameters:

temperature (Annotated[Any, BeforeValidator(func=~flow360_schema.framework.physical_dimensions.composers._create_validator.<locals>.validate, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~flow360_schema.framework.physical_dimensions.composers._create_serializer.<locals>.serialize, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={'type': 'object', 'properties': {'value': {'$ref': 'https://flexcompute.com/schemas/1.0.0/Float64.json', '$units': 'kelvin'}, 'display_unit': {'type': 'string'}}, 'required': ['value'], 'additionalProperties': False}, mode=None)])

Return type:

Annotated[Any, BeforeValidator(func=~flow360_schema.framework.physical_dimensions.composers._create_validator.<locals>.validate, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~flow360_schema.framework.physical_dimensions.composers._create_serializer.<locals>.serialize, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={‘type’: ‘object’, ‘properties’: {‘value’: {‘$ref’: ‘https://flexcompute.com/schemas/1.0.0/PositiveFloat64.json’, ‘$units’: ‘meter/second’}, ‘display_unit’: {‘type’: ‘string’}}, ‘required’: [‘value’], ‘additionalProperties’: False}, mode=None)]

get_dynamic_viscosity(temperature)[source]#

Dynamic viscosity at T from the configured Sutherland model (or constant).

Parameters:

temperature (Annotated[Any, BeforeValidator(func=~flow360_schema.framework.physical_dimensions.composers._create_validator.<locals>.validate, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~flow360_schema.framework.physical_dimensions.composers._create_serializer.<locals>.serialize, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={'type': 'object', 'properties': {'value': {'$ref': 'https://flexcompute.com/schemas/1.0.0/Float64.json', '$units': 'kelvin'}, 'display_unit': {'type': 'string'}}, 'required': ['value'], 'additionalProperties': False}, mode=None)])

Return type:

Annotated[Any, BeforeValidator(func=~flow360_schema.framework.physical_dimensions.composers._create_validator.<locals>.validate, json_schema_input_type=PydanticUndefined), PlainSerializer(func=~flow360_schema.framework.physical_dimensions.composers._create_serializer.<locals>.serialize, return_type=PydanticUndefined, when_used=always), WithJsonSchema(json_schema={‘type’: ‘object’, ‘properties’: {‘value’: {‘$ref’: ‘https://flexcompute.com/schemas/1.0.0/NonNegativeFloat64.json’, ‘$units’: ‘pascal*second’}, ‘display_unit’: {‘type’: ‘string’}}, ‘required’: [‘value’], ‘additionalProperties’: False}, mode=None)]