luminarycloud 0.15.3__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 (235) hide show
  1. luminarycloud/__init__.py +1 -0
  2. luminarycloud/_helpers/_create_simulation.py +2 -0
  3. luminarycloud/_helpers/_entity_identifier.py +6 -0
  4. luminarycloud/_helpers/named_variables.py +6 -15
  5. luminarycloud/_helpers/warnings/experimental.py +6 -2
  6. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.py +77 -55
  7. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2.pyi +33 -0
  8. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.py +33 -0
  9. luminarycloud/_proto/api/v0/luminarycloud/geometry/geometry_pb2_grpc.pyi +10 -0
  10. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.py +45 -15
  11. luminarycloud/_proto/api/v0/luminarycloud/physics_ai/physics_ai_pb2.pyi +104 -22
  12. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.py +12 -12
  13. luminarycloud/_proto/api/v0/luminarycloud/simulation_template/simulation_template_pb2.pyi +10 -2
  14. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.py +221 -143
  15. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2.pyi +154 -7
  16. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.py +33 -0
  17. luminarycloud/_proto/api/v0/luminarycloud/vis/vis_pb2_grpc.pyi +10 -0
  18. luminarycloud/_proto/assistant/assistant_pb2.py +82 -61
  19. luminarycloud/_proto/assistant/assistant_pb2.pyi +37 -0
  20. luminarycloud/_proto/assistant/assistant_pb2_grpc.py +34 -0
  21. luminarycloud/_proto/assistant/assistant_pb2_grpc.pyi +12 -0
  22. luminarycloud/_proto/client/simulation_pb2.py +349 -309
  23. luminarycloud/_proto/client/simulation_pb2.pyi +97 -2
  24. luminarycloud/_proto/fvm/solver_results_pb2.py +25 -11
  25. luminarycloud/_proto/fvm/solver_results_pb2.pyi +24 -1
  26. luminarycloud/_proto/geometry/geometry_pb2.py +64 -64
  27. luminarycloud/_proto/namedvariableset/namedvariableset_pb2.py +49 -0
  28. luminarycloud/_proto/namedvariableset/namedvariableset_pb2.pyi +53 -0
  29. luminarycloud/_wrapper.py +26 -7
  30. luminarycloud/enum/__init__.py +2 -0
  31. luminarycloud/enum/physics_ai_lifecycle_state.py +30 -0
  32. luminarycloud/enum/quantity_type.py +43 -0
  33. luminarycloud/enum/vis_enums.py +6 -2
  34. luminarycloud/geometry.py +46 -2
  35. luminarycloud/named_variable_set.py +10 -5
  36. luminarycloud/params/enum/_enum_wrappers.py +68 -0
  37. luminarycloud/params/simulation/_lib.py +1 -1
  38. luminarycloud/params/simulation/adaptive_mesh_refinement/boundary_layer_profile_.py +5 -6
  39. luminarycloud/params/simulation/adaptive_mesh_refinement_.py +6 -7
  40. luminarycloud/params/simulation/adjoint_.py +3 -4
  41. luminarycloud/params/simulation/basic/gravity/gravity_off_.py +3 -4
  42. luminarycloud/params/simulation/basic/gravity/gravity_on_.py +3 -4
  43. luminarycloud/params/simulation/basic/gravity_.py +3 -4
  44. luminarycloud/params/simulation/body_frame_.py +3 -4
  45. luminarycloud/params/simulation/entity_relationships/volume_material_relationship_.py +9 -6
  46. luminarycloud/params/simulation/entity_relationships/volume_physics_relationship_.py +9 -6
  47. luminarycloud/params/simulation/entity_relationships_.py +3 -4
  48. luminarycloud/params/simulation/general_.py +3 -4
  49. luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_off_.py +3 -4
  50. luminarycloud/params/simulation/material/fluid/boussinesq_approximation/boussinesq_on_.py +5 -6
  51. luminarycloud/params/simulation/material/fluid/boussinesq_approximation_.py +3 -4
  52. luminarycloud/params/simulation/material/fluid/material_model/ideal_gas_.py +5 -6
  53. luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_.py +4 -5
  54. luminarycloud/params/simulation/material/fluid/material_model/incompressible_fluid_with_energy_.py +5 -6
  55. luminarycloud/params/simulation/material/fluid/material_model_.py +3 -4
  56. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_conductivity_.py +4 -5
  57. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/prescribed_prandtl_number_.py +4 -5
  58. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model/temperature_dependent_conductivity_.py +3 -4
  59. luminarycloud/params/simulation/material/fluid/thermal_conductivity_model_.py +3 -4
  60. luminarycloud/params/simulation/material/fluid/viscosity_model/prescribed_viscosity_.py +4 -5
  61. luminarycloud/params/simulation/material/fluid/viscosity_model/sutherland_.py +6 -7
  62. luminarycloud/params/simulation/material/fluid/viscosity_model/temperature_dependent_viscosity_.py +3 -4
  63. luminarycloud/params/simulation/material/fluid/viscosity_model_.py +3 -4
  64. luminarycloud/params/simulation/material/material_fluid_.py +4 -5
  65. luminarycloud/params/simulation/material/material_solid_.py +6 -7
  66. luminarycloud/params/simulation/material_entity_.py +6 -5
  67. luminarycloud/params/simulation/monitor_plane_.py +4 -5
  68. luminarycloud/params/simulation/motion_data/frame_transforms/no_transform_.py +3 -4
  69. luminarycloud/params/simulation/motion_data/frame_transforms/rotational_transform_.py +3 -4
  70. luminarycloud/params/simulation/motion_data/frame_transforms/translational_transform_.py +3 -4
  71. luminarycloud/params/simulation/motion_data/frame_transforms_.py +3 -4
  72. luminarycloud/params/simulation/motion_data/motion_type/constant_angular_motion_.py +3 -4
  73. luminarycloud/params/simulation/motion_data/motion_type/constant_translation_motion_.py +3 -4
  74. luminarycloud/params/simulation/motion_data/motion_type_.py +3 -4
  75. luminarycloud/params/simulation/motion_data_.py +3 -4
  76. luminarycloud/params/simulation/multi_physics_coupling_options_.py +3 -4
  77. luminarycloud/params/simulation/output_.py +3 -4
  78. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_normal_vector_.py +3 -4
  79. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection/actuator_disk_specify_rotation_angles_.py +3 -4
  80. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk/actuator_disk_orientation_selection_.py +3 -4
  81. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_disk_.py +5 -6
  82. luminarycloud/params/simulation/particle_group/particle_group_type/actuator_line_.py +3 -4
  83. luminarycloud/params/simulation/particle_group/particle_group_type/probe_points_.py +3 -4
  84. luminarycloud/params/simulation/particle_group/particle_group_type/source_points_.py +3 -4
  85. luminarycloud/params/simulation/particle_group/particle_group_type_.py +3 -4
  86. luminarycloud/params/simulation/particle_group_.py +3 -4
  87. luminarycloud/params/simulation/physics/fluid/adjoint_controls_fluid_.py +4 -5
  88. luminarycloud/params/simulation/physics/fluid/basic_fluid_.py +3 -4
  89. luminarycloud/params/simulation/physics/fluid/boundary_conditions/farfield_.py +9 -10
  90. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/fan_curve_inlet_.py +5 -6
  91. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mach_inlet_.py +5 -6
  92. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/mass_flow_inlet_.py +4 -5
  93. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/total_pressure_inlet_.py +4 -5
  94. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_components_inlet_.py +4 -5
  95. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet/velocity_magnitude_inlet_.py +5 -6
  96. luminarycloud/params/simulation/physics/fluid/boundary_conditions/inlet_.py +4 -5
  97. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/fan_curve_outlet_.py +5 -6
  98. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_pressure_.py +4 -5
  99. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_corrected_mass_flow_rate_.py +7 -8
  100. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy/outlet_target_mass_flow_rate_.py +5 -6
  101. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet/outlet_strategy_.py +3 -4
  102. luminarycloud/params/simulation/physics/fluid/boundary_conditions/outlet_.py +3 -4
  103. luminarycloud/params/simulation/physics/fluid/boundary_conditions/symmetry_.py +3 -4
  104. luminarycloud/params/simulation/physics/fluid/boundary_conditions/turbulence_boundary_conditions_.py +9 -10
  105. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_heat_flux_.py +4 -5
  106. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/energy/prescribed_temperature_.py +4 -5
  107. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/no_slip_.py +4 -5
  108. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/slip_.py +3 -4
  109. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/momentum/wall_model_.py +4 -5
  110. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_energy_.py +3 -4
  111. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall/wall_momentum_.py +3 -4
  112. luminarycloud/params/simulation/physics/fluid/boundary_conditions/wall_.py +3 -4
  113. luminarycloud/params/simulation/physics/fluid/boundary_conditions_fluid_.py +3 -4
  114. luminarycloud/params/simulation/physics/fluid/initialization/fluid_existing_solution_.py +3 -4
  115. luminarycloud/params/simulation/physics/fluid/initialization/fluid_farfield_values_.py +3 -4
  116. luminarycloud/params/simulation/physics/fluid/initialization/fluid_prescribed_values_.py +5 -6
  117. luminarycloud/params/simulation/physics/fluid/initialization/turbulence_initialization_.py +9 -10
  118. luminarycloud/params/simulation/physics/fluid/initialization_fluid_.py +3 -4
  119. luminarycloud/params/simulation/physics/fluid/physical_behavior/blade_element_airfoil_data_.py +4 -5
  120. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_blade_element_.py +3 -4
  121. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_radial_distribution_.py +6 -7
  122. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/actuator_disk_uniform_thrust_.py +4 -5
  123. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model/fan_curve_internal_.py +4 -5
  124. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_disk_model_.py +3 -4
  125. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model/actuator_line_blade_element_.py +3 -4
  126. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/actuator_line_model_.py +3 -4
  127. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/blade_element_params_.py +5 -6
  128. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_acceleration_source_.py +3 -4
  129. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model/general_mass_source_.py +4 -5
  130. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model/particle_source_model_.py +3 -4
  131. luminarycloud/params/simulation/physics/fluid/physical_behavior/physical_behavior_model_.py +3 -4
  132. luminarycloud/params/simulation/physics/fluid/physical_behavior_.py +3 -4
  133. luminarycloud/params/simulation/physics/fluid/porous_behavior_.py +4 -5
  134. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_explicit_relaxation_.py +3 -4
  135. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_off_.py +3 -4
  136. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup/robust_startup_on_.py +4 -5
  137. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation/robust_startup_.py +3 -4
  138. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method/fluid_implicit_relaxation_.py +8 -9
  139. luminarycloud/params/simulation/physics/fluid/solution_controls/fluid_relaxation_method_.py +3 -4
  140. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/cfl_based_.py +4 -5
  141. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method/fixed_pseudo_time_step_.py +4 -5
  142. luminarycloud/params/simulation/physics/fluid/solution_controls/pseudo_time_step_method_.py +3 -4
  143. luminarycloud/params/simulation/physics/fluid/solution_controls_fluid_.py +3 -4
  144. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ec2_.py +3 -4
  145. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/fds_.py +5 -6
  146. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/ld2_.py +5 -6
  147. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme/rhie_chow_.py +4 -5
  148. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_.py +3 -4
  149. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/first_order_.py +3 -4
  150. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order/second_order_.py +8 -9
  151. luminarycloud/params/simulation/physics/fluid/spatial_discretization/convective_scheme_order_.py +3 -4
  152. luminarycloud/params/simulation/physics/fluid/spatial_discretization_fluid_.py +4 -5
  153. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_.py +3 -4
  154. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/ddes_vtm_.py +3 -4
  155. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation/iddes_.py +3 -4
  156. luminarycloud/params/simulation/physics/fluid/turbulence/des_formulation_.py +3 -4
  157. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/custom_komega_sst_constants_.py +16 -17
  158. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/constants/default_komega_sst_constants_.py +3 -4
  159. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst/komega_sst_constants_.py +3 -4
  160. luminarycloud/params/simulation/physics/fluid/turbulence/komega_sst_.py +3 -4
  161. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/custom_spalart_allmaras_constants_.py +15 -16
  162. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/constants/default_spalart_allmaras_constants_.py +3 -4
  163. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras/spalart_allmaras_constants_.py +3 -4
  164. luminarycloud/params/simulation/physics/fluid/turbulence/spalart_allmaras_.py +3 -4
  165. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/amd_.py +4 -5
  166. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/sigma_.py +4 -5
  167. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/smagorinsky_.py +4 -5
  168. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/vreman_.py +4 -5
  169. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model/wale_.py +4 -5
  170. luminarycloud/params/simulation/physics/fluid/turbulence/sub_grid_scale_model_.py +3 -4
  171. luminarycloud/params/simulation/physics/fluid/turbulence_.py +5 -6
  172. luminarycloud/params/simulation/physics/fluid_.py +7 -6
  173. luminarycloud/params/simulation/physics/heat/adjoint_controls_heat_.py +3 -4
  174. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_convection_.py +5 -6
  175. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_heat_flux_.py +4 -5
  176. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_integrated_heat_flux_.py +4 -5
  177. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_symmetry_.py +3 -4
  178. luminarycloud/params/simulation/physics/heat/boundary_conditions/heat_bc_temperature_.py +4 -5
  179. luminarycloud/params/simulation/physics/heat/boundary_conditions_heat_.py +3 -4
  180. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_.py +4 -5
  181. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type/heat_source_type_power_per_unit_of_volume_.py +4 -5
  182. luminarycloud/params/simulation/physics/heat/heat_source/heat_source_type_.py +3 -4
  183. luminarycloud/params/simulation/physics/heat/heat_source_.py +3 -4
  184. luminarycloud/params/simulation/physics/heat/initialization/heat_existing_solution_.py +3 -4
  185. luminarycloud/params/simulation/physics/heat/initialization/heat_prescribed_values_.py +4 -5
  186. luminarycloud/params/simulation/physics/heat/initialization_heat_.py +3 -4
  187. luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method/heat_implicit_relaxation_.py +3 -4
  188. luminarycloud/params/simulation/physics/heat/solution_controls/heat_relaxation_method_.py +3 -4
  189. luminarycloud/params/simulation/physics/heat/solution_controls_heat_.py +3 -4
  190. luminarycloud/params/simulation/physics/heat/spatial_discretization_heat_.py +5 -6
  191. luminarycloud/params/simulation/physics/heat_.py +5 -5
  192. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/rotational_periodicity_.py +3 -4
  193. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type/translational_periodicity_.py +3 -4
  194. luminarycloud/params/simulation/physics/periodic_pair/periodicity_type_.py +3 -4
  195. luminarycloud/params/simulation/physics/periodic_pair_.py +3 -4
  196. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/gauss_seidel_.py +3 -4
  197. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type/krylov_amg_.py +4 -5
  198. luminarycloud/params/simulation/physics/solution_controls/linear_solver_type_.py +4 -5
  199. luminarycloud/params/simulation/physics_.py +6 -5
  200. luminarycloud/params/simulation/simulation_param_.py +3 -4
  201. luminarycloud/params/simulation/sliding_interfaces_.py +3 -4
  202. luminarycloud/params/simulation/surface_name_.py +3 -4
  203. luminarycloud/params/simulation/time/compute_statistics/compute_statistics_off_.py +3 -4
  204. luminarycloud/params/simulation/time/compute_statistics/compute_statistics_on_.py +3 -4
  205. luminarycloud/params/simulation/time/compute_statistics_.py +3 -4
  206. luminarycloud/params/simulation/time/time_marching/time_explicit_.py +3 -4
  207. luminarycloud/params/simulation/time/time_marching/time_implicit_.py +3 -4
  208. luminarycloud/params/simulation/time/time_marching_.py +3 -4
  209. luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_off_.py +3 -4
  210. luminarycloud/params/simulation/time/time_step_ramp/time_step_ramp_on_.py +4 -5
  211. luminarycloud/params/simulation/time/time_step_ramp_.py +3 -4
  212. luminarycloud/params/simulation/time_.py +4 -5
  213. luminarycloud/params/simulation/volume_entity_.py +6 -5
  214. luminarycloud/physics_ai/__init__.py +2 -0
  215. luminarycloud/physics_ai/architectures.py +42 -8
  216. luminarycloud/physics_ai/inference.py +0 -2
  217. luminarycloud/physics_ai/models.py +44 -15
  218. luminarycloud/project.py +54 -3
  219. luminarycloud/simulation_template.py +21 -6
  220. luminarycloud/solution.py +1 -1
  221. luminarycloud/types/__init__.py +2 -0
  222. luminarycloud/types/adfloat.py +50 -8
  223. luminarycloud/types/ids.py +2 -0
  224. luminarycloud/vis/__init__.py +12 -2
  225. luminarycloud/vis/data_extraction.py +546 -0
  226. luminarycloud/vis/display.py +61 -6
  227. luminarycloud/vis/filters.py +183 -42
  228. luminarycloud/vis/interactive_scene.py +1 -0
  229. luminarycloud/vis/primitives.py +38 -0
  230. luminarycloud/vis/vis_util.py +56 -0
  231. luminarycloud/vis/visualization.py +224 -70
  232. {luminarycloud-0.15.3.dist-info → luminarycloud-0.15.4.dist-info}/METADATA +2 -1
  233. {luminarycloud-0.15.3.dist-info → luminarycloud-0.15.4.dist-info}/RECORD +234 -228
  234. luminarycloud/_proto/luminarycloud/luminarycloud_api.pb +0 -0
  235. {luminarycloud-0.15.3.dist-info → luminarycloud-0.15.4.dist-info}/WHEEL +0 -0
