Computing the Speed of Traveling Waves in 2 Dimensions

  • #1
255
37

Summary:

I would like to compute the approximate speed of travelling waves in 2 dimensions using MATLAB.
I have a 2-dimensionsal smooth function ##f(x,y,t)##. There may be multiple travelling waves across the domain. None of them are precisely travelling waves (the shape of the wave changes as it travels). Here is how one of these waves would look in 1-dimension:
travelling wave.jpg

I want to find the speed of these waves using MATLAB. (The function is just stored as a matrix of values). I was thinking of applying the wave equation $$\text{squared error}=(\frac{\partial^2 f}{\partial x^2}+\frac{\partial^2 f}{\partial y^2}-\frac{1}{v^2} \frac{\partial^2 f}{\partial t^2})^2$$ It would be an optimization problem where I find ##v## which minimizes the squared error.

I would also like to find the local speed at different ##<x,y>## values. I imagine I could do the same procedure but in a local region around that coordinate.

Would this be a reasonable approach? Would there be way of doing this efficiently? Are there better approaches?

EDIT: I'm only looking for travelling waves like the one sketched above, where there is a change from a lower value to a higher value. Could I use that to make the problem simpler?
 
Last edited:
  • Like
Likes Delta2

Answers and Replies

  • #2
Delta2
Homework Helper
Insights Author
Gold Member
3,540
1,364
Because you saying that there is dispersion(i.e shape of wave changes as it travels), this means that each Fourier component of the function f has a different velocity. So with your approach you will find something like the average velocity over the range of all frequencies. Maybe a different approach is needed to find the velocity of each frequency component, but not sure what approach exactly.
 
  • Like
Likes jasonRF
  • #3
jasonRF
Science Advisor
Gold Member
1,371
439
Without more information it is hard to help much. We don't know whether the medium is linear or nonlinear, dispersive or non-dispersive, homogeneous or inhomogeneous, etc. What is the source of this function? Did it come from some kind of simulation or is it a measurement? Of what?

If the waves are changing shape as they propagate then I would not expect them to satisfy that simple equation you wrote. Off the top of my head, the only way that equation might apply is if the velocity is a function of position.

jason
 
  • Like
Likes Delta2
  • #4
255
37
What is the source of this function? Did it come from some kind of simulation or is it a measurement? Of what?
The function is the difference of two normal kernel estimations. Each point used to create the first estimation represents a broken atomic bond and each point used to create the second estimation represents a formed atomic bond. The data was taken from a molecular dynamics simulation. The function represents the location of cracks and I attempting to determine the speed at which the cracks are growing.
 
  • Informative
Likes Delta2
  • #5
Stephen Tashi
Science Advisor
7,545
1,456
The data was taken from a molecular dynamics simulation. The function represents the location of cracks and I attempting to determine the speed at which the cracks are growing.
In the physics of the simulation how does what happens at one location affect what happens at nearby locations? How is that cause-and-effect relation implemented?

Or perhaps there is no cause-and-effect relation? Is this a simulation where what happens at a location is random and independent of other locations?
 
  • #6
255
37
In the physics of the simulation how does what happens at one location affect what happens at nearby locations? How is that cause-and-effect relation implemented?

Or perhaps there is no cause-and-effect relation? Is this a simulation where what happens at a location is random and independent of other locations?
A crack in one location will tend to spread to other regions, so a breaking of bonds in one region leads to breaking of bonds in other regions.

The molecular dynamics software (LAMMPS) looks at the force interactions between pairs of atoms to determine motion. If bonds break, that would lead to a crack, which would lead to an increase in stress around the crack, leading more bonds to break (at least this is my understanding).

Because I'm working on unpublished research, I'm also not sure if there's a restriction on what I can write, which is why I might not have been giving a complete enough explanation (and I'm also afraid to use images of the work to help explain my point).
 
  • Like
Likes Delta2
  • #7
Stephen Tashi
Science Advisor
7,545
1,456
I have a 2-dimensionsal smooth function ##f(x,y,t)##. There may be multiple travelling waves across the domain.
I'll assume ##f## is related to the thread https://www.physicsforums.com/threads/computing-the-density-of-a-point-cloud.998250/#post-6442583.

