luminarycloud 0.13.1__py3-none-any.whl → 0.14.1__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.
Files changed (327) hide show
  1. luminarycloud/__init__.py +3 -0
  2. luminarycloud/_client/client.py +4 -0
  3. luminarycloud/_client/logging_interceptor.py +25 -0
  4. luminarycloud/_client/tracing.py +13 -8
  5. luminarycloud/_helpers/__init__.py +1 -0
  6. luminarycloud/_helpers/download.py +28 -1
  7. luminarycloud/_helpers/named_variables.py +25 -0
  8. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.py +40 -40
  9. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.pyi +8 -2
  10. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.py +182 -0
  11. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.pyi +260 -0
  12. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.py +204 -0
  13. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.pyi +75 -0
  14. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +12 -12
  15. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +5 -1
  16. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.py +2 -1
  17. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.pyi +6 -2
  18. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.py +36 -14
  19. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.pyi +37 -1
  20. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2_grpc.py +34 -0
  21. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2_grpc.pyi +12 -0
  22. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +156 -132
  23. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +65 -7
  24. luminarycloud/_proto/assistant/assistant_pb2.py +172 -23
  25. luminarycloud/_proto/assistant/assistant_pb2.pyi +358 -4
  26. luminarycloud/_proto/client/simulation_pb2.py +284 -283
  27. luminarycloud/_proto/client/simulation_pb2.pyi +37 -32
  28. luminarycloud/_proto/geometry/geometry_pb2.py +46 -46
  29. luminarycloud/_proto/geometry/geometry_pb2.pyi +6 -1
  30. luminarycloud/_proto/hexmesh/hexmesh_pb2.py +138 -37
  31. luminarycloud/_proto/hexmesh/hexmesh_pb2.pyi +218 -37
  32. luminarycloud/_proto/quantity/quantity_pb2.py +4 -4
  33. luminarycloud/enum/vis_enums.py +26 -11
  34. luminarycloud/named_variable_set.py +121 -0
  35. luminarycloud/params/__init__.py +1 -2
  36. luminarycloud/params/enum/_enum_wrappers.py +861 -4
  37. luminarycloud/params/outputs/output.py +1 -1
  38. luminarycloud/params/{param_wrappers/simulation_param → simulation}/__init__.py +1 -0
  39. luminarycloud/params/{param_wrappers → simulation}/_lib.py +2 -4
  40. luminarycloud/params/{param_wrappers/simulation_param → simulation}/adaptive_mesh_refinement/boundary_layer_profile_.py +2 -2
  41. luminarycloud/params/{param_wrappers/simulation_param → simulation}/adaptive_mesh_refinement_.py +4 -4
  42. luminarycloud/params/{param_wrappers/simulation_param → simulation}/adjoint_.py +2 -2
  43. luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/gravity/gravity_off_.py +4 -4
  44. luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/gravity/gravity_on_.py +4 -4
  45. luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/gravity_.py +2 -2
  46. luminarycloud/params/{param_wrappers/simulation_param → simulation}/body_frame_.py +2 -2
  47. luminarycloud/params/{param_wrappers/simulation_param → simulation}/entity_relationships/volume_material_relationship_.py +2 -2
  48. luminarycloud/params/{param_wrappers/simulation_param → simulation}/entity_relationships/volume_physics_relationship_.py +2 -2
  49. luminarycloud/params/{param_wrappers/simulation_param → simulation}/entity_relationships_.py +6 -6
  50. luminarycloud/params/{param_wrappers/simulation_param → simulation}/general_.py +8 -10
  51. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/boussinesq_approximation/boussinesq_off_.py +4 -4
  52. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/boussinesq_approximation/boussinesq_on_.py +4 -4
  53. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/boussinesq_approximation_.py +2 -2
  54. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model/ideal_gas_.py +4 -6
  55. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model/incompressible_fluid_.py +4 -6
  56. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model/incompressible_fluid_with_energy_.py +4 -6
  57. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model_.py +2 -2
  58. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model/prescribed_conductivity_.py +4 -4
  59. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model/prescribed_prandtl_number_.py +4 -4
  60. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model/temperature_dependent_conductivity_.py +4 -4
  61. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model_.py +2 -2
  62. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model/prescribed_viscosity_.py +4 -6
  63. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model/sutherland_.py +4 -6
  64. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model/temperature_dependent_viscosity_.py +4 -6
  65. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model_.py +2 -2
  66. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/material_fluid_.py +32 -40
  67. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/material_solid_.py +2 -2
  68. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material_entity_.py +6 -10
  69. luminarycloud/params/{param_wrappers/simulation_param → simulation}/monitor_plane_.py +10 -5
  70. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms/no_transform_.py +4 -6
  71. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms/rotational_transform_.py +4 -6
  72. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms/translational_transform_.py +4 -6
  73. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms_.py +2 -2
  74. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/motion_type/constant_angular_motion_.py +4 -4
  75. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/motion_type/constant_translation_motion_.py +4 -4
  76. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/motion_type_.py +2 -2
  77. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data_.py +16 -20
  78. luminarycloud/params/{param_wrappers/simulation_param → simulation}/multi_physics_coupling_options_.py +2 -2
  79. luminarycloud/params/{param_wrappers/simulation_param → simulation}/output_.py +2 -2
  80. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_normal_vector_.py +4 -4
  81. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_rotation_angles_.py +4 -4
  82. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection_.py +2 -2
  83. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk_.py +49 -0
  84. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_line_.py +4 -6
  85. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/probe_points_.py +4 -6
  86. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/source_points_.py +4 -6
  87. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type_.py +2 -2
  88. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group_.py +20 -17
  89. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/adjoint_controls_fluid_.py +2 -2
  90. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/basic_fluid_.py +2 -2
  91. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/__init__.py +0 -1
  92. luminarycloud/params/simulation/physics/fluid/boundary_conditions/farfield_.py +111 -0
  93. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/__init__.py +1 -0
  94. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/fan_curve_inlet_.py +4 -6
  95. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mach_inlet_.py +55 -0
  96. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/mass_flow_inlet_.py +4 -6
  97. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/total_pressure_inlet_.py +4 -6
  98. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/velocity_components_inlet_.py +8 -6
  99. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/velocity_magnitude_inlet_.py +8 -6
  100. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet_.py +104 -0
  101. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/fan_curve_outlet_.py +4 -4
  102. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_pressure_.py +4 -4
  103. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_corrected_mass_flow_rate_.py +4 -4
  104. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_mass_flow_rate_.py +4 -4
  105. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy_.py +2 -2
  106. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet_.py +14 -14
  107. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/symmetry_.py +4 -4
  108. luminarycloud/params/simulation/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +50 -0
  109. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/energy/prescribed_heat_flux_.py +4 -4
  110. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/energy/prescribed_temperature_.py +4 -4
  111. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/momentum/no_slip_.py +4 -4
  112. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/momentum/slip_.py +4 -4
  113. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/momentum/wall_model_.py +4 -4
  114. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/wall_energy_.py +2 -2
  115. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/wall_momentum_.py +2 -2
  116. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall_.py +18 -18
  117. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions_fluid_.py +9 -4
  118. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/initialization/__init__.py +0 -1
  119. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/initialization/fluid_existing_solution_.py +4 -6
  120. luminarycloud/params/simulation/physics/fluid/initialization/fluid_farfield_values_.py +65 -0
  121. luminarycloud/params/simulation/physics/fluid/initialization/fluid_prescribed_values_.py +77 -0
  122. luminarycloud/params/simulation/physics/fluid/initialization/turbulence_initialization_.py +44 -0
  123. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/initialization_fluid_.py +2 -2
  124. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/blade_element_airfoil_data_.py +10 -5
  125. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_blade_element_.py +6 -6
  126. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_radial_distribution_.py +4 -4
  127. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_uniform_thrust_.py +4 -4
  128. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/fan_curve_internal_.py +4 -4
  129. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model_.py +8 -6
  130. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/actuator_line_blade_element_.py +6 -6
  131. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model_.py +8 -6
  132. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/blade_element_params_.py +2 -2
  133. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_acceleration_source_.py +4 -4
  134. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_mass_source_.py +4 -4
  135. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model_.py +8 -6
  136. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model_.py +2 -2
  137. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior_.py +34 -29
  138. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/porous_behavior_.py +10 -5
  139. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_explicit_relaxation_.py +4 -4
  140. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_off_.py +4 -4
  141. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_on_.py +4 -4
  142. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup_.py +2 -2
  143. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation_.py +16 -16
  144. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method_.py +2 -2
  145. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/pseudo_time_step_method/cfl_based_.py +4 -4
  146. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/pseudo_time_step_method/fixed_pseudo_time_step_.py +4 -4
  147. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/pseudo_time_step_method_.py +2 -2
  148. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls_fluid_.py +14 -14
  149. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/ec2_.py +4 -4
  150. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/fds_.py +4 -4
  151. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/ld2_.py +6 -4
  152. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/rhie_chow_.py +4 -4
  153. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_.py +2 -2
  154. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_order/first_order_.py +4 -4
  155. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_order/second_order_.py +4 -4
  156. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_order_.py +2 -2
  157. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization_fluid_.py +20 -18
  158. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation/ddes_.py +4 -6
  159. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation/ddes_vtm_.py +4 -6
  160. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation/iddes_.py +4 -6
  161. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation_.py +2 -2
  162. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/constants/custom_komega_sst_constants_.py +4 -4
  163. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/constants/default_komega_sst_constants_.py +4 -4
  164. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/komega_sst_constants_.py +2 -2
  165. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst_.py +10 -12
  166. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/constants/custom_spalart_allmaras_constants_.py +4 -4
  167. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/constants/default_spalart_allmaras_constants_.py +4 -4
  168. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/spalart_allmaras_constants_.py +2 -2
  169. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras_.py +10 -12
  170. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/amd_.py +4 -4
  171. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/sigma_.py +4 -4
  172. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/smagorinsky_.py +4 -4
  173. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/vreman_.py +4 -4
  174. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/wale_.py +4 -4
  175. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model_.py +2 -2
  176. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence_.py +22 -32
  177. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid_.py +60 -78
  178. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/adjoint_controls_heat_.py +2 -2
  179. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_convection_.py +4 -4
  180. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_heat_flux_.py +4 -4
  181. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_integrated_heat_flux_.py +4 -4
  182. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_symmetry_.py +4 -4
  183. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_temperature_.py +4 -4
  184. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions_heat_.py +9 -4
  185. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source/heat_source_type/heat_source_type_power_.py +4 -4
  186. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source/heat_source_type/heat_source_type_power_per_unit_of_volume_.py +4 -4
  187. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source/heat_source_type_.py +2 -2
  188. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source_.py +16 -11
  189. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/initialization/heat_existing_solution_.py +4 -6
  190. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/initialization/heat_prescribed_values_.py +4 -6
  191. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/initialization_heat_.py +2 -2
  192. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls/heat_relaxation_method/heat_implicit_relaxation_.py +10 -10
  193. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls/heat_relaxation_method_.py +2 -2
  194. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls_heat_.py +6 -6
  195. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/spatial_discretization_heat_.py +2 -2
  196. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat_.py +32 -40
  197. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/periodicity_type/rotational_periodicity_.py +4 -6
  198. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/periodicity_type/translational_periodicity_.py +4 -6
  199. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/periodicity_type_.py +2 -2
  200. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair_.py +8 -10
  201. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/linear_solver_type/gauss_seidel_.py +4 -4
  202. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/linear_solver_type/krylov_amg_.py +4 -4
  203. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/linear_solver_type_.py +2 -2
  204. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics_.py +6 -6
  205. luminarycloud/params/{param_wrappers → simulation}/simulation_param_.py +34 -40
  206. luminarycloud/params/{param_wrappers/simulation_param → simulation}/sliding_interfaces_.py +10 -5
  207. luminarycloud/params/{param_wrappers/simulation_param → simulation}/surface_name_.py +2 -2
  208. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/compute_statistics/compute_statistics_off_.py +4 -6
  209. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/compute_statistics/compute_statistics_on_.py +4 -6
  210. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/compute_statistics_.py +2 -2
  211. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_marching/time_explicit_.py +4 -4
  212. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_marching/time_implicit_.py +4 -4
  213. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_marching_.py +2 -2
  214. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_step_ramp/time_step_ramp_off_.py +4 -4
  215. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_step_ramp/time_step_ramp_on_.py +4 -4
  216. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_step_ramp_.py +2 -2
  217. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time_.py +20 -30
  218. luminarycloud/params/{param_wrappers/simulation_param → simulation}/volume_entity_.py +2 -2
  219. luminarycloud/project.py +83 -20
  220. luminarycloud/reference_values.py +1 -1
  221. luminarycloud/simulation.py +13 -2
  222. luminarycloud/simulation_param.py +94 -10
  223. luminarycloud/solution.py +24 -3
  224. luminarycloud/types/__init__.py +1 -0
  225. luminarycloud/types/adfloat.py +49 -19
  226. luminarycloud/types/ids.py +1 -0
  227. luminarycloud/types/vector3.py +28 -2
  228. luminarycloud/vis/__init__.py +2 -1
  229. luminarycloud/vis/display.py +57 -67
  230. luminarycloud/vis/filters.py +97 -16
  231. luminarycloud/vis/interactive_scene.py +40 -3
  232. luminarycloud/vis/visualization.py +84 -58
  233. luminarycloud/volume_selection.py +27 -15
  234. {luminarycloud-0.13.1.dist-info → luminarycloud-0.14.1.dist-info}/METADATA +1 -1
  235. luminarycloud-0.14.1.dist-info/RECORD +472 -0
  236. luminarycloud/params/param_wrappers/__init__.py +0 -2
  237. luminarycloud/params/param_wrappers/simulation_param/particle_group/particle_group_type/actuator_disk_.py +0 -51
  238. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/farfield_.py +0 -197
  239. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/inlet_.py +0 -189
  240. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/__init__.py +0 -4
  241. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega/__init__.py +0 -5
  242. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega/bc_komega_variables_.py +0 -37
  243. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega/bc_turbulent_viscosity_and_intensity_komega_.py +0 -33
  244. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega/bc_turbulent_viscosity_ratio_and_intensity_komega_.py +0 -33
  245. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega_boundary_conditions_.py +0 -25
  246. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras/__init__.py +0 -3
  247. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras/bc_sa_variable_.py +0 -33
  248. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras/bc_turbulent_viscosity_ratio_sa_.py +0 -31
  249. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras/bc_turbulent_viscosity_sa_.py +0 -31
  250. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras_boundary_conditions_.py +0 -25
  251. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +0 -65
  252. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/fluid_farfield_values_.py +0 -173
  253. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/fluid_prescribed_values_.py +0 -185
  254. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/__init__.py +0 -4
  255. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega/__init__.py +0 -5
  256. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega/init_farfield_values_komega_.py +0 -30
  257. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega/init_turbulent_viscosity_and_intensity_komega_.py +0 -33
  258. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega/init_turbulent_viscosity_ratio_and_intensity_komega_.py +0 -33
  259. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega_initialization_.py +0 -25
  260. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/__init__.py +0 -4
  261. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/init_farfield_values_sa_.py +0 -30
  262. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/init_sa_variable_.py +0 -31
  263. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/init_turbulent_viscosity_ratio_sa_.py +0 -31
  264. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/init_turbulent_viscosity_sa_.py +0 -31
  265. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras_initialization_.py +0 -25
  266. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence_initialization_.py +0 -69
  267. luminarycloud-0.13.1.dist-info/RECORD +0 -489
  268. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/adaptive_mesh_refinement/__init__.py +0 -0
  269. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/__init__.py +0 -0
  270. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/gravity/__init__.py +0 -0
  271. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/entity_relationships/__init__.py +0 -0
  272. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/__init__.py +0 -0
  273. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/__init__.py +0 -0
  274. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/boussinesq_approximation/__init__.py +0 -0
  275. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model/__init__.py +0 -0
  276. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model/__init__.py +0 -0
  277. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model/__init__.py +0 -0
  278. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/__init__.py +0 -0
  279. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms/__init__.py +0 -0
  280. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/motion_type/__init__.py +0 -0
  281. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/__init__.py +0 -0
  282. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/__init__.py +0 -0
  283. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_disk/__init__.py +0 -0
  284. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/__init__.py +0 -0
  285. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/__init__.py +0 -0
  286. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/__init__.py +0 -0
  287. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/__init__.py +0 -0
  288. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/__init__.py +0 -0
  289. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/__init__.py +0 -0
  290. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/energy/__init__.py +0 -0
  291. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/momentum/__init__.py +0 -0
  292. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/__init__.py +0 -0
  293. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/__init__.py +0 -0
  294. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/__init__.py +0 -0
  295. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/__init__.py +0 -0
  296. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/__init__.py +0 -0
  297. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/__init__.py +0 -0
  298. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/__init__.py +0 -0
  299. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/__init__.py +0 -0
  300. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/__init__.py +0 -0
  301. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/pseudo_time_step_method/__init__.py +0 -0
  302. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/__init__.py +0 -0
  303. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/__init__.py +0 -0
  304. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_order/__init__.py +0 -0
  305. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/__init__.py +0 -0
  306. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation/__init__.py +0 -0
  307. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/__init__.py +0 -0
  308. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/constants/__init__.py +0 -0
  309. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/__init__.py +0 -0
  310. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/constants/__init__.py +0 -0
  311. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/__init__.py +0 -0
  312. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/__init__.py +0 -0
  313. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/__init__.py +0 -0
  314. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source/__init__.py +0 -0
  315. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source/heat_source_type/__init__.py +0 -0
  316. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/initialization/__init__.py +0 -0
  317. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls/__init__.py +0 -0
  318. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls/heat_relaxation_method/__init__.py +0 -0
  319. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/__init__.py +0 -0
  320. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/periodicity_type/__init__.py +0 -0
  321. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/__init__.py +0 -0
  322. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/linear_solver_type/__init__.py +0 -0
  323. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/__init__.py +0 -0
  324. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/compute_statistics/__init__.py +0 -0
  325. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_marching/__init__.py +0 -0
  326. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_step_ramp/__init__.py +0 -0
  327. {luminarycloud-0.13.1.dist-info → luminarycloud-0.14.1.dist-info}/WHEEL +0 -0
