Issue 525 FE Basis refactor implementation#561
Conversation
updating fork repo with upstream head
update main to upstream branch
… unit tests for refactored basis functions
|
From the CI test cases we got the following:
The affected meshes are |
|
In the FSI fluid assembly,
That means:
Therefore the Hessian is not just participating in the tangent assembly and may not necessarily converge on the same solution as the current reference vtu. This is also why we do not see such CI failures for test cases that use Tet elements because |
|
Confirmed. The difference in accuracy for the FSI test cases when employing the new FE Basis functions is due to the non-zero Hessian values for the reference elements. We can see that when we zero-out the values for the Hessian on the
|
|
@zasexton Were Hessians also zeroed out in the Fortran svFSI? I think we should update reference solutions unless there is a good reason to use zero Hessians. @sujaldave, @hanzhao2020 Is there any reason (in VMS or something) to force |
|
@aabrown100-git yes, the Hessian was also effectively zero for the |
Regenerate affected FSI and FSI-ustruct HEX8 result_005.vtu references for the FE Basis path with nonzero HEX8 Hessian contributions. Update the pipe_3d PETSc and Trilinos references to match the base pipe_3d reference, preserving the existing shared-reference pattern across linear algebra variants.


Current situation
Tracks #525.
The solver currently relies on legacy table-driven shape-function paths in
nn.cpp, which makes basis evaluation, Hessian support, node-ordering validation, and parity testing difficult to extend. This PR introduces a self-contained FE Basis layer while preserving the existing solver-facing storage contracts.Release Notes
nn::get_gnnandnn::get_gn_nxxvolume/face evaluations through the new FE Basis adapter.SVMP_BASIS_MODE=auto|legacy|feto compare legacy and FE Basis evaluation paths at runtime.Documentation
Documentation/basis-comparison-plan.mddescribing the legacy-vs-FE comparison protocol, metrics, output layout, and acceptance criteria.SVMP_BASIS_MODE.Testing
tests/unitTests/FE/Basisfor Lagrange/Serendipity basis evaluation, Hessians, cache/factory behavior, error paths, node ordering, solver adapter parity, and supported mapped element coverage.tests/unitTests/FE/Mathfor matrix/vector operations, expression helpers, math constants, and dense linear algebra.Code of Conduct & Contributing Guidelines