@@ -703,6 +703,23 @@ TRANSIENT: FlowBehavior.ValueType # 36606
703
703
  """Solve for a time-accurate solution of the governing equations."""
704
704
  global___FlowBehavior = FlowBehavior
705
705
 
706
+ class _NonlinearControlMethod:
707
+ ValueType = typing.NewType("ValueType", builtins.int)
708
+ V: typing_extensions.TypeAlias = ValueType
709
+
710
+ class _NonlinearControlMethodEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_NonlinearControlMethod.ValueType], builtins.type): # noqa: F821
711
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
712
+ INVALID_NONLINEAR_CONTROL_METHOD: _NonlinearControlMethod.ValueType # 0
713
+ CONTROL_METHOD_SECANT: _NonlinearControlMethod.ValueType # 29430
714
+ """Use the secant method to solve the equations."""
715
+
716
+ class NonlinearControlMethod(_NonlinearControlMethod, metaclass=_NonlinearControlMethodEnumTypeWrapper): ...
717
+
718
+ INVALID_NONLINEAR_CONTROL_METHOD: NonlinearControlMethod.ValueType # 0
719
+ CONTROL_METHOD_SECANT: NonlinearControlMethod.ValueType # 29430
720
+ """Use the secant method to solve the equations."""
721
+ global___NonlinearControlMethod = NonlinearControlMethod
722
+
706
723
  class _TimeMarching:
707
724
  ValueType = typing.NewType("ValueType", builtins.int)
708
725
  V: typing_extensions.TypeAlias = ValueType
@@ -3183,6 +3200,79 @@ class Adjoint(google.protobuf.message.Message):
3183
3200
 
3184
3201
  global___Adjoint = Adjoint
3185
3202
 
