21 std::string filename) {
24 const size_type fn_len = filename.size();
25 if ((fn_len > 1) && (filename[fn_len - 2] !=
'.') &&
26 (filename[fn_len - 1] !=
'm')) {
31 std::ofstream file(filename);
37 file <<
"function [PTPAR,EDPAR,CELLPAR] = " << filename <<
"()" <<
'\n';
38 file <<
"% Parent data for a hybid 2D mesh" <<
'\n';
41 const std::shared_ptr<const mesh::Mesh> mesh = hier_mesh.
getMesh(level);
44 const std::vector<ParentInfo> &pt_parent_info(
46 const size_type no_nodes = mesh->NumEntities(2);
47 for (
int k = 0; k < no_nodes; k++) {
48 file <<
"PTPAR(" << k + 1 <<
",:) = ["
50 <<
normalize_idx(pt_parent_info[k].child_number) <<
"];" <<
'\n';
56 const std::vector<ParentInfo> &ed_parent_info(
58 const size_type no_edges = mesh->NumEntities(1);
59 for (
int k = 0; k < no_edges; k++) {
60 file <<
"EDPAR(" << k + 1 <<
",:) = ["
62 <<
normalize_idx(ed_parent_info[k].child_number) <<
"];" <<
'\n';
68 const std::vector<ParentInfo> &cell_parent_info(
70 const std::vector<glb_idx_t> &ref_eds(hier_mesh.
RefinementEdges(level));
71 const size_type no_cells = mesh->NumEntities(0);
72 for (
int k = 0; k < no_cells; k++) {
73 file <<
"CELLPAR(" << k + 1 <<
",:) = ["
83 const size_type n_levels = hier_mesh.
NumLevels();
84 for (
int level = 0; level < n_levels; level++) {
86 std::stringstream level_asc;
88 const std::string filebase = basename +
"_L" + level_asc.str();
91 const std::shared_ptr<const mesh::Mesh> mesh = hier_mesh.
getMesh(level);