SimulationParams#
- class SimulationParams[source]#
Bases:
_ParamModelBaseAll-in-one class for surface meshing + volume meshing + case configurations
Attributes
- meshing: MeshingParams | ModularMeshingWorkflow, optional#
Surface and volume meshing parameters. See
MeshingParamsfor more details.- Default:
None
- reference_geometry: ReferenceGeometry, optional#
Global geometric reference values. See
ReferenceGeometryfor 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:
- 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 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_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_aero_acoustics_observer_time_step_size()[source]#
Validate that observer time step size is smaller than CFD time step size
- check_duplicate_entities_in_models()[source]#
Only allow each Surface/Volume entity to appear once in the Surface/Volume model
- 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_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.