From dddf00cf25da52c5d98a8670ab35fa111b15c8fd Mon Sep 17 00:00:00 2001 From: Martin Genet <martin.genet@polytechnique.edu> Date: Thu, 17 Jan 2019 10:06:50 +0100 Subject: [PATCH] Now it also works in 2D --- ImageIterator.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ImageIterator.py b/ImageIterator.py index 3e6fae3..e650c94 100644 --- a/ImageIterator.py +++ b/ImageIterator.py @@ -84,6 +84,8 @@ class ImageIterator(): basename=self.initialize_U_basename, ext=self.initialize_U_ext) + dof_to_vertex_map = dolfin.dof_to_vertex_map(self.problem.U_fs) + n_iter_tot = 0 global_success = True for forward_or_backward in ["forward","backward"]: @@ -112,10 +114,13 @@ class ImageIterator(): if (self.initialize_U_from_file): mesh = mesh_series.get_mesh(k_frame) array_U = mesh.GetPointData().GetArray(self.initialize_U_array_name) - array_U = vtk.util.numpy_support.vtk_to_numpy(array_U) - array_U = array_U.astype(float) + array_U = vtk.util.numpy_support.vtk_to_numpy(array_U)[:,:self.problem.mesh_dimension] + # print array_U + # array_U = array_U.astype(float) + # print array_U array_U = numpy.reshape(array_U, array_U.size) - self.problem.U.vector()[:] = array_U[dolfin.dof_to_vertex_map(self.problem.U_fs)] + # print array_U + self.problem.U.vector()[:] = array_U[dof_to_vertex_map] elif (self.initialize_DU_with_DUold): self.problem.U.vector().axpy(1., self.problem.DUold.vector()) -- GitLab