Skip to content

Discontinuous fields when running in parallel

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics Discontinuous fields when running in parallel

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #6018
    ramirofreile
    Participant

    Hello everyone,

    I am noticing that when I run in parallel and the cuboid geometry is split into N subblocks, the fields at the interface of these mini blocks are discontinuous. Despite this, the physical solution is not affected, but the outputted results do not look right. I attach a picture that references the problem. https://ibb.co/bXJBhH9.
    Could anyone help me solve this problem?
    Thank you in advance for your time,

    Ramiro Freile

    • This topic was modified 10 months, 3 weeks ago by ramirofreile.
    • This topic was modified 10 months, 3 weeks ago by ramirofreile.
    #6021
    Nicolas
    Participant

    Hello Ramiro,

    I assume, you did not implement any custom treatment of specific fields and your are simply referring to the output of the macroscopic velocity. Furthermore I am assuming that you are using Paraview to generate your images. In this case, you might be dealing with some harmless visualization artifacts. Please make sure, to use the most recent Paraview version. In order to check the output correctness, you can use the “Extract Block” filter in Paraview to check individual blocks. If your are only interested in obtaining a continuous surface or volume representation, please use Paraview’s “Resample To Image” Filter.

    Best,

    Nicolas

    #6023
    ramirofreile
    Participant

    Hello Nicolas,

    Thank you for your answer.
    The image of the previous post is the temperature in a Poiseuille flow, and the way I am outputting the temperature is the following :

    SuperLatticeField3D<T, TDESCRIPTOR, TEMPERATURE> temperature(ADlattice);
     temperature.getName() = "temperature";
     vtmWriter.addFunctor( temperature );

    To add clarity to the issue, I ran a case that is only divided into two subblocks. https://ibb.co/sqC8Jpc
    https://ibb.co/RbdgF1z
    https://ibb.co/Jy0wHLh

    In one figure, a slice of the pipe is shown. You can see that at the midlength of the pipe, the temperature has a strange output, so does the enthalpy. The velocity field and pressure do not have any issue. In the remaining two figures I show each of the subblocks separately. You can still see the issue in each block at the merging point.

    I tried doing Resample to Image but I still have issues when I do line plots at the centerline of the pipe and on the slices.
    Thank you in advance,

    Ramiro Freile

    #6027
    ramirofreile
    Participant

    Hello,

    Just to add more evidence about the issue.
    Here I attach an image of “rayleighbernard2d” sample case.
    I also have the issue while viewing the results in Paraview. It feels as if two contiguous blocks overlap a distance of deltax.
    https://ibb.co/wCGrRPW

    Thank you,

    Ramiro Freile

    #6043
    Adrian
    Keymaster

    Thanks for letting us know! This is indeed a communication issue w.r.t. the VTK output (the inter-block communication for the actual simulation is correct, luckily).

    You can fix the Rayleigh Bernard example by adding a call to sLattice.communicate() in getResults for the VTK-writing timesteps.

    #6044
    ramirofreile
    Participant

    Adrian,

    I greatly appreciate your help.
    I could solve the issue following your suggestions. I would just like to mention that in getResults I added NSlattice.communicate() and also ADlattice.communicate() for it to output the results properly.
    Thank you very much,

    Ramiro

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