#!/usr/bin/env python
import fipy
mesh = fipy.GmshImporter2D('test0.msh')
X,Y = mesh.getFaceCenters()
x0,y0 = 10,0
r = 5
potential = fipy.CellVariable(mesh=mesh, name='potential', value=0.)
permittivity = 1.
potential.equation = (fipy.DiffusionTerm(coeff = permittivity) == 0.)
allfaces = mesh.getExteriorFaces()
ring = allfaces & ( (X-x0)**2+(Y-y0)**2 < (r+1.5)**2)
bcs = (
fipy.FixedValue(value=5.,faces=ring),
fipy.FixedValue(value=0.,faces=mesh.getFacesLeft()),
)
potential.equation.solve(var=potential, boundaryConditions=bcs)
viewer = fipy.viewers.Viewer(vars=(potential,))
viewer.plot("estat-example-3.png")