SimulationParams

Contents

SimulationParams#

class SimulationParams[source]#

Bases: _ParamModelBase

All-in-one class for surface meshing + volume meshing + case configurations

Attributes

meshing: MeshingParams | ModularMeshingWorkflow, optional#

Surface and volume meshing parameters. See MeshingParams for more details.

Default:

None

reference_geometry: ReferenceGeometry, optional#

Global geometric reference values. See ReferenceGeometry for more details.

Default:

None

operating_condition: GenericReferenceCondition | AerospaceCondition | LiquidOperatingCondition, optional#

Global operating condition. See Operating Condition for more details.

Default:

None

models: list[Annotated[Union[flow360_schema.models.simulation.models.volume_models.Fluid, flow360_schema.models.simulation.models.volume_models.Solid, flow360_schema.models.simulation.models.volume_models.ActuatorDisk, flow360_schema.models.simulation.models.volume_models.BETDisk, flow360_schema.models.simulation.models.volume_models.Rotation, flow360_schema.models.simulation.models.volume_models.PorousMedium, flow360_schema.models.simulation.models.volume_models.VelocityForcingPlane, flow360_schema.models.simulation.models.surface_models.Wall, flow360_schema.models.simulation.models.surface_models.SlipWall, flow360_schema.models.simulation.models.surface_models.Freestream, flow360_schema.models.simulation.models.surface_models.Outflow, flow360_schema.models.simulation.models.surface_models.Inflow, flow360_schema.models.simulation.models.surface_models.Periodic, flow360_schema.models.simulation.models.surface_models.SymmetryPlane, flow360_schema.models.simulation.models.surface_models.PorousJump], FieldInfo(annotation=NoneType, required=True, discriminator='type')]] | None#

Solver settings and numerical models and boundary condition settings. See Volume Models and Surface Models for more details.

Default:

None

time_stepping: Steady | Unsteady#

Time stepping settings. See Time Stepping for more details.

Default:

Steady()

user_defined_dynamics: list[flow360_schema.models.simulation.user_defined_dynamics.user_defined_dynamics.UserDefinedDynamic] | None#

User defined dynamics. See User Defined Dynamics for more details.

Default:

None

user_defined_fields: list[flow360_schema.models.simulation.outputs.outputs.UserDefinedField]#

User defined fields that can be used in outputs.

Default:

[]

outputs: list[Annotated[flow360_schema.models.simulation.outputs.outputs.SurfaceOutput | flow360_schema.models.simulation.outputs.outputs.TimeAverageSurfaceOutput | flow360_schema.models.simulation.outputs.outputs.VolumeOutput | flow360_schema.models.simulation.outputs.outputs.TimeAverageVolumeOutput | flow360_schema.models.simulation.outputs.outputs.SliceOutput | flow360_schema.models.simulation.outputs.outputs.TimeAverageSliceOutput | flow360_schema.models.simulation.outputs.outputs.IsosurfaceOutput | flow360_schema.models.simulation.outputs.outputs.TimeAverageIsosurfaceOutput | flow360_schema.models.simulation.outputs.outputs.SurfaceIntegralOutput | flow360_schema.models.simulation.outputs.outputs.ProbeOutput | flow360_schema.models.simulation.outputs.outputs.SurfaceProbeOutput | flow360_schema.models.simulation.outputs.outputs.SurfaceSliceOutput | flow360_schema.models.simulation.outputs.outputs.TimeAverageProbeOutput | flow360_schema.models.simulation.outputs.outputs.TimeAverageSurfaceProbeOutput | flow360_schema.models.simulation.outputs.outputs.AeroAcousticOutput | flow360_schema.models.simulation.outputs.outputs.StreamlineOutput | flow360_schema.models.simulation.outputs.outputs.TimeAverageStreamlineOutput | flow360_schema.models.simulation.outputs.outputs.ForceDistributionOutput | flow360_schema.models.simulation.outputs.outputs.TimeAverageForceDistributionOutput | flow360_schema.models.simulation.outputs.outputs.ForceOutput | flow360_schema.models.simulation.outputs.outputs.RenderOutput, FieldInfo(annotation=NoneType, required=True, discriminator='output_type')]] | None#

Output settings. See Outputs for more details.

Default:

None

run_control: RunControl, optional#

Run control settings of the simulation.

Default:

None

Properties

base_length: Length.Float64#

Get base length unit for non-dimensionalization

base_temperature: AbsoluteTemperature.Float64#

Get base temperature unit for non-dimensionalization

base_velocity: Velocity.Float64#

Get base velocity unit for non-dimensionalization

reference_velocity: Velocity.Float64#

This function returns the reference velocity. Note that the reference velocity is NOT the non-dimensionalization velocity scale.

base_density: Density.Float64#

Get base density unit for non-dimensionalization

base_mass: Mass.Float64#

Get base mass unit for non-dimensionalization

base_time: Time.Float64#

Get base time unit for non-dimensionalization

flow360_unit_system: u.UnitSystem#

Get the unit system for non-dimensionalization.

Additional Constructors

classmethod from_file(filename)#

Override to run sanitizer and version updater before validation.

Parameters:

filename (str)

Methods

convert_unit(value, target_system, length_unit=None)[source]#

Converts a given value to the specified unit system.

