I am now working on the establishment of a numerical wave tank. Could anyone give me an overall introduction about the methods to absorb reflected waves?
inviscid numerical wave tank approach you can refer this paper where all types of damping schemes are discussed elaborately
Kim, M.W., Koo, W. and Hong, S Y., 2014. Numerical analysis of various artificial damping schemes in a three-dimensional numerical wave tank, Ocean Engineering, 75 (1), 165-173.
The simplest way would be to put a condition at the boundary that only allows outward motion and sets any inward motion to zero. This is simple enough to do. The downside is, that you may want to preserve other movements, so be careful that you don't throw away valid results. If you know the propagation speed of the waves, you can refine this method to only block certain motions (limit the inward velocity to less than a fraction of the propagation speed) ,but that can be difficult and may require some fine-tuning.
Firstly, you can make the tank longer, if that doesn't add too much run time. Also, you could think about adding viscosity. In a real tank, we'd put a sponge or something to absorb the waves, so it's like having a region of very high viscosity close to the end of the tank (presumably far from where anything interesting is going on). Thus, the viscosity shouldn't be uniform, but say a function of position which is low on one side of the tank and high near the other end.
The best way is the use of weakly non reflecting boundary condition based on chaacteristics equations. The condition is the conservation of the Rieman Invariant or the quase Invariant. One example, for barotropic waves(SWW) the condition at the boundary is : q- h c=0 (first order condition). q is the water flux, c ys wave celerity and h is the water level. Reference: Hauguel, 1980; and Verboom, 1992.
I assume you are working with fully non-linear waves, in which case I recommend the following paper: Bonnefoy, Le Touzé & Ferrant (2006). A fully-spectral 3D time-domain model for second-order simulation of wavetank experiments. Part A: Formulation, implementation and numerical properties. Appl. Ocean Res., 28, 33-43. They discuss methods on how to fine tune the absorption parameter and show performance tests in Part B. Hope this helps
An introduction is that boundaries should behave as in their absence, else the boundary makes some work under the surrounding. Therefore, at least, the energy and momentum should be conserved round the loci, after this debug one may think about wave kinematics, how to provide an absorption.
Right now, I'm balancing a similar problem to pass a soliton from this end to that. With a single soly, it's OK, but with a pair - not so perfect, though closer.
You should try to use a sponge layer. This problem is very common at free-surface flow simulation. I really like this article: "Park, J., and Miyata, M. Zhu. H. On the accuracy of numerical wave making techniques. The Society of Naval Architects of Japan 173 (1993), 35–44." that tests a proposed sponge layer.
I saw somebody already answered your question. The effective way is to put so-called "radiation boundary condition". It is in form of d v/dt -c d v/dx. Assuming here x is the outward normal direction and c is the wave speed in this direction. Theoretically, this condition only allows the wave to propagate outward, i.e. no reflected wave. But since c can only be determined approximatedly and the wave is nonlinear, practically there are still some reflected waves.
An additional method is to set a damping region, where the viscosity is artificially very large, or its damping factor (in the free surface condition) is very large, so that the waves are decayed there.