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
@@ -23,6 +23,27 @@ else:
23
23
 
24
24
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
25
25
 
26
+ class _HeatFluxConvention:
27
+ ValueType = typing.NewType("ValueType", builtins.int)
28
+ V: typing_extensions.TypeAlias = ValueType
29
+
30
+ class _HeatFluxConventionEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_HeatFluxConvention.ValueType], builtins.type): # noqa: F821
31
+ DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
32
+ INVALID_HEAT_FLUX_CONVENTION: _HeatFluxConvention.ValueType # 0
33
+ CONVENTION_HEAT_FLUX_OUT: _HeatFluxConvention.ValueType # 25387
34
+ """Heat leaving the domain is positive."""
35
+ CONVENTION_HEAT_FLUX_IN: _HeatFluxConvention.ValueType # 7699
36
+ """Heat entering the domain is positive"""
37
+
38
+ class HeatFluxConvention(_HeatFluxConvention, metaclass=_HeatFluxConventionEnumTypeWrapper): ...
39
+
40
+ INVALID_HEAT_FLUX_CONVENTION: HeatFluxConvention.ValueType # 0
41
+ CONVENTION_HEAT_FLUX_OUT: HeatFluxConvention.ValueType # 25387
42
+ """Heat leaving the domain is positive."""
43
+ CONVENTION_HEAT_FLUX_IN: HeatFluxConvention.ValueType # 7699
44
+ """Heat entering the domain is positive"""
45
+ global___HeatFluxConvention = HeatFluxConvention
46
+
26
47
  class _UnitSystem:
27
48
  ValueType = typing.NewType("ValueType", builtins.int)
28
49
  V: typing_extensions.TypeAlias = ValueType
@@ -682,6 +703,23 @@ TRANSIENT: FlowBehavior.ValueType # 36606
682
703
  """Solve for a time-accurate solution of the governing equations."""
683
704
  global___FlowBehavior = FlowBehavior
684
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
+
685
723
  class _TimeMarching:
686
724
  ValueType = typing.NewType("ValueType", builtins.int)
687
725
  V: typing_extensions.TypeAlias = ValueType
@@ -2781,6 +2819,7 @@ class Units(google.protobuf.message.Message):
2781
2819
 
2782
2820
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
2783
2821
 
2822
+ HEAT_FLUX_CONVENTION_FIELD_NUMBER: builtins.int
2784
2823
  UNIT_SYSTEM_FIELD_NUMBER: builtins.int
2785
2824
  TEMPERATURE_UNIT_FIELD_NUMBER: builtins.int
2786
2825
  MASS_UNIT_FIELD_NUMBER: builtins.int
@@ -2799,6 +2838,8 @@ class Units(google.protobuf.message.Message):
2799
2838
  VISCOSITY_UNIT_FIELD_NUMBER: builtins.int
2800
2839
  CONDUCTIVITY_UNIT_FIELD_NUMBER: builtins.int
2801
2840
  MOLECULAR_WEIGHT_UNIT_FIELD_NUMBER: builtins.int
2841
+ heat_flux_convention: global___HeatFluxConvention.ValueType
2842
+ """Convention for the direction of positive heat flux."""
2802
2843
  unit_system: global___UnitSystem.ValueType
2803
2844
  """Collection of units used for all quantities."""
2804
2845
  temperature_unit: global___TemperatureUnit.ValueType
@@ -2838,6 +2879,7 @@ class Units(google.protobuf.message.Message):
2838
2879
  def __init__(
2839
2880
  self,
2840
2881
  *,
2882
+ heat_flux_convention: global___HeatFluxConvention.ValueType = ...,
2841
2883
  unit_system: global___UnitSystem.ValueType = ...,
2842
2884
  temperature_unit: global___TemperatureUnit.ValueType = ...,
2843
2885
  mass_unit: global___MassUnit.ValueType = ...,
@@ -2857,7 +2899,7 @@ class Units(google.protobuf.message.Message):
2857
2899
  conductivity_unit: global___ConductivityUnit.ValueType = ...,
2858
2900
  molecular_weight_unit: global___MolecularWeightUnit.ValueType = ...,
2859
2901
  ) -> None: ...
