awickert / gFlex

Multiple methods to solve elastic plate flexure, designed for applications to Earth's lithosphere.
http://csdms.colorado.edu/wiki/Model:gFlex
GNU General Public License v3.0
21 stars 12 forks source link

Padding grids #45

Open JuergenMey opened 10 months ago

JuergenMey commented 10 months ago

Dear Andy, I hope you're doing well.

I recently worked with gflex and I ran into the following issue. I want to compute the deflection for an ice load that extents close to the grid boundaries. I have a variable Te. Now I padded the load and Te grids with one flexural wavelength. The padded values are 0 for the load grid and the mean of the Te for the Te grid. When I run gflex I get deflections in places where there is no load nearby. I have done several tests: When padding a constant Te it works fine, only when padding a variable Te with some constant value this behavior appears.

The ice load: grafik The padded Te grid: grafik The deflection pattern: grafik

Deflection grid when using a constant Te of 40 km: grafik

Any ideas why this happens? BCs are 0Displacement0Slope. Is there some in-built functionality of gflex that can do this padding? Thanks for your time. Regards, Jürgen

awickert commented 10 months ago

Thanks @JuergenMey, especially for such a detailed description of what you have done.

I think that the problem that you are encountering is due to the sudden change in Te when reaching the "padding". This discontinuity causes all of the derivatives of D to become suddenly quite large, and can affect the implicit numerical solution in unrealistic ways, as you noted here.

image Equation 10 from the gFlex paper

Would you be able to generate a smoother transition to your padded Te and then test the result? One idea could be to fill the outer area with a constant Te value and then interpolate.

JuergenMey commented 10 months ago

Thanks for your answer! I will try and report back.