luminarycloud 0.15.2__py3-none-any.whl → 0.15.4__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 (255) hide show
  1. luminarycloud/__init__.py +1 -0
  2. luminarycloud/_helpers/_code_representation.py +44 -19
  3. luminarycloud/_helpers/_create_simulation.py +2 -0
  4. luminarycloud/_helpers/_entity_identifier.py +6 -0
  5. luminarycloud/_helpers/named_variables.py +6 -15
  6. luminarycloud/_helpers/warnings/experimental.py +6 -2
  7. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +103 -81
  8. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +37 -1
  9. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.py +33 -0
  10. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.pyi +10 -0
  11. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +45 -15
  12. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +104 -22
  13. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.py +46 -46
  14. luminarycloud/_proto/api/v0/luminarycloud/simulation/simulation_pb2.pyi +7 -1
  15. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.py +12 -12
  16. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.pyi +10 -2
  17. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +221 -143
  18. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +154 -7
  19. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.py +33 -0
  20. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.pyi +10 -0
  21. luminarycloud/_proto/assistant/assistant_pb2.py +92 -71
  22. luminarycloud/_proto/assistant/assistant_pb2.pyi +58 -11
  23. luminarycloud/_proto/assistant/assistant_pb2_grpc.py +47 -13
  24. luminarycloud/_proto/assistant/assistant_pb2_grpc.pyi +18 -6
  25. luminarycloud/_proto/client/simulation_pb2.py +373 -324
  26. luminarycloud/_proto/client/simulation_pb2.pyi +123 -3
  27. luminarycloud/_proto/fvm/solver_results_pb2.py +25 -11
  28. luminarycloud/_proto/fvm/solver_results_pb2.pyi +24 -1
  29. luminarycloud/_proto/geometry/geometry_pb2.py +64 -63
  30. luminarycloud/_proto/geometry/geometry_pb2.pyi +11 -3
  31. luminarycloud/_proto/hexmesh/hexmesh_pb2.py +18 -14
  32. luminarycloud/_proto/hexmesh/hexmesh_pb2.pyi +14 -4
  33. luminarycloud/_proto/named_variable_set/named_variable_set_pb2.py +49 -0
  34. luminarycloud/_proto/named_variable_set/named_variable_set_pb2.pyi +53 -0
  35. luminarycloud/_proto/namedvariableset/namedvariableset_pb2.py +49 -0
  36. luminarycloud/_proto/namedvariableset/namedvariableset_pb2.pyi +53 -0
  37. luminarycloud/_proto/quantity/quantity_pb2.py +8 -5
  38. luminarycloud/_proto/quantity/quantity_pb2.pyi +2 -0
  39. luminarycloud/_wrapper.py +26 -7
  40. luminarycloud/enum/__init__.py +5 -0
  41. luminarycloud/enum/physics_ai_lifecycle_state.py +30 -0
  42. luminarycloud/enum/quantity_type.py +43 -0
  43. luminarycloud/enum/vis_enums.py +6 -2
  44. luminarycloud/geometry.py +46 -2
  45. luminarycloud/meshing/mesh_generation_params.py +6 -5
  46. luminarycloud/meshing/sizing_strategy/sizing_strategies.py +2 -1
  47. luminarycloud/named_variable_set.py +13 -6
  48. luminarycloud/params/enum/_enum_wrappers.py +68 -0
  49. luminarycloud/params/simulation/_lib.py +1 -1
  50. luminarycloud/params/simulation/adaptive_mesh_refinement/boundary_layer_profile_.py +5 -6
  51. luminarycloud/params/simulation/adaptive_mesh_refinement_.py +6 -7
  52. luminarycloud/params/simulation/adjoint_.py +3 -4
  53. luminarycloud/params/simulation/basic/gravity/gravity_off_.py +3 -4
  54. luminarycloud/params/simulation/basic/gravity/gravity_on_.py +3 -4
  55. luminarycloud/params/simulation/basic/gravity_.py +3 -4
  56. luminarycloud/params/simulation/body_frame_.py +3 -4
  57. luminarycloud/params/simulation/entity_relationships/volume_material_relationship_.py +9 -6
  58. luminarycloud/params/simulation/entity_relationships/volume_physics_relationship_.py +9 -6
  59. luminarycloud/params/simulation/entity_relationships_.py +3 -4
  60. luminarycloud/params/simulation/general_.py +3 -4
  61. luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_off_.py +3 -4
  62. luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_on_.py +5 -6
  63. luminarycloud/params/simulation/material/fluid/boussinesq_approximation_.py +3 -4
  64. luminarycloud/params/simulation/material/fluid/material_model/ideal_gas_.py +5 -6
  65. luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_.py +4 -5
  66. luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_with_energy_.py +5 -6
  67. luminarycloud/params/simulation/material/fluid/material_model_.py +3 -4
  68. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_conductivity_.py +4 -5
  69. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_prandtl_number_.py +4 -5
  70. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/temperature_dependent_conductivity_.py +3 -4
  71. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model_.py +3 -4
  72. luminarycloud/params/simulation/material/fluid/viscosity_model/prescribed_viscosity_.py +4 -5
  73. luminarycloud/params/simulation/material/fluid/viscosity_model/sutherland_.py +6 -7
  74. luminarycloud/params/simulation/material/fluid/viscosity_model/temperature_dependent_viscosity_.py +3 -4
  75. luminarycloud/params/simulation/material/fluid/viscosity_model_.py +3 -4
  76. luminarycloud/params/simulation/material/material_fluid_.py +4 -5
  77. luminarycloud/params/simulation/material/material_solid_.py +6 -7
  78. luminarycloud/params/simulation/material_entity_.py +6 -5
  79. luminarycloud/params/simulation/monitor_plane_.py +4 -5
  80. luminarycloud/params/simulation/motion_data/frame_transforms/no_transform_.py +3 -4
  81. luminarycloud/params/simulation/motion_data/frame_transforms/rotational_transform_.py +3 -4
  82. luminarycloud/params/simulation/motion_data/frame_transforms/translational_transform_.py +3 -4
  83. luminarycloud/params/simulation/motion_data/frame_transforms_.py +3 -4
  84. luminarycloud/params/simulation/motion_data/motion_type/constant_angular_motion_.py +3 -4
  85. luminarycloud/params/simulation/motion_data/motion_type/constant_translation_motion_.py +3 -4
  86. luminarycloud/params/simulation/motion_data/motion_type_.py +3 -4
  87. luminarycloud/params/simulation/motion_data_.py +3 -4
  88. luminarycloud/params/simulation/multi_physics_coupling_options_.py +3 -4
  89. luminarycloud/params/simulation/output_.py +3 -4
  90. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_normal_vector_.py +3 -4
  91. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_rotation_angles_.py +3 -4
  92. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection_.py +3 -4
  93. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk_.py +5 -6
  94. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_line_.py +3 -4
  95. luminarycloud/params/simulation/particle_group/particle_group_type/probe_points_.py +3 -4
  96. luminarycloud/params/simulation/particle_group/particle_group_type/source_points_.py +3 -4
  97. luminarycloud/params/simulation/particle_group/particle_group_type_.py +3 -4
  98. luminarycloud/params/simulation/particle_group_.py +3 -4
  99. luminarycloud/params/simulation/physics/fluid/adjoint_controls_fluid_.py +4 -5
  100. luminarycloud/params/simulation/physics/fluid/basic_fluid_.py +3 -4
  101. luminarycloud/params/simulation/physics/fluid/boundary_conditions/farfield_.py +9 -10
  102. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/fan_curve_inlet_.py +5 -6
  103. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mach_inlet_.py +5 -6
  104. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mass_flow_inlet_.py +4 -5
  105. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/total_pressure_inlet_.py +4 -5
  106. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_components_inlet_.py +4 -5
  107. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_magnitude_inlet_.py +5 -6
  108. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet_.py +4 -5
  109. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/fan_curve_outlet_.py +5 -6
  110. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_pressure_.py +4 -5
  111. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_corrected_mass_flow_rate_.py +7 -8
  112. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_mass_flow_rate_.py +5 -6
  113. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy_.py +3 -4
  114. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet_.py +3 -4
  115. luminarycloud/params/simulation/physics/fluid/boundary_conditions/symmetry_.py +3 -4
  116. luminarycloud/params/simulation/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +9 -10
  117. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_heat_flux_.py +4 -5
  118. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_temperature_.py +4 -5
  119. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/no_slip_.py +4 -5
  120. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/slip_.py +3 -4
  121. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/wall_model_.py +4 -5
  122. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_energy_.py +3 -4
  123. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_momentum_.py +3 -4
  124. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall_.py +3 -4
  125. luminarycloud/params/simulation/physics/fluid/boundary_conditions_fluid_.py +3 -4
  126. luminarycloud/params/simulation/physics/fluid/initialization/fluid_existing_solution_.py +3 -4
  127. luminarycloud/params/simulation/physics/fluid/initialization/fluid_farfield_values_.py +3 -4
  128. luminarycloud/params/simulation/physics/fluid/initialization/fluid_prescribed_values_.py +5 -6
  129. luminarycloud/params/simulation/physics/fluid/initialization/turbulence_initialization_.py +9 -10
  130. luminarycloud/params/simulation/physics/fluid/initialization_fluid_.py +3 -4
  131. luminarycloud/params/simulation/physics/fluid/physical_behavior/blade_element_airfoil_data_.py +4 -5
  132. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_blade_element_.py +3 -4
  133. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_radial_distribution_.py +6 -7
  134. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_uniform_thrust_.py +4 -5
  135. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/fan_curve_internal_.py +4 -5
  136. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model_.py +3 -4
  137. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/actuator_line_blade_element_.py +3 -4
  138. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model_.py +3 -4
  139. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/blade_element_params_.py +5 -6
  140. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_acceleration_source_.py +3 -4
  141. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_mass_source_.py +4 -5
  142. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model_.py +3 -4
  143. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model_.py +3 -4
  144. luminarycloud/params/simulation/physics/fluid/physical_behavior_.py +3 -4
  145. luminarycloud/params/simulation/physics/fluid/porous_behavior_.py +4 -5
  146. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_explicit_relaxation_.py +3 -4
  147. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_off_.py +3 -4
  148. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_on_.py +4 -5
  149. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup_.py +3 -4
  150. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation_.py +8 -9
  151. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method_.py +3 -4
  152. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/cfl_based_.py +4 -5
  153. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/fixed_pseudo_time_step_.py +4 -5
  154. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method_.py +3 -4
  155. luminarycloud/params/simulation/physics/fluid/solution_controls_fluid_.py +3 -4
  156. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ec2_.py +3 -4
  157. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/fds_.py +5 -6
  158. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ld2_.py +5 -6
  159. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/rhie_chow_.py +4 -5
  160. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_.py +3 -4
  161. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/first_order_.py +3 -4
  162. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/second_order_.py +8 -9
  163. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order_.py +3 -4
  164. luminarycloud/params/simulation/physics/fluid/spatial_discretization_fluid_.py +4 -5
  165. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_.py +3 -4
  166. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_vtm_.py +3 -4
  167. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/iddes_.py +3 -4
  168. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation_.py +3 -4
  169. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/custom_komega_sst_constants_.py +16 -17
  170. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/default_komega_sst_constants_.py +3 -4
  171. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/komega_sst_constants_.py +3 -4
  172. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst_.py +3 -4
  173. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/custom_spalart_allmaras_constants_.py +15 -16
  174. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/default_spalart_allmaras_constants_.py +3 -4
  175. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/spalart_allmaras_constants_.py +3 -4
  176. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras_.py +3 -4
  177. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/amd_.py +4 -5
  178. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/sigma_.py +4 -5
  179. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/smagorinsky_.py +4 -5
  180. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/vreman_.py +4 -5
  181. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/wale_.py +4 -5
  182. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model_.py +3 -4
  183. luminarycloud/params/simulation/physics/fluid/turbulence_.py +5 -6
  184. luminarycloud/params/simulation/physics/fluid_.py +7 -6
  185. luminarycloud/params/simulation/physics/heat/adjoint_controls_heat_.py +3 -4
  186. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_convection_.py +5 -6
  187. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_heat_flux_.py +4 -5
  188. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_integrated_heat_flux_.py +4 -5
  189. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_symmetry_.py +3 -4
  190. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_temperature_.py +4 -5
  191. luminarycloud/params/simulation/physics/heat/boundary_conditions_heat_.py +3 -4
  192. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_.py +4 -5
  193. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_per_unit_of_volume_.py +4 -5
  194. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type_.py +3 -4
  195. luminarycloud/params/simulation/physics/heat/heat_source_.py +3 -4
  196. luminarycloud/params/simulation/physics/heat/initialization/heat_existing_solution_.py +3 -4
  197. luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values_.py +4 -5
  198. luminarycloud/params/simulation/physics/heat/initialization_heat_.py +3 -4
  199. luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method/heat_implicit_relaxation_.py +3 -4
  200. luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method_.py +3 -4
  201. luminarycloud/params/simulation/physics/heat/solution_controls_heat_.py +3 -4
  202. luminarycloud/params/simulation/physics/heat/spatial_discretization_heat_.py +5 -6
  203. luminarycloud/params/simulation/physics/heat_.py +5 -5
  204. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/rotational_periodicity_.py +3 -4
  205. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/translational_periodicity_.py +3 -4
  206. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type_.py +3 -4
  207. luminarycloud/params/simulation/physics/periodic_pair_.py +3 -4
  208. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/gauss_seidel_.py +3 -4
  209. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/krylov_amg_.py +4 -5
  210. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type_.py +4 -5
  211. luminarycloud/params/simulation/physics_.py +6 -5
  212. luminarycloud/params/simulation/simulation_param_.py +3 -4
  213. luminarycloud/params/simulation/sliding_interfaces_.py +3 -4
  214. luminarycloud/params/simulation/surface_name_.py +3 -4
  215. luminarycloud/params/simulation/time/compute_statistics/compute_statistics_off_.py +3 -4
  216. luminarycloud/params/simulation/time/compute_statistics/compute_statistics_on_.py +3 -4
  217. luminarycloud/params/simulation/time/compute_statistics_.py +3 -4
  218. luminarycloud/params/simulation/time/time_marching/time_explicit_.py +3 -4
  219. luminarycloud/params/simulation/time/time_marching/time_implicit_.py +3 -4
  220. luminarycloud/params/simulation/time/time_marching_.py +3 -4
  221. luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_off_.py +3 -4
  222. luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_on_.py +4 -5
  223. luminarycloud/params/simulation/time/time_step_ramp_.py +3 -4
  224. luminarycloud/params/simulation/time_.py +4 -5
  225. luminarycloud/params/simulation/volume_entity_.py +6 -5
  226. luminarycloud/physics_ai/__init__.py +2 -0
  227. luminarycloud/physics_ai/architectures.py +42 -8
  228. luminarycloud/physics_ai/inference.py +0 -2
  229. luminarycloud/physics_ai/models.py +44 -15
  230. luminarycloud/pipeline_util/dictable.py +27 -0
  231. luminarycloud/pipeline_util/yaml.py +55 -0
  232. luminarycloud/pipelines/__init__.py +29 -0
  233. luminarycloud/pipelines/core.py +225 -0
  234. luminarycloud/pipelines/operators.py +197 -0
  235. luminarycloud/pipelines/parameters.py +42 -0
  236. luminarycloud/project.py +60 -9
  237. luminarycloud/simulation.py +35 -4
  238. luminarycloud/simulation_param.py +16 -12
  239. luminarycloud/simulation_template.py +31 -12
  240. luminarycloud/solution.py +1 -1
  241. luminarycloud/types/__init__.py +2 -0
  242. luminarycloud/types/adfloat.py +50 -8
  243. luminarycloud/types/ids.py +2 -0
  244. luminarycloud/types/vector3.py +2 -1
  245. luminarycloud/vis/__init__.py +12 -5
  246. luminarycloud/vis/data_extraction.py +546 -0
  247. luminarycloud/vis/display.py +64 -8
  248. luminarycloud/vis/filters.py +183 -43
  249. luminarycloud/vis/interactive_scene.py +2 -1
  250. luminarycloud/vis/primitives.py +38 -0
  251. luminarycloud/vis/vis_util.py +56 -0
  252. luminarycloud/vis/visualization.py +241 -71
  253. {luminarycloud-0.15.2.dist-info → luminarycloud-0.15.4.dist-info}/METADATA +3 -1
  254. {luminarycloud-0.15.2.dist-info → luminarycloud-0.15.4.dist-info}/RECORD +255 -240
  255. {luminarycloud-0.15.2.dist-info → luminarycloud-0.15.4.dist-info}/WHEEL +0 -0