2860
- def ClearField(self, field_name: typing_extensions.Literal["angle_unit", b"angle_unit", "angular_velocity_unit", b"angular_velocity_unit", "conductivity_unit", b"conductivity_unit", "energy_unit", b"energy_unit", "force_unit", b"force_unit", "length_unit", b"length_unit", "mass_unit", b"mass_unit", "molecular_weight_unit", b"molecular_weight_unit", "moment_unit", b"moment_unit", "power_unit", b"power_unit", "pressure_unit", b"pressure_unit", "temperature_unit", b"temperature_unit", "time_unit", b"time_unit", "unit_system", b"unit_system", "velocity_unit", b"velocity_unit", "viscosity_unit", b"viscosity_unit", "volume_unit", b"volume_unit", "volumetric_flow_unit", b"volumetric_flow_unit"]) -> None: ...
2902
+ def ClearField(self, field_name: typing_extensions.Literal["angle_unit", b"angle_unit", "angular_velocity_unit", b"angular_velocity_unit", "conductivity_unit", b"conductivity_unit", "energy_unit", b"energy_unit", "force_unit", b"force_unit", "heat_flux_convention", b"heat_flux_convention", "length_unit", b"length_unit", "mass_unit", b"mass_unit", "molecular_weight_unit", b"molecular_weight_unit", "moment_unit", b"moment_unit", "power_unit", b"power_unit", "pressure_unit", b"pressure_unit", "temperature_unit", b"temperature_unit", "time_unit", b"time_unit", "unit_system", b"unit_system", "velocity_unit", b"velocity_unit", "viscosity_unit", b"viscosity_unit", "volume_unit", b"volume_unit", "volumetric_flow_unit", b"volumetric_flow_unit"]) -> None: ...
2861
2903
 
2862
2904
  global___Units = Units
2863
2905
 
@@ -3158,6 +3200,79 @@ class Adjoint(google.protobuf.message.Message):
3158
3200
 
3159
3201
  global___Adjoint = Adjoint
3160
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
+
3161
3276
  class Time(google.protobuf.message.Message):
3162
3277
  """Time parameters used by a transient solution (required if flow_behavior = transient)."""
3163
3278
 
@@ -5951,6 +6066,7 @@ class SimulationParam(google.protobuf.message.Message):
5951
6066
  VOLUME_ENTITY_FIELD_NUMBER: builtins.int
5952
6067
  GENERAL_FIELD_NUMBER: builtins.int
5953
6068
  ADJOINT_FIELD_NUMBER: builtins.int
6069
+ NONLINEAR_CONTROL_FIELD_NUMBER: builtins.int
5954
6070
  TIME_FIELD_NUMBER: builtins.int
5955
6071
  MOTION_DATA_FIELD_NUMBER: builtins.int
5956
6072
  PARTICLE_GROUP_FIELD_NUMBER: builtins.int
@@ -5991,6 +6107,9 @@ class SimulationParam(google.protobuf.message.Message):
5991
6107
  def adjoint(self) -> global___Adjoint:
5992
6108
  """Settings for adjoint sensitivity analysis."""
5993
6109
  @property
6110
+ def nonlinear_control(self) -> global___NonlinearControl:
6111
+ """Determine input values such that target output values are met."""
6112
+ @property
5994
6113
  def time(self) -> global___Time:
5995
6114
  """Time parameters used by a transient solution (required if flow_behavior = transient)."""
5996
6115
  @property
@@ -6054,6 +6173,7 @@ class SimulationParam(google.protobuf.message.Message):
6054
6173
  volume_entity: collections.abc.Iterable[global___VolumeEntity] | None = ...,
6055
6174
  general: global___General | None = ...,
6056
6175
  adjoint: global___Adjoint | None = ...,
6176
+ nonlinear_control: global___NonlinearControl | None = ...,
6057
6177
  time: global___Time | None = ...,
6058
6178
  motion_data: collections.abc.Iterable[global___MotionData] | None = ...,
6059
6179
  particle_group: collections.abc.Iterable[global___ParticleGroup] | None = ...,
@@ -6071,7 +6191,7 @@ class SimulationParam(google.protobuf.message.Message):
6071
6191
  interfaces: collections.abc.Iterable[global___SlidingInterfaces] | None = ...,
6072
6192
  mp_coupling_options: global___MultiPhysicsCouplingOptions | None = ...,
6073
6193
  ) -> None: ...
6074
- 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: ...
6075
- 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: ...
6076
6196
 
6077
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,11 +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.namedvariableset import namedvariableset_pb2 as proto_dot_namedvariableset_dot_namedvariableset__pb2
20
21
  from luminarycloud._proto.parametricworker import parametricworker_pb2 as proto_dot_parametricworker_dot_parametricworker__pb2
21
22
  from luminarycloud._proto.lcstatus import lcstatus_pb2 as proto_dot_lcstatus_dot_lcstatus__pb2
22
23
 
23
24
 
24
- 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/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\"\xb2\x06\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\"\xb0\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\"\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')
25
26
 
26
27
  _ENTITYTYPE = DESCRIPTOR.enum_types_by_name['EntityType']
27
28
  EntityType = enum_type_wrapper.EnumTypeWrapper(_ENTITYTYPE)
@@ -264,66 +265,66 @@ if _descriptor._USE_C_DESCRIPTORS == False:
264
265
  DESCRIPTOR._serialized_options = b'Z%luminarycloud.com/core/proto/geometry'
265
266
  _CONFIGURATIONS_CONFIGURATIONENTRY._options = None
266
267
  _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_options = b'8\001'
267
- _ENTITYTYPE._serialized_start=4802
268
- _ENTITYTYPE._serialized_end=4885
269
- _SHRINKWRAPMODE._serialized_start=4887
270
- _SHRINKWRAPMODE._serialized_end=4943
271
- _KERNELTYPE._serialized_start=4945
272
- _KERNELTYPE._serialized_end=5000
273
- _IMPORT._serialized_start=240
274
- _IMPORT._serialized_end=375
275
- _CREATE._serialized_start=378
276
- _CREATE._serialized_end=698
277
- _DELETE._serialized_start=700
278
- _DELETE._serialized_end=786
279
- _BOOLEAN._serialized_start=789
280
- _BOOLEAN._serialized_end=1048
281
- _IMPRINT._serialized_start=1051
282
- _IMPRINT._serialized_end=1213
283
- _IMPRINT_IMPRINTBEHAVIOR._serialized_start=1157
284
- _IMPRINT_IMPRINTBEHAVIOR._serialized_end=1213
285
- _TRANSFORM._serialized_start=1216
286
- _TRANSFORM._serialized_end=1536
287
- _SHRINKWRAP._serialized_start=1539
288
- _SHRINKWRAP._serialized_end=1746
289
- _FARFIELD._serialized_start=1749
290
- _FARFIELD._serialized_end=1927
291
- _PATTERN._serialized_start=1930
292
- _PATTERN._serialized_end=2307
293
- _PATTERN_DIRECTION._serialized_start=2032
294
- _PATTERN_DIRECTION._serialized_end=2307
295
- _PATTERN_DIRECTION_CIRCULAR._serialized_start=2227
296
- _PATTERN_DIRECTION_CIRCULAR._serialized_end=2299
297
- _CONFIGURATIONS._serialized_start=2310
298
- _CONFIGURATIONS._serialized_end=2578
299
- _CONFIGURATIONS_CONFIGURATION._serialized_start=2427
300
- _CONFIGURATIONS_CONFIGURATION._serialized_end=2469
301
- _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_start=2471
302
- _CONFIGURATIONS_CONFIGURATIONENTRY._serialized_end=2578
303
- _FEATUREISSUES._serialized_start=2580
304
- _FEATUREISSUES._serialized_end=2666
305
- _FEATURE._serialized_start=2669
306
- _FEATURE._serialized_end=3275
307
- _CREATEORUPDATETAG._serialized_start=3277
308
- _CREATEORUPDATETAG._serialized_end=3341
309
- _RENAMETAG._serialized_start=3343
310
- _RENAMETAG._serialized_end=3390
311
- _DELETETAG._serialized_start=3392
312
- _DELETETAG._serialized_end=3448
313
- _DELETETAGS._serialized_start=3450
314
- _DELETETAGS._serialized_end=3477
315
- _MODIFICATION._serialized_start=3480
316
- _MODIFICATION._serialized_end=4298
317
- _MODIFICATION_MODIFICATIONTYPE._serialized_start=3866
318
- _MODIFICATION_MODIFICATIONTYPE._serialized_end=4298
319
- _FACE._serialized_start=4301
320
- _FACE._serialized_end=4434
321
- _BODY._serialized_start=4437
322
- _BODY._serialized_end=4567
323
- _VOLUME._serialized_start=4569
324
- _VOLUME._serialized_end=4603
325
- _TAGS._serialized_start=4606
326
- _TAGS._serialized_end=4800
327
- _TAGS_TAG._serialized_start=4664
328
- _TAGS_TAG._serialized_end=4800
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
329
330
  # @@protoc_insertion_point(module_scope)
@@ -738,13 +738,14 @@ class Modification(google.protobuf.message.Message):
738
738
  MODIFICATION_TYPE_REDO: Modification._ModificationType.ValueType # 5
739
739
  MODIFICATION_TYPE_RENAME_FEATURE: Modification._ModificationType.ValueType # 6
740
740
  """Action used to rename a given feature. If specified, the feature message
741
- must contain the new name and the ID. The other fields will be ignotred.
741
+ must contain the new name and the ID. The other fields will be ignored.
742
742
  """
743
743
  MODIFICATION_TYPE_CREATE_TAG: Modification._ModificationType.ValueType # 7
744
744
  MODIFICATION_TYPE_UPDATE_TAG: Modification._ModificationType.ValueType # 8
