On 02/21/2013 10:07 PM, Garth N. Wells wrote: > On 21 February 2013 21:06, Johan Hake <[email protected]> wrote: >> On 02/21/2013 09:56 PM, Garth N. Wells wrote: >>> On 21 February 2013 20:39, Johan Hake <[email protected]> wrote: >>>> Why do we need the unsigned int version btw? >>>> >>> >>> Perhaps we can just get rid of it. >> >> Is it so people can read their old MeshFunction files? >> > > Not sure - it should work reading old MeshFunction files into a size_t > Meshfunction.
Ok, if no one come up with a strong argument for keeping it I vote for removing it. Johan > Garth > >> Johan >> >>> Garth >>> >>>> Johan >>>> >>>> On 02/21/2013 09:10 PM, Johan Hake wrote: >>>>> Ok, then I am not sure we have a solution for the problem without having >>>>> some conditional compilation for 32 bit machines. >>>>> >>>>> Johan >>>>> >>>>> On 02/21/2013 08:41 PM, Garth N. Wells wrote: >>>>>> This will cause a problem on 32-bit systems where std::size_t is a >>>>>> typedef for unsigned int. The use of long unsigned int was deliberate. >>>>>> >>>>>> Garth >>>>>> >>>>>> >>>>>> ---------- Forwarded message ---------- >>>>>> From: <[email protected]> >>>>>> Date: 21 February 2013 19:38 >>>>>> Subject: [Branch ~dolfin-core/dolfin/trunk] Rev 7462: Changed unsigned >>>>>> long int to std::size_t in File interface fixing >>>>>> To: Garth Wells <[email protected]> >>>>>> >>>>>> >>>>>> ------------------------------------------------------------ >>>>>> revno: 7462 >>>>>> committer: Johan Hake <[email protected]> >>>>>> branch nick: work-trunk >>>>>> timestamp: Thu 2013-02-21 20:35:38 +0100 >>>>>> message: >>>>>> Changed unsigned long int to std::size_t in File interface fixing >>>>>> problem with outputting MeshFunction<std::size_t> to file >>>>>> modified: >>>>>> dolfin/io/GenericFile.cpp >>>>>> dolfin/io/GenericFile.h >>>>>> dolfin/io/HDF5Interface.h >>>>>> dolfin/io/VTKFile.cpp >>>>>> dolfin/io/VTKFile.h >>>>>> dolfin/io/XDMFFile.cpp >>>>>> dolfin/io/XDMFFile.h >>>>>> dolfin/io/XMLFile.h >>>>>> dolfin/swig/io/pre.i >>>>>> test/unit/io/python/XDMF.py >>>>>> >>>>>> >>>>>> -- >>>>>> lp:dolfin >>>>>> https://code.launchpad.net/~dolfin-core/dolfin/trunk >>>>>> >>>>>> Your team DOLFIN Core Team is subscribed to branch lp:dolfin. >>>>>> To unsubscribe from this branch go to >>>>>> https://code.launchpad.net/~dolfin-core/dolfin/trunk/+edit-subscription >>>>>> >>>>>> === modified file 'dolfin/io/GenericFile.cpp' >>>>>> --- dolfin/io/GenericFile.cpp 2012-12-04 20:34:24 +0000 >>>>>> +++ dolfin/io/GenericFile.cpp 2013-02-21 19:35:38 +0000 >>>>>> @@ -73,9 +73,9 @@ >>>>>> read_not_impl("MeshFunction<int>"); >>>>>> } >>>>>> >>>>>> //----------------------------------------------------------------------------- >>>>>> -void GenericFile::operator>> (MeshFunction<unsigned long int>& >>>>>> mesh_function) >>>>>> +void GenericFile::operator>> (MeshFunction<std::size_t>& mesh_function) >>>>>> { >>>>>> - read_not_impl("MeshFunction<unsigned long int>"); >>>>>> + read_not_impl("MeshFunction<std::size_t>"); >>>>>> } >>>>>> >>>>>> //----------------------------------------------------------------------------- >>>>>> void GenericFile::operator>> (MeshFunction<unsigned int>& mesh_function) >>>>>> @@ -98,9 +98,9 @@ >>>>>> read_not_impl("MeshValueCollection<int>"); >>>>>> } >>>>>> >>>>>> //----------------------------------------------------------------------------- >>>>>> -void GenericFile::operator>> (MeshValueCollection<unsigned long int>& >>>>>> mesh_markers) >>>>>> +void GenericFile::operator>> (MeshValueCollection<std::size_t>& >>>>>> mesh_markers) >>>>>> { >>>>>> - read_not_impl("MeshValueCollection<unsigned long int>"); >>>>>> + read_not_impl("MeshValueCollection<std::size_t>"); >>>>>> } >>>>>> >>>>>> //----------------------------------------------------------------------------- >>>>>> void GenericFile::operator>> (MeshValueCollection<unsigned int>& >>>>>> mesh_markers) >>>>>> @@ -202,10 +202,9 @@ >>>>>> { >>>>>> write_not_impl("MeshFunction<int>"); >>>>>> } >>>>>> -//----------------------------------------------------------------------------- >>>>>> -void GenericFile::operator<< (const MeshFunction<unsigned long int>& >>>>>> mesh_function) >>>>>> +void GenericFile::operator<< (const MeshFunction<std::size_t>& >>>>>> mesh_function) >>>>>> { >>>>>> - write_not_impl("MeshFunction<unsigned long int>"); >>>>>> + write_not_impl("MeshFunction<std::size_t>"); >>>>>> } >>>>>> >>>>>> //----------------------------------------------------------------------------- >>>>>> void GenericFile::operator<< (const MeshFunction<unsigned int>& >>>>>> mesh_function) >>>>>> @@ -228,9 +227,9 @@ >>>>>> write_not_impl("MeshValueCollection<int>"); >>>>>> } >>>>>> >>>>>> //----------------------------------------------------------------------------- >>>>>> -void GenericFile::operator<< (const MeshValueCollection<unsigned long >>>>>> int>& mesh_markers) >>>>>> +void GenericFile::operator<< (const MeshValueCollection<std::size_t>& >>>>>> mesh_markers) >>>>>> { >>>>>> - write_not_impl("MeshValueCollection<unsigned long int>"); >>>>>> + write_not_impl("MeshValueCollection<std::size_t>"); >>>>>> } >>>>>> >>>>>> //----------------------------------------------------------------------------- >>>>>> void GenericFile::operator<< (const MeshValueCollection<unsigned >>>>>> int>& mesh_markers) >>>>>> >>>>>> === modified file 'dolfin/io/GenericFile.h' >>>>>> --- dolfin/io/GenericFile.h 2012-12-19 17:29:40 +0000 >>>>>> +++ dolfin/io/GenericFile.h 2013-02-21 19:35:38 +0000 >>>>>> @@ -59,12 +59,12 @@ >>>>>> virtual void operator>> (GenericDofMap& dofmap); >>>>>> virtual void operator>> (LocalMeshData& data); >>>>>> virtual void operator>> (MeshFunction<int>& mesh_function); >>>>>> - virtual void operator>> (MeshFunction<unsigned long int>& >>>>>> mesh_function); >>>>>> + virtual void operator>> (MeshFunction<std::size_t>& mesh_function); >>>>>> virtual void operator>> (MeshFunction<unsigned int>& mesh_function); >>>>>> virtual void operator>> (MeshFunction<double>& mesh_function); >>>>>> virtual void operator>> (MeshFunction<bool>& mesh_function); >>>>>> virtual void operator>> (MeshValueCollection<int>& mesh_markers); >>>>>> - virtual void operator>> (MeshValueCollection<unsigned long int>& >>>>>> mesh_markers); >>>>>> + virtual void operator>> (MeshValueCollection<std::size_t>& >>>>>> mesh_markers); >>>>>> virtual void operator>> (MeshValueCollection<unsigned int>& >>>>>> mesh_markers); >>>>>> virtual void operator>> (MeshValueCollection<double>& mesh_markers); >>>>>> virtual void operator>> (MeshValueCollection<bool>& mesh_markers); >>>>>> @@ -87,12 +87,12 @@ >>>>>> virtual void operator<< (const GenericDofMap& dofmap); >>>>>> virtual void operator<< (const LocalMeshData& data); >>>>>> virtual void operator<< (const MeshFunction<int>& mesh_function); >>>>>> - virtual void operator<< (const MeshFunction<unsigned long int>& >>>>>> mesh_function); >>>>>> + virtual void operator<< (const MeshFunction<std::size_t>& >>>>>> mesh_function); >>>>>> virtual void operator<< (const MeshFunction<unsigned int>& >>>>>> mesh_function); >>>>>> virtual void operator<< (const MeshFunction<double>& mesh_function); >>>>>> virtual void operator<< (const MeshFunction<bool>& mesh_function); >>>>>> virtual void operator<< (const MeshValueCollection<int>& >>>>>> mesh_markers); >>>>>> - virtual void operator<< (const MeshValueCollection<unsigned long >>>>>> int>& mesh_markers); >>>>>> + virtual void operator<< (const MeshValueCollection<std::size_t>& >>>>>> mesh_markers); >>>>>> virtual void operator<< (const MeshValueCollection<unsigned int>& >>>>>> mesh_markers); >>>>>> virtual void operator<< (const MeshValueCollection<double>& >>>>>> mesh_markers); >>>>>> virtual void operator<< (const MeshValueCollection<bool>& >>>>>> mesh_markers); >>>>>> >>>>>> === modified file 'dolfin/io/HDF5Interface.h' >>>>>> --- dolfin/io/HDF5Interface.h 2012-12-19 17:29:40 +0000 >>>>>> +++ dolfin/io/HDF5Interface.h 2013-02-21 19:35:38 +0000 >>>>>> @@ -458,7 +458,7 @@ >>>>>> template<> >>>>>> inline void HDF5Interface::add_attribute_value(const hid_t dset_id, >>>>>> const std::string >>>>>> attribute_name, >>>>>> - const std::vector<unsigned >>>>>> long int>& attribute_value) >>>>>> + const >>>>>> std::vector<std::size_t>& attribute_value) >>>>>> { >>>>>> >>>>>> // Create a vector dataspace >>>>>> @@ -526,7 +526,7 @@ >>>>>> template<> >>>>>> inline void HDF5Interface::get_attribute_value(const hid_t attr_type, >>>>>> const hid_t attr_id, >>>>>> - unsigned long int& >>>>>> attribute_value) >>>>>> + std::size_t& >>>>>> attribute_value) >>>>>> { >>>>>> // FIXME: more complete check of type >>>>>> dolfin_assert(H5Tget_class(attr_type) == H5T_INTEGER); >>>>>> @@ -588,7 +588,7 @@ >>>>>> template<> >>>>>> inline void HDF5Interface::get_attribute_value(const hid_t attr_type, >>>>>> const hid_t attr_id, >>>>>> - std::vector<unsigned long >>>>>> int>& attribute_value) >>>>>> + std::vector<std::size_t>& >>>>>> attribute_value) >>>>>> { >>>>>> // FIXME: more complete check of type >>>>>> dolfin_assert(H5Tget_class(attr_type) == H5T_INTEGER); >>>>>> @@ -622,7 +622,7 @@ >>>>>> { return H5T_NATIVE_UINT; } >>>>>> >>>>>> //----------------------------------------------------------------------------- >>>>>> template <> >>>>>> - inline hid_t HDF5Interface::hdf5_type<unsigned long int>() >>>>>> + inline hid_t HDF5Interface::hdf5_type<std::size_t>() >>>>>> { return H5T_NATIVE_ULONG; } >>>>>> >>>>>> //----------------------------------------------------------------------------- >>>>>> >>>>>> >>>>>> === modified file 'dolfin/io/VTKFile.cpp' >>>>>> --- dolfin/io/VTKFile.cpp 2013-02-05 19:34:25 +0000 >>>>>> +++ dolfin/io/VTKFile.cpp 2013-02-21 19:35:38 +0000 >>>>>> @@ -128,7 +128,7 @@ >>>>>> mesh_function_write(meshfunction); >>>>>> } >>>>>> >>>>>> //---------------------------------------------------------------------------- >>>>>> -void VTKFile::operator<<(const MeshFunction<unsigned long int>& >>>>>> meshfunction) >>>>>> +void VTKFile::operator<<(const MeshFunction<std::size_t>& meshfunction) >>>>>> { >>>>>> mesh_function_write(meshfunction); >>>>>> } >>>>>> >>>>>> === modified file 'dolfin/io/VTKFile.h' >>>>>> --- dolfin/io/VTKFile.h 2012-12-04 11:29:59 +0000 >>>>>> +++ dolfin/io/VTKFile.h 2013-02-21 19:35:38 +0000 >>>>>> @@ -52,7 +52,7 @@ >>>>>> void operator<< (const Mesh& mesh); >>>>>> void operator<< (const MeshFunction<bool>& meshfunction); >>>>>> void operator<< (const MeshFunction<unsigned int>& meshfunction); >>>>>> - void operator<< (const MeshFunction<unsigned long int>& >>>>>> meshfunction); >>>>>> + void operator<< (const MeshFunction<std::size_t>& meshfunction); >>>>>> void operator<< (const MeshFunction<int>& meshfunction); >>>>>> void operator<< (const MeshFunction<double>& meshfunction); >>>>>> void operator<< (const Function& u); >>>>>> >>>>>> === modified file 'dolfin/io/XDMFFile.cpp' >>>>>> --- dolfin/io/XDMFFile.cpp 2013-02-11 15:13:49 +0000 >>>>>> +++ dolfin/io/XDMFFile.cpp 2013-02-21 19:35:38 +0000 >>>>>> @@ -453,7 +453,7 @@ >>>>>> write_mesh_function(meshfunction); >>>>>> } >>>>>> >>>>>> //---------------------------------------------------------------------------- >>>>>> -void XDMFFile::operator<< (const MeshFunction<unsigned long int>& >>>>>> meshfunction) >>>>>> +void XDMFFile::operator<< (const MeshFunction<std::size_t>& >>>>>> meshfunction) >>>>>> { >>>>>> write_mesh_function(meshfunction); >>>>>> } >>>>>> >>>>>> === modified file 'dolfin/io/XDMFFile.h' >>>>>> --- dolfin/io/XDMFFile.h 2012-12-04 11:29:59 +0000 >>>>>> +++ dolfin/io/XDMFFile.h 2013-02-21 19:35:38 +0000 >>>>>> @@ -77,7 +77,7 @@ >>>>>> void operator<< (const MeshFunction<bool>& meshfunction); >>>>>> void operator<< (const MeshFunction<int>& meshfunction); >>>>>> void operator<< (const MeshFunction<unsigned int>& meshfunction); >>>>>> - void operator<< (const MeshFunction<unsigned long int>& >>>>>> meshfunction); >>>>>> + void operator<< (const MeshFunction<std::size_t>& meshfunction); >>>>>> void operator<< (const MeshFunction<double>& meshfunction); >>>>>> >>>>>> private: >>>>>> >>>>>> === modified file 'dolfin/io/XMLFile.h' >>>>>> --- dolfin/io/XMLFile.h 2012-12-19 19:10:49 +0000 >>>>>> +++ dolfin/io/XMLFile.h 2013-02-21 19:35:38 +0000 >>>>>> @@ -89,9 +89,9 @@ >>>>>> { write_mesh_function(output, "uint"); } >>>>>> >>>>>> // MeshFunction (uint) >>>>>> - void operator>> (MeshFunction<unsigned long int>& input) >>>>>> + void operator>> (MeshFunction<std::size_t>& input) >>>>>> { read_mesh_function(input, "uint"); } >>>>>> - void operator<< (const MeshFunction<unsigned long int>& output) >>>>>> + void operator<< (const MeshFunction<std::size_t>& output) >>>>>> { write_mesh_function(output, "uint"); } >>>>>> >>>>>> // MeshFunction (int) >>>>>> @@ -118,10 +118,10 @@ >>>>>> void operator<< (const MeshValueCollection<unsigned int>& output) >>>>>> { write_mesh_value_collection(output, "uint"); } >>>>>> >>>>>> - // MeshValueCollection (unsigned long int) >>>>>> - void operator>> (MeshValueCollection<unsigned long int>& input) >>>>>> + // MeshValueCollection (std::size_t) >>>>>> + void operator>> (MeshValueCollection<std::size_t>& input) >>>>>> { read_mesh_value_collection(input, "uint"); } >>>>>> - void operator<< (const MeshValueCollection<unsigned long int>& >>>>>> output) >>>>>> + void operator<< (const MeshValueCollection<std::size_t>& output) >>>>>> { write_mesh_value_collection(output, "uint"); } >>>>>> >>>>>> // MeshValueCollection (int) >>>>>> >>>>>> === modified file 'dolfin/swig/io/pre.i' >>>>>> --- dolfin/swig/io/pre.i 2012-12-04 20:34:24 +0000 >>>>>> +++ dolfin/swig/io/pre.i 2013-02-21 19:35:38 +0000 >>>>>> @@ -17,7 +17,7 @@ >>>>>> // along with DOLFIN. If not, see <http://www.gnu.org/licenses/>. >>>>>> // >>>>>> // First added: 2012-11-01 >>>>>> -// Last changed: 2012-11-01 >>>>>> +// Last changed: 2013-02-21 >>>>>> >>>>>> %ignore dolfin::GenericFile::operator>> (std::vector<int>& x); >>>>>> %ignore dolfin::GenericFile::operator>> (std::vector<std::size_t>& x); >>>>>> >>>>>> === modified file 'test/unit/io/python/XDMF.py' >>>>>> --- test/unit/io/python/XDMF.py 2013-02-05 16:34:21 +0000 >>>>>> +++ test/unit/io/python/XDMF.py 2013-02-21 19:35:38 +0000 >>>>>> @@ -30,14 +30,17 @@ >>>>>> def test_save_1d_mesh(self): >>>>>> mesh = UnitIntervalMesh(32) >>>>>> File("output/mesh.xdmf") << mesh >>>>>> + XDMFFile("output/mesh.xdmf") << mesh >>>>>> >>>>>> def test_save_2d_mesh(self): >>>>>> mesh = UnitSquareMesh(32, 32) >>>>>> File("output/mesh_2D.xdmf") << mesh >>>>>> + XDMFFile("output/mesh_2D.xdmf") << mesh >>>>>> >>>>>> def test_save_3d_mesh(self): >>>>>> mesh = UnitCubeMesh(8, 8, 8) >>>>>> File("output/mesh_3D.xdmf") << mesh >>>>>> + XDMFFile("output/mesh_3D.xdmf") << mesh >>>>>> >>>>>> class XDMF_Vertex_Function_Output(unittest.TestCase): >>>>>> """Test output of vertex-based Functions to XDMF files""" >>>>>> @@ -47,18 +50,21 @@ >>>>>> u = Function(FunctionSpace(mesh, "Lagrange", 2)) >>>>>> u.vector()[:] = 1.0 >>>>>> File("output/u.xdmf") << u >>>>>> + XDMFFile("output/u.xdmf") << u >>>>>> >>>>>> def test_save_2d_scalar(self): >>>>>> mesh = UnitSquareMesh(16, 16) >>>>>> u = Function(FunctionSpace(mesh, "Lagrange", 2)) >>>>>> u.vector()[:] = 1.0 >>>>>> File("output/u.xdmf") << u >>>>>> + XDMFFile("output/u.xdmf") << u >>>>>> >>>>>> def test_save_3d_scalar(self): >>>>>> mesh = UnitCubeMesh(8, 8, 8) >>>>>> u = Function(FunctionSpace(mesh, "Lagrange", 2)) >>>>>> u.vector()[:] = 1.0 >>>>>> File("output/u.xdmf") << u >>>>>> + XDMFFile("output/u.xdmf") << u >>>>>> >>>>>> def test_save_2d_vector(self): >>>>>> mesh = UnitSquareMesh(16, 16) >>>>>> @@ -66,6 +72,7 @@ >>>>>> c = Constant((1.0, 2.0)) >>>>>> u.interpolate(c) >>>>>> File("output/u_2dv.xdmf") << u >>>>>> + XDMFFile("output/u.xdmf") << u >>>>>> >>>>>> def test_save_3d_vector(self): >>>>>> mesh = UnitCubeMesh(1, 1, 1) >>>>>> @@ -73,6 +80,7 @@ >>>>>> c = Constant((1.0, 2.0, 3.0)) >>>>>> u.interpolate(c) >>>>>> File("output/u_3Dv.xdmf") << u >>>>>> + XDMFFile("output/u.xdmf") << u >>>>>> >>>>>> def test_save_3d_vector_series(self): >>>>>> mesh = UnitCubeMesh(8, 8, 8) >>>>>> @@ -87,18 +95,32 @@ >>>>>> >>>>>> u.vector()[:] = 3.0 >>>>>> file << (u, 0.3) >>>>>> + del file >>>>>> + >>>>>> + file = XDMFFile("output/u_3D.xdmf") >>>>>> + >>>>>> + u.vector()[:] = 1.0 >>>>>> + file << (u, 0.1) >>>>>> + >>>>>> + u.vector()[:] = 2.0 >>>>>> + file << (u, 0.2) >>>>>> + >>>>>> + u.vector()[:] = 3.0 >>>>>> + file << (u, 0.3) >>>>>> >>>>>> def test_save_2d_tensor(self): >>>>>> mesh = UnitSquareMesh(16, 16) >>>>>> u = Function(TensorFunctionSpace(mesh, "Lagrange", 2)) >>>>>> u.vector()[:] = 1.0 >>>>>> File("output/tensor.xdmf") << u >>>>>> + XDMFFile("output/tensor.xdmf") << u >>>>>> >>>>>> def test_save_3d_tensor(self): >>>>>> mesh = UnitCubeMesh(8, 8, 8) >>>>>> u = Function(TensorFunctionSpace(mesh, "Lagrange", 2)) >>>>>> u.vector()[:] = 1.0 >>>>>> File("output/u.xdmf") << u >>>>>> + XDMFFile("output/u.xdmf") << u >>>>>> >>>>>> class XDMF_MeshFunction_Output(unittest.TestCase): >>>>>> """Test output of Meshes to XDMF files""" >>>>>> @@ -110,6 +132,7 @@ >>>>>> for cell in cells(mesh): >>>>>> mf[cell] = cell.index() >>>>>> File("output/mf_1D.xdmf") << mf >>>>>> + XDMFFile("output/mf_1D.xdmf") << mf >>>>>> >>>>>> def test_save_2D_cell_function(self): >>>>>> mesh = UnitSquareMesh(32, 32) >>>>>> @@ -117,6 +140,7 @@ >>>>>> for cell in cells(mesh): >>>>>> mf[cell] = cell.index() >>>>>> File("output/mf_2D.xdmf") << mf >>>>>> + XDMFFile("output/mf_2D.xdmf") << mf >>>>>> >>>>>> def test_save_3D_cell_function(self): >>>>>> mesh = UnitCubeMesh(8, 8, 8) >>>>>> @@ -124,6 +148,7 @@ >>>>>> for cell in cells(mesh): >>>>>> mf[cell] = cell.index() >>>>>> File("output/mf_3D.xdmf") << mf >>>>>> + XDMFFile("output/mf_3D.xdmf") << mf >>>>>> >>>>>> def test_save_2D_facet_function(self): >>>>>> mesh = UnitSquareMesh(32, 32) >>>>>> @@ -131,6 +156,7 @@ >>>>>> for facet in facets(mesh): >>>>>> mf[facet] = facet.index() >>>>>> File("output/mf_facet_2D.xdmf") << mf >>>>>> + XDMFFile("output/mf_facet_2D.xdmf") << mf >>>>>> >>>>>> def test_save_3D_facet_function(self): >>>>>> mesh = UnitCubeMesh(8, 8, 8) >>>>>> @@ -138,6 +164,7 @@ >>>>>> for facet in facets(mesh): >>>>>> mf[facet] = facet.index() >>>>>> File("output/mf_facet_3D.xdmf") << mf >>>>>> + XDMFFile("output/mf_facet_3D.xdmf") << mf >>>>>> >>>>>> def test_save_3D_edge_function(self): >>>>>> mesh = UnitCubeMesh(8, 8, 8) >>>>>> @@ -145,6 +172,7 @@ >>>>>> for edge in edges(mesh): >>>>>> mf[edge] = edge.index() >>>>>> File("output/mf_edge_3D.xdmf") << mf >>>>>> + XDMFFile("output/mf_edge_3D.xdmf") << mf >>>>>> >>>>>> def test_save_2D_vertex_function(self): >>>>>> mesh = UnitSquareMesh(32, 32) >>>>>> @@ -152,6 +180,7 @@ >>>>>> for vertex in vertices(mesh): >>>>>> mf[vertex] = vertex.index() >>>>>> File("output/mf_vertex_2D.xdmf") << mf >>>>>> + XDMFFile("output/mf_vertex_2D.xdmf") << mf >>>>>> >>>>>> def test_save_3D_vertex_function(self): >>>>>> mesh = UnitCubeMesh(8, 8, 8) >>>>>> @@ -159,6 +188,7 @@ >>>>>> for vertex in vertices(mesh): >>>>>> mf[vertex] = vertex.index() >>>>>> File("output/mf_vertex_3D.xdmf") << mf >>>>>> + XDMFFile("output/mf_vertex_3D.xdmf") << mf >>>>>> >>>>>> if __name__ == "__main__": >>>>>> unittest.main() >>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> Mailing list: https://launchpad.net/~dolfin >>>>>> Post to : [email protected] >>>>>> Unsubscribe : https://launchpad.net/~dolfin >>>>>> More help : https://help.launchpad.net/ListHelp >>>>>> >>>>> >>>> >> _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

