luminarycloud 0.14.0__py3-none-any.whl → 0.15.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. luminarycloud/__init__.py +8 -1
  2. luminarycloud/_client/client.py +9 -0
  3. luminarycloud/_client/logging_interceptor.py +25 -0
  4. luminarycloud/_client/tracing.py +13 -8
  5. luminarycloud/_helpers/__init__.py +2 -0
  6. luminarycloud/_helpers/_code_representation.py +135 -0
  7. luminarycloud/_helpers/_simulation_params_from_json.py +5 -1
  8. luminarycloud/_helpers/download.py +16 -0
  9. luminarycloud/_helpers/named_variables.py +25 -0
  10. luminarycloud/_helpers/upload.py +31 -11
  11. luminarycloud/_helpers/warnings/deprecated.py +8 -10
  12. luminarycloud/_helpers/warnings/experimental.py +4 -4
  13. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +135 -110
  14. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +82 -10
  15. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.py +34 -0
  16. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.pyi +12 -0
  17. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.py +40 -40
  18. luminarycloud/_proto/api/v0/luminarycloud/mesh/mesh_pb2.pyi +8 -2
  19. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.py +182 -0
  20. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2.pyi +260 -0
  21. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.py +204 -0
  22. luminarycloud/_proto/api/v0/luminarycloud/named_variable_set/named_variable_set_pb2_grpc.pyi +75 -0
  23. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +94 -0
  24. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +145 -0
  25. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.py +104 -0
  26. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2_grpc.pyi +42 -0
  27. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.py +25 -25
  28. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.pyi +10 -3
  29. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.py +25 -3
  30. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2.pyi +32 -0
  31. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2_grpc.py +34 -0
  32. luminarycloud/_proto/api/v0/luminarycloud/solution/solution_pb2_grpc.pyi +12 -0
  33. luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.py +162 -0
  34. luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2.pyi +254 -0
  35. luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.py +203 -0
  36. luminarycloud/_proto/api/v0/luminarycloud/thirdpartyintegration/onshape/onshape_pb2_grpc.pyi +74 -0
  37. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +157 -141
  38. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +32 -4
  39. luminarycloud/_proto/cad/boolean_pb2.py +8 -8
  40. luminarycloud/_proto/cad/boolean_pb2.pyi +34 -4
  41. luminarycloud/_proto/client/simulation_pb2.py +304 -294
  42. luminarycloud/_proto/client/simulation_pb2.pyi +30 -1
  43. luminarycloud/_proto/geometry/geometry_pb2.py +58 -58
  44. luminarycloud/_proto/geometry/geometry_pb2.pyi +58 -11
  45. luminarycloud/_proto/hexmesh/hexmesh_pb2.py +42 -42
  46. luminarycloud/_proto/hexmesh/hexmesh_pb2.pyi +2 -2
  47. luminarycloud/_proto/output/reference_values_pb2.py +5 -5
  48. luminarycloud/_proto/parametricworker/parametricworker_pb2.py +31 -31
  49. luminarycloud/_proto/parametricworker/parametricworker_pb2.pyi +6 -4
  50. luminarycloud/_proto/quantity/quantity_pb2.py +4 -4
  51. luminarycloud/_proto/table/table_pb2.py +9 -8
  52. luminarycloud/_proto/table/table_pb2.pyi +7 -1
  53. luminarycloud/enum/__init__.py +2 -0
  54. luminarycloud/enum/geometry_status.py +28 -0
  55. luminarycloud/geometry.py +64 -32
  56. luminarycloud/geometry_version.py +2 -2
  57. luminarycloud/mesh.py +11 -4
  58. luminarycloud/meshing/__init__.py +1 -0
  59. luminarycloud/meshing/metadata/__init__.py +6 -0
  60. luminarycloud/meshing/metadata/mesh_metadata.py +57 -0
  61. luminarycloud/named_variable_set.py +121 -0
  62. luminarycloud/outputs/output_definitions.py +11 -10
  63. luminarycloud/params/enum/_enum_wrappers.py +77 -968
  64. luminarycloud/params/outputs/output.py +2 -1
  65. luminarycloud/params/simulation/__init__.py +16 -16
  66. luminarycloud/params/simulation/_lib.py +1 -67
  67. luminarycloud/params/simulation/adaptive_mesh_refinement/boundary_layer_profile_.py +3 -2
  68. luminarycloud/params/simulation/adaptive_mesh_refinement_.py +3 -2
  69. luminarycloud/params/simulation/adjoint_.py +4 -3
  70. luminarycloud/params/simulation/basic/gravity/gravity_off_.py +3 -2
  71. luminarycloud/params/simulation/basic/gravity/gravity_on_.py +3 -2
  72. luminarycloud/params/simulation/basic/gravity_.py +3 -2
  73. luminarycloud/params/simulation/body_frame_.py +3 -2
  74. luminarycloud/params/simulation/entity_relationships/volume_material_relationship_.py +7 -6
  75. luminarycloud/params/simulation/entity_relationships/volume_physics_relationship_.py +7 -6
  76. luminarycloud/params/simulation/entity_relationships_.py +3 -2
  77. luminarycloud/params/simulation/general_.py +4 -3
  78. luminarycloud/params/simulation/material/fluid/__init__.py +4 -4
  79. luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_off_.py +3 -2
  80. luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_on_.py +3 -2
  81. luminarycloud/params/simulation/material/fluid/boussinesq_approximation_.py +3 -2
  82. luminarycloud/params/simulation/material/fluid/material_model/__init__.py +1 -1
  83. luminarycloud/params/simulation/material/fluid/material_model/ideal_gas_.py +3 -2
  84. luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_.py +3 -2
  85. luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_with_energy_.py +3 -2
  86. luminarycloud/params/simulation/material/fluid/material_model_.py +3 -2
  87. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/__init__.py +2 -2
  88. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_conductivity_.py +3 -2
  89. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_prandtl_number_.py +3 -2
  90. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/temperature_dependent_conductivity_.py +4 -3
  91. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model_.py +3 -2
  92. luminarycloud/params/simulation/material/fluid/viscosity_model/__init__.py +1 -1
  93. luminarycloud/params/simulation/material/fluid/viscosity_model/prescribed_viscosity_.py +3 -2
  94. luminarycloud/params/simulation/material/fluid/viscosity_model/sutherland_.py +3 -2
  95. luminarycloud/params/simulation/material/fluid/viscosity_model/temperature_dependent_viscosity_.py +4 -3
  96. luminarycloud/params/simulation/material/fluid/viscosity_model_.py +3 -2
  97. luminarycloud/params/simulation/material/material_fluid_.py +7 -6
  98. luminarycloud/params/simulation/material/material_solid_.py +4 -3
  99. luminarycloud/params/simulation/material_entity_.py +9 -8
  100. luminarycloud/params/simulation/monitor_plane_.py +5 -4
  101. luminarycloud/params/simulation/motion_data/__init__.py +1 -1
  102. luminarycloud/params/simulation/motion_data/frame_transforms/__init__.py +1 -1
  103. luminarycloud/params/simulation/motion_data/frame_transforms/no_transform_.py +5 -4
  104. luminarycloud/params/simulation/motion_data/frame_transforms/rotational_transform_.py +5 -4
  105. luminarycloud/params/simulation/motion_data/frame_transforms/translational_transform_.py +5 -4
  106. luminarycloud/params/simulation/motion_data/frame_transforms_.py +3 -2
  107. luminarycloud/params/simulation/motion_data/motion_type/__init__.py +1 -1
  108. luminarycloud/params/simulation/motion_data/motion_type/constant_angular_motion_.py +5 -4
  109. luminarycloud/params/simulation/motion_data/motion_type/constant_translation_motion_.py +5 -4
  110. luminarycloud/params/simulation/motion_data/motion_type_.py +3 -2
  111. luminarycloud/params/simulation/motion_data_.py +6 -5
  112. luminarycloud/params/simulation/multi_physics_coupling_options_.py +3 -2
  113. luminarycloud/params/simulation/output_.py +3 -2
  114. luminarycloud/params/simulation/particle_group/particle_group_type/__init__.py +1 -1
  115. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_normal_vector_.py +4 -3
  116. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_rotation_angles_.py +4 -3
  117. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection_.py +3 -2
  118. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk_.py +7 -6
  119. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_line_.py +3 -2
  120. luminarycloud/params/simulation/particle_group/particle_group_type/probe_points_.py +5 -4
  121. luminarycloud/params/simulation/particle_group/particle_group_type/source_points_.py +5 -4
  122. luminarycloud/params/simulation/particle_group/particle_group_type_.py +3 -2
  123. luminarycloud/params/simulation/particle_group_.py +4 -3
  124. luminarycloud/params/simulation/physics/__init__.py +3 -3
  125. luminarycloud/params/simulation/physics/fluid/__init__.py +9 -9
  126. luminarycloud/params/simulation/physics/fluid/adjoint_controls_fluid_.py +3 -2
  127. luminarycloud/params/simulation/physics/fluid/basic_fluid_.py +3 -2
  128. luminarycloud/params/simulation/physics/fluid/boundary_conditions/__init__.py +5 -5
  129. luminarycloud/params/simulation/physics/fluid/boundary_conditions/farfield_.py +5 -4
  130. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/__init__.py +3 -3
  131. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/fan_curve_inlet_.py +7 -6
  132. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mach_inlet_.py +5 -4
  133. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mass_flow_inlet_.py +5 -4
  134. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/total_pressure_inlet_.py +6 -5
  135. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_components_inlet_.py +5 -4
  136. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_magnitude_inlet_.py +6 -5
  137. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet_.py +8 -7
  138. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/__init__.py +1 -1
  139. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/fan_curve_outlet_.py +5 -4
  140. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_pressure_.py +3 -2
  141. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_corrected_mass_flow_rate_.py +3 -2
  142. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_mass_flow_rate_.py +3 -2
  143. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy_.py +3 -2
  144. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet_.py +6 -5
  145. luminarycloud/params/simulation/physics/fluid/boundary_conditions/symmetry_.py +5 -4
  146. luminarycloud/params/simulation/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +3 -2
  147. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/__init__.py +1 -1
  148. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_heat_flux_.py +3 -2
  149. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_temperature_.py +3 -2
  150. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/__init__.py +1 -1
  151. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/no_slip_.py +3 -2
  152. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/slip_.py +3 -2
  153. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/wall_model_.py +3 -2
  154. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_energy_.py +3 -2
  155. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_momentum_.py +3 -2
  156. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall_.py +7 -6
  157. luminarycloud/params/simulation/physics/fluid/boundary_conditions_fluid_.py +3 -2
  158. luminarycloud/params/simulation/physics/fluid/initialization/__init__.py +2 -2
  159. luminarycloud/params/simulation/physics/fluid/initialization/fluid_existing_solution_.py +5 -4
  160. luminarycloud/params/simulation/physics/fluid/initialization/fluid_farfield_values_.py +5 -4
  161. luminarycloud/params/simulation/physics/fluid/initialization/fluid_prescribed_values_.py +5 -4
  162. luminarycloud/params/simulation/physics/fluid/initialization/turbulence_initialization_.py +3 -2
  163. luminarycloud/params/simulation/physics/fluid/initialization_fluid_.py +3 -2
  164. luminarycloud/params/simulation/physics/fluid/physical_behavior/__init__.py +1 -1
  165. luminarycloud/params/simulation/physics/fluid/physical_behavior/blade_element_airfoil_data_.py +8 -7
  166. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/__init__.py +1 -1
  167. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/__init__.py +2 -2
  168. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_blade_element_.py +3 -2
  169. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_radial_distribution_.py +8 -7
  170. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_uniform_thrust_.py +4 -3
  171. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/fan_curve_internal_.py +5 -4
  172. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model_.py +3 -2
  173. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/actuator_line_blade_element_.py +3 -2
  174. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model_.py +3 -2
  175. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/blade_element_params_.py +9 -8
  176. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_acceleration_source_.py +4 -3
  177. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_mass_source_.py +4 -3
  178. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model_.py +3 -2
  179. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model_.py +3 -2
  180. luminarycloud/params/simulation/physics/fluid/physical_behavior_.py +5 -4
  181. luminarycloud/params/simulation/physics/fluid/porous_behavior_.py +3 -2
  182. luminarycloud/params/simulation/physics/fluid/solution_controls/__init__.py +1 -1
  183. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_explicit_relaxation_.py +3 -2
  184. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_off_.py +3 -2
  185. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_on_.py +3 -2
  186. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup_.py +3 -2
  187. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation_.py +7 -6
  188. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method_.py +3 -2
  189. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/__init__.py +1 -1
  190. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/cfl_based_.py +3 -2
  191. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/fixed_pseudo_time_step_.py +3 -2
  192. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method_.py +3 -2
  193. luminarycloud/params/simulation/physics/fluid/solution_controls_fluid_.py +5 -4
  194. luminarycloud/params/simulation/physics/fluid/spatial_discretization/__init__.py +1 -1
  195. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/__init__.py +1 -1
  196. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ec2_.py +3 -2
  197. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/fds_.py +3 -2
  198. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ld2_.py +3 -2
  199. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/rhie_chow_.py +3 -2
  200. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_.py +3 -2
  201. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/first_order_.py +3 -2
  202. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/second_order_.py +3 -2
  203. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order_.py +3 -2
  204. luminarycloud/params/simulation/physics/fluid/spatial_discretization_fluid_.py +5 -4
  205. luminarycloud/params/simulation/physics/fluid/turbulence/__init__.py +2 -2
  206. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/__init__.py +1 -1
  207. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_.py +3 -2
  208. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_vtm_.py +3 -2
  209. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/iddes_.py +3 -2
  210. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation_.py +3 -2
  211. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/custom_komega_sst_constants_.py +3 -2
  212. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/default_komega_sst_constants_.py +3 -2
  213. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/komega_sst_constants_.py +3 -2
  214. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst_.py +6 -5
  215. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/custom_spalart_allmaras_constants_.py +3 -2
  216. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/default_spalart_allmaras_constants_.py +3 -2
  217. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/spalart_allmaras_constants_.py +3 -2
  218. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras_.py +6 -5
  219. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/__init__.py +2 -2
  220. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/amd_.py +3 -2
  221. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/sigma_.py +3 -2
  222. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/smagorinsky_.py +3 -2
  223. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/vreman_.py +3 -2
  224. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/wale_.py +3 -2
  225. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model_.py +3 -2
  226. luminarycloud/params/simulation/physics/fluid/turbulence_.py +6 -5
  227. luminarycloud/params/simulation/physics/fluid_.py +12 -13
  228. luminarycloud/params/simulation/physics/heat/__init__.py +4 -4
  229. luminarycloud/params/simulation/physics/heat/adjoint_controls_heat_.py +3 -2
  230. luminarycloud/params/simulation/physics/heat/boundary_conditions/__init__.py +2 -2
  231. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_convection_.py +5 -4
  232. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_heat_flux_.py +5 -4
  233. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_integrated_heat_flux_.py +5 -4
  234. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_symmetry_.py +5 -4
  235. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_temperature_.py +5 -4
  236. luminarycloud/params/simulation/physics/heat/boundary_conditions_heat_.py +5 -4
  237. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/__init__.py +1 -1
  238. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_.py +3 -2
  239. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_per_unit_of_volume_.py +4 -3
  240. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type_.py +3 -2
  241. luminarycloud/params/simulation/physics/heat/heat_source_.py +6 -5
  242. luminarycloud/params/simulation/physics/heat/initialization/heat_existing_solution_.py +5 -4
  243. luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values_.py +5 -4
  244. luminarycloud/params/simulation/physics/heat/initialization_heat_.py +3 -2
  245. luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method/heat_implicit_relaxation_.py +4 -3
  246. luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method_.py +3 -2
  247. luminarycloud/params/simulation/physics/heat/solution_controls_heat_.py +4 -3
  248. luminarycloud/params/simulation/physics/heat/spatial_discretization_heat_.py +3 -2
  249. luminarycloud/params/simulation/physics/heat_.py +9 -8
  250. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/__init__.py +1 -1
  251. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/rotational_periodicity_.py +3 -2
  252. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/translational_periodicity_.py +3 -2
  253. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type_.py +3 -2
  254. luminarycloud/params/simulation/physics/periodic_pair_.py +4 -3
  255. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/__init__.py +1 -1
  256. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/gauss_seidel_.py +3 -2
  257. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/krylov_amg_.py +9 -8
  258. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type_.py +3 -2
  259. luminarycloud/params/simulation/physics_.py +7 -6
  260. luminarycloud/params/simulation/simulation_param_.py +12 -13
  261. luminarycloud/params/simulation/sliding_interfaces_.py +8 -7
  262. luminarycloud/params/simulation/surface_name_.py +3 -2
  263. luminarycloud/params/simulation/time/__init__.py +2 -2
  264. luminarycloud/params/simulation/time/compute_statistics/__init__.py +1 -1
  265. luminarycloud/params/simulation/time/compute_statistics/compute_statistics_off_.py +3 -2
  266. luminarycloud/params/simulation/time/compute_statistics/compute_statistics_on_.py +3 -2
  267. luminarycloud/params/simulation/time/compute_statistics_.py +3 -2
  268. luminarycloud/params/simulation/time/time_marching/time_explicit_.py +3 -2
  269. luminarycloud/params/simulation/time/time_marching/time_implicit_.py +3 -2
  270. luminarycloud/params/simulation/time/time_marching_.py +3 -2
  271. luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_off_.py +3 -2
  272. luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_on_.py +3 -2
  273. luminarycloud/params/simulation/time/time_step_ramp_.py +3 -2
  274. luminarycloud/params/simulation/time_.py +6 -5
  275. luminarycloud/params/simulation/volume_entity_.py +5 -4
  276. luminarycloud/physics_ai/__init__.py +8 -0
  277. luminarycloud/physics_ai/architectures.py +38 -0
  278. luminarycloud/physics_ai/models.py +42 -0
  279. luminarycloud/project.py +73 -21
  280. luminarycloud/reference_values.py +20 -3
  281. luminarycloud/simulation.py +8 -3
  282. luminarycloud/simulation_param.py +136 -29
  283. luminarycloud/simulation_template.py +84 -13
  284. luminarycloud/solution.py +17 -2
  285. luminarycloud/types/__init__.py +1 -0
  286. luminarycloud/types/adfloat.py +49 -19
  287. luminarycloud/types/ids.py +3 -0
  288. luminarycloud/vis/__init__.py +0 -3
  289. luminarycloud/vis/display.py +1 -0
  290. luminarycloud/vis/interactive_scene.py +47 -1
  291. luminarycloud/vis/visualization.py +57 -23
  292. luminarycloud/volume_selection.py +31 -19
  293. {luminarycloud-0.14.0.dist-info → luminarycloud-0.15.0.dist-info}/METADATA +2 -2
  294. {luminarycloud-0.14.0.dist-info → luminarycloud-0.15.0.dist-info}/RECORD +295 -274
  295. {luminarycloud-0.14.0.dist-info → luminarycloud-0.15.0.dist-info}/WHEEL +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.particle_group.particle_group_type.actuator_disk.actuator_disk_orientation_selection_ import (
21
22
  ActuatorDiskOrientationSelection,
@@ -28,4 +29,4 @@ class ActuatorDiskSpecifyRotationAngles(ActuatorDiskOrientationSelection):
28
29
  """Specify rotation about x-, y-, and z- axes"""
29
30
 
30
31
  rotation_angles: Vector3 = field(default_factory=lambda: Vector3(0.0, 0.0, 0.0))
31
- "X-, Y-, Z-rotation angles for actuator disk"
32
+ "X-, Y-, Z-rotation angles for actuator disk."
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
 
21
22
  @dataclass(kw_only=True)
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.particle_group.particle_group_type_ import ParticleGroupType
21
22
  from luminarycloud.params.simulation.particle_group.particle_group_type_ import *
@@ -38,12 +39,12 @@ class ActuatorDisk(ParticleGroupType):
38
39
  """Applies a uniform force at all locations on the disk"""
39
40
 
40
41
  inner_radius: float = 0.0
41
- "The inner radius of the actuator disk"
42
+ "The inner radius of the actuator disk."
42
43
  outer_radius: float = 1.0
43
- "The outer radius of the actuator disk"
44
+ "The outer radius of the actuator disk."
44
45
  center: Vector3 = field(default_factory=lambda: Vector3(0.0, 0.0, 0.0))
45
- "Hub location (x,y,z) for rotor/propeller"
46
+ "Hub location (x,y,z) for rotor/propeller."
46
47
  actuator_disk_orientation_selection: ActuatorDiskOrientationSelection = field(
47
48
  default_factory=ActuatorDiskSpecifyRotationAngles
48
49
  )
49
- "Specify orientation via normal vector, or a series of x-, y-, z-rotational transformations"
50
+ "Specify orientation via normal vector, or a series of x-, y-, z-rotational transformations. Possible types: ``ActuatorDiskSpecifyRotationAngles``, ``ActuatorDiskSpecifyNormalVector`` from the ``actuator_disk_orientation_selection`` module."
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.particle_group.particle_group_type_ import ParticleGroupType
21
22
  from luminarycloud.params.simulation.particle_group.particle_group_type_ import *
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.particle_group.particle_group_type_ import ParticleGroupType
21
22
  from luminarycloud.params.simulation.particle_group.particle_group_type_ import *
@@ -25,5 +26,5 @@ from luminarycloud.params.simulation.particle_group.particle_group_type_ import
25
26
  class ProbePoints(ParticleGroupType):
26
27
  """Reports solver variables at probe locations."""
27
28
 
28
- particle_positions_table: Optional[RectilinearTable] = None
29
- "Particle positions"
29
+ particle_positions_table: RectilinearTable | None = None
30
+ "Particle positions."
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.particle_group.particle_group_type_ import ParticleGroupType
21
22
  from luminarycloud.params.simulation.particle_group.particle_group_type_ import *
@@ -25,5 +26,5 @@ from luminarycloud.params.simulation.particle_group.particle_group_type_ import
25
26
  class SourcePoints(ParticleGroupType):
26
27
  """Injects material into the solver at particle locations"""
27
28
 
28
- particle_positions_table: Optional[RectilinearTable] = None
29
- "Particle positions"
29
+ particle_positions_table: RectilinearTable | None = None
30
+ "Particle positions."
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
 
21
22
  @dataclass(kw_only=True)
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.particle_group.particle_group_type.actuator_disk_ import (
21
22
  ActuatorDisk,
@@ -48,7 +49,7 @@ class ParticleGroup(CodeRepr, ParamGroupWrapper[clientpb.ParticleGroup]):
48
49
  particle_group_behavior_model_ref: str = ""
49
50
  ""
50
51
  particle_group_type: ParticleGroupType = field(default_factory=ActuatorDisk)
51
- "Defines the behavior of the particles."
52
+ "Defines the behavior of the particles. Possible types: ``ActuatorDisk``, ``ActuatorLine``, ``SourcePoints``, ``ProbePoints`` from the ``particle_group_type`` module."
52
53
 
53
54
  def _to_proto(self) -> clientpb.ParticleGroup:
54
55
  _proto = clientpb.ParticleGroup()
@@ -1,7 +1,7 @@
1
- from . import heat
2
- from . import solution_controls
3
1
  from . import fluid
2
+ from . import heat
4
3
  from . import periodic_pair
5
- from .heat_ import Heat
4
+ from . import solution_controls
6
5
  from .fluid_ import Fluid
6
+ from .heat_ import Heat
7
7
  from .periodic_pair_ import PeriodicPair
@@ -1,15 +1,15 @@
1
- from . import turbulence
2
- from . import solution_controls
3
- from . import physical_behavior
1
+ from . import boundary_conditions
4
2
  from . import initialization
3
+ from . import physical_behavior
4
+ from . import solution_controls
5
5
  from . import spatial_discretization
6
- from . import boundary_conditions
6
+ from . import turbulence
7
+ from .adjoint_controls_fluid_ import AdjointControlsFluid
7
8
  from .basic_fluid_ import BasicFluid
8
- from .solution_controls_fluid_ import SolutionControlsFluid
9
+ from .boundary_conditions_fluid_ import BoundaryConditionsFluid
9
10
  from .initialization_fluid_ import InitializationFluid
10
- from .adjoint_controls_fluid_ import AdjointControlsFluid
11
+ from .physical_behavior_ import PhysicalBehavior
12
+ from .porous_behavior_ import PorousBehavior
13
+ from .solution_controls_fluid_ import SolutionControlsFluid
11
14
  from .spatial_discretization_fluid_ import SpatialDiscretizationFluid
12
15
  from .turbulence_ import Turbulence
13
- from .porous_behavior_ import PorousBehavior
14
- from .physical_behavior_ import PhysicalBehavior
15
- from .boundary_conditions_fluid_ import BoundaryConditionsFluid
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
 
21
22
  @dataclass(kw_only=True)
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
 
21
22
  @dataclass(kw_only=True)
@@ -1,9 +1,9 @@
1
- from . import wall
2
- from . import outlet
3
1
  from . import inlet
4
- from .wall_ import Wall
2
+ from . import outlet
3
+ from . import wall
5
4
  from .farfield_ import Farfield
6
- from .symmetry_ import Symmetry
5
+ from .inlet_ import Inlet
7
6
  from .outlet_ import Outlet
7
+ from .symmetry_ import Symmetry
8
8
  from .turbulence_boundary_conditions_ import TurbulenceBoundaryConditions
9
- from .inlet_ import Inlet
9
+ from .wall_ import Wall
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions_fluid_ import (
21
22
  BoundaryConditionsFluid,
@@ -56,7 +57,7 @@ class Farfield(BoundaryConditionsFluid):
56
57
 
57
58
  def _to_proto(self) -> clientpb.BoundaryConditionsFluid:
58
59
  _proto = super()._to_proto()
59
- _proto.physical_boundary = enum.PhysicalBoundary.FARFIELD.value
60
+ _proto.physical_boundary = clientpb.PhysicalBoundary.FARFIELD
60
61
  _proto.farfield_momentum = self.momentum.value
61
62
  _proto.farfield_mach_number.CopyFrom(_to_ad_proto(self.mach_number))
62
63
  _proto.farfield_velocity_magnitude.CopyFrom(_to_ad_proto(self.velocity))
@@ -81,7 +82,7 @@ class Farfield(BoundaryConditionsFluid):
81
82
 
82
83
  def _from_proto(self, proto: clientpb.BoundaryConditionsFluid) -> None:
83
84
  super()._from_proto(proto)
84
- assert proto.physical_boundary == enum.PhysicalBoundary.FARFIELD.value
85
+ assert proto.physical_boundary == clientpb.PhysicalBoundary.FARFIELD
85
86
  self.momentum = enum.FarfieldMomentum(proto.farfield_momentum)
86
87
  self.mach_number = _from_ad_proto(proto.farfield_mach_number)
87
88
  self.velocity = _from_ad_proto(proto.farfield_velocity_magnitude)
@@ -1,6 +1,6 @@
1
- from .velocity_magnitude_inlet_ import VelocityMagnitudeInlet
1
+ from .fan_curve_inlet_ import FanCurveInlet
2
2
  from .mach_inlet_ import MachInlet
3
- from .total_pressure_inlet_ import TotalPressureInlet
4
3
  from .mass_flow_inlet_ import MassFlowInlet
5
- from .fan_curve_inlet_ import FanCurveInlet
4
+ from .total_pressure_inlet_ import TotalPressureInlet
6
5
  from .velocity_components_inlet_ import VelocityComponentsInlet
6
+ from .velocity_magnitude_inlet_ import VelocityMagnitudeInlet
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import Inlet
21
22
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import *
@@ -33,14 +34,14 @@ class FanCurveInlet(Inlet):
33
34
  "Method of defining the flow direction at the inlet."
34
35
  direction: Vector3 = field(default_factory=lambda: Vector3(1.0, 0.0, 0.0))
35
36
  "Vector (x,y,z) defining the flow direction. Automatically scaled to a unit vector internally."
36
- fan_curve_table: Optional[RectilinearTable] = None
37
- "Correlation between fan pressure rise and volume flow rate"
37
+ fan_curve_table: RectilinearTable | None = None
38
+ "Correlation between fan pressure rise and volume flow rate."
38
39
  head_loss_coefficient: float = 0.0
39
40
  "Fraction of dynamic pressure lost through the fan."
40
41
 
41
42
  def _to_proto(self) -> clientpb.BoundaryConditionsFluid:
42
43
  _proto = super()._to_proto()
43
- _proto.inlet_momentum = enum.InletMomentum.FAN_CURVE_INLET.value
44
+ _proto.inlet_momentum = clientpb.InletMomentum.FAN_CURVE_INLET
44
45
  _proto.total_pressure.CopyFrom(_to_ad_proto(self.total_pressure))
45
46
  _proto.direction_specification = self.direction_specification.value
46
47
  _proto.flow_direction.CopyFrom(self.direction._to_ad_proto())
@@ -53,7 +54,7 @@ class FanCurveInlet(Inlet):
53
54
 
54
55
  def _from_proto(self, proto: clientpb.BoundaryConditionsFluid) -> None:
55
56
  super()._from_proto(proto)
56
- assert proto.inlet_momentum == enum.InletMomentum.FAN_CURVE_INLET.value
57
+ assert proto.inlet_momentum == clientpb.InletMomentum.FAN_CURVE_INLET
57
58
  self.total_pressure = _from_ad_proto(proto.total_pressure)
58
59
  self.direction_specification = enum.DirectionSpecification(proto.direction_specification)
59
60
  self.direction._from_ad_proto(proto.flow_direction)
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import Inlet
21
22
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import *
@@ -38,7 +39,7 @@ class MachInlet(Inlet):
38
39
 
39
40
  def _to_proto(self) -> clientpb.BoundaryConditionsFluid:
40
41
  _proto = super()._to_proto()
41
- _proto.inlet_momentum = enum.InletMomentum.MACH_INLET.value
42
+ _proto.inlet_momentum = clientpb.InletMomentum.MACH_INLET
42
43
  _proto.farfield_mach_number.CopyFrom(_to_ad_proto(self.mach_number))
43
44
  _proto.farfield_pressure.CopyFrom(_to_ad_proto(self.pressure))
44
45
  _proto.direction_specification = self.direction_specification.value
@@ -47,7 +48,7 @@ class MachInlet(Inlet):
47
48
 
48
49
  def _from_proto(self, proto: clientpb.BoundaryConditionsFluid) -> None:
49
50
  super()._from_proto(proto)
50
- assert proto.inlet_momentum == enum.InletMomentum.MACH_INLET.value
51
+ assert proto.inlet_momentum == clientpb.InletMomentum.MACH_INLET
51
52
  self.mach_number = _from_ad_proto(proto.farfield_mach_number)
52
53
  self.pressure = _from_ad_proto(proto.farfield_pressure)
53
54
  self.direction_specification = enum.DirectionSpecification(proto.direction_specification)
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import Inlet
21
22
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import *
@@ -36,7 +37,7 @@ class MassFlowInlet(Inlet):
36
37
 
37
38
  def _to_proto(self) -> clientpb.BoundaryConditionsFluid:
38
39
  _proto = super()._to_proto()
39
- _proto.inlet_momentum = enum.InletMomentum.MASS_FLOW_INLET.value
40
+ _proto.inlet_momentum = clientpb.InletMomentum.MASS_FLOW_INLET
40
41
  _proto.mass_flow_rate.CopyFrom(_to_ad_proto(self.mass_flow_rate))
41
42
  _proto.direction_specification = self.direction_specification.value
42
43
  _proto.flow_direction.CopyFrom(self.direction._to_ad_proto())
@@ -44,7 +45,7 @@ class MassFlowInlet(Inlet):
44
45
 
45
46
  def _from_proto(self, proto: clientpb.BoundaryConditionsFluid) -> None:
46
47
  super()._from_proto(proto)
47
- assert proto.inlet_momentum == enum.InletMomentum.MASS_FLOW_INLET.value
48
+ assert proto.inlet_momentum == clientpb.InletMomentum.MASS_FLOW_INLET
48
49
  self.mass_flow_rate = _from_ad_proto(proto.mass_flow_rate)
49
50
  self.direction_specification = enum.DirectionSpecification(proto.direction_specification)
50
51
  self.direction._from_ad_proto(proto.flow_direction)
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import Inlet
21
22
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import *
@@ -28,7 +29,7 @@ class TotalPressureInlet(Inlet):
28
29
  total_pressure: float = 101325
29
30
  "Total pressure at the boundary relative to the material reference pressure."
30
31
  total_pressure_column_index: int = 0
31
- "Index of the column of the table in profile_bc_data for total pressure"
32
+ "Index of the column of the table in profile_bc_data for total pressure."
32
33
  direction_specification: enum.DirectionSpecification = (
33
34
  enum.DirectionSpecification.NORMAL_TO_BOUNDARY
34
35
  )
@@ -38,7 +39,7 @@ class TotalPressureInlet(Inlet):
38
39
 
39
40
  def _to_proto(self) -> clientpb.BoundaryConditionsFluid:
40
41
  _proto = super()._to_proto()
41
- _proto.inlet_momentum = enum.InletMomentum.TOTAL_PRESSURE_INLET.value
42
+ _proto.inlet_momentum = clientpb.InletMomentum.TOTAL_PRESSURE_INLET
42
43
  _proto.total_pressure.CopyFrom(_to_ad_proto(self.total_pressure))
43
44
  _proto.total_pressure_col.value = self.total_pressure_column_index
44
45
  _proto.direction_specification = self.direction_specification.value
@@ -47,7 +48,7 @@ class TotalPressureInlet(Inlet):
47
48
 
48
49
  def _from_proto(self, proto: clientpb.BoundaryConditionsFluid) -> None:
49
50
  super()._from_proto(proto)
50
- assert proto.inlet_momentum == enum.InletMomentum.TOTAL_PRESSURE_INLET.value
51
+ assert proto.inlet_momentum == clientpb.InletMomentum.TOTAL_PRESSURE_INLET
51
52
  self.total_pressure = _from_ad_proto(proto.total_pressure)
52
53
  self.total_pressure_column_index = proto.total_pressure_col.value
53
54
  self.direction_specification = enum.DirectionSpecification(proto.direction_specification)
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import Inlet
21
22
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import *
@@ -32,14 +33,14 @@ class VelocityComponentsInlet(Inlet):
32
33
 
33
34
  def _to_proto(self) -> clientpb.BoundaryConditionsFluid:
34
35
  _proto = super()._to_proto()
35
- _proto.inlet_momentum = enum.InletMomentum.VELOCITY_COMPONENTS_INLET.value
36
+ _proto.inlet_momentum = clientpb.InletMomentum.VELOCITY_COMPONENTS_INLET
36
37
  _proto.inlet_velocity_components.CopyFrom(self.velocity._to_ad_proto())
37
38
  _proto.farfield_pressure.CopyFrom(_to_ad_proto(self.pressure))
38
39
  return _proto
39
40
 
40
41
  def _from_proto(self, proto: clientpb.BoundaryConditionsFluid) -> None:
41
42
  super()._from_proto(proto)
42
- assert proto.inlet_momentum == enum.InletMomentum.VELOCITY_COMPONENTS_INLET.value
43
+ assert proto.inlet_momentum == clientpb.InletMomentum.VELOCITY_COMPONENTS_INLET
43
44
  self.velocity._from_ad_proto(proto.inlet_velocity_components)
44
45
  self.pressure = _from_ad_proto(proto.farfield_pressure)
45
46
  return None
@@ -2,7 +2,7 @@
2
2
 
3
3
  from abc import ABC, ABCMeta
4
4
  from dataclasses import dataclass, field
5
- from typing import Any, Optional
5
+ from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
@@ -13,9 +13,10 @@ from luminarycloud.types import Vector3
13
13
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
14
14
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
15
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
+ from luminarycloud._helpers import CodeRepr
16
17
  import luminarycloud.params.enum._enum_wrappers as enum
17
18
 
18
- from luminarycloud.params.simulation._lib import ParamGroupWrapper, CodeRepr, create_unique_id
19
+ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_unique_id
19
20
 
20
21
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import Inlet
21
22
  from luminarycloud.params.simulation.physics.fluid.boundary_conditions.inlet_ import *
@@ -28,7 +29,7 @@ class VelocityMagnitudeInlet(Inlet):
28
29
  velocity: float = 1.0
29
30
  "Velocity magnitude at the inlet boundary."
30
31
  velocity_column_index: int = 0
31
- "Index of the column of the table in profile_bc_data for inlet_velocity_magnitude"
32
+ "Index of the column of the table in profile_bc_data for inlet_velocity_magnitude."
32
33
  direction_specification: enum.DirectionSpecification = (
33
34
  enum.DirectionSpecification.NORMAL_TO_BOUNDARY
34
35
  )
@@ -40,7 +41,7 @@ class VelocityMagnitudeInlet(Inlet):
40
41
 
41
42
  def _to_proto(self) -> clientpb.BoundaryConditionsFluid:
42
43
  _proto = super()._to_proto()
43
- _proto.inlet_momentum = enum.InletMomentum.VELOCITY_INLET.value
44
+ _proto.inlet_momentum = clientpb.InletMomentum.VELOCITY_INLET
44
45
  _proto.inlet_velocity_magnitude.CopyFrom(_to_ad_proto(self.velocity))
45
46
  _proto.inlet_velocity_magnitude_col.value = self.velocity_column_index
46
47
  _proto.direction_specification = self.direction_specification.value
@@ -50,7 +51,7 @@ class VelocityMagnitudeInlet(Inlet):
50
51
 
51
52
  def _from_proto(self, proto: clientpb.BoundaryConditionsFluid) -> None:
52
53
  super()._from_proto(proto)
53
- assert proto.inlet_momentum == enum.InletMomentum.VELOCITY_INLET.value
54
+ assert proto.inlet_momentum == clientpb.InletMomentum.VELOCITY_INLET
54
55
  self.velocity = _from_ad_proto(proto.inlet_velocity_magnitude)
55
56
  self.velocity_column_index = proto.inlet_velocity_magnitude_col.value
56
57
  self.direction_specification = enum.DirectionSpecification(proto.direction_specification)