745
745
  MODIFICATION_TYPE_DELETE_TAG: Modification._ModificationType.ValueType # 9
746
746
  MODIFICATION_TYPE_RENAME_TAG: Modification._ModificationType.ValueType # 10
747
747
  MODIFICATION_TYPE_DELETE_TAGS: Modification._ModificationType.ValueType # 11
748
+ MODIFICATION_TYPE_UPDATE_NAMED_VARIABLE_SET: Modification._ModificationType.ValueType # 12
748
749
 
749
750
  class ModificationType(_ModificationType, metaclass=_ModificationTypeEnumTypeWrapper): ...
750
751
  MODIFICATION_TYPE_UNSPECIFIED: Modification.ModificationType.ValueType # 0
@@ -755,13 +756,14 @@ class Modification(google.protobuf.message.Message):
755
756
  MODIFICATION_TYPE_REDO: Modification.ModificationType.ValueType # 5
756
757
  MODIFICATION_TYPE_RENAME_FEATURE: Modification.ModificationType.ValueType # 6
757
758
  """Action used to rename a given feature. If specified, the feature message
758
- must contain the new name and the ID. The other fields will be ignotred.
759
+ must contain the new name and the ID. The other fields will be ignored.
759
760
  """
760
761
  MODIFICATION_TYPE_CREATE_TAG: Modification.ModificationType.ValueType # 7
761
762
  MODIFICATION_TYPE_UPDATE_TAG: Modification.ModificationType.ValueType # 8
762
763
  MODIFICATION_TYPE_DELETE_TAG: Modification.ModificationType.ValueType # 9
763
764
  MODIFICATION_TYPE_RENAME_TAG: Modification.ModificationType.ValueType # 10
764
765
  MODIFICATION_TYPE_DELETE_TAGS: Modification.ModificationType.ValueType # 11
766
+ MODIFICATION_TYPE_UPDATE_NAMED_VARIABLE_SET: Modification.ModificationType.ValueType # 12
765
767
 
766
768
  MOD_TYPE_FIELD_NUMBER: builtins.int
767
769
  FEATURE_FIELD_NUMBER: builtins.int
@@ -769,6 +771,7 @@ class Modification(google.protobuf.message.Message):
769
771
  RENAME_TAG_FIELD_NUMBER: builtins.int
770
772
  DELETE_TAG_FIELD_NUMBER: builtins.int
771
773
  DELETE_TAGS_FIELD_NUMBER: builtins.int
774
+ UPDATE_NAMED_VARIABLE_SET_VERSION_ID_FIELD_NUMBER: builtins.int
772
775
  mod_type: global___Modification.ModificationType.ValueType
773
776
  @property
774
777
  def feature(self) -> global___Feature:
@@ -787,6 +790,10 @@ class Modification(google.protobuf.message.Message):
787
790
  @property
788
791
  def delete_tags(self) -> global___DeleteTags:
789
792
  """Required for the delete tags modification type."""
793
+ update_named_variable_set_version_id: builtins.str
794
+ """For MODIFICATION_TYPE_UPDATE_NAMED_VARIABLE_SET.
795
+ The new named variable set version (by id) to be used for the geometry.
796
+ """
790
797
  def __init__(
791
798
  self,
792
799
  *,
@@ -796,9 +803,10 @@ class Modification(google.protobuf.message.Message):
796
803
  rename_tag: global___RenameTag | None = ...,
797
804
  delete_tag: global___DeleteTag | None = ...,
798
805
  delete_tags: global___DeleteTags | None = ...,
806
+ update_named_variable_set_version_id: builtins.str = ...,
799
807
  ) -> None: ...
800
808
  def HasField(self, field_name: typing_extensions.Literal["create_or_update_tag", b"create_or_update_tag", "delete_tag", b"delete_tag", "delete_tags", b"delete_tags", "feature", b"feature", "rename_tag", b"rename_tag"]) -> builtins.bool: ...
801
- def ClearField(self, field_name: typing_extensions.Literal["create_or_update_tag", b"create_or_update_tag", "delete_tag", b"delete_tag", "delete_tags", b"delete_tags", "feature", b"feature", "mod_type", b"mod_type", "rename_tag", b"rename_tag"]) -> None: ...
809
+ def ClearField(self, field_name: typing_extensions.Literal["create_or_update_tag", b"create_or_update_tag", "delete_tag", b"delete_tag", "delete_tags", b"delete_tags", "feature", b"feature", "mod_type", b"mod_type", "rename_tag", b"rename_tag", "update_named_variable_set_version_id", b"update_named_variable_set_version_id"]) -> None: ...
802
810
 
803
811
  global___Modification = Modification
804
812