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

Update code to be as in-line as possible to use standard MFEM #41

Open
5 tasks
rcarson3 opened this issue Dec 2, 2021 · 1 comment
Open
5 tasks

Update code to be as in-line as possible to use standard MFEM #41

rcarson3 opened this issue Dec 2, 2021 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@rcarson3
Copy link
Member

rcarson3 commented Dec 2, 2021

In order to use a standard version of MFEM, we need to port a number of features over and swap some of our original implementations for PA/EA assembly methods over to the equivalent MFEM versions.

  • Port PA nonlinear extension type class to MFEM's version
  • Add EA nonlinear extension type class to MFEM
  • Work on splitting up [WIP] [ExaConstit] ExaConstit Miniapp  mfem/mfem#722 into smaller PRs
  • Create alternative versions of NonlinearForm::SetEssentialBCPartial and GridFunction::ProjectBdrCoefficient that don't depend on intrinsics within ExaConstit aka the boundary condition manager
  • Maybe some new code to deal with changing BCs for our solves as MFEM proper has gotten rid of our old workaround...
@rcarson3 rcarson3 added the enhancement New feature or request label Dec 2, 2021
@rcarson3 rcarson3 self-assigned this Dec 2, 2021
@rcarson3
Copy link
Member Author

#44 will help deal with portions of this in that all of our BC stuff is starting to be cleaned up.

I think if we make https://github.com/LLNL/ExaConstit/blob/c7786798d746152f1d338636044a26dc49ab66f5/src/BCManager.cpp
as a standalone function that takes in a gridfunction and that coefficient type we should be approaching the bare minimum of what we need to do to just be able to use a hash of mfem master. We would also want to rip out the VectorFunctionRestrictedCoefficient from MFEM and just have it in ExaConstit as it really doesn't have to be in there.

Other steps are working on getting mfem/mfem#2849 merged which really makes doing things in #44 nice and easy.

I think the last thing that needs to be done is getting the EA functionality added to the NonlinearForm class. This will also probably require a decent amount of work, but if we might be able to work with the TMOP people to get this into MFEM proper if they're interested in it. Afterwards, we can work on getting our stuff ported to their forms.

The changing BCs portion for full assembly I think I know how to deal with this, but it'll take a bit of time to work out a solution that I like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant