Skip to content

NavierStokesSLCN Gives Error while running with HPC/API #64

Description

@Chawgai

Description
A failure occurs when executing the test debug script nstt.py in a distributed environment using mpirun. The issue is reproducible across different operating systems and clusters (macOS and the Kaiju cluster), suggesting the bug is likely related to the code's interaction with the MPI library rather than a local environment quirk. The test script is attached herewith and t

nstt.txt

nstt.txt

he error log is as under,

(underworld3:dev) (base) u808@its-0842 nst % mpirun -n 2 python nstt.py
[Rank 0] Starting with 2 processes
[Rank 0] Creating mesh...
[Rank 1] Starting with 2 processes
[Rank 1] Creating mesh...
[Rank 1] Mesh created
[Rank 0] Mesh created
[Rank 0] Barrier 1 passed
[Rank 0] Creating variables...
[Rank 1] Barrier 1 passed
[Rank 1] Creating variables...
[Rank 0] Variables created
[Rank 0] Initializing variables...
[Rank 1] Variables created
[Rank 1] Initializing variables...
[Rank 0] Variables initialized
[Rank 0] Barrier 2 passed
[Rank 1] Variables initialized
[Rank 1] Barrier 2 passed
[Rank 1] Creating Navier-Stokes solver...
[Rank 0] Creating Navier-Stokes solver...
[Rank 1] Navier-Stokes solver object created
[Rank 0] Navier-Stokes solver object created
[Rank 0] Constitutive model set
[Rank 0] Viscosity set
[Rank 1] Constitutive model set
[Rank 1] Viscosity set
[Rank 0] Body force set
[Rank 0] Adding boundary conditions...
[Rank 1] Body force set
[Rank 1] Adding boundary conditions...
[Rank 1] Boundary conditions added
[Rank 1] Setting solver options...
[Rank 1] Solver options set
[Rank 1] Calculating timestep...
[Rank 0] Boundary conditions added
[Rank 0] Setting solver options...
[Rank 0] Solver options set
[Rank 0] Calculating timestep...
[Rank 0] dt = 2.7829e-04, delta_x = 0.023592
[Rank 1] dt = 2.7829e-04, delta_x = 0.023592
[Rank 1] Barrier 3 passed - ready to solve
[Rank 1] Starting solver...
[Rank 0] Barrier 3 passed - ready to solve
[Rank 0] Starting solver...
[Rank 1] Solver failed: could not broadcast input array from shape (2471,1,1) into shape (2497,1,1)
[Rank 0] Solver failed: could not broadcast input array from shape (2535,1,1) into shape (2509,1,1)
[Rank 1] Traceback (most recent call last):
File "/Users/u8085704/Library/CloudStorage/OneDrive-Personal/uw3d/nst/nstt.py", line 127, in
navier_stokes.solve(timestep=delta_t, zero_init_guess=True)
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/timing.py", line 310, in timed
result = routine(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/systems/solvers.py", line 3106, in solve
self.DuDt.update_pre_solve(timestep, verbose=verbose, evalf=_evalf)
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/systems/ddt.py", line 1108, in update_pre_solve
v_mid_result = uw.function.global_evaluate(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/timing.py", line 310, in timed
result = routine(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/function/functions_unit_system.py", line 537, in global_evaluate
raw_result = _global_evaluate_nd(
^^^^^^^^^^^^^^^^^^^^
File "src/underworld3/function/_function.pyx", line 477, in underworld3.function._function.global_evaluate_nd
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/swarm.py", line 642, in setitem
modified_data[key] = value
~~~~~~~~~~~~~^^^^^
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/utilities/nd_array_callback.py", line 674, in setitem
super().setitem(key, actual_value)
ValueError: could not broadcast input array from shape (2471,1,1) into shape (2497,1,1)

[Rank 0] Traceback (most recent call last):
File "/Users/u8085704/Library/CloudStorage/OneDrive-Personal/uw3d/nst/nstt.py", line 127, in
navier_stokes.solve(timestep=delta_t, zero_init_guess=True)
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/timing.py", line 310, in timed
result = routine(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/systems/solvers.py", line 3106, in solve
self.DuDt.update_pre_solve(timestep, verbose=verbose, evalf=_evalf)
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/systems/ddt.py", line 1108, in update_pre_solve
v_mid_result = uw.function.global_evaluate(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/timing.py", line 310, in timed
result = routine(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/function/functions_unit_system.py", line 537, in global_evaluate
raw_result = _global_evaluate_nd(
^^^^^^^^^^^^^^^^^^^^
File "src/underworld3/function/_function.pyx", line 477, in underworld3.function._function.global_evaluate_nd
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/swarm.py", line 642, in setitem
modified_data[key] = value
~~~~~~~~~~~~~^^^^^
File "/Users/u8085704/underworld3/.pixi/envs/dev/lib/python3.12/site-packages/underworld3/utilities/nd_array_callback.py", line 674, in setitem
super().setitem(key, actual_value)
ValueError: could not broadcast input array from shape (2535,1,1) into shape (2509,1,1)

[Rank 0] Barrier 4 passed
[Rank 0] Test completed
[Rank 1] Barrier 4 passed
[Rank 1] Test completed
(underworld3:dev) (base) u8085@its-082 nst %

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions