# NOT RUN {
if (require(INLA)) {
nxy = 40
x=seq(from=0,to=4,length.out=nxy)
lattice=inla.mesh.lattice(x=x,y=x)
mesh=inla.mesh.create(lattice=lattice, extend=FALSE, refine=FALSE)
#extract a part of the mesh inside a circle
xy.in <- rowSums((mesh$loc[,1:2]-2)^2)<1
submesh <- submesh.grid(matrix(xy.in,nxy,nxy),
list(loc=mesh$loc,dim=c(nxy,nxy)))
plot(mesh$loc[,1:2])
lines(2+cos(seq(0,2*pi,length.out=100)), 2+sin(seq(0,2*pi,length.out=100)))
plot(submesh,add=TRUE)
points(mesh$loc[xy.in,1:2],col="2")
}
# }
Run the code above in your browser using DataLab