Skip to content

superLatticeTimeAveraged and AnalyticalFfromSuperF3D

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics superLatticeTimeAveraged and AnalyticalFfromSuperF3D

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #7772
    IboralalpI
    Participant

    Dear OpenLB Developers,

    Using AnalyticalFfromSuperF3D on superLatticeTimeAveraged functor gives a segmentation fault. I couldn’t really figure it out why, because this can be easily established with the other functors such as SuperLatticePhysVelocity3D.

    My final goal is to achieve this AnalyticalF functor and write all of the field data into a .txt folder.

    Side Note: In superLatticeTimeAveraged3D.hh, int SupeerLatticeTimeAveragedF3D<T>::getBlockFSize() const returns 0 all the time. I believe this should be returning this->_sFunctor.getBlockSize();

    Best,
    Berkay

    • This topic was modified 9 months, 3 weeks ago by IboralalpI.
    #7776
    Adrian
    Keymaster

    You identified the reason correctly: SuperLatticeTimeAveragedF3D does not offer block-level functors to access its data, preventing AnalyticalFfromSuperF3D from working.

    To close this gap in the framework you will need to either add block functors to the time averaging functor or extend the interpolation functor to be able to work without block functors.

    Depending on your exact requirements and setup there also may be other / simpler / better ways of extracting the data in the format you want. Can you tell me more?

    #7811
    IboralalpI
    Participant

    Hi Adrian,

    I have my own way of visualisation. This is one of the reasons why I need to write the data somewhere.

    Also, I might have to use the data later to train some NN structures. It would be really great if I could write the data in a format other than the classic .PVD.

    This is what I thought could be useful in order to solve this issue, but It seems to be not working well.

    std::vector<SuperF3D<T,T>*< vectorVelocity;

    if(iT%vtkIter == 0 && iT > 0)
    {
    SuperLatticePhysVelocity3D<T, NSDESCRIPTOR> velocity(NSlattice, converter);
    vectorVelocity.push_back(&velocity)
    }

    After saving all the steps of the velocity, at the last saving step, I am summing all the saved velocities and dividing it by the number of steps. Everything runs smoothly but it doesn’t give the same result as the Time-Averaged functor.

    Sorry I can’t copy and paste my code, because the site sees it as a threat. The rest is basically a for loop and then I use the AnalyticalFfromSuperF3D.

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