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

Calling the shape function gradients and divergences for Nédélec variables return zeros #29811

Open
csdechant opened this issue Feb 4, 2025 · 0 comments
Labels
P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations.

Comments

@csdechant
Copy link

Bug Description

It seems that due to the shape function gradients and divergences not being computed for HCurl elements within libMesh (see warnings in libMesh file HCurl elements), MOOSE returns zero entries when calling gradSln(), adGradSln(), and divSln() for Nédélec variables.

The inclusion of an error message for these functions is not straight forward, since VectorKernel.C and ADVectorKernel.C defines the _grad_u using gradSln() and adGradSln(), respectively. This mean if an error message were to be introduced at the gradSln() and adGradSln() level, the error would be thrown whenever a Nédélec variables is used with objects inheriting from VectorKernel.C or ADVectorKernel.C.

A warning message could be added with using Nédélec variables, but a blanket warning message for a whole variable family type seems unusual.

Steps to Reproduce

This behavior can be observed by simply using a Nédélec variable within the test file test/tests/kernels/ad_transient_diffusion/ad_transient_vector_diffusion.i (please make sure to edit the mesh element type to something that is compatible for Nédélec variables, such as elem_type = TRI6). The resulting output file will show no diffusion for the solution variable.

Impact

Users currently encounter incorrect solution outputs when using Nédélec variables for diffusion or divergence based problem types without warning.

[Optional] Diagnostics

No response

@csdechant csdechant added P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations. labels Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P: normal A defect affecting operation with a low possibility of significantly affects. T: defect An anomaly, which is anything that deviates from expectations.
Projects
None yet
Development

No branches or pull requests

1 participant