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

Tests failing when using Petsc v3.4.5 #10906

Closed
kevindugan opened this issue Feb 26, 2018 · 9 comments
Closed

Tests failing when using Petsc v3.4.5 #10906

kevindugan opened this issue Feb 26, 2018 · 9 comments
Labels
C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.

Comments

@kevindugan
Copy link

Rationale

A selection of tests is failing when using Petsc v3.4.5. This issue is being raised following the discussion from this LibMesh issue @jwpeterson

Description

The following tests are failing while using the older version of Petsc

misc/jacobian.inf_nan ..................................................... FAILED (EXPECTED OUTPUT NOT FOUND)
dampers/min_damping.min_general_damping ...................................... FAILED (EXPECTED ERROR MISSING)
dampers/bounding_value_element_damper.bounding_value_max ..................... FAILED (EXPECTED ERROR MISSING)
dampers/bounding_value_nodal_damper.bounding_value_min ....................... FAILED (EXPECTED ERROR MISSING)
dampers/bounding_value_nodal_damper.bounding_value_max ....................... FAILED (EXPECTED ERROR MISSING)
dampers/interactions.interacting_node_elem2 .................................. FAILED (EXPECTED ERROR MISSING)
dampers/interactions.interacting_node_elem1 .................................. FAILED (EXPECTED ERROR MISSING)
materials/material_dependency.dont_reinit_mat_for_aux ....................................... FAILED (EXODIFF)
misc/check_error.nan_no_trap_fpe_test ........................................................ FAILED (ERRMSG)
materials/material.throw_material ............................................................ FAILED (ERRMSG)
dampers/min_damping.min_nodal_damping ............................. [min_threads=2,min_cpus=2] FAILED (ERRMSG)
dampers/min_damping.min_elem_damping .............................. [min_threads=2,min_cpus=2] FAILED (ERRMSG)
outputs/iterative.csv ....................................................................... FAILED (CSVDIFF)
postprocessors/all_print_pps.test .............................................. [min_cpus=2] FAILED (CSVDIFF)

We're proposing to append petsc_version = '>= 3.6.0' to the above test specs.

Impact

This shouldn't affect normal users using later versions of Petsc.

@jwpeterson
Copy link
Member

I finished getting my PETSc 3.4.5 build set up, and I only get four total failures.

materials/material_dependency.dont_reinit_mat_for_aux ....................................... FAILED (EXODIFF)
functions/vector_postprocessor_function.test ................................................. FAILED (ERRMSG)
outputs/iterative.csv ....................................................................... FAILED (CSVDIFF)
postprocessors/all_print_pps.test .............................................. [min_cpus=2] FAILED (CSVDIFF)

It looks like they all overlap with yours except for vector_postprocessor_function.test.

@permcody permcody added C: Framework T: task An enhancement to the software. P: normal A defect affecting operation with a low possibility of significantly affects. labels Feb 26, 2018
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 26, 2018
Parser Errors:
--------------------------------------------------------------------------------------------------------------
/Users/petejw/projects/moose_2nd/test/tests/kernels/vector_fe/tests:25: unused parameter "Tests/jacobian/state"
--------------------------------------------------------------------------------------------------------------

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 26, 2018
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 26, 2018
… PETSc.

The change in the number of residual evaluations is due to 3061bbd,
which allowed different residual functions to be used in different
contexts.

Refs idaholab#10906.
@kevindugan
Copy link
Author

kevindugan commented Feb 26, 2018

I only get four total failures

Are you also building with the most recent version of Libmesh? I'm wondering why I have so many more failures.

@jwpeterson
Copy link
Member

Are you also building with the most recent version of Libmesh?

I'm building with the libmesh in libMesh/libmesh#1602.

I'm wondering why I have so many more failures.

I'm kind of wondering if it's differences in floating point exception handling on your system, due to the inf_nan and nan_no_trap_fe_test failures. Would you mind posting more of the output from those failures here?

@kevindugan
Copy link
Author

Here is an example of one test's output which fails due to the damping parameter being too small

