2D Linear elasticity. Weighted Jacobi relaxation

n rel ω

This GPU based script draws 10 cross-sections Xi,n/2 after every 2rel weighted Jacobi iterations.
Fxi,j = Fyi,j = sin(πi/n) sin(πj/n).

Linear elasticity

For small deformations the equilibrium equation in the displacement formulation is [1]
    (μ + λ)∇divu + μΔu + f = 0,
where u = (X, Y) is displacement of a point from equilibrium position, μ, λ are Lame parameters (we put μ = 1 ). Using 2-nd order finite differences we obtain the approximate equation
    (2 + λ)(Xi+1,j + Xi-1,j - 2Xi,j ) + Xi,j+1 + Xi,j-1 - 2Xi,j + (Yi+1,j+1 + Yi-1,j-1 - Yi+1,j-1 - Yi-1,j+1 )(1 + λ)/4 + h2Fxi,j = 0.     (*)

2D weighted Jacobi relaxation algorithm

For weighted Jacobi relaxation of (Xi,j , Yi,j ) on n×n grid we rewrite equations (*) as
    2(3 + λ)Xi,j = (2 + λ)(Xi+1,j + Xi-1,j ) + Xi,j+1 + Xi,j-1 + (Yi+1,j+1 + Yi-1,j-1 - Yi+1,j-1 - Yi-1,j+1 )(1 + λ)/4 + h2Fxi,j
See also 2D weighted Jacobi relaxation on CPU.

[1] Linear elasticity (Wiki)


Simulations on GPU     updated 7 Aug 2012