@@ -16,10 +16,11 @@ from ..params.geometry import (
16
16
  )
17
17
  from ..types import Vector3
18
18
  from .sizing_strategy import MaxCount, Minimal, MinimalCount, SizingStrategy, TargetCount
19
+ from ..pipeline_util.dictable import PipelineDictable
19
20
 
20
21
 
21
22
  @dataclass(kw_only=True)
22
- class VolumeMeshingParams:
23
+ class VolumeMeshingParams(PipelineDictable):
23
24
  """Volume meshing parameters."""
24
25
 
25
26
  volumes: list[Volume]
@@ -38,7 +39,7 @@ class VolumeMeshingParams:
38
39
 
39
40
 
40
41
  @dataclass(kw_only=True)
41
- class ModelMeshingParams:
42
+ class ModelMeshingParams(PipelineDictable):
42
43
  """Model meshing parameters."""
43
44
 
44
45
  surfaces: Sequence[Surface | str]
@@ -61,7 +62,7 @@ class ModelMeshingParams:
61
62
 
62
63
 
63
64
  @dataclass(kw_only=True)
64
- class BoundaryLayerParams:
65
+ class BoundaryLayerParams(PipelineDictable):
65
66
  """Boundary layer meshing parameters."""
66
67
 
67
68
  surfaces: Sequence[Surface | str]
