grinsfem / grins

Multiphysics Finite Element package built on libMesh
http://grinsfem.github.io
Other
47 stars 39 forks source link

parsed_qoi, parsed_qoi_scalars Tests Failing #602

Closed pbauman closed 3 years ago

pbauman commented 3 years ago

git bisect is fingering libMesh/libmesh@568aa9fe It's late so this will have to wait until another time, but wanted to capture the hash git bisect found. @roystgnr

roystgnr commented 3 years ago

That's pretty dumbfounding. Glad you caught it, though. Before that commit we're testing the DirichletBoundaries container repeatedly, for every thread range; after we're just testing the primal DirichletBoundaries container once, relying on the fact that we shouldn't have any adjoint Dirichlet boundaries that aren't subsets of primal ones. I thought that was a restriction literally impossible to break... Pinging @vikramvgarg too - this isn't urgent but he might understand the problem as well as I do.

vikramvgarg commented 3 years ago

@pbauman, can you post the error message ?

pbauman commented 3 years ago

Sorry, should've included the error message originally.

==========================================================
GRINS Version: 4121bbc36a7d1b78eb1028e843ac8292e26af3fe
libMesh Version: 8c77ae229c07ec91cf5b593010c00de484c2339e
Running with command:
/home/pbauman/work/grins/build/src/.libs/grins ../../grins/test/input_files/parsed_qoi.in -pc_type asm -pc_asm_overlap 4 -sub_pc_type ilu -sub_pc_factor_levels 4 -sub_pc_factor_mat_ordering_type 1wd -sub_pc_factor_shift_type nonzero
==========================================================
==========================================================
List of Enabled Physics:
Stokes
==========================================================
*** Warning, This code is deprecated, and likely to be removed in future library versions! /home/pbauman/swstack/sourcesdir/libmesh/libmesh-master/src/mesh/boundary_info.C, line 2114, compiled Jul 17 2021 at 17:18:26 ***
==========================================================
List of Enabled QoIs:
parsed_interior
parsed_boundary
weighted_flux
==========================================================
Valid System not found for any Variables.
Stack frames: 14
0: libMesh::print_trace(std::ostream&)
1: libMesh::MacroFunctions::report_error(char const*, int, char const*, char const*)
2: /home/pbauman/swstack/libs/libmesh/master/gcc/10.3.0/mpich/3.4.2/petsc/3.15.2/openblas/0.3.13/boost/1.66.0/hdf5/1.8.21/vtk/9.0.3/lib/libmesh_devel.so.0(+0x5873f9) [0x7f83a1ab03f9]
3: /home/pbauman/swstack/libs/libmesh/master/gcc/10.3.0/mpich/3.4.2/petsc/3.15.2/openblas/0.3.13/boost/1.66.0/hdf5/1.8.21/vtk/9.0.3/lib/libmesh_devel.so.0(+0x58ce4b) [0x7f83a1ab5e4b]
4: libMesh::DofMap::create_dof_constraints(libMesh::MeshBase const&, double)
5: libMesh::System::reinit_constraints()
6: GRINS::WeightedFluxQoI::init(GetPot const&, GRINS::MultiphysicsSystem const&, unsigned int)
7: GRINS::CompositeQoI::init(GetPot const&, GRINS::MultiphysicsSystem const&)
8: GRINS::Simulation::init_qois(GetPot const&, GRINS::SimulationBuilder&)
9: GRINS::Simulation::Simulation(GetPot const&, GetPot&, GRINS::SimulationBuilder&, libMesh::Parallel::Communicator const&)
10: GRINS::Runner::init()
11: /home/pbauman/work/grins/build/src/.libs/grins() [0x4022bd]
12: __libc_start_main
13: /home/pbauman/work/grins/build/src/.libs/grins() [0x40262e]
[0] /home/pbauman/swstack/sourcesdir/libmesh/libmesh-master/src/base/dof_map_constraints.C, line 1606, compiled Jul 17 2021 at 17:18:02
Abort(1) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
FAIL regression/parsed_qoi.sh (exit status: 1
roystgnr commented 3 years ago

Oh, it's just hitting that assertion? That should be much easier to fix than a diff. Let me try to reproduce this today.

roystgnr commented 3 years ago

Let me know if that fixed it for you too? I can't actually run most of the GRINS tests with my default --disable-deprecated build: we deprecated FE reinit without prerequesting data, and it turns out that GRINS uses a lot of FE objects without doing prerequests.

pbauman commented 3 years ago

Let me know if that fixed it for you too?

It did! All tests passing with libMesh master now, thank you!

I can't actually run most of the GRINS tests with my default --disable-deprecated build: we deprecated FE reinit without prerequesting data, and it turns out that GRINS uses a lot of FE objects without doing prerequests.

😬 OK, that's a good thing to tackle. I'll tackle that this weekend and hopefully still have some time for RT to get some love.

roystgnr commented 3 years ago

OK, that's a good thing to tackle.

Right? Deprecating that revealed a ton of my own codes and a ton of Moose modules that were calculating shape function derivatives or mappings or even second derivatives before being used in kernels that never touched the results of that part of the calculations.