1D Shallow Water Wave in FORTRAN using LAX WENDROFF Method

• Fortran
Hey everyone,

I’m trying to simulate a 1D Shallow Water wave in FORTRAN using the Lax Wendroff Method. The case is fairly simple. I have a wave generator on one end of a water pool and a wall boundary on another. The waves start travelling towards the wall and are ‘reflected off’ the wall. The problem which I’m facing is the Boundary Condition on the wall.

My generated wave starts travelling towards the wall and once it reaches the wall, my solution crashes. I need an appropriate ‘reflective boundary condition’ at the wall. As you guys already know, the Lax Wendroff Method employs a half time step. The governing PDE’s are attached in the image. The discretised equations are also attached.

Since h and A are the unknowns we are dealing with, I need the following BC at the wall:

HNP102(1)=? !1/2 Time Step, denotes n
ANP102(1)=? !plus half

and

HNP1(1)=? !full time step, denotes n
ANP1(1)=? !plus 1.

I read a similar code where
HNP1(1)=HNP1(2)
ANP1(1)=ANP1(2) was used but in my case it did not work.

Attachments

• D2B028C8-4DF8-44DA-820C-B19CC329FA90.jpeg
13.6 KB · Views: 367
• F53685CF-7C30-41A0-9F81-6FC8812BB6CB.jpeg
17.5 KB · Views: 410

The question is that what must be an appropriate 'reflective boundary condition' at the wall to simulate the reflection of the shallow water wave?

Mark44
Mentor
Since h and A are the unknowns we are dealing with, I need the following BC at the wall:

HNP102(1)=? !1/2 Time Step, denotes n
ANP102(1)=? !plus half

and

HNP1(1)=? !full time step, denotes n
ANP1(1)=? !plus 1.

I read a similar code where
HNP1(1)=HNP1(2)
ANP1(1)=ANP1(2) was used but in my case it did not work.
This isn't very explanatory -- we have no idea what HNP102, ANP102, HNP1 and ANP1 are supposed to represent. In addition, the text in the two images you posted is too small to be legible, so those images aren't much help, either.

The behavior of a wave when it hits a reflecting surface depends on the number of wavelengths between the wave source and the reflecting surface. If the distance between source and reflector is an integral number of half-wavelengths, the reflecting wave will be out of phase with the following incoming wave, producing destructive wave interference. If the incoming wave hits the reflector at a high or low point, the reflection produces constructive reinforcement, resulting in a wave with twice the amplitude. It's been a long while since I've thought about this stuff, so I believe my explanation is correct.