Skip to content

Problem of running bifurcation3d example

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics Problem of running bifurcation3d example

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #8953
    yueyq
    Participant

    Dear Community,

    I tried to run /examples/particles/bifurcation3d/eulerLagrange:
    mpirun -np 4 bash -c ‘export CUDA_VISIBLE_DEVICES=${OMPI_COMM_WORLD_LOCAL_RANK}; ./bifurcation3d’
    And the output:
    [ThreadPool] Sucessfully initialized, numThreads=1
    [ThreadPool] Sucessfully initialized, numThreads=1
    [ThreadPool] Sucessfully initialized, numThreads=1

    ERROR: Subgrid particles can only be used with MPI!

    ERROR: Subgrid particles can only be used with MPI!

    ERROR: Subgrid particles can only be used with MPI!

    [ThreadPool] Sucessfully initialized, numThreads=1

    ERROR: Subgrid particles can only be used with MPI!

    Then I tried another way to run it according to https://www.openlb.net/forum/topic/running-examples-on-multiple-gpus/:
    mpirun –oversubscribe –bind-to none -np 1 -x CUDA_VISIBLE_DEVICES=0 ./bifurcation3d : -np 1 -x CUDA_VISIBLE_DEVICES=1 ./bifurcation3d
    but still failed. The output:
    All nodes which are allocated for this job are already filled.

    Plus, I wonder if the “VerletParticleDynamicsWallCapture” in this example was only applicable to sub-grid particles? It seems not for resolved particles.

    Please give me some advice. Thanks a lot!

    Sincerely,
    yueyq

    #8961
    jan
    Participant

    Dear yueyq,

    the example only works in parallel mode. The particle system currently doesn’t run on GPUs. However, you can run it in parallel using multiple CPUs. Please refer to the user guide (https://www.openlb.net/wp-content/uploads/2024/06/olb_ug-1.7r0.pdf), see “10.9. Lesson 9: Run Your Programs on a Parallel Machine”.

    Best regards,
    Jan

    Edit:
    Yes, the logic of VerletParticleDynamicsWallCapture is only for subgrid scale particles. In my opinion, you’d need to somehow model cohesive forces on the resolved surface for surface resolved particles.

    • This reply was modified 1 month, 3 weeks ago by jan.
    #8971
    yueyq
    Participant

    Dear Jan,

    Thanks for your suggestions, the example was executed successfully.

    For the resolved-particle-wall-capture issue, given many particles packing on the wall and exerted acceleration, will particles tend to be unstable with cohesive forces? Do you think it’s feasible if I set particles velocity and acceleration to be 0, and fixed their positions as long as particles contact the wall?

    Sincerely,
    Yueyq

    #8989
    jan
    Participant

    Dear Yueyq,

    you can try use particles::access::setInactive(particle);, when the particles touch the wall (or any other condition). However, then they’re not going to move anymore.

    > Do you think it’s feasible if I set particles velocity and acceleration to be 0, and fixed their positions as long as particles contact the wall?
    If you set the velocity and acceleration to 0 and keep the position fixed, then the particles should stay at the wall. Is that what you want? That the particles touch the wall and stick there in any case?

    Best regards,
    Jan

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.