serac icon indicating copy to clipboard operation
serac copied to clipboard

Fix the project method in the BoundaryCondition class

Open jamiebramwell opened this issue 4 years ago • 2 comments

https://github.com/LLNL/serac/blob/8c53d5586e66a7eb7b33846dd4f029c95a59e7f3/src/physics/utilities/boundary_condition.cpp#L40-L64

The underlying mfem 'ProjectCoefficient` method in this function expects the full dof numbering instead of true dofs. We should either convert our true dof list or store the full dofs separately.

jamiebramwell avatar Nov 17 '20 00:11 jamiebramwell

Is the conversion you were envisioning different than the VDofToDof conversion currently being done?

Looking through the origin of this function it looks like that's the only transformation applied to the tdof list: https://github.com/LLNL/serac/blob/1216c1a88f0bdafd5c74e513e06c221a8163d7e6/src/solvers/nonlinear_solid_solver.cpp#L134-L153

joshessman-llnl avatar Nov 17 '20 15:11 joshessman-llnl

It's entirely possible this was always a bug. It came up in @samuelpmishLLNL 's PR for refactoring ODEs. Looking at the underlying MFEM call, it definitely expects the full dofs and not the true dofs as it uses processor-local numbering to do this projection.

jamiebramwell avatar Nov 17 '20 17:11 jamiebramwell