Skip to content

Non reflecting boundary condition

OpenLB – Open Source Lattice Boltzmann Code Forums on OpenLB General Topics Non reflecting boundary condition

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #1970
    heng03313
    Member

    Hi,

    How to implement a non-reflecting boundary condition?

    #2815
    mathias
    Keymaster

    If you google for lattice+boltzmann+non+reflecting, you will find some papers. Then, the question is if they are local or non-local, on- or off-lattice. Local, on lattice BC can be implemented by a new dynamic class, the rest needs a post-processor.

    Best
    Mathias

    #2816
    heng03313
    Member

    Thanks.

    Are these already implemented by code in OpenLB? If so, which? I suppose none of the examples demonstrates the use of a post-processor?

    #2817
    mathias
    Keymaster

    We have several BC in OpenLB implemented and in most cases we are using post processors. Please, have a look at the user guide. Best Mathias

    #2824
    heng03313
    Member

    Hi,

    I have not been able to implement any non-reflecting boundary conditions using postProcessors. The user guide simply stated “For non-local dynamics, a so-called post-processor needs to be implemented and integrated into a BlockLatticeXD through a call to the method addPostProcessorXD.” which I don’t quite understand.

    Does that also mean that parallelization is not possible since it is implemented with BlockLattice and not SuperLattice?

    To illustrate my problem further, I refer to the example “cylinder2d” where the Re has been increased to 100. The reflected wave at the outlet is apparent. I would like to remove wave reflections of this kind. Ideally, it should be achieved without the use of a gradually increasing inlet since I would like to move on to the study of acoustics eventually.

    I hope to get more help on this issue. Thanks.

    #2825
    mathias
    Keymaster

    A simple solution for the mentioned example / problem is to slowly and smoothly increase the inflow velocity form zero to the desired value. So you may chose a longer initialization time by e.g. change

    int iTmaxStart = converter.getLatticeTime( maxPhysT*0.4 );

    into

    int iTmaxStart = converter.getLatticeTime( maxPhysT*0.8 );

    Best
    Mathias

    #2826
    heng03313
    Member

    Hi,

    Thanks, I agree that your suggestion works in removing reflections at the open boundary. However, what is the impact of employing such a method in the study of acoustics where the inlet will be replaced by a time-dependent oscillating input?

    I suppose the sound waves introduced into the system will reflect off the outlet regardless if the inlet is set to be a slowly increasing one?

    #2827
    mathias
    Keymaster

    If you that this kind bc, you may first test the other already implemented ones in OpenLB. And if needed you may implement your own. An easy way is, to copy one of the existing ones though all classes and then it also works in parallel. Mathias

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