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

Allow non-AD residual objects to compute residual and jacobian together #23487

Open
hugary1995 opened this issue Feb 20, 2023 · 3 comments
Open
Labels
C: Framework T: task An enhancement to the software.

Comments

@hugary1995
Copy link
Contributor

Reason

So now we have the capability to compute residual and jacobian together by setting residual_and_jacobian_together = true. However, only a few AD residual objects have provided implementations of computeResidualAndJacobian. The capability will also be useful for non-AD residual objects when the cost of residual computation approaches the cost of jacobian computation. That happens when the material evaluation is extremely expensive -- the idea is to evaluate the expensive material objects once for each residual + jacobian evaluation.

Design

Implement computeResidualAndJacobian for non-AD residual objects.

Impact

This will significantly speed up the simulations with expensive material models, such as crystal plasticity simulations.

Tagging @lindsayad @sapitts

@hugary1995 hugary1995 added the T: task An enhancement to the software. label Feb 20, 2023
hugary1995 added a commit to hugary1995/moose that referenced this issue Feb 20, 2023
@GiudGiud
Copy link
Contributor

GiudGiud commented Mar 2, 2023

Can we close this now?

@hugary1995
Copy link
Contributor Author

There are other residual objects left to be modified. We can keep this issue open or open another one.

@GiudGiud
Copy link
Contributor

GiudGiud commented Mar 2, 2023

ok that works let s keep it open

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Framework T: task An enhancement to the software.
Projects
None yet
Development

No branches or pull requests

2 participants