luminarycloud 0.13.1__py3-none-any.whl → 0.14.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.
Files changed (307) hide show
  1. luminarycloud/_helpers/download.py +12 -1
  2. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +12 -12
  3. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +5 -1
  4. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.py +2 -1
  5. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2_grpc.pyi +6 -2
  6. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.py +14 -14
  7. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.pyi +5 -1
  8. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +117 -95
  9. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +57 -5
  10. luminarycloud/_proto/assistant/assistant_pb2.py +172 -23
  11. luminarycloud/_proto/assistant/assistant_pb2.pyi +358 -4
  12. luminarycloud/_proto/client/simulation_pb2.py +283 -283
  13. luminarycloud/_proto/client/simulation_pb2.pyi +33 -32
  14. luminarycloud/_proto/geometry/geometry_pb2.py +46 -46
  15. luminarycloud/_proto/geometry/geometry_pb2.pyi +6 -1
  16. luminarycloud/_proto/hexmesh/hexmesh_pb2.py +138 -37
  17. luminarycloud/_proto/hexmesh/hexmesh_pb2.pyi +218 -37
  18. luminarycloud/enum/vis_enums.py +26 -11
  19. luminarycloud/params/__init__.py +1 -2
  20. luminarycloud/params/enum/_enum_wrappers.py +861 -4
  21. luminarycloud/params/outputs/output.py +1 -1
  22. luminarycloud/params/{param_wrappers/simulation_param → simulation}/__init__.py +1 -0
  23. luminarycloud/params/{param_wrappers → simulation}/_lib.py +2 -4
  24. luminarycloud/params/{param_wrappers/simulation_param → simulation}/adaptive_mesh_refinement/boundary_layer_profile_.py +2 -2
  25. luminarycloud/params/{param_wrappers/simulation_param → simulation}/adaptive_mesh_refinement_.py +4 -4
  26. luminarycloud/params/{param_wrappers/simulation_param → simulation}/adjoint_.py +2 -2
  27. luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/gravity/gravity_off_.py +4 -4
  28. luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/gravity/gravity_on_.py +4 -4
  29. luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/gravity_.py +2 -2
  30. luminarycloud/params/{param_wrappers/simulation_param → simulation}/body_frame_.py +2 -2
  31. luminarycloud/params/{param_wrappers/simulation_param → simulation}/entity_relationships/volume_material_relationship_.py +2 -2
  32. luminarycloud/params/{param_wrappers/simulation_param → simulation}/entity_relationships/volume_physics_relationship_.py +2 -2
  33. luminarycloud/params/{param_wrappers/simulation_param → simulation}/entity_relationships_.py +6 -6
  34. luminarycloud/params/{param_wrappers/simulation_param → simulation}/general_.py +8 -10
  35. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/boussinesq_approximation/boussinesq_off_.py +4 -4
  36. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/boussinesq_approximation/boussinesq_on_.py +4 -4
  37. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/boussinesq_approximation_.py +2 -2
  38. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model/ideal_gas_.py +4 -6
  39. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model/incompressible_fluid_.py +4 -6
  40. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model/incompressible_fluid_with_energy_.py +4 -6
  41. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model_.py +2 -2
  42. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model/prescribed_conductivity_.py +4 -4
  43. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model/prescribed_prandtl_number_.py +4 -4
  44. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model/temperature_dependent_conductivity_.py +4 -4
  45. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model_.py +2 -2
  46. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model/prescribed_viscosity_.py +4 -6
  47. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model/sutherland_.py +4 -6
  48. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model/temperature_dependent_viscosity_.py +4 -6
  49. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model_.py +2 -2
  50. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/material_fluid_.py +32 -40
  51. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/material_solid_.py +2 -2
  52. luminarycloud/params/{param_wrappers/simulation_param → simulation}/material_entity_.py +6 -10
  53. luminarycloud/params/{param_wrappers/simulation_param → simulation}/monitor_plane_.py +10 -5
  54. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms/no_transform_.py +4 -6
  55. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms/rotational_transform_.py +4 -6
  56. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms/translational_transform_.py +4 -6
  57. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms_.py +2 -2
  58. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/motion_type/constant_angular_motion_.py +4 -4
  59. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/motion_type/constant_translation_motion_.py +4 -4
  60. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/motion_type_.py +2 -2
  61. luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data_.py +16 -20
  62. luminarycloud/params/{param_wrappers/simulation_param → simulation}/multi_physics_coupling_options_.py +2 -2
  63. luminarycloud/params/{param_wrappers/simulation_param → simulation}/output_.py +2 -2
  64. 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
  65. 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
  66. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection_.py +2 -2
  67. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk_.py +49 -0
  68. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_line_.py +4 -6
  69. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/probe_points_.py +4 -6
  70. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/source_points_.py +4 -6
  71. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type_.py +2 -2
  72. luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group_.py +20 -17
  73. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/adjoint_controls_fluid_.py +2 -2
  74. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/basic_fluid_.py +2 -2
  75. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/__init__.py +0 -1
  76. luminarycloud/params/simulation/physics/fluid/boundary_conditions/farfield_.py +111 -0
  77. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/__init__.py +1 -0
  78. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/fan_curve_inlet_.py +4 -6
  79. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mach_inlet_.py +55 -0
  80. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/mass_flow_inlet_.py +4 -6
  81. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/total_pressure_inlet_.py +4 -6
  82. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/velocity_components_inlet_.py +8 -6
  83. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/inlet/velocity_magnitude_inlet_.py +8 -6
  84. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet_.py +104 -0
  85. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/fan_curve_outlet_.py +4 -4
  86. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_pressure_.py +4 -4
  87. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_corrected_mass_flow_rate_.py +4 -4
  88. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_mass_flow_rate_.py +4 -4
  89. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy_.py +2 -2
  90. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet_.py +14 -14
  91. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/symmetry_.py +4 -4
  92. luminarycloud/params/simulation/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +50 -0
  93. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/energy/prescribed_heat_flux_.py +4 -4
  94. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/energy/prescribed_temperature_.py +4 -4
  95. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/momentum/no_slip_.py +4 -4
  96. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/momentum/slip_.py +4 -4
  97. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/momentum/wall_model_.py +4 -4
  98. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/wall_energy_.py +2 -2
  99. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/wall_momentum_.py +2 -2
  100. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall_.py +18 -18
  101. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions_fluid_.py +9 -4
  102. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/initialization/__init__.py +0 -1
  103. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/initialization/fluid_existing_solution_.py +4 -6
  104. luminarycloud/params/simulation/physics/fluid/initialization/fluid_farfield_values_.py +65 -0
  105. luminarycloud/params/simulation/physics/fluid/initialization/fluid_prescribed_values_.py +77 -0
  106. luminarycloud/params/simulation/physics/fluid/initialization/turbulence_initialization_.py +44 -0
  107. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/initialization_fluid_.py +2 -2
  108. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/blade_element_airfoil_data_.py +10 -5
  109. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_blade_element_.py +6 -6
  110. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_radial_distribution_.py +4 -4
  111. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_uniform_thrust_.py +4 -4
  112. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/fan_curve_internal_.py +4 -4
  113. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model_.py +8 -6
  114. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/actuator_line_blade_element_.py +6 -6
  115. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model_.py +8 -6
  116. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/blade_element_params_.py +2 -2
  117. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_acceleration_source_.py +4 -4
  118. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_mass_source_.py +4 -4
  119. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model_.py +8 -6
  120. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model_.py +2 -2
  121. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior_.py +34 -29
  122. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/porous_behavior_.py +10 -5
  123. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_explicit_relaxation_.py +4 -4
  124. 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
  125. 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
  126. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup_.py +2 -2
  127. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation_.py +16 -16
  128. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method_.py +2 -2
  129. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/pseudo_time_step_method/cfl_based_.py +4 -4
  130. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/pseudo_time_step_method/fixed_pseudo_time_step_.py +4 -4
  131. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/pseudo_time_step_method_.py +2 -2
  132. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls_fluid_.py +14 -14
  133. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/ec2_.py +4 -4
  134. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/fds_.py +4 -4
  135. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/ld2_.py +6 -4
  136. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/rhie_chow_.py +4 -4
  137. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_.py +2 -2
  138. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_order/first_order_.py +4 -4
  139. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_order/second_order_.py +4 -4
  140. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_order_.py +2 -2
  141. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization_fluid_.py +20 -18
  142. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation/ddes_.py +4 -6
  143. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation/ddes_vtm_.py +4 -6
  144. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation/iddes_.py +4 -6
  145. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation_.py +2 -2
  146. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/constants/custom_komega_sst_constants_.py +4 -4
  147. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/constants/default_komega_sst_constants_.py +4 -4
  148. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/komega_sst_constants_.py +2 -2
  149. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst_.py +10 -12
  150. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/constants/custom_spalart_allmaras_constants_.py +4 -4
  151. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/constants/default_spalart_allmaras_constants_.py +4 -4
  152. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/spalart_allmaras_constants_.py +2 -2
  153. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras_.py +10 -12
  154. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/amd_.py +4 -4
  155. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/sigma_.py +4 -4
  156. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/smagorinsky_.py +4 -4
  157. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/vreman_.py +4 -4
  158. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/wale_.py +4 -4
  159. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model_.py +2 -2
  160. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence_.py +22 -32
  161. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid_.py +60 -78
  162. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/adjoint_controls_heat_.py +2 -2
  163. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_convection_.py +4 -4
  164. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_heat_flux_.py +4 -4
  165. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_integrated_heat_flux_.py +4 -4
  166. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_symmetry_.py +4 -4
  167. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/heat_bc_temperature_.py +4 -4
  168. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions_heat_.py +9 -4
  169. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source/heat_source_type/heat_source_type_power_.py +4 -4
  170. 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
  171. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source/heat_source_type_.py +2 -2
  172. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source_.py +16 -11
  173. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/initialization/heat_existing_solution_.py +4 -6
  174. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/initialization/heat_prescribed_values_.py +4 -6
  175. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/initialization_heat_.py +2 -2
  176. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls/heat_relaxation_method/heat_implicit_relaxation_.py +10 -10
  177. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls/heat_relaxation_method_.py +2 -2
  178. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls_heat_.py +6 -6
  179. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/spatial_discretization_heat_.py +2 -2
  180. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat_.py +32 -40
  181. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/periodicity_type/rotational_periodicity_.py +4 -6
  182. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/periodicity_type/translational_periodicity_.py +4 -6
  183. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/periodicity_type_.py +2 -2
  184. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair_.py +8 -10
  185. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/linear_solver_type/gauss_seidel_.py +4 -4
  186. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/linear_solver_type/krylov_amg_.py +4 -4
  187. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/linear_solver_type_.py +2 -2
  188. luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics_.py +6 -6
  189. luminarycloud/params/{param_wrappers → simulation}/simulation_param_.py +34 -40
  190. luminarycloud/params/{param_wrappers/simulation_param → simulation}/sliding_interfaces_.py +10 -5
  191. luminarycloud/params/{param_wrappers/simulation_param → simulation}/surface_name_.py +2 -2
  192. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/compute_statistics/compute_statistics_off_.py +4 -6
  193. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/compute_statistics/compute_statistics_on_.py +4 -6
  194. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/compute_statistics_.py +2 -2
  195. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_marching/time_explicit_.py +4 -4
  196. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_marching/time_implicit_.py +4 -4
  197. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_marching_.py +2 -2
  198. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_step_ramp/time_step_ramp_off_.py +4 -4
  199. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_step_ramp/time_step_ramp_on_.py +4 -4
  200. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_step_ramp_.py +2 -2
  201. luminarycloud/params/{param_wrappers/simulation_param → simulation}/time_.py +20 -30
  202. luminarycloud/params/{param_wrappers/simulation_param → simulation}/volume_entity_.py +2 -2
  203. luminarycloud/project.py +49 -18
  204. luminarycloud/reference_values.py +1 -1
  205. luminarycloud/simulation.py +13 -2
  206. luminarycloud/simulation_param.py +8 -8
  207. luminarycloud/solution.py +7 -1
  208. luminarycloud/types/vector3.py +28 -2
  209. luminarycloud/vis/__init__.py +2 -1
  210. luminarycloud/vis/display.py +57 -67
  211. luminarycloud/vis/filters.py +97 -16
  212. luminarycloud/vis/interactive_scene.py +3 -3
  213. luminarycloud/vis/visualization.py +71 -55
  214. {luminarycloud-0.13.1.dist-info → luminarycloud-0.14.0.dist-info}/METADATA +1 -1
  215. luminarycloud-0.14.0.dist-info/RECORD +466 -0
  216. luminarycloud/params/param_wrappers/__init__.py +0 -2
  217. luminarycloud/params/param_wrappers/simulation_param/particle_group/particle_group_type/actuator_disk_.py +0 -51
  218. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/farfield_.py +0 -197
  219. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/inlet_.py +0 -189
  220. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/__init__.py +0 -4
  221. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega/__init__.py +0 -5
  222. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega/bc_komega_variables_.py +0 -37
  223. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega/bc_turbulent_viscosity_and_intensity_komega_.py +0 -33
  224. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega/bc_turbulent_viscosity_ratio_and_intensity_komega_.py +0 -33
  225. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/komega_boundary_conditions_.py +0 -25
  226. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras/__init__.py +0 -3
  227. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras/bc_sa_variable_.py +0 -33
  228. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras/bc_turbulent_viscosity_ratio_sa_.py +0 -31
  229. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras/bc_turbulent_viscosity_sa_.py +0 -31
  230. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence/spalart_allmaras_boundary_conditions_.py +0 -25
  231. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +0 -65
  232. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/fluid_farfield_values_.py +0 -173
  233. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/fluid_prescribed_values_.py +0 -185
  234. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/__init__.py +0 -4
  235. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega/__init__.py +0 -5
  236. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega/init_farfield_values_komega_.py +0 -30
  237. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega/init_turbulent_viscosity_and_intensity_komega_.py +0 -33
  238. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega/init_turbulent_viscosity_ratio_and_intensity_komega_.py +0 -33
  239. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/komega_initialization_.py +0 -25
  240. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/__init__.py +0 -4
  241. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/init_farfield_values_sa_.py +0 -30
  242. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/init_sa_variable_.py +0 -31
  243. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/init_turbulent_viscosity_ratio_sa_.py +0 -31
  244. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras/init_turbulent_viscosity_sa_.py +0 -31
  245. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence/spalart_allmaras_initialization_.py +0 -25
  246. luminarycloud/params/param_wrappers/simulation_param/physics/fluid/initialization/turbulence_initialization_.py +0 -69
  247. luminarycloud-0.13.1.dist-info/RECORD +0 -489
  248. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/adaptive_mesh_refinement/__init__.py +0 -0
  249. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/__init__.py +0 -0
  250. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/basic/gravity/__init__.py +0 -0
  251. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/entity_relationships/__init__.py +0 -0
  252. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/__init__.py +0 -0
  253. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/__init__.py +0 -0
  254. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/boussinesq_approximation/__init__.py +0 -0
  255. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/material_model/__init__.py +0 -0
  256. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/thermal_conductivity_model/__init__.py +0 -0
  257. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/material/fluid/viscosity_model/__init__.py +0 -0
  258. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/__init__.py +0 -0
  259. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/frame_transforms/__init__.py +0 -0
  260. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/motion_data/motion_type/__init__.py +0 -0
  261. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/__init__.py +0 -0
  262. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/__init__.py +0 -0
  263. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_disk/__init__.py +0 -0
  264. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/__init__.py +0 -0
  265. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/__init__.py +0 -0
  266. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/__init__.py +0 -0
  267. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/__init__.py +0 -0
  268. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/outlet/outlet_strategy/__init__.py +0 -0
  269. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/__init__.py +0 -0
  270. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/energy/__init__.py +0 -0
  271. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/boundary_conditions/wall/momentum/__init__.py +0 -0
  272. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/__init__.py +0 -0
  273. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/__init__.py +0 -0
  274. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/__init__.py +0 -0
  275. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/__init__.py +0 -0
  276. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/__init__.py +0 -0
  277. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/__init__.py +0 -0
  278. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/__init__.py +0 -0
  279. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/__init__.py +0 -0
  280. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/__init__.py +0 -0
  281. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/solution_controls/pseudo_time_step_method/__init__.py +0 -0
  282. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/__init__.py +0 -0
  283. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme/__init__.py +0 -0
  284. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/spatial_discretization/convective_scheme_order/__init__.py +0 -0
  285. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/__init__.py +0 -0
  286. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/des_formulation/__init__.py +0 -0
  287. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/__init__.py +0 -0
  288. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/komega_sst/constants/__init__.py +0 -0
  289. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/__init__.py +0 -0
  290. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/spalart_allmaras/constants/__init__.py +0 -0
  291. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/fluid/turbulence/sub_grid_scale_model/__init__.py +0 -0
  292. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/__init__.py +0 -0
  293. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/boundary_conditions/__init__.py +0 -0
  294. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source/__init__.py +0 -0
  295. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/heat_source/heat_source_type/__init__.py +0 -0
  296. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/initialization/__init__.py +0 -0
  297. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls/__init__.py +0 -0
  298. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/heat/solution_controls/heat_relaxation_method/__init__.py +0 -0
  299. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/__init__.py +0 -0
  300. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/periodic_pair/periodicity_type/__init__.py +0 -0
  301. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/__init__.py +0 -0
  302. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/physics/solution_controls/linear_solver_type/__init__.py +0 -0
  303. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/__init__.py +0 -0
  304. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/compute_statistics/__init__.py +0 -0
  305. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_marching/__init__.py +0 -0
  306. /luminarycloud/params/{param_wrappers/simulation_param → simulation}/time/time_step_ramp/__init__.py +0 -0
  307. {luminarycloud-0.13.1.dist-info → luminarycloud-0.14.0.dist-info}/WHEEL +0 -0
