fix Setting refinement flags and adaptive refinement in Netgen

This commit is contained in:
Joachim Schoeberl 2023-03-22 21:53:09 +01:00
parent 7e560e157d
commit 482e78a18b

View File

@ -406,8 +406,8 @@ namespace netgen
ELEMENT_TYPE typ;
/// number of points
int8_t np;
bool refflag; // marked for refinement
bool badel:1;
bool refflag:1; // marked for refinement
bool strongrefflag:1;
bool deleted:1; // element is deleted
@ -431,7 +431,8 @@ namespace netgen
return std::map<string, int>({
{ "pnum", offsetof(Element2d, pnum)},
{ "index", offsetof(Element2d, index) },
{ "np", offsetof(Element2d, np) }
{ "np", offsetof(Element2d, np) },
{ "refine", offsetof(Element2d, refflag) }
});
}
@ -736,13 +737,13 @@ namespace netgen
class flagstruct {
public:
bool refflag; // mark element for refinement
bool marked:1; // marked for refinement
bool badel:1; // angles worse then limit
bool reverse:1; // for refinement a la Bey
bool illegal:1; // illegal, will be split or swapped
bool illegal_valid:1; // is illegal-flag valid ?
bool badness_valid:1; // is badness valid ?
bool refflag:1; // mark element for refinement
bool strongrefflag:1;
bool deleted:1; // element is deleted, will be removed from array
bool fixed:1; // don't change element in optimization
@ -757,7 +758,8 @@ namespace netgen
return std::map<string, int>({
{ "pnum", offsetof(Element, pnum)},
{ "index", offsetof(Element, index) },
{ "np", offsetof(Element, np) }
{ "np", offsetof(Element, np) },
{ "refine", offsetof(Element, flags.refflag) }
});
}