Dear NGSolve Developers,
I am trying to extract the solution in a 3D problem on a given plane. So, once the solution is available from the solver, I set up a cloud of points defined over a 2D region [-R,R]^2:
comm.Barrier()
if (rank==0):
Nx=100;
Ny=100;
xmin,xmax,ymin,ymax = [-R,R,-R,R]; # R is given
plot_grid = np.mgrid[xmin:xmax:Nx*1j,ymin:ymax:Ny*1j];
points = np.vstack((plot_grid[0].ravel(),plot_grid[1].ravel(),
np.array([0]*plot_grid[0].size)));
fem_xx = my_points[0,:]
fem_xy = my_points[1,:]
for ipt in range(0,len(fem_xx)):
val = u(mesh(fem_xx[ipt],fem_xy[ipt],0.0))
While this works without mpirun, when i launch the script with more than 1 cores, i end up in SIGSEGV fault. Most likely because inside the for loop the partitioning information is lost. Is there a better way of extracting the solution on a given plane which works with mpirun? Other possibility which i could think of is to write the vtk file and then use vtkcutter to slice through the domain and save the solution.
Thanks in advance!