dampers/min_damping.min_elem_damping: Working Directory: /home/pqd/Playground/myMoose/test/tests/dampers/min_damping
dampers/min_damping.min_elem_damping: Running command: mpiexec -n 2 /home/pqd/Playground/myMoose/test/moose_test-dbg --n-threads=2 -i min_elem_damping.i --error --error-unused --error-override --no-gdb-backtrace
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Framework Information:
dampers/min_damping.min_elem_damping: MOOSE Version:           git commit c7f5c1ffd6 on 2018-02-23
dampers/min_damping.min_elem_damping: LibMesh Version:         cdeee56489cc8ddcc4415ae9dc6d074ba5b75f5c
dampers/min_damping.min_elem_damping: PETSc Version:           3.4.5
dampers/min_damping.min_elem_damping: Current Time:            Mon Feb 26 16:21:45 2018
dampers/min_damping.min_elem_damping: Executable Timestamp:    Mon Feb 26 15:47:50 2018
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Parallelism:
dampers/min_damping.min_elem_damping:   Num Processors:          2
dampers/min_damping.min_elem_damping:   Num Threads:             2
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Mesh:
dampers/min_damping.min_elem_damping:   Parallel Type:           replicated
dampers/min_damping.min_elem_damping:   Mesh Dimension:          1
dampers/min_damping.min_elem_damping:   Spatial Dimension:       1
dampers/min_damping.min_elem_damping:   Nodes:
dampers/min_damping.min_elem_damping:     Total:                 11
dampers/min_damping.min_elem_damping:     Local:                 6
dampers/min_damping.min_elem_damping:   Elems:
dampers/min_damping.min_elem_damping:     Total:                 10
dampers/min_damping.min_elem_damping:     Local:                 5
dampers/min_damping.min_elem_damping:   Num Subdomains:          1
dampers/min_damping.min_elem_damping:   Num Partitions:          2
dampers/min_damping.min_elem_damping:   Partitioner:             metis
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Nonlinear System:
dampers/min_damping.min_elem_damping:   Num DOFs:                11
dampers/min_damping.min_elem_damping:   Num Local DOFs:          6
dampers/min_damping.min_elem_damping:   Variables:               "u"
dampers/min_damping.min_elem_damping:   Finite Element Types:    "LAGRANGE"
dampers/min_damping.min_elem_damping:   Approximation Orders:    "FIRST"
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Execution Information:
dampers/min_damping.min_elem_damping:   Executioner:             Transient
dampers/min_damping.min_elem_damping:   TimeStepper:             ConstantDT
dampers/min_damping.min_elem_damping:   Solver Mode:             Preconditioned JFNK
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Time Step  0, time = 0
dampers/min_damping.min_elem_damping:                 dt = 0
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Postprocessor Values:
dampers/min_damping.min_elem_damping: +----------------+----------------+----------------+
dampers/min_damping.min_elem_damping: | time           | dt             | u_avg          |
dampers/min_damping.min_elem_damping: +----------------+----------------+----------------+
dampers/min_damping.min_elem_damping: |   0.000000e+00 |   0.000000e+00 |   0.000000e+00 |
dampers/min_damping.min_elem_damping: +----------------+----------------+----------------+
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Time Step  1, time = 1
dampers/min_damping.min_elem_damping:                 dt = 1
dampers/min_damping.min_elem_damping:  0 Nonlinear |R| = 3.041381e-01
dampers/min_damping.min_elem_damping:       0 Linear |R| = 3.041381e-01
dampers/min_damping.min_elem_damping:       1 Linear |R| = 2.522736e-02
dampers/min_damping.min_elem_damping:       2 Linear |R| = 6.435035e-06
dampers/min_damping.min_elem_damping:       3 Linear |R| = 5.731871e-17
dampers/min_damping.min_elem_damping:  1 Nonlinear |R| = 2.191511e-09
dampers/min_damping.min_elem_damping:  Solve Converged!
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Postprocessor Values:
dampers/min_damping.min_elem_damping: +----------------+----------------+----------------+
dampers/min_damping.min_elem_damping: | time           | dt             | u_avg          |
dampers/min_damping.min_elem_damping: +----------------+----------------+----------------+
dampers/min_damping.min_elem_damping: |   0.000000e+00 |   0.000000e+00 |   0.000000e+00 |
dampers/min_damping.min_elem_damping: |   1.000000e+00 |   1.000000e+00 |   9.711325e-01 |
dampers/min_damping.min_elem_damping: +----------------+----------------+----------------+
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: Time Step  2, time = 2
dampers/min_damping.min_elem_damping:                 dt = 1
dampers/min_damping.min_elem_damping:  0 Nonlinear |R| = 3.041381e-01
dampers/min_damping.min_elem_damping:       0 Linear |R| = 3.041381e-01
dampers/min_damping.min_elem_damping:       1 Linear |R| = 2.522736e-02
dampers/min_damping.min_elem_damping:       2 Linear |R| = 6.434063e-06
dampers/min_damping.min_elem_damping:       3 Linear |R| = 6.276909e-11
dampers/min_damping.min_elem_damping:  Damping factor: 0.254021
dampers/min_damping.min_elem_damping:  1 Nonlinear |R| = 2.268807e-01
dampers/min_damping.min_elem_damping:       0 Linear |R| = 2.268807e-01
dampers/min_damping.min_elem_damping:       1 Linear |R| = 1.881909e-02
dampers/min_damping.min_elem_damping:       2 Linear |R| = 4.799794e-06
dampers/min_damping.min_elem_damping:       3 Linear |R| = 5.558832e-11
dampers/min_damping.min_elem_damping: From damper: 'limit' damping below min_damping: 2.22045e-16 Cutting timestep.
dampers/min_damping.min_elem_damping: [0]PETSC ERROR: [1]PETSC ERROR: --------------------- Error Message ------------------------------------
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: Floating point exception!
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: Vec entry at local location 0 is not-a-number or infinite at end of function: Parameter number 3!
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: ------------------------------------------------------------------------
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: Petsc Release Version 3.4.5, unknown
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: See docs/changes/index.html for recent updates.
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: See docs/index.html for manual pages.
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: ------------------------------------------------------------------------
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: /home/pqd/Playground/myMoose/test/moose_test-dbg on a arch-warthog named node4.ornl.gov by pqd Mon Feb 26 16:21:41 2018
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: Libraries linked from /home/pqd/.warthog_dependencies/petsc-3.4.5-debug/lib
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: Configure run at Mon Feb 19 15:05:20 2018
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: Configure options --prefix=/home/pqd/.warthog_dependencies/petsc-3.4.5-debug --with-petsc-arch=arch-warthog --download-hypre=1 --with-ssl=0 --with-c2html=0 --with-debugging=1 --with-pic=1 --with-shared-libraries=1 --with-cc=mpicc --with-cxx=mpicxx --with-fc=mpif90 --download-f-blas-lapack=1 --download-metis=1 --download-parmetis=1 --download-superlu_dist=1 --download-scalapack=1 --download-mumps=1 CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif77 F90=mpif90 CFLAGS="-fPIC -fopenmp" CXXFLAGS="-fPIC -fopenmp" FFLAGS="-fPIC -fopenmp" FCFLAGS="-fPIC -fopenmp" F90FLAGS="-fPIC -fopenmp" F77FLAGS="-fPIC -fopenmp" PETSC_DIR=/home/pqd/Playground/petscLibmeshTest/warthog/tpls/petsc-v3.4.5
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: ------------------------------------------------------------------------
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: VecValidValues() line 30 in src/vec/vec/interface/rvector.c
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: SNESComputeFunction() line 1998 in src/snes/interface/snes.c
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: SNESLineSearchApply_Basic() line 40 in src/snes/linesearch/impls/basic/linesearchbasic.c
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: SNESLineSearchApply() line 525 in src/snes/linesearch/interface/linesearch.c
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: SNESSolve_NEWTONLS() line 242 in src/snes/impls/ls/ls.c
dampers/min_damping.min_elem_damping: [1]PETSC ERROR: SNESSolve() line 3636 in src/snes/interface/snes.c
dampers/min_damping.min_elem_damping: --------------------- Error Message ------------------------------------
dampers/min_damping.min_elem_damping: [0]PETSC ERROR: Floating point exception!
dampers/min_damping.min_elem_damping: [0]PETSC ERROR: Vec entry at local location 0 is not-a-number or infinite at end of function: Parameter number 3!
dampers/min_damping.min_elem_damping: [0]PETSC ERROR: ------------------------------------------------------------------------
dampers/min_damping.min_elem_damping: [0]PETSC ERROR: Petsc Release Version 3.4.5, unknown
dampers/min_damping.min_elem_damping: [0]PETSC ERROR: application called MPI_Abort(MPI_COMM_WORLD, 1) - process 1
dampers/min_damping.min_elem_damping: See docs/changes/index.html for recent updates.
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping: ################################################################################
dampers/min_damping.min_elem_damping: Tester failed, reason: ERRMSG
dampers/min_damping.min_elem_damping:
dampers/min_damping.min_elem_damping .............................. [min_threads=2,min_cpus=2] FAILED (ERRMSG)

