Fortran 1D Shallow Water Wave in FORTRAN using LAX WENDROFF Method

AI Thread Summary
The discussion focuses on simulating a 1D shallow water wave in FORTRAN using the Lax Wendroff Method, specifically addressing the challenge of implementing a reflective boundary condition at a wall. The user experiences a crash when the generated wave reaches the wall and seeks guidance on appropriate boundary conditions for variables h and A. Previous attempts using HNP1(1)=HNP1(2) and ANP1(1)=ANP1(2) were unsuccessful. Additional insights highlight that wave behavior upon reflection can vary based on the distance between the wave source and the reflecting surface, affecting wave interference patterns. The thread emphasizes the need for clarity on the variables and equations involved to resolve the boundary condition issue effectively.
Aun Muhammad
Messages
14
Reaction score
0
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 traveling 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 traveling 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
    D2B028C8-4DF8-44DA-820C-B19CC329FA90.jpeg
    13.6 KB · Views: 553
  • F53685CF-7C30-41A0-9F81-6FC8812BB6CB.jpeg
    F53685CF-7C30-41A0-9F81-6FC8812BB6CB.jpeg
    13.6 KB · Views: 626
Technology news on Phys.org
What is your question?
 
The question is that what must be an appropriate 'reflective boundary condition' at the wall to simulate the reflection of the shallow water wave?
 
Aun Muhammad said:
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.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top