This file calculates the applications in Y.-S. Chan, A. C. Fannjiang, and G. H. Paulino, Integral equations with hypersingular kernels -- theory and applications to fracture mechanics, Int. J. Eng. Sci., 41:683--720, 2003.
In [1]:
#Requires Gadfly
using ApproxFun, SingularIntegralEquations, Interact
For the crack opening displacement $\Delta v$: $$\frac{P.V.}{\pi}\int_{-1}^{+1}\frac{\Delta v(y)}{(y-x)^2}{\rm d}y + \frac{1}{\pi}\int_{-1}^{+1}K(x,y)\Delta v(y){\rm d}y = p(x), \qquad \Delta v(\pm1)=0,$$ where: $$K(x,y) = -\frac{1}{(x+y+2\epsilon)^2}+\frac{12(x+\epsilon)}{(x+y+2\epsilon)^3}-\frac{12(x+\epsilon)^2}{(x+y+2\epsilon)^4},\qquad p(x) = -1.$$
In [2]:
x = Fun(identity)
w = 1/sqrt(1-x^2)
d = domain(x)
d2 = d^2
B = dirichlet(d)
H2 = Hilbert(d,2)
S = DefiniteIntegral(d)
p = -Fun(one)
@manipulate for ϵ=1.05:0.01:1.5
K = LowRankFun((x,y)->-1./(x+y+2ϵ).^2+12(x+ϵ)./(x+y+2ϵ).^3-12(x+ϵ).^2./(x+y+2ϵ).^4,d2)
L = H2[w] + S[K*(w/π)]
uSIE = [B,L]\[zeros(2),p]
ApproxFun.plot(uSIE*w;axis=[0.0,1.5])
end
Out[2]:
For the crack opening displacement $\Delta v$: $$G(x)\frac{P.V.}{\pi}\int_{-1}^{+1}K(x,y)\Delta v(y){\rm d}y = p(x), \qquad \Delta v(\pm1)=0,$$ where: $$K(x,y) = \frac{\beta e^{\beta(y-x)/2}}{2}\frac{K_1(\beta|y-x|)}{|y-x|},\qquad G(x) = e^{\beta x},\qquad p(x) = -1.$$
In [3]:
include("Fractureaux.jl")
d = Segment(-1.,1.)
sp = Space(d)
wsp = JacobiWeight(-.5,-.5,sp)
⨍ = DefiniteLineIntegral(wsp)
x = Fun(identity,d)
B = dirichlet(d)
p = -Fun(one)
@manipulate for β = -2.0:0.1/π:2.0
G = exp(β*x)
K = ProductFun((x,y)->1/π*exp(β/2*(y-x))*β^2/2^2*(FK1(β*(y-x)/2)*(log(abs(β)/4) + γ) - GK1(β*(y-x)/2)/2),sp,wsp;method=:convolution)
K0 = ProductFun((x,y)->exp(β/2*(y-x))*abs(β)/2*besseli(1,abs(β*(y-x)/2))/abs(y-x),CauchyWeight{0}(sp⊗wsp))
K2 = ProductFun((x,y)->exp(β/2*(y-x)),CauchyWeight{2}(sp⊗wsp))
L,p = ⨍[K2+K0+K],-Fun(one,sp)
uSIE = [B,L]\[zeros(2),p/G]
ApproxFun.plot(uSIE*w/G[1],axis=[0.0,12.0])
end
Out[3]:
For the crack opening displacement $\Delta v$: $$\frac{P.V.}{\pi}\int_{-1}^{+1}\left(\frac{-6\epsilon^2}{(y-x)^4} + \frac{1}{(y-x)^2}\right)\Delta v(y){\rm d}y = p(x), \qquad \Delta v(\pm1)=\Delta v'(\pm1)=0,\qquad {\rm where} \qquad p(x) = -1.$$
In [4]:
x = Fun(identity)
w = 1/sqrt(1-x^2)
d = domain(x)
d2 = d^2
B = [dirichlet(d),neumann(d)]
H2 = Hilbert(d,2)
H4 = Hilbert(d,4)
p = -Fun(one)
@manipulate for ϵ = 0.0005:0.0005:0.4
L = -6ϵ^2*H4[w] + H2[w]
uSIE = [B,L]\[zeros(4),p]
ApproxFun.plot(uSIE*w;axis=[0.0,1.0])
end
Out[4]:
We seek that real function $\phi(z)$ that satisfies the Laplace equation: $$ -\Delta\phi = 0, $$ in the exterior domain, and the boundary condition: $$ \phi = \phi_0\qquad\mathrm{on~the~disks.} $$ such that: $$ \phi(z) = \log|z-z_s| + {\cal O}(1),\quad{\rm as}\quad z\to z_s, $$
$$ \phi(z) = \log|z| + o(1),\quad{\rm as}\quad z\to\infty. $$with a source of $2\pi$ units at $z_s = 2$.
S. J. Chapman and D. P. Hewett and L. N. Trefethen, Mathematics of the Faraday cage, SIAM Rev., 2015.
In [5]:
require("Gadfly")
z_0 = 2.0
ui(x,y) = logabs(complex(x,y)-z_0)
g1(x,y) = 0.5
@manipulate for N in [4,6,8,10,12], r in [1e-1,5e-2,1e-2,5e-3,1e-3], domains in [:Circles,:Segments,:Alternating]
cr = exp(im*2π*[0:N-1]/N)
crl,crr = (1-2im*r)cr,(1+2im*r)cr
if domains == :Circles
dom = ∪(Circle,cr,ones(length(cr))r)
elseif domains == :Segments
dom = ∪(Segment,crl,crr)
elseif domains == :Alternating
dom = ∪(Segment,crl[1:2:end],crr[1:2:end]) ∪ ∪(Circle,cr[2:2:end],ones(length(cr[2:2:end]))r)
end
sp = Space(dom)
cwsp = CauchyWeight(sp⊗sp,0)
uiΓ,⨍ = Fun(t->ui(real(t),imag(t))+0im,sp),DefiniteLineIntegral(dom)
@time G = GreensFun(g1,cwsp;method=:Cholesky)
@time φ0,∂u∂n=vec([0 ⨍;1 ⨍[G]]\Any[0.,uiΓ])
us(x,y) = -logkernel(∂u∂n,complex(x,y))/2
ut(x,y) = real(ui(x,y) + us(x,y))
pl = Main.Gadfly.plot(ut,-2.,3.,-1.5,1.5,Main.Gadfly.Stat.contour(samples=75, levels=[-2:0.5:-1.0,-0.7:0.2:-0.3,-0.2:0.1:1.2]))
pl.layers = [ApproxFun.layer(dom),pl.layers]
Main.Gadfly.render(pl)
end
Out[5]:
In [ ]: