geodynamics / pylith

PyLith is a finite element code for the solution of dynamic and quasi-static tectonic deformation problems.
Other
153 stars 96 forks source link

Error in fault MMS test using knepley/update-weakform-key + knepley/pylith-dev #285

Closed baagaard-usgs closed 3 years ago

baagaard-usgs commented 3 years ago

Summary

Error running fault MMS test using knepley/update-weakform-key and knepley/pylith-dev

make install -C libsrc
make check -C tests/libtests # should pass
make check -C tests/mmstests # fault MMS test should fail

Error message

pylith::mmstests::TestFaultKin2D_RigidBlocksStatic_TriP1::testResidual[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------
[0]PETSC ERROR: Argument out of range
[0]PETSC ERROR: Cell 38 has not been assigned a cell type
[0]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting.
[0]PETSC ERROR: Petsc Development GIT revision: v3.15.0-606-g6d675eede16  GIT Date: 2021-05-24 14:48:52 +0000
[0]PETSC ERROR: /Users/baagaard/scratch/build/clang-3.6.0-py38/cig/pylith/tests/mmstests/faults/.libs/test_faultkin on a arch-clang-3.6.0-py38_debug named igskcicgltgm067 by baagaard Mon May 24 10:33:11 2021
[0]PETSC ERROR: Configure options --PETSC_ARCH=arch-clang-3.6.0-py38_debug --with-debugging=1 --with-clanguage=c --with-mpi-compilers=1 --with-shared-libraries=1 --with-64-bit-points=1 --with-large-file-io=1 --with-lgrind=0 --download-chaco=1 --download-parmetis=1 --download-metis=1 --download-triangle --with-blas-lib=/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Versions/Current/libBLAS.dylib --with-lapack-lib=/System/Library/Frameworks/Accelerate.framework/Frameworks/vecLib.framework/Versions/Current/libLAPACK.dylib --download-ml=1 --download-superlu=1 --with-fc=0 --with-hdf5=1 --with-hdf5-include=/Users/baagaard/tools/unix/hdf5-1.12.0/clang-3.6.0/include --with-hdf5-lib=/Users/baagaard/tools/unix/hdf5-1.12.0/clang-3.6.0/lib/libhdf5.dylib --with-zlib=1
[0]PETSC ERROR: #1 DMPlexGetCellType() at /Users/baagaard/tools/unix/petsc-dev/src/dm/impls/plex/plex.c:4152
[0]PETSC ERROR: #2 DMPlexGetCompressedClosure() at /Users/baagaard/tools/unix/petsc-dev/src/dm/impls/plex/plex.c:4837
[0]PETSC ERROR: #3 DMPlexVecGetClosure() at /Users/baagaard/tools/unix/petsc-dev/src/dm/impls/plex/plex.c:5036
[0]PETSC ERROR: #4 DMFieldEvaluateFE_DS() at /Users/baagaard/tools/unix/petsc-dev/src/dm/field/impls/ds/dmfieldds.c:141
[0]PETSC ERROR: #5 DMFieldEvaluateFE() at /Users/baagaard/tools/unix/petsc-dev/src/dm/field/interface/dmfield.c:304
[0]PETSC ERROR: #6 DMFieldCreateFEGeom() at /Users/baagaard/tools/unix/petsc-dev/src/dm/field/interface/dmfield.c:456
[0]PETSC ERROR: #7 DMSNESGetFEGeom() at /Users/baagaard/tools/unix/petsc-dev/src/dm/impls/plex/plexfem.c:3764
[0]PETSC ERROR: #8 DMPlexComputeResidual_Hybrid_Internal() at /Users/baagaard/tools/unix/petsc-dev/src/dm/impls/plex/plexfem.c:4968
[0]PETSC ERROR: #9 static void pylith::feassemble::_IntegratorInterface::computeResidual(pylith::topology::Field *, const pylith::feassemble::IntegratorInterface *, const std::vector<pylith::feassemble::IntegratorInterface::ResidualKernels> &, const PylithReal, const PylithReal, const pylith::topology::Field &, const pylith::topology::Field &)() at /Users/baagaard/src/cig/pylith/libsrc/pylith/feassemble/IntegratorInterface.cc:415
baagaard-usgs commented 3 years ago

@knepley I pulled knepley/pylith-dev. Now I am getting NaNs in the hybrid residual for QuadQ1.

cd tests/mmstests/faults
./test_faultkin --journal.debug=TestFaultKin2D_RigidBlocksStatic --tests=pylith::mmstests::TestFaultKin2D_RigidBlocksStatic_QuadQ1::testResidual
Cell 4 Element Hybrid Residual
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
Cell 5 Element Hybrid Residual
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | 0. |
  | nan. |
  | nan. |
  | nan. |
  | nan. |
knepley commented 3 years ago

@baagaard-usgs Please check the new pylith-dev. This passes for me now.