@@ -87,7 +88,7 @@ class BoundaryLayerParams:
87
88
 
88
89
 
89
90
  @dataclass(kw_only=True)
90
- class RefinementRegion:
91
+ class RefinementRegion(PipelineDictable):
91
92
  """Refinement region parameters."""
92
93
 
93
94
  name: str
@@ -137,7 +138,7 @@ class RefinementRegion:
137
138
 
138
139
 
139
140
  @dataclass(kw_only=True)
140
- class MeshGenerationParams:
141
+ class MeshGenerationParams(PipelineDictable):
141
142
  """Mesh generation parameters."""
142
143
 
143
144
  geometry_id: str
@@ -1,10 +1,11 @@
1
1
  from dataclasses import dataclass
2
2
 
3
3
  from luminarycloud._helpers.warnings.deprecated import deprecated
4
+ from ...pipeline_util.dictable import PipelineDictable
4
5
 
5
6
 
6
7
  @dataclass
7
- class SizingStrategy:
8
+ class SizingStrategy(PipelineDictable):
8
9
  """Sizing strategy parameters."""
9
10
 
10
11
  pass
@@ -9,7 +9,7 @@ from ._proto.api.v0.luminarycloud.named_variable_set import (
9
9
  named_variable_set_pb2 as namedvariablepb,
10
10
  )