@@ -1,6 +1,6 @@
1
1
  # Generated by generate_sdk_wrappers.py. DO NOT EDIT
2
2
 
3
- from abc import ABCMeta
3
+ from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
5
  from typing import Any, Optional
6
6
  from uuid import uuid4
@@ -15,7 +15,7 @@ from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
16
  import luminarycloud.params.enum._enum_wrappers as enum
17
17
 
18
- from luminarycloud.params.param_wrappers._lib import ParamGroupWrapper, CodeRepr, create_unique_id
18
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
19
 
20
20
 
21
21
  @dataclass(kw_only=True)
@@ -1,6 +1,6 @@
1
1
  # Generated by generate_sdk_wrappers.py. DO NOT EDIT
2
2
 
3
- from abc import ABCMeta
3
+ from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
5
  from typing import Any, Optional
6
6
  from uuid import uuid4
@@ -15,10 +15,10 @@ from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
16
  import luminarycloud.params.enum._enum_wrappers as enum
17
17
 
18
- from luminarycloud.params.param_wrappers._lib import ParamGroupWrapper, CodeRepr, create_unique_id
18
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
19
 
20
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp_ import TimeStepRamp
21
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp_ import *
20
+ from luminarycloud.params.simulation.time.time_step_ramp_ import TimeStepRamp
21
+ from luminarycloud.params.simulation.time.time_step_ramp_ import *
22
22
 
