luminarycloud 0.14.0__py3-none-any.whl → 0.15.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- luminarycloud/__init__.py +8 -1
- luminarycloud/_client/client.py +9 -0
- luminarycloud/_client/logging_interceptor.py +25 -0
- luminarycloud/_client/tracing.py +13 -8
- luminarycloud/_helpers/__init__.py +2 -0
- luminarycloud/_helpers/_code_representation.py +135 -0
- luminarycloud/_helpers/_simulation_params_from_json.py +5 -1
- luminarycloud/_helpers/download.py +16 -0
- luminarycloud/_helpers/named_variables.py +25 -0
- luminarycloud/_helpers/upload.py +31 -11
- luminarycloud/_helpers/warnings/deprecated.py +8 -10
- luminarycloud/_helpers/warnings/experimental.py +4 -4
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +135 -110
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +82 -10
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.py +34 -0
- luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.pyi +12 -0
- luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.py +40 -40
- luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.pyi +8 -2
- luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.py +182 -0
- luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.pyi +260 -0
- luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.py +204 -0
- luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.pyi +75 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +94 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +145 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.py +104 -0
- luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.pyi +42 -0
- luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.py +25 -25
- luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.pyi +10 -3
- luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.py +25 -3
- luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.pyi +32 -0
- luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2_grpc.py +34 -0
- luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2_grpc.pyi +12 -0
- luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.py +162 -0
- luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.pyi +254 -0
- luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.py +203 -0
- luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.pyi +74 -0
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +157 -141
- luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +32 -4
- luminarycloud/_proto/cad/boolean_pb2.py +8 -8
- luminarycloud/_proto/cad/boolean_pb2.pyi +34 -4
- luminarycloud/_proto/client/simulation_pb2.py +304 -294
- luminarycloud/_proto/client/simulation_pb2.pyi +30 -1
- luminarycloud/_proto/geometry/geometry_pb2.py +58 -58
- luminarycloud/_proto/geometry/geometry_pb2.pyi +58 -11
- luminarycloud/_proto/hexmesh/hexmesh_pb2.py +42 -42
- luminarycloud/_proto/hexmesh/hexmesh_pb2.pyi +2 -2
- luminarycloud/_proto/output/reference_values_pb2.py +5 -5
- luminarycloud/_proto/parametricworker/parametricworker_pb2.py +31 -31
- luminarycloud/_proto/parametricworker/parametricworker_pb2.pyi +6 -4
- luminarycloud/_proto/quantity/quantity_pb2.py +4 -4
- luminarycloud/_proto/table/table_pb2.py +9 -8
- luminarycloud/_proto/table/table_pb2.pyi +7 -1
- luminarycloud/enum/__init__.py +2 -0
- luminarycloud/enum/geometry_status.py +28 -0
- luminarycloud/geometry.py +64 -32
- luminarycloud/geometry_version.py +2 -2
- luminarycloud/mesh.py +11 -4
- luminarycloud/meshing/__init__.py +1 -0
- luminarycloud/meshing/metadata/__init__.py +6 -0
- luminarycloud/meshing/metadata/mesh_metadata.py +57 -0
- luminarycloud/named_variable_set.py +121 -0
- luminarycloud/outputs/output_definitions.py +11 -10
- luminarycloud/params/enum/_enum_wrappers.py +77 -968
- luminarycloud/params/outputs/output.py +2 -1
- luminarycloud/params/simulation/__init__.py +16 -16
- luminarycloud/params/simulation/_lib.py +1 -67
- luminarycloud/params/simulation/adaptive_mesh_refinement/boundary_layer_profile_.py +3 -2
- luminarycloud/params/simulation/adaptive_mesh_refinement_.py +3 -2
- luminarycloud/params/simulation/adjoint_.py +4 -3
- luminarycloud/params/simulation/basic/gravity/gravity_off_.py +3 -2
- luminarycloud/params/simulation/basic/gravity/gravity_on_.py +3 -2
- luminarycloud/params/simulation/basic/gravity_.py +3 -2
- luminarycloud/params/simulation/body_frame_.py +3 -2
- luminarycloud/params/simulation/entity_relationships/volume_material_relationship_.py +7 -6
- luminarycloud/params/simulation/entity_relationships/volume_physics_relationship_.py +7 -6
- luminarycloud/params/simulation/entity_relationships_.py +3 -2
- luminarycloud/params/simulation/general_.py +4 -3
- luminarycloud/params/simulation/material/fluid/__init__.py +4 -4
- luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_off_.py +3 -2
- luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_on_.py +3 -2
- luminarycloud/params/simulation/material/fluid/boussinesq_approximation_.py +3 -2
- luminarycloud/params/simulation/material/fluid/material_model/__init__.py +1 -1
- luminarycloud/params/simulation/material/fluid/material_model/ideal_gas_.py +3 -2
- luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_.py +3 -2
- luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_with_energy_.py +3 -2
- luminarycloud/params/simulation/material/fluid/material_model_.py +3 -2
- luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/__init__.py +2 -2
- luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_conductivity_.py +3 -2
- luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_prandtl_number_.py +3 -2
- luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/temperature_dependent_conductivity_.py +4 -3
- luminarycloud/params/simulation/material/fluid/thermal_conductivity_model_.py +3 -2
- luminarycloud/params/simulation/material/fluid/viscosity_model/__init__.py +1 -1
- luminarycloud/params/simulation/material/fluid/viscosity_model/prescribed_viscosity_.py +3 -2
- luminarycloud/params/simulation/material/fluid/viscosity_model/sutherland_.py +3 -2
- luminarycloud/params/simulation/material/fluid/viscosity_model/temperature_dependent_viscosity_.py +4 -3
- luminarycloud/params/simulation/material/fluid/viscosity_model_.py +3 -2
- luminarycloud/params/simulation/material/material_fluid_.py +7 -6
- luminarycloud/params/simulation/material/material_solid_.py +4 -3
- luminarycloud/params/simulation/material_entity_.py +9 -8
- luminarycloud/params/simulation/monitor_plane_.py +5 -4
- luminarycloud/params/simulation/motion_data/__init__.py +1 -1
- luminarycloud/params/simulation/motion_data/frame_transforms/__init__.py +1 -1
- luminarycloud/params/simulation/motion_data/frame_transforms/no_transform_.py +5 -4
- luminarycloud/params/simulation/motion_data/frame_transforms/rotational_transform_.py +5 -4
- luminarycloud/params/simulation/motion_data/frame_transforms/translational_transform_.py +5 -4
- luminarycloud/params/simulation/motion_data/frame_transforms_.py +3 -2
- luminarycloud/params/simulation/motion_data/motion_type/__init__.py +1 -1
- luminarycloud/params/simulation/motion_data/motion_type/constant_angular_motion_.py +5 -4
- luminarycloud/params/simulation/motion_data/motion_type/constant_translation_motion_.py +5 -4
- luminarycloud/params/simulation/motion_data/motion_type_.py +3 -2
- luminarycloud/params/simulation/motion_data_.py +6 -5
- luminarycloud/params/simulation/multi_physics_coupling_options_.py +3 -2
- luminarycloud/params/simulation/output_.py +3 -2
- luminarycloud/params/simulation/particle_group/particle_group_type/__init__.py +1 -1
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_normal_vector_.py +4 -3
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_rotation_angles_.py +4 -3
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection_.py +3 -2
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk_.py +7 -6
- luminarycloud/params/simulation/particle_group/particle_group_type/actuator_line_.py +3 -2
- luminarycloud/params/simulation/particle_group/particle_group_type/probe_points_.py +5 -4
- luminarycloud/params/simulation/particle_group/particle_group_type/source_points_.py +5 -4
- luminarycloud/params/simulation/particle_group/particle_group_type_.py +3 -2
- luminarycloud/params/simulation/particle_group_.py +4 -3
- luminarycloud/params/simulation/physics/__init__.py +3 -3
- luminarycloud/params/simulation/physics/fluid/__init__.py +9 -9
- luminarycloud/params/simulation/physics/fluid/adjoint_controls_fluid_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/basic_fluid_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/__init__.py +5 -5
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/farfield_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/__init__.py +3 -3
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/fan_curve_inlet_.py +7 -6
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mach_inlet_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mass_flow_inlet_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/total_pressure_inlet_.py +6 -5
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_components_inlet_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_magnitude_inlet_.py +6 -5
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet_.py +8 -7
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/fan_curve_outlet_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_pressure_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_corrected_mass_flow_rate_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_mass_flow_rate_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet_.py +6 -5
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/symmetry_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_heat_flux_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_temperature_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/no_slip_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/slip_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/wall_model_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_energy_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_momentum_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall_.py +7 -6
- luminarycloud/params/simulation/physics/fluid/boundary_conditions_fluid_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/initialization/__init__.py +2 -2
- luminarycloud/params/simulation/physics/fluid/initialization/fluid_existing_solution_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/initialization/fluid_farfield_values_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/initialization/fluid_prescribed_values_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/initialization/turbulence_initialization_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/initialization_fluid_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/physical_behavior/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/blade_element_airfoil_data_.py +8 -7
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/__init__.py +2 -2
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_blade_element_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_radial_distribution_.py +8 -7
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_uniform_thrust_.py +4 -3
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/fan_curve_internal_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/actuator_line_blade_element_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/blade_element_params_.py +9 -8
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_acceleration_source_.py +4 -3
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_mass_source_.py +4 -3
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/physical_behavior_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/porous_behavior_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/solution_controls/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_explicit_relaxation_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_off_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_on_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation_.py +7 -6
- luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/cfl_based_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/fixed_pseudo_time_step_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/solution_controls_fluid_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ec2_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/fds_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ld2_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/rhie_chow_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/first_order_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/second_order_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/spatial_discretization_fluid_.py +5 -4
- luminarycloud/params/simulation/physics/fluid/turbulence/__init__.py +2 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/__init__.py +1 -1
- luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_vtm_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/iddes_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/custom_komega_sst_constants_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/default_komega_sst_constants_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/komega_sst_constants_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst_.py +6 -5
- luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/custom_spalart_allmaras_constants_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/default_spalart_allmaras_constants_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/spalart_allmaras_constants_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras_.py +6 -5
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/__init__.py +2 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/amd_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/sigma_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/smagorinsky_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/vreman_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/wale_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model_.py +3 -2
- luminarycloud/params/simulation/physics/fluid/turbulence_.py +6 -5
- luminarycloud/params/simulation/physics/fluid_.py +12 -13
- luminarycloud/params/simulation/physics/heat/__init__.py +4 -4
- luminarycloud/params/simulation/physics/heat/adjoint_controls_heat_.py +3 -2
- luminarycloud/params/simulation/physics/heat/boundary_conditions/__init__.py +2 -2
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_convection_.py +5 -4
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_heat_flux_.py +5 -4
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_integrated_heat_flux_.py +5 -4
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_symmetry_.py +5 -4
- luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_temperature_.py +5 -4
- luminarycloud/params/simulation/physics/heat/boundary_conditions_heat_.py +5 -4
- luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/__init__.py +1 -1
- luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_.py +3 -2
- luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_per_unit_of_volume_.py +4 -3
- luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type_.py +3 -2
- luminarycloud/params/simulation/physics/heat/heat_source_.py +6 -5
- luminarycloud/params/simulation/physics/heat/initialization/heat_existing_solution_.py +5 -4
- luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values_.py +5 -4
- luminarycloud/params/simulation/physics/heat/initialization_heat_.py +3 -2
- luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method/heat_implicit_relaxation_.py +4 -3
- luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method_.py +3 -2
- luminarycloud/params/simulation/physics/heat/solution_controls_heat_.py +4 -3
- luminarycloud/params/simulation/physics/heat/spatial_discretization_heat_.py +3 -2
- luminarycloud/params/simulation/physics/heat_.py +9 -8
- luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/__init__.py +1 -1
- luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/rotational_periodicity_.py +3 -2
- luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/translational_periodicity_.py +3 -2
- luminarycloud/params/simulation/physics/periodic_pair/periodicity_type_.py +3 -2
- luminarycloud/params/simulation/physics/periodic_pair_.py +4 -3
- luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/__init__.py +1 -1
- luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/gauss_seidel_.py +3 -2
- luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/krylov_amg_.py +9 -8
- luminarycloud/params/simulation/physics/solution_controls/linear_solver_type_.py +3 -2
- luminarycloud/params/simulation/physics_.py +7 -6
- luminarycloud/params/simulation/simulation_param_.py +12 -13
- luminarycloud/params/simulation/sliding_interfaces_.py +8 -7
- luminarycloud/params/simulation/surface_name_.py +3 -2
- luminarycloud/params/simulation/time/__init__.py +2 -2
- luminarycloud/params/simulation/time/compute_statistics/__init__.py +1 -1
- luminarycloud/params/simulation/time/compute_statistics/compute_statistics_off_.py +3 -2
- luminarycloud/params/simulation/time/compute_statistics/compute_statistics_on_.py +3 -2
- luminarycloud/params/simulation/time/compute_statistics_.py +3 -2
- luminarycloud/params/simulation/time/time_marching/time_explicit_.py +3 -2
- luminarycloud/params/simulation/time/time_marching/time_implicit_.py +3 -2
- luminarycloud/params/simulation/time/time_marching_.py +3 -2
- luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_off_.py +3 -2
- luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_on_.py +3 -2
- luminarycloud/params/simulation/time/time_step_ramp_.py +3 -2
- luminarycloud/params/simulation/time_.py +6 -5
- luminarycloud/params/simulation/volume_entity_.py +5 -4
- luminarycloud/physics_ai/__init__.py +8 -0
- luminarycloud/physics_ai/architectures.py +38 -0
- luminarycloud/physics_ai/models.py +42 -0
- luminarycloud/project.py +73 -21
- luminarycloud/reference_values.py +20 -3
- luminarycloud/simulation.py +8 -3
- luminarycloud/simulation_param.py +136 -29
- luminarycloud/simulation_template.py +84 -13
- luminarycloud/solution.py +17 -2
- luminarycloud/types/__init__.py +1 -0
- luminarycloud/types/adfloat.py +49 -19
- luminarycloud/types/ids.py +3 -0
- luminarycloud/vis/__init__.py +0 -3
- luminarycloud/vis/display.py +1 -0
- luminarycloud/vis/interactive_scene.py +47 -1
- luminarycloud/vis/visualization.py +57 -23
- luminarycloud/volume_selection.py +31 -19
- {luminarycloud-0.14.0.dist-info → luminarycloud-0.15.0.dist-info}/METADATA +2 -2
- {luminarycloud-0.14.0.dist-info → luminarycloud-0.15.0.dist-info}/RECORD +295 -274
- {luminarycloud-0.14.0.dist-info → luminarycloud-0.15.0.dist-info}/WHEEL +0 -0
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
import dataclasses as dc
|
|
2
|
+
import io
|
|
3
|
+
import json
|
|
4
|
+
import logging
|
|
5
|
+
from time import sleep, time
|
|
6
|
+
from typing import Dict, List, Tuple, cast
|
|
7
|
+
|
|
2
8
|
import luminarycloud._proto.api.v0.luminarycloud.common.common_pb2 as common_pb2
|
|
9
|
+
import requests
|
|
10
|
+
from luminarycloud.params.simulation.physics.fluid.boundary_conditions import Farfield
|
|
11
|
+
from luminarycloud.types import Vector3, Vector3Like
|
|
12
|
+
|
|
3
13
|
from .._client import get_default_client
|
|
4
|
-
from ..
|
|
5
|
-
from ..
|
|
6
|
-
from ..geometry import Geometry, get_geometry, Tag
|
|
14
|
+
from .._helpers._get_project_id import _get_project_id
|
|
15
|
+
from .._proto.api.v0.luminarycloud.vis import vis_pb2
|
|
7
16
|
from ..enum.vis_enums import *
|
|
8
|
-
from ..
|
|
17
|
+
from ..exceptions import NotFoundError
|
|
18
|
+
from ..geometry import Geometry, get_geometry
|
|
19
|
+
from ..mesh import Mesh, get_mesh, get_mesh_metadata
|
|
9
20
|
from ..simulation import get_simulation
|
|
10
|
-
from
|
|
11
|
-
from .filters import Filter, PlaneClip, Slice, BoxClip, SurfaceStreamlines
|
|
12
|
-
from luminarycloud.types import Vector3, Vector3Like
|
|
21
|
+
from ..solution import Solution
|
|
13
22
|
from ..types.vector3 import _to_vector3
|
|
14
|
-
from
|
|
15
|
-
from
|
|
23
|
+
from .display import ColorMap, ColorMapAppearance, DisplayAttributes, Field
|
|
24
|
+
from .filters import BoxClip, Filter, PlaneClip, Slice, SurfaceStreamlines, SurfaceLIC
|
|
16
25
|
from .interactive_scene import InteractiveScene
|
|
17
|
-
import io
|
|
18
|
-
import json
|
|
19
|
-
from luminarycloud._proto.client import simulation_pb2 as clientpb
|
|
20
|
-
from typing import List, Tuple, cast, Union, Dict
|
|
21
|
-
import requests
|
|
22
|
-
from time import time, sleep
|
|
23
|
-
import logging
|
|
24
|
-
import dataclasses as dc
|
|
25
26
|
|
|
26
27
|
logger = logging.getLogger(__name__)
|
|
27
28
|
|
|
@@ -53,6 +54,13 @@ class DirectionalCamera:
|
|
|
53
54
|
"""The width of the output image in pixels. Default: 1024"""
|
|
54
55
|
height: int = 1024
|
|
55
56
|
"""The height of the output image in pixels. Default: 1024"""
|
|
57
|
+
zoom_in: float = 1.0
|
|
58
|
+
"""
|
|
59
|
+
Zooms in from the default camera distance. Valid values are in the (0,1]
|
|
60
|
+
range. A value of 0.5 means move the camera halfway between the default
|
|
61
|
+
point and the object (i.e., a 2x zoom). A value of 1 means no zoom. Default:
|
|
62
|
+
1.0
|
|
63
|
+
"""
|
|
56
64
|
|
|
57
65
|
|
|
58
66
|
@dc.dataclass
|
|
@@ -80,6 +88,20 @@ class LookAtCamera:
|
|
|
80
88
|
""" The width of the output image in pixels. Default: 1024 """
|
|
81
89
|
height: int = 1024
|
|
82
90
|
""" The height of the output image in pixels. Default: 1024 """
|
|
91
|
+
pan_x: float = 0
|
|
92
|
+
"""
|
|
93
|
+
Pan the camera in the x direction (right). This is a world space value defined in
|
|
94
|
+
the camera coordinate system. Pan is not typically directly set by the user,
|
|
95
|
+
but pan is useful for reproducing camera parameters from an interactive
|
|
96
|
+
scene where pan is used (i.e., control + middle mouse).
|
|
97
|
+
"""
|
|
98
|
+
pan_y: float = 0
|
|
99
|
+
"""
|
|
100
|
+
Pan the camera in the y direction (up). This is a world space value defined in
|
|
101
|
+
the camera coordinate system. Pan is not typically directly set by the user,
|
|
102
|
+
but pan is useful for reproducing camera parameters from an interactive
|
|
103
|
+
scene where pan is used (i.e., control + middle mouse).
|
|
104
|
+
"""
|
|
83
105
|
|
|
84
106
|
|
|
85
107
|
class _InternalToken:
|
|
@@ -320,7 +342,7 @@ class Scene:
|
|
|
320
342
|
|
|
321
343
|
def __init__(self, entity: Geometry | Mesh | Solution):
|
|
322
344
|
self.triad_visible: bool = True
|
|
323
|
-
self.axes_grid_visible: bool =
|
|
345
|
+
self.axes_grid_visible: bool = False
|
|
324
346
|
self.background_color: Vector3 = Vector3(x=0, y=0, z=0)
|
|
325
347
|
self.auto_color_map_annotations = True
|
|
326
348
|
self.supersampling: int = 2
|
|
@@ -372,7 +394,7 @@ class Scene:
|
|
|
372
394
|
except NotFoundError:
|
|
373
395
|
self._has_tags = False
|
|
374
396
|
except Exception as e:
|
|
375
|
-
raise ValueError("An
|
|
397
|
+
raise ValueError("An unknown error occurred retrieving tags")
|
|
376
398
|
elif self._entity_type == EntityType.MESH:
|
|
377
399
|
mesh_meta = get_mesh_metadata(self._mesh.id)
|
|
378
400
|
try:
|
|
@@ -380,7 +402,7 @@ class Scene:
|
|
|
380
402
|
except NotFoundError:
|
|
381
403
|
self._has_tags = False
|
|
382
404
|
except Exception as e:
|
|
383
|
-
raise ValueError("An
|
|
405
|
+
raise ValueError("An unknown error occurred retrieving tags")
|
|
384
406
|
else:
|
|
385
407
|
geom = self._geometry
|
|
386
408
|
|
|
@@ -407,8 +429,8 @@ class Scene:
|
|
|
407
429
|
params = simulation.get_parameters()
|
|
408
430
|
for physics in params.physics:
|
|
409
431
|
if physics.fluid:
|
|
410
|
-
for bc in physics.fluid.
|
|
411
|
-
if bc
|
|
432
|
+
for bc in physics.fluid.boundary_conditions:
|
|
433
|
+
if isinstance(bc, Farfield):
|
|
412
434
|
for bc_surface in bc.surfaces:
|
|
413
435
|
self._far_field_boundary_ids.append(bc_surface)
|
|
414
436
|
|
|
@@ -540,8 +562,13 @@ class Scene:
|
|
|
540
562
|
out_camera.look_at.position.CopyFrom(_to_vector3(lookat.position)._to_proto())
|
|
541
563
|
out_camera.look_at.up.CopyFrom(_to_vector3(lookat.up)._to_proto())
|
|
542
564
|
out_camera.look_at.look_at.CopyFrom(_to_vector3(lookat.look_at)._to_proto())
|
|
565
|
+
out_camera.look_at.pan.x = lookat.pan_x
|
|
566
|
+
out_camera.look_at.pan.y = lookat.pan_y
|
|
543
567
|
elif isinstance(camera, DirectionalCamera):
|
|
544
568
|
out_camera.direction = camera.direction.value
|
|
569
|
+
if camera.zoom_in <= 0 or camera.zoom_in > 1:
|
|
570
|
+
raise ValueError("Error: zoom_in must be in the range (0,1]")
|
|
571
|
+
out_camera.zoom = camera.zoom_in
|
|
545
572
|
else:
|
|
546
573
|
raise TypeError(f"Internal error: expected 'camera', got {type(camera).__name__}")
|
|
547
574
|
|
|
@@ -579,6 +606,12 @@ class Scene:
|
|
|
579
606
|
bad_ids = self._validate_surfaces_and_tags(streamlines._surface_names)
|
|
580
607
|
if len(bad_ids) != 0:
|
|
581
608
|
raise ValueError(f"SurfaceStreamlines has invalid surfaces: {bad_ids}")
|
|
609
|
+
if isinstance(filter, SurfaceLIC):
|
|
610
|
+
# Validate surfaces names
|
|
611
|
+
lic = cast(SurfaceLIC, filter)
|
|
612
|
+
bad_ids = self._validate_surfaces_and_tags(lic._surface_names)
|
|
613
|
+
if len(bad_ids) != 0:
|
|
614
|
+
raise ValueError(f"SurfaceLIC has invalid surfaces: {bad_ids}")
|
|
582
615
|
|
|
583
616
|
if isinstance(filter, Filter):
|
|
584
617
|
vis_filter: vis_pb2.Filter = filter._to_proto()
|
|
@@ -623,6 +656,7 @@ class Scene:
|
|
|
623
656
|
# processing them above
|
|
624
657
|
cmap.appearance = ColorMapAppearance()
|
|
625
658
|
auto_cmaps.append(cmap)
|
|
659
|
+
|
|
626
660
|
if len(auto_cmaps) != 0:
|
|
627
661
|
# These are all default contructed, so they all have the same dimentions.
|
|
628
662
|
# All the coordinates are in normalized device space.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
# Copyright 2023-
|
|
1
|
+
# Copyright 2023-2025 Luminary Cloud, Inc. All Rights Reserved.
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
4
|
import logging
|
|
5
5
|
from os import PathLike
|
|
6
|
-
from typing import Iterable, Optional, TYPE_CHECKING
|
|
6
|
+
from typing import Iterable, Iterator, Optional, TYPE_CHECKING
|
|
7
7
|
from uuid import uuid4
|
|
8
8
|
|
|
9
9
|
from luminarycloud._helpers import util
|
|
@@ -98,22 +98,26 @@ class VolumeSelection:
|
|
|
98
98
|
"""Clear the selection."""
|
|
99
99
|
self.__volume_ids.clear()
|
|
100
100
|
|
|
101
|
-
def
|
|
101
|
+
def __iter__(self) -> Iterator[Volume]:
|
|
102
102
|
"""
|
|
103
|
-
|
|
103
|
+
Return an iterator over the selected volumes.
|
|
104
104
|
"""
|
|
105
105
|
res = self.__list_entities()
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
106
|
+
for b in res.bodies:
|
|
107
|
+
if b.id in self.__volume_ids:
|
|
108
|
+
yield Volume(
|
|
109
|
+
geometry_id=self.__geometry.id,
|
|
110
|
+
id=str(b.id),
|
|
111
|
+
_lcn_id=str(b.lcn_id),
|
|
112
|
+
bbox_min=Vector3(b.bbox_min.x, b.bbox_min.y, b.bbox_min.z),
|
|
113
|
+
bbox_max=Vector3(b.bbox_max.x, b.bbox_max.y, b.bbox_max.z),
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
def volumes(self) -> list[Volume]:
|
|
117
|
+
"""
|
|
118
|
+
Return a list of the selected volumes.
|
|
119
|
+
"""
|
|
120
|
+
return list(self)
|
|
117
121
|
|
|
118
122
|
def import_cad(
|
|
119
123
|
self,
|
|
@@ -205,7 +209,7 @@ class VolumeSelection:
|
|
|
205
209
|
|
|
206
210
|
def subtract(
|
|
207
211
|
self,
|
|
208
|
-
tool_volumes:
|
|
212
|
+
tool_volumes: Iterable[Volume],
|
|
209
213
|
*,
|
|
210
214
|
propagate_tags: bool = False,
|
|
211
215
|
feature_name: str = "Subtract",
|
|
@@ -217,7 +221,7 @@ class VolumeSelection:
|
|
|
217
221
|
|
|
218
222
|
Parameters
|
|
219
223
|
----------
|
|
220
|
-
tool_volumes :
|
|
224
|
+
tool_volumes : Iterable[Volume]
|
|
221
225
|
The volumes to subtract from the selected volumes.
|
|
222
226
|
propagate_tags : bool
|
|
223
227
|
Whether to propagate the tool volume tags to the surfaces created by the subtraction.
|
|
@@ -261,7 +265,7 @@ class VolumeSelection:
|
|
|
261
265
|
|
|
262
266
|
def chop(
|
|
263
267
|
self,
|
|
264
|
-
tool_volumes:
|
|
268
|
+
tool_volumes: Iterable[Volume],
|
|
265
269
|
*,
|
|
266
270
|
propagate_tags: bool = False,
|
|
267
271
|
feature_name: str = "Chop",
|
|
@@ -274,7 +278,7 @@ class VolumeSelection:
|
|
|
274
278
|
|
|
275
279
|
Parameters
|
|
276
280
|
----------
|
|
277
|
-
tool_volumes :
|
|
281
|
+
tool_volumes : Iterable[Volume]
|
|
278
282
|
The volumes to chop the selected volumes with.
|
|
279
283
|
propagate_tags : bool
|
|
280
284
|
Whether to propagate the tool volume tags to the surfaces created by the chop.
|
|
@@ -456,6 +460,7 @@ class VolumeSelection:
|
|
|
456
460
|
self,
|
|
457
461
|
resolution_min: Optional[float] = None,
|
|
458
462
|
resolution_max: Optional[float] = None,
|
|
463
|
+
tool: Optional[Iterable[Volume]] = None,
|
|
459
464
|
*,
|
|
460
465
|
feature_name: str = "Shrinkwrap",
|
|
461
466
|
) -> None:
|
|
@@ -468,6 +473,8 @@ class VolumeSelection:
|
|
|
468
473
|
The minimum resolution to shrinkwrap the selected volumes to.
|
|
469
474
|
resolution_max : float, optional
|
|
470
475
|
The maximum resolution to shrinkwrap the selected volumes to.
|
|
476
|
+
tool : VolumeSelection, optional
|
|
477
|
+
The tool volume selection to subtract from self in the shrinkwrap operation.
|
|
471
478
|
feature_name : str
|
|
472
479
|
The name of the feature.
|
|
473
480
|
"""
|
|
@@ -485,6 +492,10 @@ class VolumeSelection:
|
|
|
485
492
|
else:
|
|
486
493
|
mode = gpb.ShrinkwrapMode.AUTOMATIC
|
|
487
494
|
|
|
495
|
+
tool_ids = []
|
|
496
|
+
if tool is not None:
|
|
497
|
+
tool_ids = [int(v.id) for v in tool]
|
|
498
|
+
|
|
488
499
|
self.__create_feature(
|
|
489
500
|
gpb.Feature(
|
|
490
501
|
feature_name=feature_name,
|
|
@@ -493,6 +504,7 @@ class VolumeSelection:
|
|
|
493
504
|
resolution_min=(resolution_min or 0.0),
|
|
494
505
|
resolution_max=(resolution_max or 0.0),
|
|
495
506
|
resolution_uniform=(resolution_min or 0.0),
|
|
507
|
+
tool=tool_ids,
|
|
496
508
|
mode=mode,
|
|
497
509
|
),
|
|
498
510
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: luminarycloud
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.15.0
|
|
4
4
|
Summary: Luminary Cloud SDK
|
|
5
5
|
Project-URL: Homepage, https://www.luminarycloud.com/
|
|
6
6
|
Project-URL: Documentation, https://app.luminarycloud.com/docs/api/
|
|
@@ -45,6 +45,6 @@ and functionality may change significantly).
|
|
|
45
45
|
import luminarycloud as lc
|
|
46
46
|
project = lc.create_project("NACA 0012", "My first SDK project.")
|
|
47
47
|
mesh = project.upload_mesh("./airfoil.lcmesh")
|
|
48
|
-
sim_template = project.create_simulation_template("test template", "./simulation_template.json")
|
|
48
|
+
sim_template = project.create_simulation_template("test template", params_json_path="./simulation_template.json")
|
|
49
49
|
sim = project.create_simulation(mesh.id, "My simulation", sim_template.id)
|
|
50
50
|
```
|