This method takes a dimensioned quantity and converts it from its current unit system to the target unit system, optionally considering a specific length unit for the conversion.

Parameters:
  • value – The dimensioned quantity to convert.

  • target_system (str) – The target unit system for conversion.

  • length_unit (Length.Float64, optional) – The length unit to use for conversion.

Returns:

The converted value in the specified target unit system.

Return type:

object

Raises:

Flow360ValueError – If the input unit system is not compatible with the target system, or if the required length unit is missing.

classmethod apply_default_fluid_settings(value)[source]#

Apply default Fluid() settings if not found in models.

classmethod check_parent_volume_is_rotating(models)[source]#

Ensure that all the parent volumes listed in the Rotation model are not static

classmethod check_valid_models_for_liquid(models)[source]#

Ensure that all the boundary conditions used are valid.

classmethod check_duplicate_actuator_disk_cylinder_names(models)[source]#

Ensure that all the cylinder names used in ActuatorDisks are unique.

classmethod populate_validated_models_to_validation_context(models)[source]#

After models are validated, store {id: model_obj} in validation context.

classmethod check_duplicate_isosurface_names(outputs)[source]#

Check if we have isosurfaces with a duplicate name

classmethod check_duplicate_surface_usage(outputs)[source]#
classmethod populate_validated_outputs_to_validation_context(outputs)[source]#

After outputs are validated, store {id: output_obj} in validation context.

classmethod check_duplicate_user_defined_fields(value)[source]#

Check if we have duplicate user defined fields

check_cht_solver_settings()[source]#

Check the Conjugate Heat Transfer settings.

check_consistency_wall_function_and_surface_output()[source]#

Only allow wallFunctionMetric output field when there is a Wall model with a wall function enabled

check_consistency_hybrid_model_volume_output()[source]#

Only allow hybrid RANS-LES output field when there is a corresponding solver with hybrid RANS-LES enabled in models

check_unsteadiness_to_use_hybrid_model()[source]#

Only allow hybrid RANS-LES output field for unsteady simulations

check_hybrid_model_to_use_zonal_enforcement()[source]#

Only allow LES/RANS zonal enforcement in hybrid RANS-LES mode

check_unsteadiness_to_use_aero_acoustics()[source]#

Only allow Aero acoustics when using unsteady simulation

check_local_cfl_output()[source]#

Only allow localCFL output when using unsteady simulation

check_aero_acoustics_observer_time_step_size()[source]#

Validate that observer time step size is smaller than CFD time step size

check_unique_surface_volume_probe_names()[source]#

Only allow unique probe names

check_unique_surface_volume_probe_entity_names()[source]#

Only allow unique probe entity names

check_unique_force_distribution_output_names()[source]#

Only allow unique force distribution names

check_duplicate_entities_in_models()[source]#

Only allow each Surface/Volume entity to appear once in the Surface/Volume model

check_unique_selector_names()[source]#

Ensure all EntitySelector names are unique

check_numerical_dissipation_factor_output()[source]#

Only allow numericalDissipationFactor output field when the NS solver has low numerical dissipation

check_low_mach_preconditioner_output()[source]#

Only allow lowMachPreconditioner output field when the lowMachPreconditioner is enabled in the NS solver

check_tpg_not_with_isentropic_solver()[source]#

Temperature-dependent gas properties are not supported with CompressibleIsentropic (4x4) solver.

check_krylov_solver_restrictions()[source]#

Krylov solver is not compatible with limiters or unsteady time stepping.

check_complete_boundary_condition_and_unknown_surface()[source]#

Make sure that all boundaries have been assigned with a boundary condition

check_output_fields()[source]#

Check output fields and iso fields are valid

check_output_fields_valid_given_turbulence_model()[source]#

Check output fields are valid given the turbulence model

check_output_fields_valid_given_transition_model()[source]#

Check output fields are valid given the transition model

check_and_add_rotating_reference_frame_model_flag_in_volumezones()[source]#

Ensure that all volume zones have the rotating_reference_frame_model flag with correct values

check_rotation_entities_have_volume_zone()[source]#

For geometry/surface-mesh workflows, every Rotation entity must have a matching volume zone.

check_time_average_output()[source]#

Only allow TimeAverage output field in the unsteady simulations

check_moving_statistic_applicability()[source]#

Check moving statistic settings are applicable to the simulation time stepping set up.

is_steady()[source]#

returns True when SimulationParams is steady state

has_solid()[source]#

returns True when SimulationParams has Solid model

has_actuator_disks()[source]#

returns True when SimulationParams has ActuatorDisk disk

has_bet_disks()[source]#

returns True when SimulationParams has BET disk

has_isosurfaces()[source]#

returns True when SimulationParams has isosurfaces

has_monitors()[source]#

returns True when SimulationParams has monitors

has_volume_output()[source]#

returns True when SimulationParams has volume output

has_aeroacoustics()[source]#

returns True when SimulationParams has aeroacoustics

has_user_defined_dynamics()[source]#

returns True when SimulationParams has user defined dynamics

has_force_distributions()[source]#

returns True when SimulationParams has force distributions

has_custom_forces()[source]#

returns True when SimulationParams has any ForceOutputs

display_output_units()[source]#

Display all the output units for UserVariables used in outputs.

Return type:

None

pre_submit_summary()[source]#

Display a summary of the simulation params before submission.