23
23
 
24
24
  @dataclass(kw_only=True)
@@ -1,6 +1,6 @@
1
1
  # Generated by generate_sdk_wrappers.py. DO NOT EDIT
2
2
 
3
- from abc import ABCMeta
3
+ from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
5
  from typing import Any, Optional
6
6
  from uuid import uuid4
@@ -15,10 +15,10 @@ from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
16
  import luminarycloud.params.enum._enum_wrappers as enum
17
17
 
18
- from luminarycloud.params.param_wrappers._lib import ParamGroupWrapper, CodeRepr, create_unique_id
18
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
19
 
20
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp_ import TimeStepRamp
21
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp_ import *
20
+ from luminarycloud.params.simulation.time.time_step_ramp_ import TimeStepRamp
21
+ from luminarycloud.params.simulation.time.time_step_ramp_ import *
22
22
 
23
23
 
24
24
  @dataclass(kw_only=True)
@@ -1,6 +1,6 @@
1
1
  # Generated by generate_sdk_wrappers.py. DO NOT EDIT
2
2
 
3
- from abc import ABCMeta
3
+ from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
5
  from typing import Any, Optional
6
6
  from uuid import uuid4
@@ -15,7 +15,7 @@ from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
16
  import luminarycloud.params.enum._enum_wrappers as enum
