From: Renato P. <re...@gm...> - 2018-08-25 16:06:33
|
Sure.... please give me a couple of hours. On Sat, Aug 25, 2018 at 12:04 PM Alexander Lindsay <ale...@gm...> wrote: > Renato, could you create a minimum example that generates the > discontinuous error, and either share it here or create a ticket on github? > That would be useful for fixing the issue and adding a test in libmesh to > ensure we support the capability. > > On Sat, Aug 25, 2018 at 8:33 AM, Alexander Lindsay < > ale...@gm...> wrote: > >> Ah yes...key difference between "empty" and "zero"... >> >> On Aug 25, 2018, at 7:03 AM, Renato Poli <re...@gm...> wrote: >> >> No success. Stack trace below. >> >> Note that, if I define my variable _only_ on its domain (where there is fluid) it works. >> >> In this case, the problem is in ExodusII_IO::write_discontinuous_timestep. >> >> >> [0]PETSC ERROR: --------------------- Error Message -------------------------------------------------------------- >> [0]PETSC ERROR: Object is in wrong state >> [0]PETSC ERROR: Matrix is missing diagonal entry 0 >> [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting. >> [0]PETSC ERROR: Petsc Release Version 3.7.6, Apr, 24, 2017 >> [0]PETSC ERROR: obj/bin/abada_sc11 on a linux-gnu-opt named dev-vb by dev Sat Aug 25 09:55:36 2018 >> [0]PETSC ERROR: Configure options --with-mpi-dir=/usr/lib/mpich --with-shared-libraries=1 --with-debugging=yes --download-mumps --download-hypre --download-scalapack --download-spai --download-parms >> [0]PETSC ERROR: #1 MatLUFactorSymbolic_SeqAIJ() line 301 in /opt/petsc-3.7.6/src/mat/impls/aij/seq/aijfact.c >> [0]PETSC ERROR: #2 MatLUFactorSymbolic() line 2944 in /opt/petsc-3.7.6/src/mat/interface/matrix.c >> [0]PETSC ERROR: #3 PCSetUp_LU() line 136 in /opt/petsc-3.7.6/src/ksp/pc/impls/factor/lu/lu.c >> [0]PETSC ERROR: #4 PCSetUp() line 968 in /opt/petsc-3.7.6/src/ksp/pc/interface/precon.c >> [0]PETSC ERROR: #5 KSPSetUp() line 390 in /opt/petsc-3.7.6/src/ksp/ksp/interface/itfunc.c >> [0]PETSC ERROR: #6 KSPSolve() line 599 in /opt/petsc-3.7.6/src/ksp/ksp/interface/itfunc.c >> >> Thanks, >> >> Renato >> >> >> On Fri, Aug 24, 2018 at 11:49 PM Alexander Lindsay < >> ale...@gm...> wrote: >> >>> If you're using PETSc as your underlying solver, try the options >>> `-pc_factor_shift_type NONZERO -pc_factor_shift_amount 1e-15` >>> >>> On Thu, Aug 23, 2018 at 2:58 PM, Renato Poli <re...@gm...> wrote: >>> >>>> Hi >>>> >>>> I am getting trouble here again ... really need some help. >>>> >>>> I have part of the domain without flow (and thus without the pressure >>>> variable defined). >>>> As I could not export that (could not get write_discontinuous_exodusII >>>> to >>>> work) I just left the matrix empty, without major impact so far. >>>> However, now I am using LU preconditioning, which does not accept empty >>>> entries in the diagonal. >>>> >>>> How can I get through? >>>> Any suggestion? >>>> >>>> Thanks upfront. >>>> Renato >>>> >>>> >>>> >>>> >>>> >>>> On Thu, Aug 16, 2018 at 6:47 PM Renato Poli <re...@gm...> wrote: >>>> >>>> > Hi >>>> > >>>> > I see the stack trace below when writing a discontinuous timestep >>>> > (exo.write_discontinuous_timestep). >>>> > It happens when my variable is set only in part of the domain. >>>> > No problem arises if I use, instead: >>>> exo.write_equation_systems(fname, es) >>>> > >>>> > Any hint/workaround/idea? >>>> > >>>> > Thanks, >>>> > Renato >>>> > >>>> > This is how the variable is set. >>>> > | std::set<subdomain_id_type> active_subdomains; >>>> > | active_subdomains.clear(); >>>> > | active_subdomains.insert(SUBDOMAIN_A); >>>> > | press_sys.add_variable ("p", SECOND, LAGRANGE, & >>>> active_subdomains); >>>> > >>>> > 0: libMesh::print_trace(std::ostream&) >>>> > 1: libMesh::MacroFunctions::report_error(char const*, int, char >>>> const*, >>>> > char const*) >>>> > 2: >>>> > >>>> libMesh::EquationSystems::build_discontinuous_solution_vector(std::__debug::vector<double, >>>> > std::allocator<double> >&, >>>> > std::__debug::set<std::__cxx11::basic_string<char, >>>> std::char_traits<char>, >>>> > std::allocator<char> >, std::less<std::__cxx11::basic_string<char, >>>> > std::char_traits<char>, std::allocator<char> > >, >>>> > std::allocator<std::__cxx11::basic_string<char, >>>> std::char_traits<char>, >>>> > std::allocator<char> > > > const*) const >>>> > 3: >>>> > >>>> libMesh::ExodusII_IO::write_discontinuous_exodusII(std::__cxx11::basic_string<char, >>>> > std::char_traits<char>, std::allocator<char> > const&, >>>> > libMesh::EquationSystems const&, >>>> > std::__debug::set<std::__cxx11::basic_string<char, >>>> std::char_traits<char>, >>>> > std::allocator<char> >, std::less<std::__cxx11::basic_string<char, >>>> > std::char_traits<char>, std::allocator<char> > >, >>>> > std::allocator<std::__cxx11::basic_string<char, >>>> std::char_traits<char>, >>>> > std::allocator<char> > > > const*) >>>> > 4: >>>> > >>>> libMesh::ExodusII_IO::write_timestep_discontinuous(std::__cxx11::basic_string<char, >>>> > std::char_traits<char>, std::allocator<char> > const&, >>>> > libMesh::EquationSystems const&, int, double, >>>> > std::__debug::set<std::__cxx11::basic_string<char, >>>> std::char_traits<char>, >>>> > std::allocator<char> >, std::less<std::__cxx11::basic_string<char, >>>> > std::char_traits<char>, std::allocator<char> > >, >>>> > std::allocator<std::__cxx11::basic_string<char, >>>> std::char_traits<char>, >>>> > std::allocator<char> > > > const*) >>>> > >>>> > >>>> >>>> ------------------------------------------------------------------------------ >>>> Check out the vibrant tech community on one of the world's most >>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >>>> _______________________________________________ >>>> Libmesh-users mailing list >>>> Lib...@li... >>>> https://lists.sourceforge.net/lists/listinfo/libmesh-users >>>> >>> >>> > |