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

Perform pre-evaluation on all FM, to complete initialization of disc-dependent structures #856

Open
bartgol opened this issue Nov 3, 2022 · 0 comments
Assignees

Comments

@bartgol
Copy link
Collaborator

bartgol commented Nov 3, 2022

This may become more of an issue with panzer's DOF manager. Right now, some disc-related info is computed on the fly during evaluateFields (possibly cached, if its calculation is non trivial). It might be cleaner to do things in either preEvaluate or, even better, in postRegistrationSetup. Currently, we don't do it pretty much ever, but this PHX phase should be exploited more.

For instance, with the DOF manager, dofs offsets within a cell are the same on all cells, but require the disc object to be retrieved. This could be done in postRegistrationSetup. OTOH, offsets of dofs on the side require to know the side rel position inside the cell, which requires a Side object, which is only available at eval time (though we could grab the disc, extract the sideset (as a whole), and figure out the side_pos inside the cell for sides on this sideset).
Another example of info we don't have at construction time is the layered mesh data, which we could use to precompute some stuff.

Long story short, we could make the code cleaner by more extensively using evaluators methods that are called before evaluateFields.

@bartgol bartgol self-assigned this Nov 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant