Skip to content
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

Bugs in assembling Jacobian with array variables #23123

Closed
YaqiWang opened this issue Jan 10, 2023 · 0 comments · Fixed by #23124
Closed

Bugs in assembling Jacobian with array variables #23123

YaqiWang opened this issue Jan 10, 2023 · 0 comments · Fixed by #23124
Labels
P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations.

Comments

@YaqiWang
Copy link
Contributor

Bug Description

These bugs were discovered by Namjae when he tried to use a custom Griffin executioner which uses ComputeJacobianBlocksThread to assemble the block-diagonal matrix. ComputeJacobianBlocksThread calls FEProblemBase::addJacobianBlockTags, which calls Assembly::addJacobianBlock, by passing in a libMesh variable number for any component of array variables. Current code in Assembly::addJacobianBlock assumes the variable number passed in is the libMesh variable number of the 0-th component. Another bug is in Assembly::saveFullLocalArrayJacobian which is called through either ComputeJacobianBlocksThread or ComputeFullJacobianThread through kernel/bc computeOffDiagJacobian function. The case with component block diagonal is handled wrongly.

Steps to Reproduce

After fixing those two bugs, the test in Griffin can run properly. I will push the fix in first and see whether I can come up with a MOOSE test for the fix.

Impact

Fixing bugs that can show up in corner cases.

@YaqiWang YaqiWang added P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations. labels Jan 10, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Jan 10, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Jan 10, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Jan 10, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Jan 10, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Jan 11, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Jan 12, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Jan 12, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Jan 12, 2023
YaqiWang added a commit to YaqiWang/moose that referenced this issue Jan 12, 2023
MengnanLi91 pushed a commit to MengnanLi91/moose that referenced this issue Jan 18, 2023
MengnanLi91 pushed a commit to MengnanLi91/moose that referenced this issue Jan 18, 2023
MengnanLi91 pushed a commit to MengnanLi91/moose that referenced this issue Jan 18, 2023
MengnanLi91 pushed a commit to MengnanLi91/moose that referenced this issue Jan 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant