-
Notifications
You must be signed in to change notification settings - Fork 563
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
MueLu: test higher-order line, quad in IntrepidPCoarsenFactory.cpp #13534
MueLu: test higher-order line, quad in IntrepidPCoarsenFactory.cpp #13534
Conversation
…IntrepidPCoarsenFactory_def.hpp, along with enablement of higher-order tests in IntrepidPCoarsenFactory.cpp. Still building the tests right now; will see if they pass with this change.
…ch. (Leave typo fix in comment.)
…, spectral tests. Equispaced has a legitimate algorithmic failure for p=10 and up, so we test only up to p=9 until an algorithmic fix can be determined.
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
Using Repos:
Pull Request Author: CamelliaDPG |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please make sure that clang-format passes before this is merged.
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |
Signed-off-by: Nate Roberts <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, @CamelliaDPG !
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request. |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
Using Repos:
Pull Request Author: CamelliaDPG |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: PR_gcc-openmpi-openmp
Jenkins Parameters
Build InformationTest Name: PR_gcc
Jenkins Parameters
Build InformationTest Name: PR_gcc-openmpi_debug
Jenkins Parameters
Build InformationTest Name: PR_clang
Jenkins Parameters
Build InformationTest Name: Trilinos_PR_python3
Jenkins Parameters
Build InformationTest Name: PR_cuda
Jenkins Parameters
Build InformationTest Name: PR_intel
Jenkins Parameters
Build InformationTest Name: PR_cuda-uvm
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ cgcgcg ]! |
Status Flag 'Pull Request AutoTester' - AutoMerge IS ENABLED, but the Label AT: AUTOMERGE is not set. Either set Label AT: AUTOMERGE or manually merge the PR... |
Following #13505, this PR adds testing up to
Intrepid2::Parameters::MaxOrder-1
for spectral bases. It continues to test only up to order 9 for equispaced bases.Note that there is an algorithmic failure in
GenerateRepresentativeBasisNodes
for equi-spaced line bases of various orders. For example, for a "low" line basis of order 7, and a "high" line basis of order 10, no "candidate" is generated for the third low-order basis function. See the Appendix below for some numerical details of this failure.vmax
to be the greatest basis value without taking a magnitude ofLoValues(i,j)
, does succeed in fixing this case. But there are other cases for which the algorithm fails the "no duplicates" test.vmax
to the magnitude ofLoValues(i,j)
in the candidate-setting loop, also succeeds in fixing the 7/10 case. But again there are other cases for which the algorithm fails the "no duplicates" test.LoValues(i,j)
and 1.0, and use as candidates those values that are closest to 1.0. It seems clear that for scalar-valued nodal bases this is a reasonable thing, but I'm less sure whether it is is reasonable for H(div) and H(curl) bases, for example. The best thing (I think) would be to pass in a set of HiValues(j) that told you what the high-order basis value at the high-order node is, and then to take the low-order basis that comes closest. But that would mean changing the interface toGenerateRepresentativeBasisNodes
.@trilinos/muelu
Related Issues
#13505.
Appendix: Equispaced Line Basis for p=7 Evaluated at the p=10 Basis's Nodes
Here are the results of evaluating the p=7 equispaced basis at the p=10 basis's dof coords. The first index corresponds to the low-order dof ordinal, and the second to the high-order dof ordinal. Note the (2,1) entry in particular: this has magnitude greater than any other (2,j) entry, so
vmax
is set to the absolute value of this. But since it is a negative value, it does not get recorded as a candidate, and the "sanity check" that verifies that each low-order dof has a high-order candidate then fails.