3203
+ class NonlinearControlSystem(google.protobuf.message.Message):
3204
+ """Outputs, inputs, and target values that define the control problem."""
3205
+
3206
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
3207
+
3208
+ NONLINEAR_CONTROL_OUTPUT_FIELD_NUMBER: builtins.int
3209
+ NONLINEAR_CONTROL_INPUT_FIELD_NUMBER: builtins.int
3210
+ NONLINEAR_CONTROL_TARGET_FIELD_NUMBER: builtins.int
3211
+ @property
3212
+ def nonlinear_control_output(self) -> luminarycloud._proto.output.output_pb2.Output:
3213
+ """Output for which a target value should be met."""
3214
+ nonlinear_control_input: builtins.str
3215
+ """Named variable varied by the controller to meet the target output value."""
3216
+ @property
3217
+ def nonlinear_control_target(self) -> luminarycloud._proto.base.base_pb2.AdFloatType:
3218
+ """Target value for the output."""
3219
+ def __init__(
3220
+ self,
3221
+ *,
3222
+ nonlinear_control_output: luminarycloud._proto.output.output_pb2.Output | None = ...,
3223
+ nonlinear_control_input: builtins.str = ...,
3224
+ nonlinear_control_target: luminarycloud._proto.base.base_pb2.AdFloatType | None = ...,
3225
+ ) -> None: ...
3226
+ def HasField(self, field_name: typing_extensions.Literal["nonlinear_control_output", b"nonlinear_control_output", "nonlinear_control_target", b"nonlinear_control_target"]) -> builtins.bool: ...
3227
+ def ClearField(self, field_name: typing_extensions.Literal["nonlinear_control_input", b"nonlinear_control_input", "nonlinear_control_output", b"nonlinear_control_output", "nonlinear_control_target", b"nonlinear_control_target"]) -> None: ...
3228
+
3229
+ global___NonlinearControlSystem = NonlinearControlSystem
3230
+
3231
+ class NonlinearControl(google.protobuf.message.Message):
3232
+ """Determine input values such that target output values are met."""
3233
+
3234
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
3235
+
3236
+ NONLINEAR_CONTROL_SYSTEM_FIELD_NUMBER: builtins.int
3237
+ NONLINEAR_CONTROL_METHOD_FIELD_NUMBER: builtins.int
3238
+ NONLINEAR_CONTROL_START_ITERATION_FIELD_NUMBER: builtins.int
3239
+ NONLINEAR_CONTROL_INITIAL_GRADIENT_FIELD_NUMBER: builtins.int
3240
+ NONLINEAR_CONTROL_UPDATE_INTERVAL_FIELD_NUMBER: builtins.int
3241
+ NONLINEAR_CONTROL_RELAXATION_FIELD_NUMBER: builtins.int
3242
+ @property
3243
+ def nonlinear_control_system(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NonlinearControlSystem]:
3244
+ """Outputs, inputs, and target values that define the control problem."""
3245
+ nonlinear_control_method: global___NonlinearControlMethod.ValueType
3246
+ """The method used to determine 'input' such that 'output'('input') = 'target'."""
3247
+ @property
3248
+ def nonlinear_control_start_iteration(self) -> luminarycloud._proto.base.base_pb2.Int:
3249
+ """Start the nonlinear controler after N iterations."""
3250
+ @property
3251
+ def nonlinear_control_initial_gradient(self) -> luminarycloud._proto.base.base_pb2.AdFloatType:
3252
+ """Estimate of the gradient of the function with respect to the control input,
3253
+ used for the first update of the Secant method.
3254
+ """
3255
+ @property
3256
+ def nonlinear_control_update_interval(self) -> luminarycloud._proto.base.base_pb2.Int:
3257
+ """Update the input every N iterations."""
3258
+ @property
3259
+ def nonlinear_control_relaxation(self) -> luminarycloud._proto.base.base_pb2.AdFloatType:
3260
+ """Under-relaxation factor applied to the Secant method updates of the input variables."""
3261
+ def __init__(
3262
+ self,
3263
+ *,
3264
+ nonlinear_control_system: collections.abc.Iterable[global___NonlinearControlSystem] | None = ...,
3265
+ nonlinear_control_method: global___NonlinearControlMethod.ValueType = ...,
3266
+ nonlinear_control_start_iteration: luminarycloud._proto.base.base_pb2.Int | None = ...,
3267
+ nonlinear_control_initial_gradient: luminarycloud._proto.base.base_pb2.AdFloatType | None = ...,
3268
+ nonlinear_control_update_interval: luminarycloud._proto.base.base_pb2.Int | None = ...,
3269
+ nonlinear_control_relaxation: luminarycloud._proto.base.base_pb2.AdFloatType | None = ...,
3270
+ ) -> None: ...
3271
+ def HasField(self, field_name: typing_extensions.Literal["nonlinear_control_initial_gradient", b"nonlinear_control_initial_gradient", "nonlinear_control_relaxation", b"nonlinear_control_relaxation", "nonlinear_control_start_iteration", b"nonlinear_control_start_iteration", "nonlinear_control_update_interval", b"nonlinear_control_update_interval"]) -> builtins.bool: ...
3272
+ def ClearField(self, field_name: typing_extensions.Literal["nonlinear_control_initial_gradient", b"nonlinear_control_initial_gradient", "nonlinear_control_method", b"nonlinear_control_method", "nonlinear_control_relaxation", b"nonlinear_control_relaxation", "nonlinear_control_start_iteration", b"nonlinear_control_start_iteration", "nonlinear_control_system", b"nonlinear_control_system", "nonlinear_control_update_interval", b"nonlinear_control_update_interval"]) -> None: ...
3273
+
3274
+ global___NonlinearControl = NonlinearControl
3275
+
3186
3276
  class Time(google.protobuf.message.Message):
3187
3277
  """Time parameters used by a transient solution (required if flow_behavior = transient)."""
3188
3278
 
@@ -5976,6 +6066,7 @@ class SimulationParam(google.protobuf.message.Message):
5976
6066
  VOLUME_ENTITY_FIELD_NUMBER: builtins.int
5977
6067
  GENERAL_FIELD_NUMBER: builtins.int
5978
6068
  ADJOINT_FIELD_NUMBER: builtins.int
6069
+ NONLINEAR_CONTROL_FIELD_NUMBER: builtins.int
5979
6070
  TIME_FIELD_NUMBER: builtins.int
5980
6071
  MOTION_DATA_FIELD_NUMBER: builtins.int
5981
6072
  PARTICLE_GROUP_FIELD_NUMBER: builtins.int
@@ -6016,6 +6107,9 @@ class SimulationParam(google.protobuf.message.Message):
6016
6107
  def adjoint(self) -> global___Adjoint:
6017
6108
  """Settings for adjoint sensitivity analysis."""
6018
6109
  @property
6110
+ def nonlinear_control(self) -> global___NonlinearControl:
6111
+ """Determine input values such that target output values are met."""
6112
+ @property
6019
6113
  def time(self) -> global___Time:
6020
6114
  """Time parameters used by a transient solution (required if flow_behavior = transient)."""
6021
6115
  @property
@@ -6079,6 +6173,7 @@ class SimulationParam(google.protobuf.message.Message):
6079
6173
  volume_entity: collections.abc.Iterable[global___VolumeEntity] | None = ...,
6080
6174
  general: global___General | None = ...,
6081
6175
  adjoint: global___Adjoint | None = ...,
6176
+ nonlinear_control: global___NonlinearControl | None = ...,
6082
6177
  time: global___Time | None = ...,
6083
6178
  motion_data: collections.abc.Iterable[global___MotionData] | None = ...,
6084
6179
  particle_group: collections.abc.Iterable[global___ParticleGroup] | None = ...,
@@ -6096,7 +6191,7 @@ class SimulationParam(google.protobuf.message.Message):
6096
6191
  interfaces: collections.abc.Iterable[global___SlidingInterfaces] | None = ...,
6097
6192
  mp_coupling_options: global___MultiPhysicsCouplingOptions | None = ...,
6098
6193
  ) -> None: ...
6099
- def HasField(self, field_name: typing_extensions.Literal["adaptive_mesh_refinement", b"adaptive_mesh_refinement", "adjoint", b"adjoint", "body_frame", b"body_frame", "convergence_criteria", b"convergence_criteria", "entity_relationships", b"entity_relationships", "general", b"general", "input", b"input", "mp_coupling_options", b"mp_coupling_options", "output", b"output", "reference_values", b"reference_values", "time", b"time", "units", b"units"]) -> builtins.bool: ...
6100
- def ClearField(self, field_name: typing_extensions.Literal["adaptive_mesh_refinement", b"adaptive_mesh_refinement", "adjoint", b"adjoint", "body_frame", b"body_frame", "convergence_criteria", b"convergence_criteria", "entity_relationships", b"entity_relationships", "general", b"general", "input", b"input", "interfaces", b"interfaces", "material_entity", b"material_entity", "monitor_plane", b"monitor_plane", "motion_data", b"motion_data", "mp_coupling_options", b"mp_coupling_options", "named_variable", b"named_variable", "output", b"output", "particle_group", b"particle_group", "physics", b"physics", "reference_values", b"reference_values", "schema", b"schema", "surface_name", b"surface_name", "table", b"table", "table_references", b"table_references", "time", b"time", "units", b"units", "volume_entity", b"volume_entity"]) -> None: ...
6194
+ def HasField(self, field_name: typing_extensions.Literal["adaptive_mesh_refinement", b"adaptive_mesh_refinement", "adjoint", b"adjoint", "body_frame", b"body_frame", "convergence_criteria", b"convergence_criteria", "entity_relationships", b"entity_relationships", "general", b"general", "input", b"input", "mp_coupling_options", b"mp_coupling_options", "nonlinear_control", b"nonlinear_control", "output", b"output", "reference_values", b"reference_values", "time", b"time", "units", b"units"]) -> builtins.bool: ...
6195
+ def ClearField(self, field_name: typing_extensions.Literal["adaptive_mesh_refinement", b"adaptive_mesh_refinement", "adjoint", b"adjoint", "body_frame", b"body_frame", "convergence_criteria", b"convergence_criteria", "entity_relationships", b"entity_relationships", "general", b"general", "input", b"input", "interfaces", b"interfaces", "material_entity", b"material_entity", "monitor_plane", b"monitor_plane", "motion_data", b"motion_data", "mp_coupling_options", b"mp_coupling_options", "named_variable", b"named_variable", "nonlinear_control", b"nonlinear_control", "output", b"output", "particle_group", b"particle_group", "physics", b"physics", "reference_values", b"reference_values", "schema", b"schema", "surface_name", b"surface_name", "table", b"table", "table_references", b"table_references", "time", b"time", "units", b"units", "volume_entity", b"volume_entity"]) -> None: ...
6101
6196
 
6102
6197
  global___SimulationParam = SimulationParam
@@ -13,15 +13,17 @@ _sym_db = _symbol_database.Default()
13
13
 
14
14
 
15
15
  from luminarycloud._proto.fvm import global_solution_pb2 as proto_dot_fvm_dot_global__solution__pb2
16
+ from luminarycloud._proto.base import base_pb2 as proto_dot_base_dot_base__pb2
16
17
 
17
18
 