and another which fails due to the Jacobian entry

misc/jacobian.inf_nan: Working Directory: /home/pqd/Playground/myMoose/test/tests/misc/jacobian
misc/jacobian.inf_nan: Running command: /home/pqd/Playground/myMoose/test/moose_test-dbg -i inf_nan.i --no-trap-fpe -snes_type test --error --error-unused --error-override --no-gdb-backtrace
misc/jacobian.inf_nan:
misc/jacobian.inf_nan: Framework Information:
misc/jacobian.inf_nan: MOOSE Version:           git commit c7f5c1ffd6 on 2018-02-23
misc/jacobian.inf_nan: LibMesh Version:         cdeee56489cc8ddcc4415ae9dc6d074ba5b75f5c
misc/jacobian.inf_nan: PETSc Version:           3.4.5
misc/jacobian.inf_nan: Current Time:            Mon Feb 26 16:00:49 2018
misc/jacobian.inf_nan: Executable Timestamp:    Mon Feb 26 15:47:50 2018
misc/jacobian.inf_nan:
misc/jacobian.inf_nan: Parallelism:
misc/jacobian.inf_nan:   Num Processors:          1
misc/jacobian.inf_nan:   Num Threads:             1
misc/jacobian.inf_nan:
misc/jacobian.inf_nan: Mesh:
misc/jacobian.inf_nan:   Parallel Type:           replicated
misc/jacobian.inf_nan:   Mesh Dimension:          1
misc/jacobian.inf_nan:   Spatial Dimension:       1
misc/jacobian.inf_nan:   Nodes:
misc/jacobian.inf_nan:     Total:                 2
misc/jacobian.inf_nan:     Local:                 2
misc/jacobian.inf_nan:   Elems:
misc/jacobian.inf_nan:     Total:                 1
misc/jacobian.inf_nan:     Local:                 1
misc/jacobian.inf_nan:   Num Subdomains:          1
misc/jacobian.inf_nan:   Num Partitions:          1
misc/jacobian.inf_nan:
misc/jacobian.inf_nan: Nonlinear System:
misc/jacobian.inf_nan:   Num DOFs:                2
misc/jacobian.inf_nan:   Num Local DOFs:          2
misc/jacobian.inf_nan:   Variables:               "u"
misc/jacobian.inf_nan:   Finite Element Types:    "LAGRANGE"
misc/jacobian.inf_nan:   Approximation Orders:    "FIRST"
misc/jacobian.inf_nan:
misc/jacobian.inf_nan: Execution Information:
misc/jacobian.inf_nan:   Executioner:             Steady
misc/jacobian.inf_nan:   Solver Mode:             NEWTON
misc/jacobian.inf_nan:
misc/jacobian.inf_nan:
misc/jacobian.inf_nan:
misc/jacobian.inf_nan: Testing hand-coded Jacobian, if the ratio is
misc/jacobian.inf_nan: O(1.e-8), the hand-coded Jacobian is probably correct.
misc/jacobian.inf_nan: Run with -snes_test_display to show difference
misc/jacobian.inf_nan: of hand-coded and finite difference Jacobian.
misc/jacobian.inf_nan: [0]PETSC ERROR: --------------------- Error Message ------------------------------------
misc/jacobian.inf_nan: [0]PETSC ERROR: Floating point exception!
misc/jacobian.inf_nan: [0]PETSC ERROR: Vec entry at local location 0 is not-a-number or infinite at end of function: Parameter number 3!
misc/jacobian.inf_nan: [0]PETSC ERROR: ------------------------------------------------------------------------
misc/jacobian.inf_nan: [0]PETSC ERROR: Petsc Release Version 3.4.5, unknown
misc/jacobian.inf_nan: [0]PETSC ERROR: See docs/changes/index.html for recent updates.
misc/jacobian.inf_nan: [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
misc/jacobian.inf_nan: [0]PETSC ERROR: See docs/index.html for manual pages.
misc/jacobian.inf_nan: [0]PETSC ERROR: ------------------------------------------------------------------------
misc/jacobian.inf_nan: [0]PETSC ERROR: /home/pqd/Playground/myMoose/test/moose_test-dbg on a arch-warthog named node4.ornl.gov by pqd Mon Feb 26 16:00:45 2018
misc/jacobian.inf_nan: [0]PETSC ERROR: Libraries linked from /home/pqd/.warthog_dependencies/petsc-3.4.5-debug/lib
misc/jacobian.inf_nan: [0]PETSC ERROR: Configure run at Mon Feb 19 15:05:20 2018
misc/jacobian.inf_nan: [0]PETSC ERROR: Configure options --prefix=/home/pqd/.warthog_dependencies/petsc-3.4.5-debug --with-petsc-arch=arch-warthog --download-hypre=1 --with-ssl=0 --with-c2html=0 --with-debugging=1 --with-pic=1 --with-shared-libraries=1 --with-cc=mpicc --with-cxx=mpicxx --with-fc=mpif90 --download-f-blas-lapack=1 --download-metis=1 --download-parmetis=1 --download-superlu_dist=1 --download-scalapack=1 --download-mumps=1 CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif77 F90=mpif90 CFLAGS="-fPIC -fopenmp" CXXFLAGS="-fPIC -fopenmp" FFLAGS="-fPIC -fopenmp" FCFLAGS="-fPIC -fopenmp" F90FLAGS="-fPIC -fopenmp" F77FLAGS="-fPIC -fopenmp" PETSC_DIR=/home/pqd/Playground/petscLibmeshTest/warthog/tpls/petsc-v3.4.5
misc/jacobian.inf_nan: [0]PETSC ERROR: ------------------------------------------------------------------------
misc/jacobian.inf_nan: [0]PETSC ERROR: VecValidValues() line 30 in src/vec/vec/interface/rvector.c
misc/jacobian.inf_nan: [0]PETSC ERROR: SNESComputeFunction() line 1998 in src/snes/interface/snes.c
misc/jacobian.inf_nan: [0]PETSC ERROR: SNESSolve_Test() line 45 in src/snes/impls/test/snestest.c
misc/jacobian.inf_nan: [0]PETSC ERROR: SNESSolve() line 3636 in src/snes/interface/snes.c
misc/jacobian.inf_nan: application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
misc/jacobian.inf_nan: [unset]: write_line error; fd=-1 buf=:cmd=abort exitcode=1
misc/jacobian.inf_nan: :
misc/jacobian.inf_nan: system msg for write_line failure : Bad file descriptor
misc/jacobian.inf_nan:
misc/jacobian.inf_nan: ################################################################################
misc/jacobian.inf_nan: Tester failed, reason: EXPECTED OUTPUT NOT FOUND
misc/jacobian.inf_nan:
misc/jacobian.inf_nan ..................................................... FAILED (EXPECTED OUTPUT NOT FOUND)

@jwpeterson
Copy link
Member

Hmm... It's possible the difference is that I had you compile PETSc with --with-debugging=1 on your machine so we could track down the segfault, and nans are being handled differently in opt vs. dbg mode in PETSc 3.4.5. I'll see if I can reproduce the additional failures with a debug-enabled PETSc on my machine...

jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 26, 2018
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 26, 2018
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 26, 2018
These tests use the "jp" coloring algorithm, which was introduced in
PETSc 3.5.0.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 26, 2018
These were only recently added, and the tolerances are apparently a
bit too tight for older versions of PETSc.

Refs idaholab#10906.
@kevindugan
Copy link
Author

It looks like the difference was my debug version of PetSc. I just ran in optimized mode and only had 3 tests failing.

materials/material_dependency.dont_reinit_mat_for_aux ....................................... FAILED (EXODIFF)
outputs/iterative.csv ....................................................................... FAILED (CSVDIFF)
postprocessors/all_print_pps.test .............................................. [min_cpus=2] FAILED (CSVDIFF)

@kevindugan
Copy link
Author

Issue solved by #10910

@jwpeterson
Copy link
Member

OK, glad we were able to get this straightened out. We may want to eventually add a TestHarness option to restrict the remaining tests you found to not run with debug-enabled PETSc...

@permcody
Copy link
Member

Maybe, there are other problems with running with debug PETSc (e.g. several more tests routinely timeout). Should we be doing this, yes.... It's going to take more work.

jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
On older versions of PETSc (3.4.5) these tests print the warning below
in the PenetrationLocator. The tests *still pass* despite the warning,
so one way to "fix" the issue for older PETScs is simply to allow
warnings on a case-by-case basis for these tests.

```
Warning in PenetrationLocator. Penetration is not detected for one or
more slave nodes. This could be because those slave nodes simply do
not project to faces on the master surface. However, this could also
be because contact should be enforced on those nodes, but the faces
that they project to are outside the contact patch, which will give an
erroneous result. Use appropriate options for 'patch_size' and
'patch_update_strategy' in the Mesh block to avoid this issue. Setting
'patch_update_strategy=iteration' is recommended because it completely
avoids this potential issue. Also note that this warning is printed
only once, so a similar situation could occur multiple times during
the simulation but this warning is printed only at the first
occurrence.
```

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
If one follows the advice of the PenetrationLocator message, it is
also possible to get rid of the warnings and make the tests pass.
I'm not sure which strategy is going to be preferred by people.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
This test fails with a negative Jacobian on older versions of PETSc
since the changes in 3061bbd.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
… PETSc.

These tests now diff significantly with older versions of PETSc, most likely due
to 3061bbd which changed the way the residual is computed in contact problems.

test:normalized_penalty.kin_Q4:
Nodal variables:
   contact_pressure  rel diff:  0.0000000e+00 ~ -3.0000000e+06 = 1.00000e+00 (node 2)
   disp_x            rel diff:  9.0910618e-20 ~  1.0000000e-02 = 1.00000e+00 (node 2)
   penetration       rel diff: -1.0000000e-02 ~  4.4408921e-16 = 1.00000e+00 (node 18)
   saved_x           rel diff:  1.2154877e-14 ~ -1.5000000e+06 = 1.00000e+00 (node 1)
Element variables:
   stress_xx  rel diff:  0.0000000e+00 ~  3.0000000e+06 = 1.00000e+00 (block 1, elmt 1)

test:normalized_penalty.kin_Q8:
Nodal variables:
   contact_pressure  rel diff:  0.0000000e+00 ~ -3.0000000e+06 = 1.00000e+00 (node 2)
   disp_x            rel diff:  1.5835195e-20 ~  1.0000000e-02 = 1.00000e+00 (node 2)
   penetration       rel diff: -1.0000000e-02 ~  8.8817842e-16 = 1.00000e+00 (node 10)
   saved_x           rel diff: -4.4979690e-11 ~  5.0000000e+05 = 1.00000e+00 (node 58)
Element variables:
   stress_xx  rel diff:  0.0000000e+00 ~  3.0000000e+06 = 1.00000e+00 (block 1, elmt 1)

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
This commit keeps the test working with older versions of PETSc and
removes the abs_zero and use_old_floor hacks employed previously.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
…ons of PETSc.

Changes to the way the residual is computed in 3061bbd require PETSc
>= 3.5.0 in order to make these tests work.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
In older versions of PETSc, we are unable to achieve the full default
nl_rel_tol reduction in the single timestep this test takes, but
loosening the tolerance slightly allows the test to pass using the
same gold file.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
These tests use the "jp" coloring algorithm, which was introduced in
PETSc 3.5.0.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
These were only recently added, and the tolerances are apparently a
bit too tight for older versions of PETSc.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
This is required to keep these tests running warning-free with older
versions of PETSc (3.4.5). Another option would be to add
'allow_warnings=true' to the specs for these tests, but I think this
approach is more robust.

Without this change, on PETSc 3.4.5, the warning in question is given below:
```
Warning in PenetrationLocator. Penetration is not detected for one or
more slave nodes. This could be because those slave nodes simply do
not project to faces on the master surface. However, this could also
be because contact should be enforced on those nodes, but the faces
that they project to are outside the contact patch, which will give an
erroneous result. Use appropriate options for 'patch_size' and
'patch_update_strategy' in the Mesh block to avoid this issue. Setting
'patch_update_strategy=iteration' is recommended because it completely
avoids this potential issue. Also note that this warning is printed
only once, so a similar situation could occur multiple times during
the simulation but this warning is printed only at the first
occurrence.
```

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
This test fails with a negative Jacobian on older versions of PETSc
since the changes in 3061bbd.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
… PETSc.

These tests now diff significantly with older versions of PETSc, most likely due
to 3061bbd which changed the way the residual is computed in contact problems.

test:normalized_penalty.kin_Q4:
Nodal variables:
   contact_pressure  rel diff:  0.0000000e+00 ~ -3.0000000e+06 = 1.00000e+00 (node 2)
   disp_x            rel diff:  9.0910618e-20 ~  1.0000000e-02 = 1.00000e+00 (node 2)
   penetration       rel diff: -1.0000000e-02 ~  4.4408921e-16 = 1.00000e+00 (node 18)
   saved_x           rel diff:  1.2154877e-14 ~ -1.5000000e+06 = 1.00000e+00 (node 1)
Element variables:
   stress_xx  rel diff:  0.0000000e+00 ~  3.0000000e+06 = 1.00000e+00 (block 1, elmt 1)

test:normalized_penalty.kin_Q8:
Nodal variables:
   contact_pressure  rel diff:  0.0000000e+00 ~ -3.0000000e+06 = 1.00000e+00 (node 2)
   disp_x            rel diff:  1.5835195e-20 ~  1.0000000e-02 = 1.00000e+00 (node 2)
   penetration       rel diff: -1.0000000e-02 ~  8.8817842e-16 = 1.00000e+00 (node 10)
   saved_x           rel diff: -4.4979690e-11 ~  5.0000000e+05 = 1.00000e+00 (node 58)
Element variables:
   stress_xx  rel diff:  0.0000000e+00 ~  3.0000000e+06 = 1.00000e+00 (block 1, elmt 1)

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
This commit keeps the test working with older versions of PETSc and
removes the abs_zero and use_old_floor hacks employed previously.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
…ons of PETSc.

Changes to the way the residual is computed in 3061bbd require PETSc
>= 3.5.0 in order to make these tests work.

Refs idaholab#10906.
jwpeterson added a commit to jwpeterson/moose that referenced this issue Feb 27, 2018
In older versions of PETSc, we are unable to achieve the full default
nl_rel_tol reduction in the single timestep this test takes, but
loosening the tolerance slightly allows the test to pass using the
same gold file.

Refs idaholab#10906.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Framework P: normal A defect affecting operation with a low possibility of significantly affects. T: task An enhancement to the software.
Projects
None yet
Development

No branches or pull requests

3 participants