@@ -39,29 +39,27 @@ class DirectionalCamera:
39
39
 
40
40
  .. warning:: This feature is experimental and may change or be removed in the future.
41
41
 
42
- Attributes:
43
- -----------
44
- name : str
45
- A user defined name for the camera.
46
- direction : CameraDirection
47
- The orientation of the camera. Default: X_POSITIVE
48
- projection : CameraProjection
49
- The type of projection used for the camera. Default: ORTHOGRAPHIC
50
- label: str
51
- A user defined label to help distinguish between multiple images.
52
- Default: ""
53
- width: int
54
- The width of the output image in pixels. Default: 1024
55
- height: int
56
- The height of the output image in pixels. Default: 1024
57
42
  """
58
43
 
59
44
  name: str = "default directional camera"
45
+ """ A user defined name for the camera. """
60
46
  direction: CameraDirection = CameraDirection.X_POSITIVE
47
+ """ The orientation of the camera. Default: X_POSITIVE """
61
48
  projection: CameraProjection = CameraProjection.ORTHOGRAPHIC
49
+ """ The type of projection used for the camera. Default: ORTHOGRAPHIC """
62
50
  label: str = ""
51
+ """A user defined label to help distinguish between multiple images."""
63
52
  width: int = 1024
53
+ """The width of the output image in pixels. Default: 1024"""
64
54
  height: int = 1024
55
+ """The height of the output image in pixels. Default: 1024"""
56
+ zoom_in: float = 1.0
57
+ """
58
+ Zooms in from the default camera distance. Valid values are in the (0,1]
59
+ range. A value of 0.5 means move the camera halfway between the default
60
+ point and the object (i.e., a 2x zoom). A value of 1 means no zoom. Default:
61
+ 1.0
62
+ """
65
63
 
66
64
 
67
65
  @dc.dataclass
@@ -73,39 +71,39 @@ class LookAtCamera:
73
71
 
74
72
  .. warning:: This feature is experimental and may change or be removed in the future.
75
73
 
76
- Attributes:
77
- -----------
78
- look_at: Vector3
79
- The point the camera is looking at. Default (0,0,0)
80
- position: Vector3
81
- The position of the camera. Default (0,1,0)
82
- up: Vector3
83
- The up vector for the camera. Default (0,0,1)
84
- projection : CameraProjection
85
- The type of projection used for the camera. Default: ORTHOGRAPHIC
86
- label: str
87
- A user defined label to help distinguish between multiple images. Default: ""
88
- width: int
89
- The width of the output image in pixels. Default: 1024
90
- height: int
91
- The height of the output image in pixels. Default: 1024
92
74
  """