18
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eproto/fvm/solver_results.proto\x12\x12luminary.proto.fvm\x1a\x1fproto/fvm/global_solution.proto\"7\n\x0eMpiDoubleStats\x12\x0b\n\x03max\x18\x01 \x01(\x01\x12\x0b\n\x03min\x18\x02 \x01(\x01\x12\x0b\n\x03\x61vg\x18\x03 \x01(\x01\"\x8a\x02\n\rTimingSummary\x12\x1c\n\x14mesh_preprocess_time\x18\x01 \x01(\x01\x12\x1d\n\x15solver_iteration_mean\x18\x02 \x01(\x01\x12\'\n\x1asolver_initialization_time\x18\t \x01(\x01H\x00\x88\x01\x01\x12M\n\x1cgpu_memory_usage_gb_per_rank\x18\n \x01(\x0b\x32\".luminary.proto.fvm.MpiDoubleStatsH\x01\x88\x01\x01\x42\x1d\n\x1b_solver_initialization_timeB\x1f\n\x1d_gpu_memory_usage_gb_per_rankJ\x04\x08\x03\x10\t\"\xdd\x01\n\x14SolverResultsSummary\x12=\n\x08solution\x18\x01 \x01(\x0b\x32\".luminary.proto.fvm.GlobalSolutionB\x02\x18\x01H\x00\x88\x01\x01\x12\x36\n\x0btiming_info\x18\x02 \x01(\x0b\x32!.luminary.proto.fvm.TimingSummary\x12\x41\n\x11physics_solutions\x18\x03 \x03(\x0b\x32&.luminary.proto.fvm.GlobalSolutionListB\x0b\n\t_solution\"\\\n\x18SolverResultsSummaryList\x12@\n\x0esolver_results\x18\x01 \x03(\x0b\x32(.luminary.proto.fvm.SolverResultsSummary\"Q\n\x12GlobalSolutionList\x12;\n\x0finner_solutions\x18\x01 \x03(\x0b\x32\".luminary.proto.fvm.GlobalSolutionB\"Z luminarycloud.com/core/proto/fvmb\x06proto3')
19
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eproto/fvm/solver_results.proto\x12\x12luminary.proto.fvm\x1a\x1fproto/fvm/global_solution.proto\x1a\x15proto/base/base.proto\"7\n\x0eMpiDoubleStats\x12\x0b\n\x03max\x18\x01 \x01(\x01\x12\x0b\n\x03min\x18\x02 \x01(\x01\x12\x0b\n\x03\x61vg\x18\x03 \x01(\x01\"\x8a\x02\n\rTimingSummary\x12\x1c\n\x14mesh_preprocess_time\x18\x01 \x01(\x01\x12\x1d\n\x15solver_iteration_mean\x18\x02 \x01(\x01\x12\'\n\x1asolver_initialization_time\x18\t \x01(\x01H\x00\x88\x01\x01\x12M\n\x1cgpu_memory_usage_gb_per_rank\x18\n \x01(\x0b\x32\".luminary.proto.fvm.MpiDoubleStatsH\x01\x88\x01\x01\x42\x1d\n\x1b_solver_initialization_timeB\x1f\n\x1d_gpu_memory_usage_gb_per_rankJ\x04\x08\x03\x10\t\"\xfb\x02\n\x14SolverResultsSummary\x12=\n\x08solution\x18\x01 \x01(\x0b\x32\".luminary.proto.fvm.GlobalSolutionB\x02\x18\x01H\x00\x88\x01\x01\x12\x36\n\x0btiming_info\x18\x02 \x01(\x0b\x32!.luminary.proto.fvm.TimingSummary\x12\x41\n\x11physics_solutions\x18\x03 \x03(\x0b\x32&.luminary.proto.fvm.GlobalSolutionList\x12I\n\tnlc_input\x18\x04 \x03(\x0b\x32\x36.luminary.proto.fvm.SolverResultsSummary.NlcInputEntry\x1aQ\n\rNlcInputEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .luminary.proto.base.AdFloatType:\x02\x38\x01\x42\x0b\n\t_solution\"\\\n\x18SolverResultsSummaryList\x12@\n\x0esolver_results\x18\x01 \x03(\x0b\x32(.luminary.proto.fvm.SolverResultsSummary\"Q\n\x12GlobalSolutionList\x12;\n\x0finner_solutions\x18\x01 \x03(\x0b\x32\".luminary.proto.fvm.GlobalSolutionB\"Z luminarycloud.com/core/proto/fvmb\x06proto3')
19
20
 
20
21
 
21
22
 
22
23
  _MPIDOUBLESTATS = DESCRIPTOR.message_types_by_name['MpiDoubleStats']
23
24
  _TIMINGSUMMARY = DESCRIPTOR.message_types_by_name['TimingSummary']
24
25
  _SOLVERRESULTSSUMMARY = DESCRIPTOR.message_types_by_name['SolverResultsSummary']
26
+ _SOLVERRESULTSSUMMARY_NLCINPUTENTRY = _SOLVERRESULTSSUMMARY.nested_types_by_name['NlcInputEntry']
25
27
  _SOLVERRESULTSSUMMARYLIST = DESCRIPTOR.message_types_by_name['SolverResultsSummaryList']
26
28
  _GLOBALSOLUTIONLIST = DESCRIPTOR.message_types_by_name['GlobalSolutionList']