The way I visualize ##f## is as a 2-dimensional surface. As time passes I visualize the height of most points on the surface increasing. At a given time, we can draw a contour map of the surface. As time passes, the contours on the map move. So the simplest analogy to something propagating like a wave is to think about a contour changing shape as a function of time.

At a point on a contour, we can establish the vector defining a perpendicular to the contour. As one time-step passes we can imagine the contour moving along that direction to a point on the new location of the contour. The velocity of the point could be interpreted as a velocity of propagation.

I don't use MATLAB, but I imagine that it's easy to implement the above algorithm. However, it doesn't analyze ##f## as a superposition of traveling waves. It doesn't assign a constant speed of propagation to contours or even to an individual contour. You could do statistics to get average speeds, if that's what you want.

What type of statistical results from the simulation data can be checked with an actual experiment?
 
  • Like
Likes Delta2
  • #8
255
37
Yes.

What type of statistical results from the simulation data can be checked with an actual experiment?
The speed a crack propagates could be compared with an experiment. I don't know that much about experimental testing, but there are tools which measure the crack opening width to indirectly determine crack length for example. I imagine there are a bunch of other techniques for measuring crack speed.

Because I am looking for the speed the crack propagates, I realize I can be more precise with what I'm analyzing. I agree with the idea of analyzing the contours, but all I really need to look at is motion in the long direction (or the length of the crack). Here's a contour map with two cracks, with the location of the cracks drawn on in black:
cracks.png
So I think to find the speed of crack propagation, I could use some sort of an approach like this:
  1. Find regions where ##f## is above some cut-off value (these are regions where there is a crack)​
  2. Find the highest point for each of these regions (I think the crack must cross through this point)​
  3. Construct a curve which passes through this point and is normal to the contours (this is the crack)​
  4. Compare the length of the crack for each step, the difference divided by the time step being the speed​
I think I could code all of this. Do you think this seems like a reasonable approach?

(I asked about showing graphs on forums, and it should be ok, especially because I won't be publishing the data shown).
 
  • Like
Likes Delta2
  • #9
Stephen Tashi
Science Advisor
7,545
1,456
I think I could code all of this. Do you think this seems like a reasonable approach?
If we think of a crack as a figure bounded by a contour (level curve) of a surface and cracks are long and thin then the growth of the crack would occur at the "ends" and rate would be the combined growth rates of the ends. Considering the growth rates of all the points in the crack normal to the contour, the two points with the maximum grown rates would define how the length of the crack increases.

However, I'm not familiar with phyics of the problem. My general advice is this:

There are probably papers about techniques for analyzing experimental data using pattern detection algorithms to find cracks and measure their properties. If the data from the simulation resembles data from a particular type of experimental image ( visual, x-ray, etc.) look at the algorithms that people use to analyze that type of image. Think of how any results you publish will be evaluated by experimenters.
 
  • #10
hutchphd
Science Advisor
Homework Helper
2,359
1,645
i assume you are aware of the depth of existing work in this area. My initial thesis topic involved molecular dynamics simulations of crystal dislocations propagating under stress and solitary wave solutions to nonlinear models and this was c.1975. (I decided it was too much computing so I switched topics). My point is I would be surprised if something very close to this does not already exist and it may behoove you to do a very deep literature search. I may be able to resurrect long dead synapses but would need more detail....I never published in the area.
 
  • #11
255
37
I think cracks for MD simulations are usually analyzed by looking at how the positions of the atoms change over time, where gaps of atoms indicate cracks.

What I like about my approach is that there's a continuous function representing damage which allows for different types of analysis, like a probability of failure map, or a statistical analysis of how damage spreads through the sample.

However, analysis of experimental work would also look at the gap (it obviously can't analyze broken and formed bonds), so maybe the standard approach would be more analogous to experimental work. I'll make sure to ask my research advisor.
 

Related Threads on Computing the Speed of Traveling Waves in 2 Dimensions

Replies
4
Views
1K
  • Last Post
Replies
2
Views
5K
Replies
13
Views
854
  • Last Post
Replies
5
Views
2K
  • Last Post
Replies
1
Views
7K
  • Last Post
Replies
4
Views
615
Replies
14
Views
4K
Replies
4
Views
773
Replies
6
Views
2K
Replies
4
Views
2K
Top