Use mesh subsets instead of mesh nodes#1437
Use mesh subsets instead of mesh nodes#1437endJunction merged 5 commits intoufz:masterfrom endJunction:UseMeshSubsetsInsteadOfMeshNodes
Conversation
| return _msh.getElements().cend(); | ||
| } | ||
|
|
||
| std::vector<Node*> getNodes() const |
There was a problem hiding this comment.
why isn't it possible to return pointer or reference here?
There was a problem hiding this comment.
This is of course a mistake. I'll update this.
| for (auto* n = (*e)->getNodes(); n < (*e)->getNodes()+(*e)->getNumberOfNodes(); ++n) | ||
| { | ||
| // Check if the element's node is in the given list of nodes. | ||
| if (std::find(std::begin(nodes), std::end(nodes), *n) == std::end(nodes)) |
There was a problem hiding this comment.
TBD. My LDIE implementation assumes npos is stored for those nodes.
There was a problem hiding this comment.
we agreed to keep this function as suggested here and created another function for handling my special case. I'll update my PR after this PR is merged.
|
Last Friday you showed some HM-process results in Paraview. There the pressure values had a peculiar pattern. Will that pattern be observed also with the code from this PR? |
|
@chleh For a given problem not using the full mesh (like omitting second order nodes) there is no sensible output on the whole mesh. What is coming to my mind is:
|
norihiro-w
left a comment
There was a problem hiding this comment.
i have only one comment for getNodes(). the rest is fine.
| variable_id < static_cast<int>(process_variables.size()); | ||
| ++variable_id) | ||
| { | ||
| ProcessVariable& pv = process_variables[variable_id]; |
|
👍 |
... for the given variable and component ids instead of all element nodes, which might not be a part of the associated mesh subset.
|
OpenGeoSys development has been moved to GitLab. |
When creating dof table, setting initial conditions, creating boundary conditions, and in output
currently all nodes of the mesh are involved. If the underlying mesh subsets do not consist of all nodes (e.g. only base nodes) then the mentioned algorithms do return wrong results.
Maybe there are more places with similar patterns, please tell me then.