Clear[ a1, a2 , latticePoints, q, r, s, g , gI, g1, g2]
a1={0.2,0.7} ;
a2={0.7,0.2} ;
g = 2 Pi Inverse[{a1, a2}] ;

g1 = g[[All, 1]] ;
g2 = g[[All, 2]] ;
gI[ r_, s_ ] = r g1 + s g2 ;
(*g1 . a1 / (2 Pi)
g1 . a2 / (2 Pi)
g2 . a1 / (2 Pi)
g2 . a2/ (2 Pi)*)

(*q = Dynamic[a1] ;
r = Dynamic[a2] ;
o = {0, 0} ;
off = {0.1, 0.1} ;

control = 
Graphics[
{
Locator[q], 
Locator[r], 
Line[{o, q}],Text["(Subscript[a, 1])", Dynamic[a1 + off]],
Line[{o, r}],Text["(Subscript[a, 2])", Dynamic[a2 + off]]
},
PlotRange-> {{0, 1}, {0, 1}}
] ;*)

latticePoints[a_, b_, n_] := Flatten[Array[#1a+#2b&,{n,n}], 1] 

(*Column[{control, Row[{"(Subscript[a, 1]) = ", q}],Row[{"(Subscript[a, 2]) = ", r}],Graphics[ Point[ latticePoints ]]} ]*)

Clear[ v0, v ] ;
v0[r_, e_] := 
Module[{n},
n = Norm[r] ;
Piecewise[{{-1/e, n < e}}, - 1/n ] 
]
(*v0[{1, 1}, 0.1]
v0[{0.01, 0.1}, 0.1]
v0[{0, 0.1}, 0.1]
v0[{0, 0.09}, 0.1]*)

v[r_, a_, b_, e_, n_] := Sum[ v0[r + i a + j b, e], {i, 0, n}, {j, 0, n}]

(*{Graphics[ Point[ latticePoints[ a1, a2, 3 ] ]],
v[{x, y}, a1, a2, 0.1, 1] }*)

(*Clear[ f ]
f[x_, y_] = v[{x, y}, a1, a2, 0.1, 10] ;

Plot3D[ f[x, y], {x, -12, 2}, {y, -12, 2}, PlotRange -> Full ]*)
Module[{e, nSrc, f},
e = 0.1 ;
nSrc = 4 ;
f[x_, y_] = v[{x, y}, a1, a2, e, nSrc] ;

Plot3D[ f[x, y], {x, -4, 0}, {y, -4, 0}, PlotRange -> Full ]
]

Module[{vg, vf, c, e, nSrc, nFourierTerms},
vg[ r_, s_ , e_, nn_] := NIntegrate[ v[uu a1 + vv a2, a1, a2, e, nn]  E^(- 2 Pi I( r uu + s vv)), {uu, 0, 1}, {vv, 0, 1},AccuracyGoal->5 ] ;
(*vg[ 0, 0 ]
vg[ 0, 1 ]
vg[ 1, 0 ]*)

nSrc = 4 ;
nFourierTerms = 2 ;
e = 0.1 ;
c = vg[ 0, 0, e, nSrc] ;
vf[r_] = c + 2 Re[Sum[ vg[ i, j, e, nSrc] E^( I gI[i, j] . r ), {i, 1, nFourierTerms}, {j, 1, nFourierTerms}] ]// Simplify ;
{
vf[{x, y}],
Plot3D[ 
vf[{x, y}],
{x, 0, 3},
{y, 0, 3},
PlotRange -> Full
]
}
]

 (*Module[{r, s},
r = 0 ;
s = 0 ;
v[u a1 + v a2, a1, a2, 0.1, 2]  E^(- 2 Pi I( r u + s v))

]*)

(*N[ Table[v[uu a1 + vv a2, a1, a2, 0.1, 1]  E^(- 2 Pi I( r uu + s vv)), {uu, 0, 1, 0.5}, {vv, 0, 1, 0.5}]]*)

Module[{vg, vf, c, e, nSrc, nFourierTerms},
vg[ r_, s_ , e_, nn_] := NIntegrate[ v[uu a1 + vv a2, a1, a2, e, nn]  E^(- 2 Pi I( r uu + s vv)), {uu, 0, 1}, {vv, 0, 1},AccuracyGoal->6 ] ;
(*vg[ 0, 0 ]
vg[ 0, 1 ]
vg[ 1, 0 ]*)

nSrc = 1 ;
nFourierTerms = 6 ;
e = 0.1 ;
c = vg[ 0, 0, e, nSrc] ;
vf[r_] = c + 2 Re[Sum[ vg[ i, j, e, nSrc] E^( I gI[i, j] . r ), {i, 1, nFourierTerms}, {j, 1, nFourierTerms}] ]// Simplify ;
{
(*vf[{x, y}],*)
Plot3D[ 
vf[{x, y}],
{x, -1, 0.2},
{y, -1, 0.2},
PlotRange -> Full
]
,
Plot3D[ 
v[{x, y}, a1, a2, e, 1],
{x, -1, 0.2},
{y, -1, 0.2},
PlotRange -> Full
]

}
]

Module[{vg, vf, c, e, nSrc, nFourierTerms},
vg[ r_, s_ , e_, nn_] := NIntegrate[ v[uu a1 + vv a2, a1, a2, e, nn]  E^(- 2 Pi I( r uu + s vv)), {uu, 0, 1}, {vv, 0, 1}(*,AccuracyGoal->6*) ] ;
(*vg[ 0, 0 ]
vg[ 0, 1 ]
vg[ 1, 0 ]*)

nSrc = 0 ;
nFourierTerms = 6 ;
e = 0.1 ;
c = vg[ 0, 0, e, nSrc] ;
vf[r_] = c + 2 Re[Sum[ vg[ i, j, e, nSrc] E^( I gI[i, j] . r ), {i, 1, nFourierTerms}, {j, 1, nFourierTerms}] ]// Simplify ;
{
(*vf[{x, y}],*)
Plot3D[ 
vf[{x, y}],
{x, -1, 0.2},
{y, -1, 0.2},
PlotRange -> Full
]
,
Plot3D[ 
v[{x, y}, a1, a2, e, nSrc],
{x, -1, 0.2},
{y, -1, 0.2},
PlotRange -> Full
]

}
]

Abs[0.08964949192105502` +0.117318362075986` I]
Abs[0.09462630823289493` +0.20423385232144295` I]