11
11
  from ._wrapper import ProtoWrapper, ProtoWrapperBase
12
- from .types import ProjectID, NamedVariableSetID
12
+ from .types import ProjectID, NamedVariableSetID, LcFloat
13
13
 
14
14
 
15
15
  @experimental
@@ -32,6 +32,8 @@ class NamedVariableSet(ProtoWrapperBase):
32
32
  Time the named variable set was created.
33
33
  update_time : datetime
34
34
  Time the named variable set was last updated.
35
+ version_id : str
36
+ ID of the current (latest) version of the named variable set.
35
37
 
36
38
  Examples
37
39
  --------
@@ -45,10 +47,10 @@ class NamedVariableSet(ProtoWrapperBase):
45
47
  id: NamedVariableSetID
46
48
  "Named variable set ID."
47
49
  project_id: ProjectID
48
- "ID of the project containing this simulation."
50
+ "ID of the project containing this named variable set."
49
51
 
50
52
  _proto: namedvariablepb.NamedVariableSet
51
- _named_variables: dict[str, float | str] | None
53
+ _named_variables: dict[str, LcFloat] | None
52
54
 
53
55
  @property
54
56
  def name(self) -> str:
@@ -67,6 +69,10 @@ class NamedVariableSet(ProtoWrapperBase):
67
69
  def update_time(self) -> datetime:
