MCPcopy Create free account
hub / github.com/FEniCS/dolfinx / io

Function io

python/dolfinx/wrappers/io.cpp:38–187  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36{
37
38void io(nb::module_& m)
39{
40
41 declare_data_types<std::int32_t>(m);
42 declare_data_types<std::int64_t>(m);
43 declare_data_types<float>(m);
44 declare_data_types<std::complex<float>>(m);
45 declare_data_types<double>(m);
46 declare_data_types<std::complex<double>>(m);
47
48 // dolfinx::io::cell vtk cell type converter
49 m.def("get_vtk_cell_type", &dolfinx::io::cells::get_vtk_cell_type,
50 nb::arg("cell"), nb::arg("dim"), "Get VTK cell identifier");
51
52 m.def(
53 "extract_vtk_connectivity",
54 [](nb::ndarray<const std::int32_t, nb::ndim<2>, nb::c_contig> dofmap,
55 dolfinx::mesh::CellType cell)
56 {
57 dolfinx_wrappers::mdspan_t<const std::int32_t, 2> _dofmap(
58 dofmap.data(), dofmap.shape(0), dofmap.shape(1));
59 auto [cells, shape]
60 = dolfinx::io::extract_vtk_connectivity(_dofmap, cell);
61 return as_nbarray(std::move(cells), shape);
62 },
63 nb::arg("dofmap"), nb::arg("celltype"),
64 "Extract the mesh topology with VTK ordering using "
65 "geometry indices");
66
67 m.def("write_vtkhdf_mesh", &dolfinx::io::VTKHDF::write_mesh<double>)
68 .def("write_vtkhdf_mesh", &dolfinx::io::VTKHDF::write_mesh<float>);
69 m.def("write_vtkhdf_data", &dolfinx::io::VTKHDF::write_data<double>);
70 m.def("write_vtkhdf_data", &dolfinx::io::VTKHDF::write_data<float>);
71 m.def("read_vtkhdf_mesh_float64",
72 [](MPICommWrapper comm, const std::string& filename, std::size_t gdim,
73 std::optional<std::int32_t> max_facet_to_cell_links)
74 {
75 return dolfinx::io::VTKHDF::read_mesh<double>(
76 comm.get(), filename, gdim, max_facet_to_cell_links);
77 });
78 m.def("read_vtkhdf_mesh_float32",
79 [](MPICommWrapper comm, const std::string& filename, std::size_t gdim,
80 std::optional<std::int32_t> max_facet_to_cell_links)
81 {
82 return dolfinx::io::VTKHDF::read_mesh<float>(
83 comm.get(), filename, gdim, max_facet_to_cell_links);
84 });
85
86 // dolfinx::io::cell permutation functions
87 m.def("perm_vtk", &dolfinx::io::cells::perm_vtk, nb::arg("type"),
88 nb::arg("num_nodes"),
89 "Permutation array to map from VTK to DOLFINx node ordering");
90 m.def("perm_gmsh", &dolfinx::io::cells::perm_gmsh, nb::arg("type"),
91 nb::arg("num_nodes"),
92 "Permutation array to map from Gmsh to DOLFINx node ordering");
93
94 // dolfinx::io::XDMFFile
95 nb::class_<dolfinx::io::XDMFFile> xdmf_file(m, "XDMFFile");

Callers 1

NB_MODULEFunction · 0.85

Calls 8

as_nbarrayFunction · 0.85
MPICommWrapperClass · 0.85
dataMethod · 0.80
getMethod · 0.45
valueMethod · 0.45
read_topology_dataMethod · 0.45
read_geometry_dataMethod · 0.45
commMethod · 0.45

Tested by

no test coverage detected