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
Remove assembly scratch.explicit_material_model and cleanup #783
Conversation
This PR only consists of the last commit above (for review) |
0f69fdd
to
8309a13
Compare
8309a13
to
d6b1297
Compare
This is also ready for review. This PR only consists of the last commit, the previous one belongs to #775. |
d6b1297 looks very reasonable. What is the reasoning behind the change of |
Yes, I went for the one extra copy in |
Regarding I went through this again and I think it is ready to be merged. Let's wait on #775? |
std::vector<double> *old_field_values; | ||
std::vector<double> *old_old_field_values; | ||
std::vector<double> old_field_values; | ||
std::vector<double> old_old_field_values; |
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.
Yes, nice change.
Conflicts: source/simulator/assembly.cc
It turns out we always need composition and temperature to evaluate material models... |
@gassmoeller -- can you please rebase this PR to master? |
no, I am already on it (and fixing a few things). |
see #846 |
Merge #783 Remove assembly scratch.explicit_material_model and cleanup
This PR depends on #775, which in turn depends on #769, so they should be reviewed and merged in order.
While working on #769 and #775 I noticed that we actually do not need to carry around a
scratch.explicit_material_model
any more, because the residual computation and the matrix assembly happens in separate loops over all cells since #425. Therefore we might as well reusescratch.material_model
, and just fill it with extrapolated values for the residual and current values for the assembly. At the moment we even fill explicit_material_model in the assembly, although we do not use it afterwards. Also this PR removes another peculiarity around the declaration of the material_model and heating_model_outputs for faces, which should be either completely in scratch (what I propose here), or completely in the advection face assembler function.