93
75
 
94
76
  look_at: Vector3Like = dc.field(default_factory=lambda: Vector3(x=0, y=0, z=0))
77
+ """ The point the camera is looking at. Default (0,0,0) """
95
78
  position: Vector3Like = dc.field(default_factory=lambda: Vector3(x=0, y=1, z=0))
79
+ """ The position of the camera. Default (0,1,0) """
96
80
  up: Vector3Like = dc.field(default_factory=lambda: Vector3(x=0, y=0, z=1))
81
+ """ The up vector for the camera. Default (0,0,1) """
97
82
  projection: CameraProjection = CameraProjection.ORTHOGRAPHIC
83
+ """ The type of projection used for the camera. Default: ORTHOGRAPHIC """
98
84
  label: str = ""
85
+ """ A user defined label to help distinguish between multiple images. Default: "" """
99
86
  width: int = 1024
87
+ """ The width of the output image in pixels. Default: 1024 """
100
88
  height: int = 1024
89
+ """ The height of the output image in pixels. Default: 1024 """
90
+
91
+
92
+ class _InternalToken:
93
+ """Marker class to control instantiation access for RenderOutput."""
94
+
95
+ pass
101
96
 
102
97
 
103
98
  class RenderOutput:
104
99
  """
105
- The render output represents the request to render images from a geometry, mesh or
106
- solution. The operation exectutes asyncronously, so the caller must check
107
- the status of the image extract. If the status is completed, then the
108
- resuling image is available for download.
100
+ The render output represents the request to render images from a geometry,
101
+ mesh or solution, and is contructed by the Scene class. The operation
102
+ exectutes asyncronously, so the caller must check the status of the image
103
+ extract. If the status is completed, then the resuling image is available
104
+ for download.
105
+
106
+ .. warning:: This class should not be directly instantiated by users.
109
107
 
110
108
  .. warning:: This feature is experimental and may change or be removed in the future.
111
109
 
@@ -125,17 +123,27 @@ class RenderOutput:
125
123
  Internal flag to track if the extract has been deleted.
126
124
  """
