# Partial integro-differential equation

I want to solve the following partial integro-differential equation for $$\delta(x,t)$$: $$1-B \cdot \frac{\partial \delta(x, t)}{\partial t}=\frac{1}{\pi} \int_{-1}^1 \frac{\partial \delta(s, t)}{\partial s} \frac{1}{x-s} d s$$ where B is a constant, x is from -1 to 1, t is from 0 to $$\infty$$. Initial condition is $$\delta(x,0)=0$$. The Cauchy kernel, $$1/(x-s)$$, could bring singularity to the integral. From my side, I tried to use Finite Hilbert transform and Gauss-Chebyshev quadrature to solve it numerically following this paper, https://doi.org/10.1016/j.jmps.2018.01.008 (which could handle the singularity well), but the LHS has a time derivative (which seems not to be covered in the above paper), which brought new troubles to use the above numerical method. So, I am thinking are there any better ways to solve it numerically or analytically (could be impossible)?

• I'm missing boundary conditions. Perhaps [Delta][-1, t] == 0, [Delta][ 1, t] == 0? Apr 4 at 8:10
• Hi @UlrichNeumann, actually, I am not that sure about the boundary condition. However, I am sure the left and right ends are free, i.e., [Delta][-1, t] == 0, [Delta][ 1, t] == 0 is not the boundary condition. Two possible BCs are: either (1) $\delta(-1,t)-\delta(1,t)=0$; or (2) $\partial\delta(0,t)/\partial s=0$.
– Rui
Apr 5 at 0:16

modified

Try Galerkin method using MeshElementInterpolation:

First we set B=1 by choosing an appropriate time scale.

Needs["NDSolveFEM"]
xi = Subdivide[-1, 1, 10];
netz = ToElementMesh[Map[{#} &, xi]]
\[Phi]i =Map[ElementMeshInterpolation[netz, #] &, IdentityMatrix[Length[xi]]];
Plot[Evaluate[Through[\[Phi]i[x]]], {x, Min[xi], Max[xi]},PlotRange -> All]


eps = .001
rS = NIntegrate[Outer[Times, Through[\[Phi]i[x]],Map[D[#[s], s  ] &, \[Phi]i]/(\[Pi] (x - s))], {x, -1,1}, {s, -1, x - eps}, Method -> "LocalAdaptive" ] +
NIntegrate[Outer[Times, Through[\[Phi]i[x]],Map[D[#[s], s  ] &, \[Phi]i]/(\[Pi] (x - s))], {x, -1, 1}, {s,x + eps, 1} , Method -> "LocalAdaptive" ]; // Quiet

M = NIntegrate[Outer[Times, Through[\[Phi]i[x]], Through[\[Phi]i[x]]], {x,-1, 1},Method -> "InterpolationPointsSubdivision" ] // Quiet
eins = NIntegrate[ Through[\[Phi]i[x]] , {x, -1, 1},Method -> "InterpolationPointsSubdivision" ] // Quiet


Unknown function \[Delta][x, t]  is approximated by u[i][t] \[Phi]i[x]

ui = Table[u[i][t], {i, Length[\[Phi]i]}]


Solve ode system eins - M . D[ui, t] == rS . ui

sol = NDSolveValue[{eins - M . D[ui, t] == rS . ui,Map[# == 0 &, ui /. t -> 0]}, ui, {t, 0, 1}];


plot result

Plot3D[sol . Through[\[Phi]i[x]], {t, 0, .5}, {x, -1, 1},PlotRange -> All, AxesLabel -> {t, x, \[Delta][x, t]}]


I am not sure wether integration of the singularities is done correctly near the boundary x==-1 and x==1. Perhaps we need \[Delta][-1, t]==0 and \[Delta][ 1, t]==0` to get correct results from Galerkin method...

• I guess so. The peaks and valleys (up and down) in the plot might be due to the singularity of the integral. For the singular problem using Galerkin methed to solve, maybe the mesh needs to be modified accordingly.
– Rui
Apr 5 at 0:24