17
17
 
18
- from luminarycloud.params.param_wrappers._lib import ParamGroupWrapper, CodeRepr, create_unique_id
18
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
19
 
20
20
 
21
21
  @dataclass(kw_only=True)
@@ -1,6 +1,6 @@
1
1
  # Generated by generate_sdk_wrappers.py. DO NOT EDIT
2
2
 
3
- from abc import ABCMeta
3
+ from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
5
  from typing import Any, Optional
6
6
  from uuid import uuid4
@@ -15,40 +15,30 @@ from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
16
  import luminarycloud.params.enum._enum_wrappers as enum
17
17
 
18
- from luminarycloud.params.param_wrappers._lib import ParamGroupWrapper, CodeRepr, create_unique_id
18
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
19
 
20
- from luminarycloud.params.param_wrappers.simulation_param.time.compute_statistics_ import (
21
- ComputeStatistics,
22
- )
23
- from luminarycloud.params.param_wrappers.simulation_param.time.compute_statistics_ import *
24
- from luminarycloud.params.param_wrappers.simulation_param.time.compute_statistics.compute_statistics_off_ import (
20
+ from luminarycloud.params.simulation.time.compute_statistics_ import ComputeStatistics
21
+ from luminarycloud.params.simulation.time.compute_statistics_ import *
22
+ from luminarycloud.params.simulation.time.compute_statistics.compute_statistics_off_ import (
25
23
  ComputeStatisticsOff,
26
24
  )
27
- from luminarycloud.params.param_wrappers.simulation_param.time.compute_statistics.compute_statistics_off_ import *
28
- from luminarycloud.params.param_wrappers.simulation_param.time.compute_statistics.compute_statistics_on_ import (
25
+ from luminarycloud.params.simulation.time.compute_statistics.compute_statistics_off_ import *
26
+ from luminarycloud.params.simulation.time.compute_statistics.compute_statistics_on_ import (
29
27
  ComputeStatisticsOn,
30
28
  )
31
- from luminarycloud.params.param_wrappers.simulation_param.time.compute_statistics.compute_statistics_on_ import *
32
- from luminarycloud.params.param_wrappers.simulation_param.time.time_marching.time_explicit_ import (
33
- TimeExplicit,
34
- )
35
- from luminarycloud.params.param_wrappers.simulation_param.time.time_marching.time_explicit_ import *
36
- from luminarycloud.params.param_wrappers.simulation_param.time.time_marching.time_implicit_ import (
37
- TimeImplicit,
38
- )
39
- from luminarycloud.params.param_wrappers.simulation_param.time.time_marching.time_implicit_ import *
40
- from luminarycloud.params.param_wrappers.simulation_param.time.time_marching_ import TimeMarching
41
- from luminarycloud.params.param_wrappers.simulation_param.time.time_marching_ import *
42
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp_ import TimeStepRamp
43
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp_ import *
44
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp.time_step_ramp_off_ import (
45
- TimeStepRampOff,
46
- )
47
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp.time_step_ramp_off_ import *
48
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp.time_step_ramp_on_ import (
49
- TimeStepRampOn,
50
- )
51
- from luminarycloud.params.param_wrappers.simulation_param.time.time_step_ramp.time_step_ramp_on_ import *
29
+ from luminarycloud.params.simulation.time.compute_statistics.compute_statistics_on_ import *
30
+ from luminarycloud.params.simulation.time.time_marching.time_explicit_ import TimeExplicit
31
+ from luminarycloud.params.simulation.time.time_marching.time_explicit_ import *
32
+ from luminarycloud.params.simulation.time.time_marching.time_implicit_ import TimeImplicit
33
+ from luminarycloud.params.simulation.time.time_marching.time_implicit_ import *
34
+ from luminarycloud.params.simulation.time.time_marching_ import TimeMarching
35
+ from luminarycloud.params.simulation.time.time_marching_ import *
36
+ from luminarycloud.params.simulation.time.time_step_ramp_ import TimeStepRamp
37
+ from luminarycloud.params.simulation.time.time_step_ramp_ import *
38
+ from luminarycloud.params.simulation.time.time_step_ramp.time_step_ramp_off_ import TimeStepRampOff
39
+ from luminarycloud.params.simulation.time.time_step_ramp.time_step_ramp_off_ import *
40
+ from luminarycloud.params.simulation.time.time_step_ramp.time_step_ramp_on_ import TimeStepRampOn
41
+ from luminarycloud.params.simulation.time.time_step_ramp.time_step_ramp_on_ import *
52
42
 
53
43
 
54
44
  @dataclass(kw_only=True)
@@ -1,6 +1,6 @@
1
1
  # Generated by generate_sdk_wrappers.py. DO NOT EDIT
2
2
 
3
- from abc import ABCMeta
3
+ from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
5
  from typing import Any, Optional
6
6
  from uuid import uuid4
@@ -15,7 +15,7 @@ from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
16
  import luminarycloud.params.enum._enum_wrappers as enum
17
17
 
18
- from luminarycloud.params.param_wrappers._lib import ParamGroupWrapper, CodeRepr, create_unique_id
18
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
19
 
20
20
 
21
21
  @dataclass(kw_only=True)
luminarycloud/project.py CHANGED
@@ -4,12 +4,14 @@ from __future__ import annotations
4
4
  import re
5
5
  from datetime import datetime
6
6
  from os import PathLike, path
7
- from typing import TYPE_CHECKING, Optional
7
+ from typing import TYPE_CHECKING, Any, Dict, Optional, Union
8
+
9
+ import concurrent
8
10
 
9
11
  import grpc
10
12
 
11
13
  import luminarycloud as lc
12
- from luminarycloud.params.param_wrappers.simulation_param.adjoint_ import Adjoint
14
+ from luminarycloud.params.simulation.adjoint_ import Adjoint
13
15
 
14
16
  from ._client import get_default_client
15
17
  from ._helpers import (
@@ -337,22 +339,44 @@ class Project(ProtoWrapperBase):
337
339
  return lc.Mesh(res.mesh)
338
340
  raise
339
341
 
340
- def create_hex_mesh(self, file_path: PathLike | str, params: hexmeshpb.HexMeshSpec) -> "Mesh":
342
+ def create_hex_mesh(
343
+ self,
344
+ names_to_file_paths: Dict[str, Union[PathLike[Any], str]],
345
+ params: hexmeshpb.HexMeshSpec,
346
+ ) -> "Mesh":
341
347
  """
342
348
  Creates a hex mesh. Only for internal use.
343
349
  """
344
350
  client = get_default_client()
345
- if not str(file_path).endswith(".stl"):
346
- raise ValueError("File must be a .stl file")
347
351
 
348
- file_meta = util.get_file_metadata(file_path)
349
- finish_res = upload_file(
350
- client,
351
- self.id,
352
- uploadpb.ResourceParams(geometry_params=uploadpb.GeometryParams()),
353
- file_path,
354
- )[1]
355
- params.file_url = finish_res.url
352
+ def upload_single_file(name: str, file_path: Union[PathLike[Any], str]) -> tuple[str, str]:
353
+ if not str(file_path).endswith(".stl"):
354
+ raise ValueError(f"File {file_path} must be a .stl file")
355
+ finish_res = upload_file(
356
+ client,
357
+ self.id,
358
+ uploadpb.ResourceParams(geometry_params=uploadpb.GeometryParams()),
359
+ file_path,
360
+ )[1]
361
+ return name, finish_res.url
362
+
363
+ names_to_uploaded_file_paths = {}
364
+ with concurrent.futures.ThreadPoolExecutor() as executor:
365
+ future_to_name = {
366
+ executor.submit(upload_single_file, name, file_path): name
367
+ for name, file_path in names_to_file_paths.items()
368
+ }
369
+
370
+ for future in concurrent.futures.as_completed(future_to_name):
371
+ try:
372
+ name, url = future.result()
373
+ names_to_uploaded_file_paths[name] = url
374
+ except Exception as exc:
375
+ name = future_to_name[future]
376
+ raise RuntimeError(f"Upload failed for {name}: {exc}")
377
+
378
+ for name, url in names_to_uploaded_file_paths.items():
379
+ params.names_to_file_urls[name] = url
356
380
 
357
381
  req = meshpb.CreateHexMeshRequest(project_id=self.id, hex_mesh_config=params)
358
382
 
@@ -503,7 +527,8 @@ class Project(ProtoWrapperBase):
503
527
 
504
528
  def list_simulation_templates(self) -> "list[SimulationTemplate]":
505
529
  """
506
- List all simulation templates in project.
530
+ List all simulation templates in project. The first one in the list is the "setup" template,
531
+ which is the one that is synced to the Setup tab in the UI.
507
532
  """
508
533
  req = simtemplatepb.ListSimulationTemplatesRequest(project_id=self.id)
509
534
  res = get_default_client().ListSimulationTemplates(req)
@@ -513,7 +538,7 @@ class Project(ProtoWrapperBase):
513
538
  self,
514
539
  name: str,
515
540
  *,
516
- parameters: Optional[clientpb.SimulationParam] = None,
541
+ parameters: Optional[Union[clientpb.SimulationParam, SimulationParam]] = None,
517
542
  params_json_path: Optional[PathLike | str] = None,
518
543
  ) -> "SimulationTemplate":
519
544
  """
@@ -533,11 +558,17 @@ class Project(ProtoWrapperBase):
533
558
  Path to local JSON file containing simulation params.
534
559
  """
535
560
  if params_json_path is not None:
536
- parameters = simulation_params_from_json_path(params_json_path)
537
- elif parameters is None:
561
+ param_proto = simulation_params_from_json_path(params_json_path)
562
+ elif parameters is not None:
563
+ if isinstance(parameters, SimulationParam):
564
+ param_proto = parameters._to_proto()
565
+ else:
566
+ param_proto = clientpb.SimulationParam()
567
+ param_proto.CopyFrom(parameters)
568
+ else:
538
569
  raise Exception("Either parameters or params_json_path must be set")
539
570
  req = simtemplatepb.CreateSimulationTemplateRequest(
540
- project_id=self.id, name=name, parameters=parameters
571
+ project_id=self.id, name=name, parameters=param_proto
541
572
  )
542
573
  res = get_default_client().CreateSimulationTemplate(req)
543
574
  return lc.SimulationTemplate(res.simulation_template)
@@ -5,7 +5,7 @@ from ._proto.base.base_pb2 import AdFloatType
5
5
  from ._proto.output import reference_values_pb2 as refvalpb
6
6
  from .enum import ReferenceValuesType
7
7
 
8
- from .params.param_wrappers._lib import CodeRepr
8
+ from .params.simulation._lib import CodeRepr
9
9
 
10
10
 
11
11
  @dataclass(kw_only=True)
@@ -10,6 +10,7 @@ from ._proto.api.v0.luminarycloud.common import common_pb2 as commonpb
10
10
  from ._proto.api.v0.luminarycloud.simulation import simulation_pb2 as simulationpb
11
11
  from ._proto.api.v0.luminarycloud.solution import solution_pb2 as solutionpb
12
12
  from ._proto.client import simulation_pb2 as clientpb
13
+ from ._proto.quantity import quantity_options_pb2 as quantityoptspb
13
14
  from ._wrapper import ProtoWrapper, ProtoWrapperBase
14
15
  from .enum import (
15
16
  AveragingType,
@@ -19,6 +20,7 @@ from .enum import (
19
20
  SimulationStatus,
20
21
  Vector3Component,
21
22
  )
23
+ from .simulation_param import SimulationParam
22
24
  from .reference_values import ReferenceValues
23
25
  from .solution import Solution
24
26
  from .types import MeshID, ProjectID, SimulationID, Vector3Like
@@ -178,7 +180,7 @@ class Simulation(ProtoWrapperBase):
178
180
  surface_ids: list[str],
179
181
  *,
180
182
  reference_values: ReferenceValues = None,
181
- calculation_type: CalculationType = CalculationType.PER_SURFACE,
183
+ calculation_type: CalculationType = CalculationType.AGGREGATE,
182
184
  frame_id: str = "",
183
185
  force_direction: Optional[Vector3Like] = None,
184
186
  moment_center: Optional[Vector3Like] = None,
@@ -204,7 +206,7 @@ class Simulation(ProtoWrapperBase):
204
206
  reference values will be used.
205
207
  calculation_type : CalculationType, optional
206
208
  Whether the calculation should be done for all the surfaces together or each surface
207
- individually. Default is PER_SURFACE.
209
+ individually. Default is AGGREGATE.
208
210
  frame_id: str, optional
209
211
  The ID of the reference frame that this output should be
210
212
  reported in for "force" quantity types.
@@ -242,6 +244,8 @@ class Simulation(ProtoWrapperBase):
242
244
  ... with open(dl.filename, "w") as fp:
243
245
  ... fp.write(dl.read())
244
246
  """
247
+ if quantity_type._has_tag(quantityoptspb.TAG_COEFFICIENT) and reference_values is None:
248
+ print("WARNING: Quantity is a coefficient but reference values were not specified.")
245
249
  req = simulationpb.GetSimulationSurfaceQuantityOutputRequest(
246
250
  id=self.id,
247
251
  quantity_type=quantity_type.value,
@@ -288,6 +292,13 @@ class Simulation(ProtoWrapperBase):
288
292
  req = simulationpb.GetSimulationParametersRequest(id=self.id)
289
293
  return get_default_client().GetSimulationParameters(req)
290
294
 
295
+ def get_simulation_param(self) -> SimulationParam:
296
+ """
297
+ Returns the simulation parameters associated with this template to allow customization of
298
+ the parameters.
299
+ """
300
+ return SimulationParam.from_proto(self.get_parameters())
301
+
291
302
 
292
303
  def get_simulation(id: SimulationID) -> Simulation:
293
304
  """
@@ -17,24 +17,24 @@ from luminarycloud._proto.output import output_pb2 as outputpb
17
17
  from luminarycloud._proto.quantity import quantity_options_pb2 as quantityoptspb
18
18
  from luminarycloud.enum import AveragingType, QuantityType, SpaceAveragingType
19
19
  from luminarycloud.params.geometry import Volume
20
- from luminarycloud.params.param_wrappers.simulation_param import (
20
+ from luminarycloud.params.simulation import (
21
21
  EntityRelationships,
22
22
  )
23
- from luminarycloud.params.param_wrappers.simulation_param.adjoint_ import Adjoint
24
- from luminarycloud.params.param_wrappers.simulation_param.entity_relationships.volume_material_relationship_ import (
23
+ from luminarycloud.params.simulation.adjoint_ import Adjoint
24
+ from luminarycloud.params.simulation.entity_relationships.volume_material_relationship_ import (
25
25
  VolumeMaterialRelationship,
26
26
  )
27
- from luminarycloud.params.param_wrappers.simulation_param.entity_relationships.volume_physics_relationship_ import (
27
+ from luminarycloud.params.simulation.entity_relationships.volume_physics_relationship_ import (
28
28
  VolumePhysicsRelationship,
29
29
  )
30
- from luminarycloud.params.param_wrappers.simulation_param.material_entity_ import (
30
+ from luminarycloud.params.simulation.material_entity_ import (
31
31
  MaterialEntity,
32
32
  )
33
- from luminarycloud.params.param_wrappers.simulation_param.physics_ import Physics
34
- from luminarycloud.params.param_wrappers.simulation_param.volume_entity_ import (
33
+ from luminarycloud.params.simulation.physics_ import Physics
34
+ from luminarycloud.params.simulation.volume_entity_ import (
35
35
  VolumeEntity,
36
36
  )
37
- from luminarycloud.params.param_wrappers.simulation_param_ import (
37
+ from luminarycloud.params.simulation import (
38
38
  SimulationParam as _SimulationParam,
39
39
  )
40
40
  from luminarycloud.reference_values import ReferenceValues, ReferenceValuesType
luminarycloud/solution.py CHANGED
@@ -79,12 +79,17 @@ class Solution(ProtoWrapperBase):
79
79
  mode="r|gz",
80
80
  )
81
81
 
82
- def download_volume_data(self) -> tarfile.TarFile:
82
+ def download_volume_data(self, single_precision: bool = False) -> tarfile.TarFile:
83
83
  """
84
84
  Download volume solution for a completed steady simulation as a gzipped tarball containing .vtu & .vtp files.
85
85
 
86
86
  The output may be broken up into multiple .vtu files for large simulations.
87
87
 
88
+ Parameters
89
+ ----------
90
+ single_precision : bool
91
+ If True, outputs floating point fields in single precision. Defaults to False.
92
+
88
93
  Returns
89
94
  -------
90
95
  tarfile.Tarfile
@@ -108,6 +113,7 @@ class Solution(ProtoWrapperBase):
108
113
  stream = download_volume_solution(
109
114
  get_default_client(),
110
115
  self.id,
116
+ single_precision=single_precision,
111
117
  )
112
118
  return tarfile.open(
113
119
  name=stream.filename,
@@ -1,6 +1,6 @@
1
1
  # Copyright 2023-2024 Luminary Cloud, Inc. All Rights Reserved.
2
2
  from dataclasses import dataclass
3
- from typing import TypeAlias
3
+ from typing import TypeAlias, Iterator
4
4
 
5
5
  from .._proto.api.v0.luminarycloud.common import common_pb2 as commonpb
6
6
  from .._proto.base.base_pb2 import AdVector3, Vector3 as Vector3Proto
@@ -12,7 +12,23 @@ from .adfloat import (
12
12
 
13
13
  @dataclass
14
14
  class Vector3:
15
- """Represents a 3-dimensional vector."""
15
+ """Represents a 3-dimensional vector.
16
+
17
+ Supports direct component access, indexing, iteration, and conversion to numpy arrays.
18
+
19
+ Examples:
20
+ >>> from luminarycloud.types import Vector3
21
+ >>> v = Vector3(1.0, 2.0, 3.0)
22
+ >>> v.x, v.y, v.z # Direct component access
23
+ (1.0, 2.0, 3.0)
24
+ >>> v[0] # Access by index
25
+ 1.0
26
+ >>> list(v) # Iterate over components
27
+ [1.0, 2.0, 3.0]
28
+ >>> import numpy as np
29
+ >>> np.array(v) # Convert to numpy array
30
+ array([1., 2., 3.])
31
+ """
16
32
 
17
33
  x: float = 0.0
18
34
  y: float = 0.0
@@ -60,6 +76,16 @@ class Vector3:
60
76
  else:
61
77
  raise IndexError(f"Index {index} out of bounds for Vector3")
62
78
 
79
+ def __iter__(self) -> Iterator[float]:
80
+ """Enable iteration over the vector components."""
81
+ yield self.x
82
+ yield self.y
83
+ yield self.z
84
+
85
+ def __len__(self) -> int:
86
+ """Return the number of components in the vector."""
87
+ return 3
88
+
63
89
 
64
90
  Vector3Like: TypeAlias = Vector3 | list[float] | tuple[float, float, float] # type: ignore
65
91
 
@@ -1,5 +1,5 @@
1
1
  from .visualization import (
2
- RenderOutput as RenderOuptut,
2
+ RenderOutput as RenderOutput,
3
3
  Scene as Scene,
4
4
  ColorMapPreset as ColorMapPreset,
5
5
  EntityType as EntityType,
@@ -19,6 +19,7 @@ from .filters import (
19
19
  ScaledVectorGlyphs as ScaledVectorGlyphs,
20
20
  RakeStreamlines as RakeStreamlines,
21
21
  SurfaceStreamlines as SurfaceStreamlines,
22
+ SurfaceLIC as SurfaceLIC,
22
23
  Threshold as Threshold,
23
24
  Isosurface as Isosurface,
24
25
  )
@@ -11,19 +11,17 @@ class Field:
11
11
 
12
12
  .. warning:: This feature is experimental and may change or be removed in the future.
13
13
 
14
- Attribues:
15
- ----------
16
- quantity : VisQuantity
17
- The quantity to color by.
18
- component : FieldComponent
19
- The component of the field to use, applicable to vector fields. If the field is a
20
- scalar, use the default X component.
21
14
  """
22
15
 
23
16
  quantity: VisQuantity = VisQuantity.ABSOLUTE_PRESSURE
17
+ """The quantity to color by."""
24
18
  component: FieldComponent = FieldComponent.X
19
+ """
20
+ The component of the field to use, applicable to vector fields. If the field is a
21
+ scalar, use the default X component.
22
+ """
25
23
 
26
- def __hash__(self):
24
+ def __hash__(self) -> int:
27
25
  return hash((self.quantity, self.component))
28
26
 
29
27
 
@@ -35,25 +33,23 @@ class DisplayAttributes:
35
33
 
36
34
  .. warning:: This feature is experimental and may change or be removed in the future.
37
35
 
38
- Attributes:
39
- ----------
40
- visible : bool
41
- If the object is visible or not. Default: True
42
- opacity : float
43
- How opaque the object is. This is a normalized number between
44
- 0 (i.e., fully transparent) and 1 (i.e., fully opaque). Default: 1
45
- field : Field
46
- What field quantity/component to color by, if applicable.
47
- representation : Representation
48
- how the object is represented in the scene (e.g., surface, surface with
49
- edges, wireframe or points). Default: surface.
50
36
  """
51
37
 
52
38
  visible: bool = True
39
+ """If the object is visible or not. Default: True"""
53
40
  # TODO(matt): opacity not hooked up yet.
54
41
  opacity: float = 1.0
42
+ """
43
+ How opaque the object is. This is a normalized number between
44
+ 0 (i.e., fully transparent) and 1 (i.e., fully opaque). Default: 1
45
+ """
55
46
  field: Field = dc.field(default_factory=Field)
47
+ """What field quantity/component to color by, if applicable."""
56
48
  representation: Representation = Representation.SURFACE
49
+ """
50
+ how the object is represented in the scene (e.g., surface, surface with
51
+ edges, wireframe or points). Default: surface.
52
+ """
57
53
 
58
54
  def _to_proto(self) -> vis_pb2.DisplayAttributes:
59
55
  attrs = vis_pb2.DisplayAttributes()
@@ -73,16 +69,12 @@ class DataRange:
73
69
 
74
70
  .. warning:: This feature is experimental and may change or be removed in the future.
75
71
 
76
- Attributes:
77
- -----------
78
- min_value : float
79
- The minimum value of the range.
80
- max_value : float
81
- The maximum value of the range.
82
72
  """
83
73
 
84
74
  min_value: float = float("inf")
75
+ """The minimum value of the range."""
85
76
  max_value: float = float("-inf")
77
+ """The maximum value of the range."""
86
78
 
87
79
  def is_valid(self) -> bool:
88
80
  return self.max_value >= self.min_value
@@ -101,30 +93,26 @@ class ColorMapAppearance:
101
93
 
102
94
  .. warning:: This feature is experimental and may change or be removed in the future.
103
95
 
104
- Attributes
105
- ----------
106
- visible: bool
107
- Controls if the color map is displayed or not. Default: True
108
- width: float
109
- The width of the color map in normalized device coordinates. Default: 0.034
110
- height: float
111
- The height of the color map in normalized device coordinates. Default: 0.146
112
- text_size: int
113
- The text size for the color map legend in pixels. Default: 36
114
- lower_left_x: float
115
- The lower left x position of the color map in normalized device
116
- coordinates. Default: 0.8
117
- lower_left_y: float
118
- The lower left y position of the color map in normalized device
119
- coordinates. Default: 0.8
120
96
  """
121
97
 
122
98
  visible: bool = True
99
+ """Controls if the color map is displayed or not. Default: True"""
123
100
  width: float = 0.034
101
+ """The width of the color map in normalized device coordinates. Default: 0.034"""
124
102
  height: float = 0.146
103
+ """The height of the color map in normalized device coordinates. Default: 0.146"""
125
104
  text_size: int = 36
105
+ """The text size for the color map legend in pixels. Default: 36"""
126
106
  lower_left_x: float = 0.8
107
+ """
108
+ The lower left x position of the color map in normalized device
109
+ coordinates. Default: 0.8
110
+ """
127
111
  lower_left_y: float = 0.8
112
+ """
113
+ The lower left y position of the color map in normalized device
114
+ coordinates. Default: 0.8
115
+ """
128
116
 
129
117
 
130
118
  @dc.dataclass
@@ -140,39 +128,41 @@ class ColorMap:
140
128
 
141
129
  .. warning:: This feature is experimental and may change or be removed in the future.
142
130
 
143
- Attributes
144
- ----------
145
- field : Field
146
- The field and component this color map applies to.
147
- preset : ColorMapPreset
148
- The color map preset to use. This defines the colors used in the color
149
- map. Default is 'JET'.
150
- data_range : DataRange
151
- An optional data range to use for the color map. The user must explicity
152
- set the data ranges. If not set explicitly, the fields global data range
153
- is used. For comparing multiple results, either with different solutions
154
- in the same simulation or with different simulations, its highly
155
- recommended that a range is provided so the color scales are the same
156
- between the resulting images. Default: is an invalid data range.
157
- discretize : bool
158
- Use discrete color bins instead of a continuous range. When True,
159
- 'n_colors' indicates how many discrete bins to use. Default: False.
160
- n_colors : int
161
- How many discrete bins to use when discretize is True. Valid n_colors
162
- values are [1, 256]. Default: 8.
163
- appearance: Optional[ColorMapAppearance]
164
- This attribute controls how the color map annotation appears in the image, including
165
- location, size, and visibility. When the scene is set to automatic color maps, these
166
- attributes are automatically populated unless overridden. When setting the appearance,
167
- the user is responsible for setting all values.
168
131
  """
169
132
 
170
133
  field: Field = dc.field(default_factory=Field)
134
+ """The field and component this color map applies to."""
171
135
  preset: ColorMapPreset = ColorMapPreset.JET
136
+ """
137
+ The color map preset to use. This defines the colors used in the color
138
+ map. Default is 'JET'.
139
+ """
172
140
  data_range: DataRange = dc.field(default_factory=DataRange)
141
+ """
142
+ An optional data range to use for the color map. The user must explicity
143
+ set the data ranges. If not set explicitly, the fields global data range
144
+ is used. For comparing multiple results, either with different solutions
145
+ in the same simulation or with different simulations, its highly
146
+ recommended that a range is provided so the color scales are the same
147
+ between the resulting images. Default: is an invalid data range.
148
+ """
173
149
  discretize: bool = False
150
+ """
151
+ Use discrete color bins instead of a continuous range. When True,
152
+ 'n_colors' indicates how many discrete bins to use. Default: False.
153
+ """
174
154
  n_colors: int = 8
155
+ """
156
+ How many discrete bins to use when discretize is True. Valid n_colors
157
+ values are [1, 256]. Default: 8.
158
+ """
175
159
  appearance: Optional[ColorMapAppearance] = None
160
+ """
161
+ This attribute controls how the color map annotation appears in the image, including
162
+ location, size, and visibility. When the scene is set to automatic color maps, these
163
+ attributes are automatically populated unless overridden. When setting the appearance,
164
+ the user is responsible for setting all values.
165
+ """
176
166
 
177
167
  def _to_proto(self) -> vis_pb2.ColorMap:
178
168
  res: vis_pb2.ColorMap = vis_pb2.ColorMap()