127
125
 
128
- def __init__(
129
- self, extract_id: str, project_id: str, name: str, desciption: str, status: RenderStatusType
130
- ):
126
+ def __init__(self, factory_token: _InternalToken):
127
+ if not isinstance(factory_token, _InternalToken):
128
+ raise ValueError("This class can only be constructed through the Scene class")
129
+
131
130
  # TODO(matt): We could make all of these read only.
132
- self._extract_id: str = extract_id
133
- self._project_id: str = project_id
134
- self.status: RenderStatusType = status
135
- self.name: str = name
136
- self.description: str = desciption
131
+ self._extract_id: str = ""
132
+ self._project_id: str = ""
133
+ self.status: RenderStatusType = RenderStatusType.INVALID
134
+ self.name: str = ""
135
+ self.description: str = ""
137
136
  self._deleted = False
138
137
 
138
+ def _set_data(
139
+ self, extract_id: str, project_id: str, name: str, desciption: str, status: RenderStatusType
140
+ ) -> None:
141
+ self._extract_id = extract_id
142
+ self._project_id = project_id
143
+ self.status = status
144
+ self.name = name
145
+ self.description = desciption
146
+
139
147
  def __repr__(self) -> str:
140
148
  return f"RenderOutput(Id: {self._extract_id} status: {self.status})"
141
149
 
@@ -311,13 +319,18 @@ class Scene:
311
319
  annotations for all fields used in global and filter display attributes.
312
320
  When False, only color maps explicitly added by the user appear in the
313
321
  images. Default: True
322
+ supersampling: int
323
+ Supersampling controls anti-aliasing in output images. A value of 1 means no supersampling.
324
+ A value of 2 means we internally render at 2x the image resolution and downsample the image
325
+ to the requested resolution. Valid values are between 1 and 8. Default: 2
314
326
  """
315
327
 
316
328
  def __init__(self, entity: Geometry | Mesh | Solution):
317
329
  self.triad_visible: bool = True
318
- self.axes_grid_visible: bool = True
330
+ self.axes_grid_visible: bool = False
319
331
  self.background_color: Vector3 = Vector3(x=0, y=0, z=0)
320
332
  self.auto_color_map_annotations = True
333
+ self.supersampling: int = 2
321
334
  # Global display attrs
322
335
  self.global_display_attrs = DisplayAttributes()
323
336
  self._filters: List[Filter] = []
@@ -366,7 +379,7 @@ class Scene:
366
379
  except NotFoundError:
367
380
  self._has_tags = False
368
381
  except Exception as e:
369
- raise ValueError("An unknow error occurred retrieving tags")
382
+ raise ValueError("An unknown error occurred retrieving tags")
370
383
  elif self._entity_type == EntityType.MESH:
371
384
  mesh_meta = get_mesh_metadata(self._mesh.id)
372
385
  try:
@@ -374,7 +387,7 @@ class Scene:
374
387
  except NotFoundError:
375
388
  self._has_tags = False
376
389
  except Exception as e:
377
- raise ValueError("An unknow error occurred retrieving tags")
390
+ raise ValueError("An unknown error occurred retrieving tags")
378
391
  else:
379
392
  geom = self._geometry
380
393
 
@@ -536,6 +549,9 @@ class Scene:
536
549
  out_camera.look_at.look_at.CopyFrom(_to_vector3(lookat.look_at)._to_proto())
537
550
  elif isinstance(camera, DirectionalCamera):
538
551
  out_camera.direction = camera.direction.value
552
+ if camera.zoom_in <= 0 or camera.zoom_in > 1:
553
+ raise ValueError("Error: zoom_in must be in the range (0,1]")
554
+ out_camera.zoom = camera.zoom_in
539
555
  else:
540
556
  raise TypeError(f"Internal error: expected 'camera', got {type(camera).__name__}")
541
557
 
@@ -621,8 +637,9 @@ class Scene:
621
637
  # These are all default contructed, so they all have the same dimentions.
622
638
  # All the coordinates are in normalized device space.
623
639
  assert auto_cmaps[0].appearance != None
624
- width = auto_cmaps[0].appearance.width
625
- height = auto_cmaps[0].appearance.height
640
+ appearance = cast(ColorMapAppearance, auto_cmaps[0].appearance)
641
+ width = appearance.width
642
+ height = appearance.height
626
643
  x_padding = 0.05
627
644
  y_padding = 0.05
628
645
  # Placing them on the right side.
@@ -630,8 +647,9 @@ class Scene:
630
647
  lower_left_y = 1.0 - height - y_padding
631
648
  for cmap in auto_cmaps:
632
649
  assert cmap.appearance != None
633
- cmap.appearance.lower_left_x = lower_left_x
634
- cmap.appearance.lower_left_y = lower_left_y
650
+ cmap_appearance = cast(ColorMapAppearance, cmap.appearance)
651
+ cmap_appearance.lower_left_x = lower_left_x
652
+ cmap_appearance.lower_left_y = lower_left_y
635
653
  lower_left_y = lower_left_y - height - y_padding
636
654
  if lower_left_y < 0:
637
655
  lower_left_y = 0
@@ -654,6 +672,12 @@ class Scene:
654
672
  req.spec.background_properties.color.b = bg_color.z
655
673
  req.spec.background_properties.color.a = 1
656
674
 
675
+ if not isinstance(self.supersampling, int):
676
+ raise TypeError(f"Expected 'int', got {type(self.supersampling).__name__}")
677
+ if self.supersampling < 1 or self.supersampling > 8:
678
+ raise ValueError(f"Supersampling value is not in the range [1,8]: {self.supersampling}")
679
+ req.spec.supersampling_ratio = self.supersampling
680
+
657
681
  req.project_id = self._project_id
658
682
  if self._entity_type == EntityType.SIMULATION:
659
683
  req.spec.entity_type.simulation.id = self._solution.simulation_id
@@ -682,22 +706,24 @@ class Scene:
682
706
  req: vis_pb2.CreateExtractRequest = self._create_request(name=name, description=description)
683
707
  res: vis_pb2.CreateExtractResponse = get_default_client().CreateExtract(req)
684
708
  logger.info("Successfully submitted 'render_images' request")
685
- return RenderOutput(
709
+ render_output = RenderOutput(_InternalToken())
710
+ render_output._set_data(
686
711
  extract_id=res.extract.extract_id,
687
712
  project_id=self._project_id,
688
713
  name=name,
689
714
  desciption=description,
690
715
  status=RenderStatusType(res.extract.status),
691
716
  )
717
+ return render_output
692
718
 
693
- def interact(self) -> InteractiveScene:
719
+ def interact(self, scene_mode: SceneMode = SceneMode.SIDE_PANEL) -> InteractiveScene:
694
720
  """
