-
Notifications
You must be signed in to change notification settings - Fork 15
DesignDatapipe error #23
Description
Hey
I run into this error message during DesignDatapipe call
Thx!
=====================================
root@871b26302c0f:/workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities# Input Notebook: /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/main.ipynb
Output Notebook: /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/out_gpu1.ipynb
Input Notebook: /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/main.ipynb
Output Notebook: /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/out_gpu0.ipynb
Input Notebook: /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/main.ipynb
Output Notebook: /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/out_gpu3.ipynb
Input Notebook: /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/main.ipynb
Output Notebook: /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/out_gpu2.ipynb
Executing: 0%| | 0/21 [00:00<?, ?cell/s]Executing notebook with kernel: python3
Executing notebook with kernel: python3
Executing notebook with kernel: python3
Executing: 5%|████▍ | 1/21 [00:01<00:20, 1.00s/cell]Executing notebook with kernel: python3
Executing: 62%|█████████████████████████████████████████████████████████▌ | 13/21 [00:21<00:13, 1.63s/cell]
Traceback (most recent call last):
File "/usr/local/bin/papermill", line 8, in
sys.exit(papermill())
^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/click/core.py", line 1442, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/click/core.py", line 1363, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/click/core.py", line 1226, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/click/core.py", line 794, in invoke
return callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/click/decorators.py", line 34, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/dist-packages/papermill/cli.py", line 235, in papermill
execute_notebook(
File "/usr/local/lib/python3.12/dist-packages/papermill/execute.py", line 131, in execute_notebook
raise_for_execution_errors(nb, output_path)
File "/usr/local/lib/python3.12/dist-packages/papermill/execute.py", line 251, in raise_for_execution_errors
raise error
papermill.exceptions.PapermillExecutionError:
Exception encountered at "In [7]":
TypeError Traceback (most recent call last)
Cell In[7], line 1
----> 1 results: dict[str, np.ndarray] = domino(
2 mesh=mesh,
3 stream_velocity=50, # m/s
4 stencil_size=8,
5 air_density=1.225, # kg/m^3
6 verbose=True,
7 )
8 results
File /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/main.py:287, in DoMINOInference.call(self, mesh, stream_velocity, stencil_size, air_density, verbose)
241 """Performs DoMINO inference on a given geometry to predict aerodynamic quantities.
242
243 This method takes a PyVista mesh representing a 3D geometry and computes the
(...) 283 >>> print(f"Drag force: {forces[0]:.2f} N")
284 """
285 torch.random.manual_seed(0)
--> 287 datapipe = DesignDatapipe(
288 mesh=mesh,
289 bounding_box=self.bounding_box_min_max,
290 bounding_box_surface=self.bounding_box_surface_min_max,
291 grid_resolution=self.cfg.model.interp_res,
292 stencil_size=stencil_size,
293 device=self.device,
294 )
295 dataloader = torch.utils.data.DataLoader(
296 datapipe, batch_size=2**13, shuffle=False
297 )
299 input_dict: dict[str, torch.Tensor] = {
300 k: torch.unsqueeze(v, dim=0) for k, v in datapipe.out_dict.items()
301 }
File /workspaceMulti/physicsnemo-cfd/workflows/domino_design_sensitivities/design_datapipe.py:97, in DesignDatapipe.init(self, mesh, bounding_box, bounding_box_surface, grid_resolution, stencil_size, seed, device)
91 surface_areas = mesh.compute_cell_sizes(
92 length=False, area=True, volume=False
93 ).cell_data["Area"]
95 surface_normals = -1.0 * np.array(mesh.cell_normals, dtype=np.float32)
---> 97 center_of_mass = calculate_center_of_mass(stl_centers, surface_areas)
99 s_max = np.asarray(bounding_box_surface[1])
100 s_min = np.asarray(bounding_box_surface[0])
File /usr/local/lib/python3.12/dist-packages/physicsnemo/utils/domino/utils.py:62, in calculate_center_of_mass(centers, sizes)
33 def calculate_center_of_mass(
34 centers: torch.Tensor, sizes: torch.Tensor
35 ) -> torch.Tensor:
36 """Calculate the center of mass for a collection of elements.
37
38 Computes the volume-weighted centroid of mesh elements, commonly used
(...) 59 True
60 """
---> 62 total_weighted_position = torch.einsum("i,ij->j", sizes, centers)
63 total_size = torch.sum(sizes)
65 return total_weighted_position[None, ...] / total_size
File /usr/local/lib/python3.12/dist-packages/torch/functional.py:422, in einsum(*args)
417 return einsum(equation, *_operands)
419 if len(operands) <= 2 or not opt_einsum.enabled:
420 # the path for contracting 0 or 1 time(s) is already optimized
421 # or the user has disabled using opt_einsum
--> 422 return _VF.einsum(equation, operands) # type: ignore[attr-defined]
424 path = None
425 if opt_einsum.is_available():
TypeError: expected Tensor as element 0 in argument 1, but got pyvista_ndarray