68
70
  return timestamp_to_datetime(self._proto.update_time)
69
71
 
72
+ @property
73
+ def _version_id(self) -> str:
74
+ return self._proto.version_id
75
+
70
76
  def save(self) -> None:
71
77
  """Save the named variable set."""
72
78
  req = namedvariablepb.UpdateNamedVariableSetRequest(
@@ -90,10 +96,10 @@ class NamedVariableSet(ProtoWrapperBase):
90
96
  req = namedvariablepb.DeleteNamedVariableSetRequest(id=self.id)
91
97
  get_default_client().DeleteNamedVariableSet(req)
92
98
 
93
- def __getitem__(self, key: str) -> float | str:
99
+ def __getitem__(self, key: str) -> LcFloat:
94
100
  return self._get_named_variables()[key]
95
101
 
96
- def __setitem__(self, key: str, value: float | str) -> None:
102
+ def __setitem__(self, key: str, value: LcFloat) -> None:
97
103
  self._get_named_variables()[key] = value
98
104
 
99
105
  def __delitem__(self, key: str) -> None:
@@ -105,7 +111,7 @@ class NamedVariableSet(ProtoWrapperBase):
105
111
  def __len__(self) -> int:
106
112
  return len(self._get_named_variables())
107
113
 
108
- def _get_named_variables(self) -> dict[str, float | str]:
114
+ def _get_named_variables(self) -> dict[str, LcFloat]:
109
115
  if getattr(self, "_named_variables", None) is None:
110
116
  named_variables_dict = dict(self._proto.named_variables)
111
117
  self._named_variables = _named_variables_from_proto(named_variables_dict)
@@ -113,6 +119,7 @@ class NamedVariableSet(ProtoWrapperBase):
113
119
  return self._named_variables
114
120
 
115
121
 
122
+ @experimental
116
123
  def get_named_variable_set(id: NamedVariableSetID) -> NamedVariableSet:
117
124
  """
118
125
  Retrieve a specific named variable set by ID.
@@ -5,6 +5,30 @@ from enum import IntEnum as _IntEnum
5
5
  from luminarycloud._proto.client import simulation_pb2 as _clientpb
6
6
 
7
7
 
8
+ class HeatFluxConvention(_IntEnum):
9
+ """
10
+ Convention for the direction of positive heat flux.
11
+
12
+ Attributes
13
+ ----------
14
+ CONVENTION_HEAT_FLUX_OUT
15
+ Heat leaving the domain is positive.
16
+ CONVENTION_HEAT_FLUX_IN
17
+ Heat entering the domain is positive
18
+
19
+
20
+ Examples
21
+ --------
22
+ >>> from luminarycloud.params.enum import HeatFluxConvention
23
+ >>> HeatFluxConvention.CONVENTION_HEAT_FLUX_OUT
24
+ >>> HeatFluxConvention.CONVENTION_HEAT_FLUX_IN
25
+ """
26
+
27
+ INVALID = _clientpb.INVALID_HEAT_FLUX_CONVENTION
28
+ CONVENTION_HEAT_FLUX_OUT = _clientpb.CONVENTION_HEAT_FLUX_OUT
29
+ CONVENTION_HEAT_FLUX_IN = _clientpb.CONVENTION_HEAT_FLUX_IN
30
+
31
+
8
32
  class UnitSystem(_IntEnum):
9
33
  """
10
34
  Collection of units used for all quantities.
@@ -610,6 +634,26 @@ class FlowBehavior(_IntEnum):
610
634
  TRANSIENT = _clientpb.TRANSIENT
611
635
 
612
636
 
637
+ class NonlinearControlMethod(_IntEnum):
638
+ """
639
+ The method used to determine 'input' such that 'output'('input') = 'target'.
640
+
641
+ Attributes
642
+ ----------
643
+ CONTROL_METHOD_SECANT
644
+ Use the secant method to solve the equations.
645
+
646
+
647
+ Examples
648
+ --------
649
+ >>> from luminarycloud.params.enum import NonlinearControlMethod
650
+ >>> NonlinearControlMethod.CONTROL_METHOD_SECANT
651
+ """
652
+
653
+ INVALID = _clientpb.INVALID_NONLINEAR_CONTROL_METHOD
654
+ CONTROL_METHOD_SECANT = _clientpb.CONTROL_METHOD_SECANT
655
+
656
+
613
657
  class TimeImplicitOrder(_IntEnum):
614
658
  """
615
659
  Temporal order of accuracy of the dual time stepping scheme for time-accurate integration.
@@ -751,6 +795,30 @@ class DebugOutputInteriorSurfaceData(_IntEnum):
751
795
  SOLN_DEBUG_OUTPUT_INT_SURF_DATA_ON = _clientpb.SOLN_DEBUG_OUTPUT_INT_SURF_DATA_ON
752
796
 
753
797
 
798
+ class ReferenceType(_IntEnum):
799
+ """
800
+ Method of specification for the reference values used in force and moment computations.
801
+
802
+ Attributes
803
+ ----------
804
+ PRESCRIBE_VALUES
805
+ User-defined force reference values.
806
+ REFERENCE_FARFIELD_VALUES
807
+ Force reference values from the farfield conditions.
808
+
809
+
810
+ Examples
811
+ --------
812
+ >>> from luminarycloud.params.enum import ReferenceType
813
+ >>> ReferenceType.PRESCRIBE_VALUES
814
+ >>> ReferenceType.REFERENCE_FARFIELD_VALUES
815
+ """
816
+
817
+ INVALID = _clientpb.INVALID_REFERENCE_TYPE
818
+ PRESCRIBE_VALUES = _clientpb.PRESCRIBE_VALUES
819
+ REFERENCE_FARFIELD_VALUES = _clientpb.REFERENCE_FARFIELD_VALUES
820
+
821
+
754
822
  class MeshingMethod(_IntEnum):
755
823
  """
756
824
  The method to generate the computational mesh.
@@ -6,7 +6,7 @@ from typing import Any, TypeVar, Generic, Type
6
6
  from uuid import uuid4
7
7
 
8
8
  from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
- from luminarycloud.types import Vector3
9
+ from luminarycloud.types import Vector3, LcFloat
10
10
  from luminarycloud._proto.client import simulation_pb2 as clientpb
11
11
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
12
12
  import luminarycloud.params.enum._enum_wrappers as enum
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -25,9 +24,9 @@ class BoundaryLayerProfile(CodeRepr, ParamGroupWrapper[clientpb.BoundaryLayerPro
25
24
 
26
25
  n_layers: int = 40
27
26
  "Maximum number of prism layers within a boundary layer mesh."
28
- initial_size: float = 1e-06
27
+ initial_size: LcFloat = 1e-06
29
28
  "Size of the mesh layer nearest the boundary surface in meters."
30
- growth_rate: float = 1.2
29
+ growth_rate: LcFloat = 1.2
31
30
  "Ratio of size between 2 successive boundary mesh layers."
32
31
  surfaces: list[str] = field(default_factory=list)
33
32
  ""
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -34,15 +33,15 @@ class AdaptiveMeshRefinement(CodeRepr, ParamGroupWrapper[clientpb.AdaptiveMeshRe
34
33
  "Number of solver iterations to perform before dispatching refinement."
35
34
  max_refinement_interval: int = 0
36
35
  "Maximum number of solver iterations to perform before waiting for refinement to complete."
37
- initial_target_complexity: float = 0
36
+ initial_target_complexity: LcFloat = 0
38
37
  "Target Complexity on the first refinement iteration."
39
- final_target_complexity: float = 0
38
+ final_target_complexity: LcFloat = 0
40
39
  "Target Complexity on the final refinement iteration."
41
40
  meshing_method: enum.MeshingMethod = enum.MeshingMethod.MESH_METHOD_MANUAL
42
41
  "The method to generate the computational mesh."
43
42
  target_cv_millions: int = 10
44
43
  "User-requested mesh size in millions of control volumes."
45
- user_scaling: float = 1.0
44
+ user_scaling: LcFloat = 1.0
46
45
  "Scale factor between the geometry and the mesh."
47
46
  boundary_layer_profile: list[BoundaryLayerProfile] = field(default_factory=list)
48
47
  ""
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -23,9 +22,13 @@ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_uniqu
23
22
  class VolumeMaterialRelationship(CodeRepr, ParamGroupWrapper[clientpb.VolumeMaterialRelationship]):
24
23
  """Tracks volume entity(1) -> material entity(1) relationship."""
25
24
 
26
- volume_identifier: EntityIdentifier | None = None
25
+ volume_identifier: EntityIdentifier = field(
26
+ default_factory=_create_entity_identifier, init=True
27
+ )
27
28
  "Unique identifier for a volume entity."
28
- material_identifier: EntityIdentifier | None = None
29
+ material_identifier: EntityIdentifier = field(
30
+ default_factory=_create_entity_identifier, init=True
31
+ )
29
32
  "Unique identifier for a material entity."
30
33
 
31
34
  def _to_proto(self) -> clientpb.VolumeMaterialRelationship:
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -23,9 +22,13 @@ from luminarycloud.params.simulation._lib import ParamGroupWrapper, create_uniqu
23
22
  class VolumePhysicsRelationship(CodeRepr, ParamGroupWrapper[clientpb.VolumePhysicsRelationship]):
24
23
  """Tracks volume entity(1) -> physics entity(1) relationship."""
25
24
 
26
- volume_identifier: EntityIdentifier | None = None
25
+ volume_identifier: EntityIdentifier = field(
26
+ default_factory=_create_entity_identifier, init=True
27
+ )
27
28
  "Unique identifier for a volume entity."
28
- physics_identifier: EntityIdentifier | None = None
29
+ physics_identifier: EntityIdentifier = field(
30
+ default_factory=_create_entity_identifier, init=True
31
+ )
29
32
  "Unique identifier for a physics entity."
30
33
 
31
34
  def _to_proto(self) -> clientpb.VolumePhysicsRelationship:
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -28,7 +27,7 @@ from luminarycloud.params.simulation.material.fluid.boussinesq_approximation_ im
28
27
  class BoussinesqOn(BoussinesqApproximation):
29
28
  """Enable Boussinesq approximation."""
30
29
 
31
- reference_temperature: float = 288.15
30
+ reference_temperature: LcFloat = 288.15
32
31
  "Temperature at which there is no effect from the Boussinesq approximation (i.e. no change in density)."
33
- thermal_expansion_coefficient: float = 0.0035
32
+ thermal_expansion_coefficient: LcFloat = 0.0035
34
33
  "Volumetric expansion due to temperature."
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -26,7 +25,7 @@ from luminarycloud.params.simulation.material.fluid.material_model_ import *
26
25
  class IdealGas(MaterialModel):
27
26
  """Compute density using the ideal gas law."""
28
27
 
29
- molecular_weight: float = 28.96
28
+ molecular_weight: LcFloat = 28.96
30
29
  "Molecular weight of the gas used to compute its specific gas constant. Air is 28.96 g/mol."
31
- specific_heat_cp: float = 1004.703
30
+ specific_heat_cp: LcFloat = 1004.703
32
31
  "Specific heat at constant pressure. Air is 1004.703 J/kg/K."
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -26,5 +25,5 @@ from luminarycloud.params.simulation.material.fluid.material_model_ import *
26
25
  class IncompressibleFluid(MaterialModel):
27
26
  """Constant density fluid (heat transfer is not simulated)."""
28
27
 
29
- density: float = 1.225
28
+ density: LcFloat = 1.225
30
29
  "Constant density value."
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr
@@ -26,7 +25,7 @@ from luminarycloud.params.simulation.material.fluid.material_model_ import *
26
25
  class IncompressibleFluidWithEnergy(MaterialModel):
27
26
  """Constant density fluid with energy equation."""
28
27
 
29
- density: float = 1.225
28
+ density: LcFloat = 1.225
30
29
  "Constant density value."
31
- specific_heat_cp: float = 1004.703
30
+ specific_heat_cp: LcFloat = 1004.703
32
31
  "Specific heat at constant pressure. Air is 1004.703 J/kg/K."
@@ -5,12 +5,11 @@ from dataclasses import dataclass, field
5
5
  from typing import Any
6
6
  from uuid import uuid4
7
7
 
8
- from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
9
8
  from google.protobuf.message import Message as _Message
10
-
11
- from luminarycloud.tables import RectilinearTable
12
- from luminarycloud.types import Vector3
9
+ from luminarycloud.tables import RectilinearTable, _param_name_to_table_type
10
+ from luminarycloud.types import Vector3, LcFloat
13
11
  from luminarycloud.types.adfloat import _to_ad_proto, _from_ad_proto
12
+ from luminarycloud._helpers._entity_identifier import _create_entity_identifier
14
13
  from luminarycloud._proto.client import simulation_pb2 as clientpb
15
14
  from luminarycloud._proto.client.entity_pb2 import EntityIdentifier
16
15
  from luminarycloud._helpers import CodeRepr