695
721
  Start an interactive display of the scene, when running inside LuminaryCloud's
696
722
  AI Notebook environment or Jupyter Lab. The returned object must be displayed
697
723
  in the notebook to display the interactive visualization. This requires that
698
724
  the luminarycloud package was installed with the optional jupyter feature.
699
725
  """
700
- self._interactive_scene = InteractiveScene(self)
726
+ self._interactive_scene = InteractiveScene(self, mode=scene_mode)
701
727
  return self._interactive_scene
702
728
 
703
729
 
@@ -719,14 +745,15 @@ def get_render(project_id: str, extract_id: str) -> RenderOutput:
719
745
  req.extract_id = extract_id
720
746
  req.project_id = project_id
721
747
  res: vis_pb2.GetExtractResponse = get_default_client().GetExtract(req)
722
- output = RenderOutput(
748
+ render_output = RenderOutput(_InternalToken())
749
+ render_output._set_data(
723
750
  extract_id=extract_id,
724
751
  project_id=project_id,
725
752
  name=res.extract.name,
726
753
  desciption=res.extract.description,
727
754
  status=RenderStatusType(res.extract.status),
728
755
  )
729
- return output
756
+ return render_output
730
757
 
731
758
 
732
759
  def list_quantities(solution: Solution) -> List[VisQuantity]:
@@ -807,15 +834,14 @@ def list_renders(entity: Geometry | Mesh | Solution) -> List[RenderOutput]:
807
834
 
808
835
  results: List[RenderOutput] = []
809
836
  for extract in res.extracts:
810
- result = RenderOutput(
837
+ result = RenderOutput(_InternalToken())
838
+ result._set_data(
811
839
  extract_id=extract.extract_id,
812
840
  project_id=extract.project_id,
813
841
  name=extract.name,
814
842
  desciption=extract.description,
815
843
  status=RenderStatusType(extract.status),
816
844
  )
817
-
818
- # TODO(matt): the List extracts request is giving us nil for the status.
819
845
  # This need to be fixed on the backend, but manually refreshing works for now.
820
846
  result.refresh()
821
847
  results.append(result)
@@ -1,9 +1,9 @@
1
- # Copyright 2023-2024 Luminary Cloud, Inc. All Rights Reserved.
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 volumes(self) -> list[Volume]:
101
+ def __iter__(self) -> Iterator[Volume]:
102
102
  """
103
- Get the volumes that are currently selected.
103
+ Return an iterator over the selected volumes.
104
104
  """
105
105
  res = self.__list_entities()
106
- return [
107
- Volume(
108
- geometry_id=self.__geometry.id,
109
- id=str(b.id),
110
- _lcn_id=str(b.lcn_id),
111
- bbox_min=Vector3(b.bbox_min.x, b.bbox_min.y, b.bbox_min.z),
112
- bbox_max=Vector3(b.bbox_max.x, b.bbox_max.y, b.bbox_max.z),
113
- )
114
- for b in res.bodies
115
- if b.id in self.__volume_ids
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,
@@ -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[Iterator[VolumeSelection]] = 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.13.1
3
+ Version: 0.14.1
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/