27
29
  MpiDoubleStats = _reflection.GeneratedProtocolMessageType('MpiDoubleStats', (_message.Message,), {
@@ -39,11 +41,19 @@ TimingSummary = _reflection.GeneratedProtocolMessageType('TimingSummary', (_mess
39
41
  _sym_db.RegisterMessage(TimingSummary)
40
42
 
41
43
  SolverResultsSummary = _reflection.GeneratedProtocolMessageType('SolverResultsSummary', (_message.Message,), {
44
+
45
+ 'NlcInputEntry' : _reflection.GeneratedProtocolMessageType('NlcInputEntry', (_message.Message,), {
46
+ 'DESCRIPTOR' : _SOLVERRESULTSSUMMARY_NLCINPUTENTRY,
47
+ '__module__' : 'proto.fvm.solver_results_pb2'
48
+ # @@protoc_insertion_point(class_scope:luminary.proto.fvm.SolverResultsSummary.NlcInputEntry)
49
+ })
50
+ ,
42
51
  'DESCRIPTOR' : _SOLVERRESULTSSUMMARY,
43
52
  '__module__' : 'proto.fvm.solver_results_pb2'
44
53
  # @@protoc_insertion_point(class_scope:luminary.proto.fvm.SolverResultsSummary)
45
54
  })
46
55
  _sym_db.RegisterMessage(SolverResultsSummary)
56
+ _sym_db.RegisterMessage(SolverResultsSummary.NlcInputEntry)
47
57
 
48
58
  SolverResultsSummaryList = _reflection.GeneratedProtocolMessageType('SolverResultsSummaryList', (_message.Message,), {
49
59
  'DESCRIPTOR' : _SOLVERRESULTSSUMMARYLIST,
@@ -63,16 +73,20 @@ if _descriptor._USE_C_DESCRIPTORS == False:
63
73
 
64
74
  DESCRIPTOR._options = None
65
75
  DESCRIPTOR._serialized_options = b'Z luminarycloud.com/core/proto/fvm'
76
+ _SOLVERRESULTSSUMMARY_NLCINPUTENTRY._options = None
77
+ _SOLVERRESULTSSUMMARY_NLCINPUTENTRY._serialized_options = b'8\001'
66
78
  _SOLVERRESULTSSUMMARY.fields_by_name['solution']._options = None
67
79
  _SOLVERRESULTSSUMMARY.fields_by_name['solution']._serialized_options = b'\030\001'
68
- _MPIDOUBLESTATS._serialized_start=87
69
- _MPIDOUBLESTATS._serialized_end=142
70
- _TIMINGSUMMARY._serialized_start=145
71
- _TIMINGSUMMARY._serialized_end=411
72
- _SOLVERRESULTSSUMMARY._serialized_start=414
73
- _SOLVERRESULTSSUMMARY._serialized_end=635
74
- _SOLVERRESULTSSUMMARYLIST._serialized_start=637
75
- _SOLVERRESULTSSUMMARYLIST._serialized_end=729
76
- _GLOBALSOLUTIONLIST._serialized_start=731
77
- _GLOBALSOLUTIONLIST._serialized_end=812
80
+ _MPIDOUBLESTATS._serialized_start=110
81
+ _MPIDOUBLESTATS._serialized_end=165
82
+ _TIMINGSUMMARY._serialized_start=168
83
+ _TIMINGSUMMARY._serialized_end=434
84
+ _SOLVERRESULTSSUMMARY._serialized_start=437
85
+ _SOLVERRESULTSSUMMARY._serialized_end=816
86
+ _SOLVERRESULTSSUMMARY_NLCINPUTENTRY._serialized_start=722
87
+ _SOLVERRESULTSSUMMARY_NLCINPUTENTRY._serialized_end=803
88
+ _SOLVERRESULTSSUMMARYLIST._serialized_start=818
89
+ _SOLVERRESULTSSUMMARYLIST._serialized_end=910
90
+ _GLOBALSOLUTIONLIST._serialized_start=912
91
+ _GLOBALSOLUTIONLIST._serialized_end=993
78
92
  # @@protoc_insertion_point(module_scope)
@@ -7,6 +7,7 @@ import collections.abc
7
7
  import google.protobuf.descriptor
8
8
  import google.protobuf.internal.containers
9
9
  import google.protobuf.message
10
+ import luminarycloud._proto.base.base_pb2
10
11
  import luminarycloud._proto.fvm.global_solution_pb2
11
12
  import sys
12
13
  import typing
@@ -79,9 +80,27 @@ class SolverResultsSummary(google.protobuf.message.Message):
79
80
 
80
81
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
81
82
 
83
+ class NlcInputEntry(google.protobuf.message.Message):
84
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
85
+
86
+ KEY_FIELD_NUMBER: builtins.int
87
+ VALUE_FIELD_NUMBER: builtins.int
88
+ key: builtins.str
89
+ @property
90
+ def value(self) -> luminarycloud._proto.base.base_pb2.AdFloatType: ...
91
+ def __init__(
92
+ self,
93
+ *,
94
+ key: builtins.str = ...,
95
+ value: luminarycloud._proto.base.base_pb2.AdFloatType | None = ...,
96
+ ) -> None: ...
97
+ def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
98
+ def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
99
+
82
100
  SOLUTION_FIELD_NUMBER: builtins.int
83
101
  TIMING_INFO_FIELD_NUMBER: builtins.int
84
102
  PHYSICS_SOLUTIONS_FIELD_NUMBER: builtins.int
103
+ NLC_INPUT_FIELD_NUMBER: builtins.int
85
104
  @property
86
105
  def solution(self) -> luminarycloud._proto.fvm.global_solution_pb2.GlobalSolution:
87
106
  """Legacy solution message for backward compatibility"""
@@ -91,15 +110,19 @@ class SolverResultsSummary(google.protobuf.message.Message):
91
110
  @property
92
111
  def physics_solutions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GlobalSolutionList]:
93
112
  """One GlobalSolutionList for each physical model"""
113
+ @property
114
+ def nlc_input(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, luminarycloud._proto.base.base_pb2.AdFloatType]:
115
+ """Results of the nonlinear controller"""
94
116
  def __init__(
95
117
  self,
96
118
  *,
97
119
  solution: luminarycloud._proto.fvm.global_solution_pb2.GlobalSolution | None = ...,
98
120
  timing_info: global___TimingSummary | None = ...,
99
121
  physics_solutions: collections.abc.Iterable[global___GlobalSolutionList] | None = ...,
122
+ nlc_input: collections.abc.Mapping[builtins.str, luminarycloud._proto.base.base_pb2.AdFloatType] | None = ...,
100
123
  ) -> None: ...
101
124
  def HasField(self, field_name: typing_extensions.Literal["_solution", b"_solution", "solution", b"solution", "timing_info", b"timing_info"]) -> builtins.bool: ...
102
- def ClearField(self, field_name: typing_extensions.Literal["_solution", b"_solution", "physics_solutions", b"physics_solutions", "solution", b"solution", "timing_info", b"timing_info"]) -> None: ...
125
+ def ClearField(self, field_name: typing_extensions.Literal["_solution", b"_solution", "nlc_input", b"nlc_input", "physics_solutions", b"physics_solutions", "solution", b"solution", "timing_info", b"timing_info"]) -> None: ...
103
126
  def WhichOneof(self, oneof_group: typing_extensions.Literal["_solution", b"_solution"]) -> typing_extensions.Literal["solution"] | None: ...
104
127
 
105
128
  global___SolverResultsSummary = SolverResultsSummary
@@ -17,12 +17,12 @@ from luminarycloud._proto.base import base_pb2 as proto_dot_base_dot_base__pb2
17
17
  from luminarycloud._proto.cad import boolean_pb2 as proto_dot_cad_dot_boolean__pb2
18
18
  from luminarycloud._proto.cad import shape_pb2 as proto_dot_cad_dot_shape__pb2
19
19
  from luminarycloud._proto.cad import transformation_pb2 as proto_dot_cad_dot_transformation__pb2
20
- from luminarycloud._proto.named_variable_set import named_variable_set_pb2 as proto_dot_named__variable__set_dot_named__variable__set__pb2
20
+ from luminarycloud._proto.namedvariableset import namedvariableset_pb2 as proto_dot_namedvariableset_dot_namedvariableset__pb2
21
21
  from luminarycloud._proto.parametricworker import parametricworker_pb2 as proto_dot_parametricworker_dot_parametricworker__pb2
22
22
  from luminarycloud._proto.lcstatus import lcstatus_pb2 as proto_dot_lcstatus_dot_lcstatus__pb2
23
23
 
24
24
 
25
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dproto/geometry/geometry.proto\x12\x17luminary.proto.geometry\x1a\x15proto/base/base.proto\x1a\x17proto/cad/boolean.proto\x1a\x15proto/cad/shape.proto\x1a\x1eproto/cad/transformation.proto\x1a\x31proto/named_variable_set/named_variable_set.proto\x1a-proto/parametricworker/parametricworker.proto\x1a\x1dproto/lcstatus/lcstatus.proto\"\x87\x01\n\x06Import\x12\x14\n\x0cgeometry_url\x18\x01 \x01(\t\x12\x0f\n\x07scaling\x18\x02 \x01(\x01\x12\x16\n\x0e\x66orce_discrete\x18\x03 \x01(\x08\x12>\n\nparameters\x18\x04 \x03(\x0b\x32*.luminary.proto.parametricworker.Parameter\"\xc0\x02\n\x06\x43reate\x12,\n\x06sphere\x18\x01 \x01(\x0b\x32\x1a.luminary.proto.cad.SphereH\x00\x12\'\n\x03\x62ox\x18\x02 \x01(\x0b\x32\x18.luminary.proto.cad.CubeH\x00\x12\x30\n\x08\x63ylinder\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.cad.CylinderH\x00\x12*\n\x05torus\x18\x04 \x01(\x0b\x32\x19.luminary.proto.cad.TorusH\x00\x12(\n\x04\x63one\x18\x05 \x01(\x0b\x32\x18.luminary.proto.cad.ConeH\x00\x12\x35\n\x0bhalf_sphere\x18\x06 \x01(\x0b\x32\x1e.luminary.proto.cad.HalfSphereH\x00\x12\x17\n\x0fresult_body_tag\x18\x07 \x01(\tB\x07\n\x05shape\"V\n\x06\x44\x65lete\x12\x31\n\x04type\x18\x01 \x01(\x0e\x32#.luminary.proto.geometry.EntityType\x12\x0b\n\x03ids\x18\x02 \x03(\x04\x12\x0c\n\x04tags\x18\x03 \x03(\t\"\x83\x02\n\x07\x42oolean\x12\x35\n\treg_union\x18\x01 \x01(\x0b\x32 .luminary.proto.cad.RegularUnionH\x00\x12\x41\n\x0freg_subtraction\x18\x02 \x01(\x0b\x32&.luminary.proto.cad.RegularSubtractionH\x00\x12\x43\n\x10reg_intersection\x18\x03 \x01(\x0b\x32\'.luminary.proto.cad.RegularIntersectionH\x00\x12\x33\n\x08reg_chop\x18\x04 \x01(\x0b\x32\x1f.luminary.proto.cad.RegularChopH\x00\x42\x04\n\x02op\"\xa2\x01\n\x07Imprint\x12\x42\n\x08\x62\x65havior\x18\x01 \x01(\x0e\x32\x30.luminary.proto.geometry.Imprint.ImprintBehavior\x12\x0c\n\x04\x62ody\x18\x02 \x03(\x04\x12\x0b\n\x03tag\x18\x03 \x03(\t\"8\n\x0fImprintBehavior\x12\x0f\n\x0bIMPRINT_ALL\x10\x00\x12\x14\n\x10IMPRINT_SELECTED\x10\x01\"\xc0\x02\n\tTransform\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x08 \x03(\t\x12\x35\n\x06matrix\x18\x02 \x01(\x0b\x32#.luminary.proto.cad.AugmentedMatrixH\x00\x12\x36\n\x0btranslation\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.cad.TranslationH\x00\x12\x30\n\x08rotation\x18\x04 \x01(\x0b\x32\x1c.luminary.proto.cad.RotationH\x00\x12.\n\x07scaling\x18\x05 \x01(\x0b\x32\x1b.luminary.proto.cad.ScalingH\x00\x12\x34\n\nreflection\x18\x06 \x01(\x0b\x32\x1e.luminary.proto.cad.ReflectionH\x00\x12\x0c\n\x04keep\x18\x07 \x01(\x08\x42\x03\n\x01t\"\xcf\x01\n\nShrinkwrap\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x10\n\x08tag_body\x18\x07 \x03(\t\x12\x0c\n\x04tool\x18\x06 \x03(\x04\x12\x10\n\x08tag_tool\x18\x08 \x03(\t\x12\x35\n\x04mode\x18\x02 \x01(\x0e\x32\'.luminary.proto.geometry.ShrinkwrapMode\x12\x16\n\x0eresolution_min\x18\x03 \x01(\x01\x12\x16\n\x0eresolution_max\x18\x04 \x01(\x01\x12\x1a\n\x12resolution_uniform\x18\x05 \x01(\x01\"\xb2\x01\n\x08\x46\x61rfield\x12/\n\x06\x63reate\x18\x01 \x01(\x0b\x32\x1f.luminary.proto.geometry.Create\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x04\x12\x12\n\ntag_bodies\x18\x06 \x03(\t\x12\x1a\n\x12keep_source_bodies\x18\x03 \x01(\x08\x12\x18\n\x10keep_tool_bodies\x18\x04 \x01(\x08\x12\x1b\n\x13propagate_tool_tags\x18\x05 \x01(\x08\"\xf9\x02\n\x07Pattern\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x03 \x03(\t\x12=\n\tdirection\x18\x02 \x01(\x0b\x32*.luminary.proto.geometry.Pattern.Direction\x1a\x93\x02\n\tDirection\x12\x10\n\x08quantity\x18\x01 \x01(\r\x12\x11\n\tsymmetric\x18\x02 \x01(\x08\x12\x39\n\x0elinear_spacing\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.cad.TranslationH\x00\x12T\n\x15\x63ircular_distribution\x18\x04 \x01(\x0b\x32\x33.luminary.proto.geometry.Pattern.Direction.CircularH\x00\x1aH\n\x08\x43ircular\x12.\n\x08rotation\x18\x01 \x01(\x0b\x32\x1c.luminary.proto.cad.Rotation\x12\x0c\n\x04\x66ull\x18\x02 \x01(\x08\x42\x06\n\x04type\"\x8c\x02\n\x0e\x43onfigurations\x12Q\n\rconfiguration\x18\x01 \x03(\x0b\x32:.luminary.proto.geometry.Configurations.ConfigurationEntry\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\t\x1a*\n\rConfiguration\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x02 \x03(\t\x1ak\n\x12\x43onfigurationEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x44\n\x05value\x18\x02 \x01(\x0b\x32\x35.luminary.proto.geometry.Configurations.Configuration:\x02\x38\x01\"V\n\rFeatureIssues\x12\x31\n\x06issues\x18\x01 \x03(\x0b\x32!.luminary.proto.lcstatus.LCStatus\x12\x12\n\nfeature_id\x18\x02 \x01(\t\"\xde\x04\n\x07\x46\x65\x61ture\x12\x31\n\x06import\x18\x01 \x01(\x0b\x32\x1f.luminary.proto.geometry.ImportH\x00\x12\x31\n\x06\x63reate\x18\x02 \x01(\x0b\x32\x1f.luminary.proto.geometry.CreateH\x00\x12\x31\n\x06\x64\x65lete\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.geometry.DeleteH\x00\x12\x33\n\x07\x62oolean\x18\x04 \x01(\x0b\x32 .luminary.proto.geometry.BooleanH\x00\x12\x33\n\x07imprint\x18\x07 \x01(\x0b\x32 .luminary.proto.geometry.ImprintH\x00\x12\x37\n\ttransform\x18\x0c \x01(\x0b\x32\".luminary.proto.geometry.TransformH\x00\x12\x39\n\nshrinkwrap\x18\r \x01(\x0b\x32#.luminary.proto.geometry.ShrinkwrapH\x00\x12\x35\n\x08\x66\x61rfield\x18\x0e \x01(\x0b\x32!.luminary.proto.geometry.FarfieldH\x00\x12\x33\n\x07pattern\x18\x0f \x01(\x0b\x32 .luminary.proto.geometry.PatternH\x00\x12\x41\n\x0e\x63onfigurations\x18\x10 \x01(\x0b\x32\'.luminary.proto.geometry.ConfigurationsH\x00\x12\n\n\x02id\x18\x05 \x01(\t\x12\x14\n\x0c\x66\x65\x61ture_name\x18\x06 \x01(\tB\x0b\n\toperation\"@\n\x11\x43reateOrUpdateTag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x03 \x03(\x05\"/\n\tRenameTag\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"8\n\tDeleteTag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x03 \x03(\x05\"\x1b\n\nDeleteTags\x12\r\n\x05names\x18\x01 \x03(\t\"\x91\x07\n\x0cModification\x12H\n\x08mod_type\x18\x01 \x01(\x0e\x32\x36.luminary.proto.geometry.Modification.ModificationType\x12\x31\n\x07\x66\x65\x61ture\x18\x02 \x01(\x0b\x32 .luminary.proto.geometry.Feature\x12H\n\x14\x63reate_or_update_tag\x18\x03 \x01(\x0b\x32*.luminary.proto.geometry.CreateOrUpdateTag\x12\x36\n\nrename_tag\x18\x04 \x01(\x0b\x32\".luminary.proto.geometry.RenameTag\x12\x36\n\ndelete_tag\x18\x05 \x01(\x0b\x32\".luminary.proto.geometry.DeleteTag\x12\x38\n\x0b\x64\x65lete_tags\x18\x06 \x01(\x0b\x32#.luminary.proto.geometry.DeleteTags\x12,\n$update_named_variable_set_version_id\x18\x07 \x01(\t\"\xe1\x03\n\x10ModificationType\x12!\n\x1dMODIFICATION_TYPE_UNSPECIFIED\x10\x00\x12$\n MODIFICATION_TYPE_CREATE_FEATURE\x10\x01\x12$\n MODIFICATION_TYPE_UPDATE_FEATURE\x10\x02\x12$\n MODIFICATION_TYPE_DELETE_FEATURE\x10\x03\x12\x1a\n\x16MODIFICATION_TYPE_UNDO\x10\x04\x12\x1a\n\x16MODIFICATION_TYPE_REDO\x10\x05\x12$\n MODIFICATION_TYPE_RENAME_FEATURE\x10\x06\x12 \n\x1cMODIFICATION_TYPE_CREATE_TAG\x10\x07\x12 \n\x1cMODIFICATION_TYPE_UPDATE_TAG\x10\x08\x12 \n\x1cMODIFICATION_TYPE_DELETE_TAG\x10\t\x12 \n\x1cMODIFICATION_TYPE_RENAME_TAG\x10\n\x12!\n\x1dMODIFICATION_TYPE_DELETE_TAGS\x10\x0b\x12/\n+MODIFICATION_TYPE_UPDATE_NAMED_VARIABLE_SET\x10\x0c\"\x85\x01\n\x04\x46\x61\x63\x65\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\x08\x62\x62ox_min\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12.\n\x08\x62\x62ox_max\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12\x11\n\tnative_id\x18\x04 \x01(\x04\"\x82\x01\n\x04\x42ody\x12\n\n\x02id\x18\x01 \x01(\x04\x12.\n\x08\x62\x62ox_min\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12.\n\x08\x62\x62ox_max\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12\x0e\n\x06lcn_id\x18\x04 \x01(\x04\"\"\n\x06Volume\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc2\x01\n\x04Tags\x12/\n\x04tags\x18\x01 \x03(\x0b\x32!.luminary.proto.geometry.Tags.Tag\x1a\x88\x01\n\x03Tag\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06\x62odies\x18\x03 \x03(\x05\x12\x12\n\nlcn_bodies\x18\x04 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x05 \x03(\x05\x12\x17\n\x0f\x62odies_of_faces\x18\x06 \x03(\x05\x12\x1b\n\x13lcn_bodies_of_faces\x18\x07 \x03(\x05*S\n\nEntityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x42ODY\x10\x01\x12\n\n\x06VOLUME\x10\x02\x12\x08\n\x04\x46\x41\x43\x45\x10\x03\x12\x08\n\x04\x45\x44GE\x10\x04\x12\n\n\x06VERTEX\x10\x05*8\n\x0eShrinkwrapMode\x12\r\n\tAUTOMATIC\x10\x00\x12\n\n\x06MINMAX\x10\x01\x12\x0b\n\x07UNIFORM\x10\x02*7\n\nKernelType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nCONTINUOUS\x10\x01\x12\x0c\n\x08\x44ISCRETE\x10\x02\x42\'Z%luminarycloud.com/core/proto/geometryb\x06proto3')
25
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dproto/geometry/geometry.proto\x12\x17luminary.proto.geometry\x1a\x15proto/base/base.proto\x1a\x17proto/cad/boolean.proto\x1a\x15proto/cad/shape.proto\x1a\x1eproto/cad/transformation.proto\x1a-proto/namedvariableset/namedvariableset.proto\x1a-proto/parametricworker/parametricworker.proto\x1a\x1dproto/lcstatus/lcstatus.proto\"\x87\x01\n\x06Import\x12\x14\n\x0cgeometry_url\x18\x01 \x01(\t\x12\x0f\n\x07scaling\x18\x02 \x01(\x01\x12\x16\n\x0e\x66orce_discrete\x18\x03 \x01(\x08\x12>\n\nparameters\x18\x04 \x03(\x0b\x32*.luminary.proto.parametricworker.Parameter\"\xc0\x02\n\x06\x43reate\x12,\n\x06sphere\x18\x01 \x01(\x0b\x32\x1a.luminary.proto.cad.SphereH\x00\x12\'\n\x03\x62ox\x18\x02 \x01(\x0b\x32\x18.luminary.proto.cad.CubeH\x00\x12\x30\n\x08\x63ylinder\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.cad.CylinderH\x00\x12*\n\x05torus\x18\x04 \x01(\x0b\x32\x19.luminary.proto.cad.TorusH\x00\x12(\n\x04\x63one\x18\x05 \x01(\x0b\x32\x18.luminary.proto.cad.ConeH\x00\x12\x35\n\x0bhalf_sphere\x18\x06 \x01(\x0b\x32\x1e.luminary.proto.cad.HalfSphereH\x00\x12\x17\n\x0fresult_body_tag\x18\x07 \x01(\tB\x07\n\x05shape\"V\n\x06\x44\x65lete\x12\x31\n\x04type\x18\x01 \x01(\x0e\x32#.luminary.proto.geometry.EntityType\x12\x0b\n\x03ids\x18\x02 \x03(\x04\x12\x0c\n\x04tags\x18\x03 \x03(\t\"\x83\x02\n\x07\x42oolean\x12\x35\n\treg_union\x18\x01 \x01(\x0b\x32 .luminary.proto.cad.RegularUnionH\x00\x12\x41\n\x0freg_subtraction\x18\x02 \x01(\x0b\x32&.luminary.proto.cad.RegularSubtractionH\x00\x12\x43\n\x10reg_intersection\x18\x03 \x01(\x0b\x32\'.luminary.proto.cad.RegularIntersectionH\x00\x12\x33\n\x08reg_chop\x18\x04 \x01(\x0b\x32\x1f.luminary.proto.cad.RegularChopH\x00\x42\x04\n\x02op\"\xa2\x01\n\x07Imprint\x12\x42\n\x08\x62\x65havior\x18\x01 \x01(\x0e\x32\x30.luminary.proto.geometry.Imprint.ImprintBehavior\x12\x0c\n\x04\x62ody\x18\x02 \x03(\x04\x12\x0b\n\x03tag\x18\x03 \x03(\t\"8\n\x0fImprintBehavior\x12\x0f\n\x0bIMPRINT_ALL\x10\x00\x12\x14\n\x10IMPRINT_SELECTED\x10\x01\"\xc0\x02\n\tTransform\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x08 \x03(\t\x12\x35\n\x06matrix\x18\x02 \x01(\x0b\x32#.luminary.proto.cad.AugmentedMatrixH\x00\x12\x36\n\x0btranslation\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.cad.TranslationH\x00\x12\x30\n\x08rotation\x18\x04 \x01(\x0b\x32\x1c.luminary.proto.cad.RotationH\x00\x12.\n\x07scaling\x18\x05 \x01(\x0b\x32\x1b.luminary.proto.cad.ScalingH\x00\x12\x34\n\nreflection\x18\x06 \x01(\x0b\x32\x1e.luminary.proto.cad.ReflectionH\x00\x12\x0c\n\x04keep\x18\x07 \x01(\x08\x42\x03\n\x01t\"\xcf\x01\n\nShrinkwrap\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x10\n\x08tag_body\x18\x07 \x03(\t\x12\x0c\n\x04tool\x18\x06 \x03(\x04\x12\x10\n\x08tag_tool\x18\x08 \x03(\t\x12\x35\n\x04mode\x18\x02 \x01(\x0e\x32\'.luminary.proto.geometry.ShrinkwrapMode\x12\x16\n\x0eresolution_min\x18\x03 \x01(\x01\x12\x16\n\x0eresolution_max\x18\x04 \x01(\x01\x12\x1a\n\x12resolution_uniform\x18\x05 \x01(\x01\"\xb2\x01\n\x08\x46\x61rfield\x12/\n\x06\x63reate\x18\x01 \x01(\x0b\x32\x1f.luminary.proto.geometry.Create\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x04\x12\x12\n\ntag_bodies\x18\x06 \x03(\t\x12\x1a\n\x12keep_source_bodies\x18\x03 \x01(\x08\x12\x18\n\x10keep_tool_bodies\x18\x04 \x01(\x08\x12\x1b\n\x13propagate_tool_tags\x18\x05 \x01(\x08\"\xf9\x02\n\x07Pattern\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x03 \x03(\t\x12=\n\tdirection\x18\x02 \x01(\x0b\x32*.luminary.proto.geometry.Pattern.Direction\x1a\x93\x02\n\tDirection\x12\x10\n\x08quantity\x18\x01 \x01(\r\x12\x11\n\tsymmetric\x18\x02 \x01(\x08\x12\x39\n\x0elinear_spacing\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.cad.TranslationH\x00\x12T\n\x15\x63ircular_distribution\x18\x04 \x01(\x0b\x32\x33.luminary.proto.geometry.Pattern.Direction.CircularH\x00\x1aH\n\x08\x43ircular\x12.\n\x08rotation\x18\x01 \x01(\x0b\x32\x1c.luminary.proto.cad.Rotation\x12\x0c\n\x04\x66ull\x18\x02 \x01(\x08\x42\x06\n\x04type\"\x8c\x02\n\x0e\x43onfigurations\x12Q\n\rconfiguration\x18\x01 \x03(\x0b\x32:.luminary.proto.geometry.Configurations.ConfigurationEntry\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\t\x1a*\n\rConfiguration\x12\x0c\n\x04\x62ody\x18\x01 \x03(\x04\x12\x0b\n\x03tag\x18\x02 \x03(\t\x1ak\n\x12\x43onfigurationEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x44\n\x05value\x18\x02 \x01(\x0b\x32\x35.luminary.proto.geometry.Configurations.Configuration:\x02\x38\x01\"V\n\rFeatureIssues\x12\x31\n\x06issues\x18\x01 \x03(\x0b\x32!.luminary.proto.lcstatus.LCStatus\x12\x12\n\nfeature_id\x18\x02 \x01(\t\"\xde\x04\n\x07\x46\x65\x61ture\x12\x31\n\x06import\x18\x01 \x01(\x0b\x32\x1f.luminary.proto.geometry.ImportH\x00\x12\x31\n\x06\x63reate\x18\x02 \x01(\x0b\x32\x1f.luminary.proto.geometry.CreateH\x00\x12\x31\n\x06\x64\x65lete\x18\x03 \x01(\x0b\x32\x1f.luminary.proto.geometry.DeleteH\x00\x12\x33\n\x07\x62oolean\x18\x04 \x01(\x0b\x32 .luminary.proto.geometry.BooleanH\x00\x12\x33\n\x07imprint\x18\x07 \x01(\x0b\x32 .luminary.proto.geometry.ImprintH\x00\x12\x37\n\ttransform\x18\x0c \x01(\x0b\x32\".luminary.proto.geometry.TransformH\x00\x12\x39\n\nshrinkwrap\x18\r \x01(\x0b\x32#.luminary.proto.geometry.ShrinkwrapH\x00\x12\x35\n\x08\x66\x61rfield\x18\x0e \x01(\x0b\x32!.luminary.proto.geometry.FarfieldH\x00\x12\x33\n\x07pattern\x18\x0f \x01(\x0b\x32 .luminary.proto.geometry.PatternH\x00\x12\x41\n\x0e\x63onfigurations\x18\x10 \x01(\x0b\x32\'.luminary.proto.geometry.ConfigurationsH\x00\x12\n\n\x02id\x18\x05 \x01(\t\x12\x14\n\x0c\x66\x65\x61ture_name\x18\x06 \x01(\tB\x0b\n\toperation\"@\n\x11\x43reateOrUpdateTag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x03 \x03(\x05\"/\n\tRenameTag\x12\x10\n\x08old_name\x18\x01 \x01(\t\x12\x10\n\x08new_name\x18\x02 \x01(\t\"8\n\tDeleteTag\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x62odies\x18\x02 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x03 \x03(\x05\"\x1b\n\nDeleteTags\x12\r\n\x05names\x18\x01 \x03(\t\"\x91\x07\n\x0cModification\x12H\n\x08mod_type\x18\x01 \x01(\x0e\x32\x36.luminary.proto.geometry.Modification.ModificationType\x12\x31\n\x07\x66\x65\x61ture\x18\x02 \x01(\x0b\x32 .luminary.proto.geometry.Feature\x12H\n\x14\x63reate_or_update_tag\x18\x03 \x01(\x0b\x32*.luminary.proto.geometry.CreateOrUpdateTag\x12\x36\n\nrename_tag\x18\x04 \x01(\x0b\x32\".luminary.proto.geometry.RenameTag\x12\x36\n\ndelete_tag\x18\x05 \x01(\x0b\x32\".luminary.proto.geometry.DeleteTag\x12\x38\n\x0b\x64\x65lete_tags\x18\x06 \x01(\x0b\x32#.luminary.proto.geometry.DeleteTags\x12,\n$update_named_variable_set_version_id\x18\x07 \x01(\t\"\xe1\x03\n\x10ModificationType\x12!\n\x1dMODIFICATION_TYPE_UNSPECIFIED\x10\x00\x12$\n MODIFICATION_TYPE_CREATE_FEATURE\x10\x01\x12$\n MODIFICATION_TYPE_UPDATE_FEATURE\x10\x02\x12$\n MODIFICATION_TYPE_DELETE_FEATURE\x10\x03\x12\x1a\n\x16MODIFICATION_TYPE_UNDO\x10\x04\x12\x1a\n\x16MODIFICATION_TYPE_REDO\x10\x05\x12$\n MODIFICATION_TYPE_RENAME_FEATURE\x10\x06\x12 \n\x1cMODIFICATION_TYPE_CREATE_TAG\x10\x07\x12 \n\x1cMODIFICATION_TYPE_UPDATE_TAG\x10\x08\x12 \n\x1cMODIFICATION_TYPE_DELETE_TAG\x10\t\x12 \n\x1cMODIFICATION_TYPE_RENAME_TAG\x10\n\x12!\n\x1dMODIFICATION_TYPE_DELETE_TAGS\x10\x0b\x12/\n+MODIFICATION_TYPE_UPDATE_NAMED_VARIABLE_SET\x10\x0c\"\x85\x01\n\x04\x46\x61\x63\x65\x12\n\n\x02id\x18\x01 \x01(\t\x12.\n\x08\x62\x62ox_min\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12.\n\x08\x62\x62ox_max\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12\x11\n\tnative_id\x18\x04 \x01(\x04\"\x82\x01\n\x04\x42ody\x12\n\n\x02id\x18\x01 \x01(\x04\x12.\n\x08\x62\x62ox_min\x18\x02 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12.\n\x08\x62\x62ox_max\x18\x03 \x01(\x0b\x32\x1c.luminary.proto.base.Vector3\x12\x0e\n\x06lcn_id\x18\x04 \x01(\x04\"\"\n\x06Volume\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xc2\x01\n\x04Tags\x12/\n\x04tags\x18\x01 \x03(\x0b\x32!.luminary.proto.geometry.Tags.Tag\x1a\x88\x01\n\x03Tag\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0e\n\x06\x62odies\x18\x03 \x03(\x05\x12\x12\n\nlcn_bodies\x18\x04 \x03(\x05\x12\r\n\x05\x66\x61\x63\x65s\x18\x05 \x03(\x05\x12\x17\n\x0f\x62odies_of_faces\x18\x06 \x03(\x05\x12\x1b\n\x13lcn_bodies_of_faces\x18\x07 \x03(\x05*S\n\nEntityType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x08\n\x04\x42ODY\x10\x01\x12\n\n\x06VOLUME\x10\x02\x12\x08\n\x04\x46\x41\x43\x45\x10\x03\x12\x08\n\x04\x45\x44GE\x10\x04\x12\n\n\x06VERTEX\x10\x05*8\n\x0eShrinkwrapMode\x12\r\n\tAUTOMATIC\x10\x00\x12\n\n\x06MINMAX\x10\x01\x12\x0b\n\x07UNIFORM\x10\x02*7\n\nKernelType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0e\n\nCONTINUOUS\x10\x01\x12\x0c\n\x08\x44ISCRETE\x10\x02\x42\'Z%luminarycloud.com/core/proto/geometryb\x06proto3')
26
26
 
27
27
  _ENTITYTYPE = DESCRIPTOR.enum_types_by_name['EntityType']
28
28
  EntityType = enum_type_wrapper.EnumTypeWrapper(_ENTITYTYPE)
@@ -265,66 +265,66 @@ if _descriptor._USE_C_DESCRIPTORS == False:
265
265
  DESCRIPTOR._serialized_options = b'Z%luminarycloud.com/core/proto/geometry'
266
266
  _CONFIGURATIONS_CONFIGURATIONENTRY._options = None
267
267
  _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_options = b'8\001'
268
- _ENTITYTYPE._serialized_start=4948
269
- _ENTITYTYPE._serialized_end=5031
270
- _SHRINKWRAPMODE._serialized_start=5033
271
- _SHRINKWRAPMODE._serialized_end=5089
272
- _KERNELTYPE._serialized_start=5091
273
- _KERNELTYPE._serialized_end=5146
274
- _IMPORT._serialized_start=291
275
- _IMPORT._serialized_end=426
276
- _CREATE._serialized_start=429
277
- _CREATE._serialized_end=749
278
- _DELETE._serialized_start=751
279
- _DELETE._serialized_end=837
280
- _BOOLEAN._serialized_start=840
281
- _BOOLEAN._serialized_end=1099
282
- _IMPRINT._serialized_start=1102
283
- _IMPRINT._serialized_end=1264
284
- _IMPRINT_IMPRINTBEHAVIOR._serialized_start=1208
285
- _IMPRINT_IMPRINTBEHAVIOR._serialized_end=1264
286
- _TRANSFORM._serialized_start=1267
287
- _TRANSFORM._serialized_end=1587
288
- _SHRINKWRAP._serialized_start=1590
289
- _SHRINKWRAP._serialized_end=1797
290
- _FARFIELD._serialized_start=1800
291
- _FARFIELD._serialized_end=1978
292
- _PATTERN._serialized_start=1981
293
- _PATTERN._serialized_end=2358
294
- _PATTERN_DIRECTION._serialized_start=2083
295
- _PATTERN_DIRECTION._serialized_end=2358
296
- _PATTERN_DIRECTION_CIRCULAR._serialized_start=2278
297
- _PATTERN_DIRECTION_CIRCULAR._serialized_end=2350
298
- _CONFIGURATIONS._serialized_start=2361
299
- _CONFIGURATIONS._serialized_end=2629
300
- _CONFIGURATIONS_CONFIGURATION._serialized_start=2478
301
- _CONFIGURATIONS_CONFIGURATION._serialized_end=2520
302
- _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_start=2522
303
- _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_end=2629
304
- _FEATUREISSUES._serialized_start=2631
305
- _FEATUREISSUES._serialized_end=2717
306
- _FEATURE._serialized_start=2720
307
- _FEATURE._serialized_end=3326
308
- _CREATEORUPDATETAG._serialized_start=3328
309
- _CREATEORUPDATETAG._serialized_end=3392
310
- _RENAMETAG._serialized_start=3394
311
- _RENAMETAG._serialized_end=3441
312
- _DELETETAG._serialized_start=3443
313
- _DELETETAG._serialized_end=3499
314
- _DELETETAGS._serialized_start=3501
315
- _DELETETAGS._serialized_end=3528
316
- _MODIFICATION._serialized_start=3531
317
- _MODIFICATION._serialized_end=4444
318
- _MODIFICATION_MODIFICATIONTYPE._serialized_start=3963
319
- _MODIFICATION_MODIFICATIONTYPE._serialized_end=4444
320
- _FACE._serialized_start=4447
321
- _FACE._serialized_end=4580
322
- _BODY._serialized_start=4583
323
- _BODY._serialized_end=4713
324
- _VOLUME._serialized_start=4715
325
- _VOLUME._serialized_end=4749
326
- _TAGS._serialized_start=4752
327
- _TAGS._serialized_end=4946
328
- _TAGS_TAG._serialized_start=4810
329
- _TAGS_TAG._serialized_end=4946
268
+ _ENTITYTYPE._serialized_start=4944
269
+ _ENTITYTYPE._serialized_end=5027
270
+ _SHRINKWRAPMODE._serialized_start=5029
271
+ _SHRINKWRAPMODE._serialized_end=5085
272
+ _KERNELTYPE._serialized_start=5087
273
+ _KERNELTYPE._serialized_end=5142
274
+ _IMPORT._serialized_start=287
275
+ _IMPORT._serialized_end=422
276
+ _CREATE._serialized_start=425
277
+ _CREATE._serialized_end=745
278
+ _DELETE._serialized_start=747
279
+ _DELETE._serialized_end=833
280
+ _BOOLEAN._serialized_start=836
281
+ _BOOLEAN._serialized_end=1095
282
+ _IMPRINT._serialized_start=1098
283
+ _IMPRINT._serialized_end=1260
284
+ _IMPRINT_IMPRINTBEHAVIOR._serialized_start=1204
285
+ _IMPRINT_IMPRINTBEHAVIOR._serialized_end=1260
286
+ _TRANSFORM._serialized_start=1263
287
+ _TRANSFORM._serialized_end=1583
288
+ _SHRINKWRAP._serialized_start=1586
289
+ _SHRINKWRAP._serialized_end=1793
290
+ _FARFIELD._serialized_start=1796
291
+ _FARFIELD._serialized_end=1974
292
+ _PATTERN._serialized_start=1977
293
+ _PATTERN._serialized_end=2354
294
+ _PATTERN_DIRECTION._serialized_start=2079
295
+ _PATTERN_DIRECTION._serialized_end=2354
296
+ _PATTERN_DIRECTION_CIRCULAR._serialized_start=2274
297
+ _PATTERN_DIRECTION_CIRCULAR._serialized_end=2346
298
+ _CONFIGURATIONS._serialized_start=2357
299
+ _CONFIGURATIONS._serialized_end=2625
300
+ _CONFIGURATIONS_CONFIGURATION._serialized_start=2474
301
+ _CONFIGURATIONS_CONFIGURATION._serialized_end=2516
302
+ _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_start=2518
303
+ _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_end=2625
304
+ _FEATUREISSUES._serialized_start=2627
305
+ _FEATUREISSUES._serialized_end=2713
306
+ _FEATURE._serialized_start=2716
307
+ _FEATURE._serialized_end=3322
308
+ _CREATEORUPDATETAG._serialized_start=3324
309
+ _CREATEORUPDATETAG._serialized_end=3388
310
+ _RENAMETAG._serialized_start=3390
311
+ _RENAMETAG._serialized_end=3437
312
+ _DELETETAG._serialized_start=3439
313
+ _DELETETAG._serialized_end=3495
314
+ _DELETETAGS._serialized_start=3497
315
+ _DELETETAGS._serialized_end=3524
316
+ _MODIFICATION._serialized_start=3527
317
+ _MODIFICATION._serialized_end=4440
318
+ _MODIFICATION_MODIFICATIONTYPE._serialized_start=3959
319
+ _MODIFICATION_MODIFICATIONTYPE._serialized_end=4440
320
+ _FACE._serialized_start=4443
321
+ _FACE._serialized_end=4576
322
+ _BODY._serialized_start=4579
323
+ _BODY._serialized_end=4709
324
+ _VOLUME._serialized_start=4711
325
+ _VOLUME._serialized_end=4745
326
+ _TAGS._serialized_start=4748
327
+ _TAGS._serialized_end=4942
328
+ _TAGS_TAG._serialized_start=4806
329
+ _TAGS_TAG._serialized_end=4942
330
330
  # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,49 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: proto/namedvariableset/namedvariableset.proto
4
+ """Generated protocol buffer code."""
5
+ from google.protobuf import descriptor as _descriptor
6
+ from google.protobuf import descriptor_pool as _descriptor_pool
7
+ from google.protobuf import message as _message
8
+ from google.protobuf import reflection as _reflection
9
+ from google.protobuf import symbol_database as _symbol_database
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+ from luminarycloud._proto.base import base_pb2 as proto_dot_base_dot_base__pb2
16
+
17
+
18
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-proto/namedvariableset/namedvariableset.proto\x12\x1fluminary.proto.namedvariableset\x1a\x15proto/base/base.proto\"\xe5\x01\n\x17NamedVariableSetVersion\x12\n\n\x02id\x18\x01 \x01(\t\x12\x65\n\x0fnamed_variables\x18\x02 \x03(\x0b\x32L.luminary.proto.namedvariableset.NamedVariableSetVersion.NamedVariablesEntry\x1aW\n\x13NamedVariablesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12/\n\x05value\x18\x02 \x01(\x0b\x32 .luminary.proto.base.AdFloatType:\x02\x38\x01\x42/Z-luminarycloud.com/core/proto/namedvariablesetb\x06proto3')
19
+
20
+
21
+
22
+ _NAMEDVARIABLESETVERSION = DESCRIPTOR.message_types_by_name['NamedVariableSetVersion']
23
+ _NAMEDVARIABLESETVERSION_NAMEDVARIABLESENTRY = _NAMEDVARIABLESETVERSION.nested_types_by_name['NamedVariablesEntry']
24
+ NamedVariableSetVersion = _reflection.GeneratedProtocolMessageType('NamedVariableSetVersion', (_message.Message,), {
25
+
26
+ 'NamedVariablesEntry' : _reflection.GeneratedProtocolMessageType('NamedVariablesEntry', (_message.Message,), {
27
+ 'DESCRIPTOR' : _NAMEDVARIABLESETVERSION_NAMEDVARIABLESENTRY,
28
+ '__module__' : 'proto.namedvariableset.namedvariableset_pb2'
29
+ # @@protoc_insertion_point(class_scope:luminary.proto.namedvariableset.NamedVariableSetVersion.NamedVariablesEntry)
30
+ })
31
+ ,
32
+ 'DESCRIPTOR' : _NAMEDVARIABLESETVERSION,
33
+ '__module__' : 'proto.namedvariableset.namedvariableset_pb2'
34
+ # @@protoc_insertion_point(class_scope:luminary.proto.namedvariableset.NamedVariableSetVersion)
35
+ })
36
+ _sym_db.RegisterMessage(NamedVariableSetVersion)
37
+ _sym_db.RegisterMessage(NamedVariableSetVersion.NamedVariablesEntry)
38
+
39
+ if _descriptor._USE_C_DESCRIPTORS == False:
40
+
41
+ DESCRIPTOR._options = None
42
+ DESCRIPTOR._serialized_options = b'Z-luminarycloud.com/core/proto/namedvariableset'
43
+ _NAMEDVARIABLESETVERSION_NAMEDVARIABLESENTRY._options = None
44
+ _NAMEDVARIABLESETVERSION_NAMEDVARIABLESENTRY._serialized_options = b'8\001'
45
+ _NAMEDVARIABLESETVERSION._serialized_start=106
46
+ _NAMEDVARIABLESETVERSION._serialized_end=335
47
+ _NAMEDVARIABLESETVERSION_NAMEDVARIABLESENTRY._serialized_start=248
48
+ _NAMEDVARIABLESETVERSION_NAMEDVARIABLESENTRY._serialized_end=335
49
+ # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,53 @@
1
+ """
2
+ @generated by mypy-protobuf. Do not edit manually!
3
+ isort:skip_file
4
+ """
5
+ import builtins
6
+ import collections.abc
7
+ import google.protobuf.descriptor
8
+ import google.protobuf.internal.containers
9
+ import google.protobuf.message
10
+ import luminarycloud._proto.base.base_pb2
11
+ import sys
12
+
13
+ if sys.version_info >= (3, 8):
14
+ import typing as typing_extensions
15
+ else:
16
+ import typing_extensions
17
+
18
+ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
19
+
20
+ class NamedVariableSetVersion(google.protobuf.message.Message):
21
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
22
+
23
+ class NamedVariablesEntry(google.protobuf.message.Message):
24
+ DESCRIPTOR: google.protobuf.descriptor.Descriptor
25
+
26
+ KEY_FIELD_NUMBER: builtins.int
27
+ VALUE_FIELD_NUMBER: builtins.int
28
+ key: builtins.str
29
+ @property
30
+ def value(self) -> luminarycloud._proto.base.base_pb2.AdFloatType: ...
31
+ def __init__(
32
+ self,
33
+ *,
34
+ key: builtins.str = ...,
35
+ value: luminarycloud._proto.base.base_pb2.AdFloatType | None = ...,
36
+ ) -> None: ...
37
+ def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
38
+ def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
39
+
40
+ ID_FIELD_NUMBER: builtins.int
41
+ NAMED_VARIABLES_FIELD_NUMBER: builtins.int
42
+ id: builtins.str
43
+ @property
44
+ def named_variables(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, luminarycloud._proto.base.base_pb2.AdFloatType]: ...
45
+ def __init__(
46
+ self,
47
+ *,
48
+ id: builtins.str = ...,
49
+ named_variables: collections.abc.Mapping[builtins.str, luminarycloud._proto.base.base_pb2.AdFloatType] | None = ...,
50
+ ) -> None: ...
51
+ def ClearField(self, field_name: typing_extensions.Literal["id", b"id", "named_variables", b"named_variables"]) -> None: ...
52
+
53
+ global___NamedVariableSetVersion = NamedVariableSetVersion
luminarycloud/_wrapper.py CHANGED
@@ -125,6 +125,7 @@ class ProtoWrapper(Generic[P]):
125
125
 
126
126
  # Create getters that access the attributes of the underlying proto.
127
127
  type_hints = get_type_hints(cls)
128
+
128
129
  for field in decorator.proto_type.DESCRIPTOR.fields:
129
130
  _type = type_hints.get(field.name, None)
130
131
  if _type:
@@ -133,17 +134,35 @@ class ProtoWrapper(Generic[P]):
133
134
  _origin_type = get_origin(_type)
134
135
  if _origin_type is list:
135
136
  _listed_type = get_args(_type)[0]
136
- if issubclass(_listed_type, Enum) or issubclass(_listed_type, ProtoWrapperBase):
137
- fget = list_wrapped_getter(field.name, _listed_type)
138
- fset = None
137
+ try:
138
+ if issubclass(_listed_type, Enum) or issubclass(
139
+ _listed_type, ProtoWrapperBase
140
+ ):
141
+ fget = list_wrapped_getter(field.name, _listed_type)
142
+ fset = None
143
+ except TypeError:
144
+ # _listed_type is not a class (e.g., forward reference that couldn't be resolved)
145
+ # Fall back to basic getter
146
+ pass
139
147
  elif isinstance(_type, NewType):
140
148
  pass
141
- elif issubclass(_type, Enum) or issubclass(_type, ProtoWrapperBase):
142
- fget = wrapped_getter(field.name, _type)
143
- fset = wrapped_setter(field.name, _type)
149
+ else:
150
+ try:
151
+ if issubclass(_type, Enum) or issubclass(_type, ProtoWrapperBase):
152
+ fget = wrapped_getter(field.name, _type)
153
+ fset = wrapped_setter(field.name, _type)
154
+ except TypeError:
155
+ # _type is not a class (e.g., forward reference that couldn't be resolved)
156
+ # Fall back to basic getter
157
+ pass
144
158
  setattr(_W, field.name, property(fget=fget, fset=fset))
145
159
 
146
- W = type(cls.__name__, (_W,), {})
160
+ # Preserve the original class annotations in the new class
161
+ class_dict = {}
162
+ if hasattr(cls, "__annotations__"):
163
+ class_dict["__annotations__"] = cls.__annotations__
164
+
165
+ W = type(cls.__name__, (_W,), class_dict)
147
166
  return cast(type[C], W)
148
167
 
149
168
 
@@ -8,6 +8,7 @@ from .mesh_status import MeshStatus
8
8
  from .mesh_type import MeshType
9
9
  from .output_definition_includes import OutputDefinitionIncludes
10
10
  from .output_node_includes import OutputNodeIncludes
11
+ from .physics_ai_lifecycle_state import PhysicsAiLifecycleState
11
12
  from .quantity_type import QuantityType
12
13
  from .reference_values_type import ReferenceValuesType
13
14
  from .residual_normalization import ResidualNormalization
@@ -23,6 +24,7 @@ from .vis_enums import (
23
24
  EntityType,
24
25
  FieldComponent,
25
26
  RenderStatusType,
27
+ ExtractStatusType,
26
28
  Representation,
27
29
  VisQuantity,
28
30
  SceneMode,