Skip to content

vinhvu1995

Forum Replies Created

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • in reply to: Using addWallFunctionBoundary #5272
    vinhvu1995
    Participant

    Hey Marc,

    Sorry for that mistake! I have no idea how I managed to do that. Everything is working fine now! I’m currently running a few test cases with the wall function boundary on and everything seems to work fine. For some reason, the simulation diverges whenever I use a MPI but I think I can work out what’s causing the problem.

    Cheers,
    Vinh

    in reply to: Using addWallFunctionBoundary #5251
    vinhvu1995
    Participant

    Hi Marc,

    Thanks for the reply, I’ve replaced the erroneous line and I still cannot compile my code. This is the error I get

    src/boundary/wallFunctionBoundaryPostProcessors3D.hh: In member function ‘void olb::WallFunctionBoundaryProcessor3D<T, DESCRIPTOR>::computeFneqRNEBB(olb::Cell<T, DESCRIPTOR>&, T*, T, T*)’:
    /src/boundary/wallFunctionBoundaryPostProcessors3D.hh:711:96: error: no matching function for call to ‘opposite(__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&)’
      711 |     fneq_bc[normalInwardsIndices[fIndex]] = fneq_bc[util::opposite(normalInwardsIndices[fIndex])];
          |                                                                                                ^
    In file included src/dynamics/dynamics.h:32,
                     /src/boundary/boundaryCondition3D.h:31,
                     src/boundary/boundary3D.h:28,
                     src/olb3D.h:1,
                     from array.cpp:7:
    src/core/util.h:193:47: note: candidate: ‘template<class DESCRIPTORBASE> int olb::util::opposite(int)’
      193 | template <typename DESCRIPTORBASE> inline int opposite(int iPop)
          |                                               ^~~~~~~~
    src/core/util.h:193:47: note:   template argument deduction/substitution failed:
    In file included from src/boundary/boundary3D.hh:42,
                     from src/olb3D.hh:1,
                     from array.cpp:9:
    src/boundary/wallFunctionBoundaryPostProcessors3D.hh:711:96: note:   couldn’t deduce template parameter ‘DESCRIPTORBASE’
      711 |     fneq_bc[normalInwardsIndices[fIndex]] = fneq_bc[util::opposite(normalInwardsIndices[fIndex])];
          |                                                                                 
    

    I guess the next release has the updated code which should fix the problems. Do you think it be better if I waited for the next release?

    Cheers,
    Vinh

    • This reply was modified 2 months, 3 weeks ago by vinhvu1995. Reason: Pasting code doesn't work well
    • This reply was modified 2 months, 3 weeks ago by vinhvu1995. Reason: cannot post code with ../.../
    in reply to: Using addWallFunctionBoundary #5232
    vinhvu1995
    Participant

    Hi Marc,

    Thanks for the summary, it did help me a lot. I think I nearly got it all working now, but I’m having an issue with the WallFunctionForcedD3Q19Descriptor. For some reason I can’t compile my code with that specific descriptor. I get the following error

    
    error: ‘opposite’ is not a member of ‘olb::descriptors::D3Q19<olb::descriptors::AV_SHEAR, olb::descriptors::TAU_W, olb::descriptors::TAU_EFF, olb::descriptors::FORCE, olb::descriptors::V12>’
    

    If I chose a different descriptor (say D3Q19), then it compiles fine, but it will produce a segmentation error, presumably because the wall function boundary is not working properly without the proper descriptor. Is there something I’m missing with the wall function descriptor?

    Cheers,
    Vinh

    • This reply was modified 3 months, 1 week ago by vinhvu1995.
Viewing 3 posts - 1 through 3 (of 3 total)