-
Notifications
You must be signed in to change notification settings - Fork 239
Fix computing sparsity pattern #1548
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Jenkins: OGS-6/Linux-PRs-dynamic failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs-dynamic/1712/ |
…, mixed-order cases
Jenkins: OGS-6/Linux-PRs-dynamic failed: https://svn.ufz.de:8443/job/OGS-6/job/Linux-PRs-dynamic/1713/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
sparsity_pattern[r] += num_components; | ||
} | ||
} | ||
unsigned n_connected_dof = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a question: do we only consider the case of NumLib::ComponentOrder::BY_COMPONENT for HM?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
no, order by location is also possible. the function here is independent of the ordering type.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the explanation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great! This speeds up things very much.
Tested on HM and square 1e4 elems quad8 mesh:
before most time was spent in coeffRef
in assembly required 200s, now the assembly is only 0.18s.
OpenGeoSys development has been moved to GitLab. |
computeSparsityPatternNonPETSc()
is computing a wrong sparsity pattern if a process uses multiple variables with linear and quadratic order nodes, e.g. Hydromechanics.