From: Renato P. <re...@gm...> - 2018-08-16 21:47:55
|
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*) |
From: Renato P. <re...@gm...> - 2018-08-23 20:59:16
|
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*) > > |
From: Alexander L. <ale...@gm...> - 2018-08-25 02:49:48
|
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 > |
From: Renato P. <re...@gm...> - 2018-08-25 14:07:32
|
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 >> > > |
From: Alexander L. <ale...@gm...> - 2018-08-25 15:06:52
|
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 >> |
From: Alexander L. <ale...@gm...> - 2018-08-25 15:04:39
|
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 >>> >> >> |
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 >>>> >>> >>> > |
From: Renato P. <re...@gm...> - 2018-08-25 21:16:55
|
Hi Alexander, Please find attached the example you asked. I used introduction_ex3 as a basis... it got a little messy, I hope it is enough. Please let me know otherwise. Thanks Renato On Sat, Aug 25, 2018 at 12:42 PM Renato Poli <re...@gm...> wrote: > 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 >>>>> >>>> >>>> >> |
From: Alexander L. <ale...@gm...> - 2018-08-27 15:36:04
|
Renato, please check to see whether https://github.com/libMesh/libmesh/pull/1836 fixes your issue. It appears to work to me on the example you sent On Sat, Aug 25, 2018 at 3:16 PM, Renato Poli <re...@gm...> wrote: > Hi Alexander, > > Please find attached the example you asked. > I used introduction_ex3 as a basis... it got a little messy, I hope it is > enough. > Please let me know otherwise. > > Thanks > Renato > > On Sat, Aug 25, 2018 at 12:42 PM Renato Poli <re...@gm...> wrote: > >> 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 >>>>>> >>>>> >>>>> >>> |
From: Renato P. <re...@gm...> - 2018-08-27 18:21:24
|
Hi Alexander, It did run, but the values were not assigned at the right elements. Please find a paraview figure attached. It was produced by the example I sent (open mesh.e in paraview). The pressure subdomain should be a circle in the center. I would guess the problem lies in lines 1141-2 below (just a guess): soln[nv*(nn++) + (var + var_num)] += nodal_soln[n]; ( https://github.com/libMesh/libmesh/pull/1836/files/126feb954ba89c5739794dd286ed8a47c2735be8 ) rgds, Renato On Mon, Aug 27, 2018 at 12:35 PM Alexander Lindsay <ale...@gm...> wrote: > Renato, please check to see whether > https://github.com/libMesh/libmesh/pull/1836 fixes your issue. It appears > to work to me on the example you sent > > On Sat, Aug 25, 2018 at 3:16 PM, Renato Poli <re...@gm...> wrote: > >> Hi Alexander, >> >> Please find attached the example you asked. >> I used introduction_ex3 as a basis... it got a little messy, I hope it is >> enough. >> Please let me know otherwise. >> >> Thanks >> Renato >> >> On Sat, Aug 25, 2018 at 12:42 PM Renato Poli <re...@gm...> wrote: >> >>> 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 >>>>>>> >>>>>> >>>>>> >>>> > |
From: Alexander L. <ale...@gm...> - 2018-08-27 20:51:56
|
Like this? This is how it looks for me. On Mon, Aug 27, 2018 at 12:21 PM, Renato Poli <re...@gm...> wrote: > Hi Alexander, > > It did run, but the values were not assigned at the right elements. > Please find a paraview figure attached. > It was produced by the example I sent (open mesh.e in paraview). > The pressure subdomain should be a circle in the center. > > I would guess the problem lies in lines 1141-2 below (just a guess): > soln[nv*(nn++) + (var + var_num)] += > nodal_soln[n]; > (https://github.com/libMesh/libmesh/pull/1836/files/ > 126feb954ba89c5739794dd286ed8a47c2735be8) > > rgds, > Renato > > > > On Mon, Aug 27, 2018 at 12:35 PM Alexander Lindsay < > ale...@gm...> wrote: > >> Renato, please check to see whether https://github.com/ >> libMesh/libmesh/pull/1836 fixes your issue. It appears to work to me on >> the example you sent >> >> On Sat, Aug 25, 2018 at 3:16 PM, Renato Poli <re...@gm...> wrote: >> >>> Hi Alexander, >>> >>> Please find attached the example you asked. >>> I used introduction_ex3 as a basis... it got a little messy, I hope it >>> is enough. >>> Please let me know otherwise. >>> >>> Thanks >>> Renato >>> >>> On Sat, Aug 25, 2018 at 12:42 PM Renato Poli <re...@gm...> wrote: >>> >>>> 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 >>>>>>>> >>>>>>> >>>>>>> >>>>> >> |
From: Renato P. <re...@gm...> - 2018-08-27 21:59:57
|
Is that "p"? On Mon, Aug 27, 2018 at 5:51 PM Alexander Lindsay <ale...@gm...> wrote: > Like this? This is how it looks for me. > > On Mon, Aug 27, 2018 at 12:21 PM, Renato Poli <re...@gm...> wrote: > >> Hi Alexander, >> >> It did run, but the values were not assigned at the right elements. >> Please find a paraview figure attached. >> It was produced by the example I sent (open mesh.e in paraview). >> The pressure subdomain should be a circle in the center. >> >> I would guess the problem lies in lines 1141-2 below (just a guess): >> soln[nv*(nn++) + (var + var_num)] += >> nodal_soln[n]; >> ( >> https://github.com/libMesh/libmesh/pull/1836/files/126feb954ba89c5739794dd286ed8a47c2735be8 >> ) >> >> rgds, >> Renato >> >> >> >> On Mon, Aug 27, 2018 at 12:35 PM Alexander Lindsay < >> ale...@gm...> wrote: >> >>> Renato, please check to see whether >>> https://github.com/libMesh/libmesh/pull/1836 fixes your issue. It >>> appears to work to me on the example you sent >>> >>> On Sat, Aug 25, 2018 at 3:16 PM, Renato Poli <re...@gm...> wrote: >>> >>>> Hi Alexander, >>>> >>>> Please find attached the example you asked. >>>> I used introduction_ex3 as a basis... it got a little messy, I hope it >>>> is enough. >>>> Please let me know otherwise. >>>> >>>> Thanks >>>> Renato >>>> >>>> On Sat, Aug 25, 2018 at 12:42 PM Renato Poli <re...@gm...> wrote: >>>> >>>>> 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 >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>> >>> > |
From: Alexander L. <ale...@gm...> - 2018-08-27 22:00:51
|
Yes it is On Mon, Aug 27, 2018 at 3:59 PM, Renato Poli <re...@gm...> wrote: > Is that "p"? > > On Mon, Aug 27, 2018 at 5:51 PM Alexander Lindsay < > ale...@gm...> wrote: > >> Like this? This is how it looks for me. >> >> On Mon, Aug 27, 2018 at 12:21 PM, Renato Poli <re...@gm...> wrote: >> >>> Hi Alexander, >>> >>> It did run, but the values were not assigned at the right elements. >>> Please find a paraview figure attached. >>> It was produced by the example I sent (open mesh.e in paraview). >>> The pressure subdomain should be a circle in the center. >>> >>> I would guess the problem lies in lines 1141-2 below (just a guess): >>> soln[nv*(nn++) + (var + var_num)] += >>> nodal_soln[n]; >>> (https://github.com/libMesh/libmesh/pull/1836/files/ >>> 126feb954ba89c5739794dd286ed8a47c2735be8) >>> >>> rgds, >>> Renato >>> >>> >>> >>> On Mon, Aug 27, 2018 at 12:35 PM Alexander Lindsay < >>> ale...@gm...> wrote: >>> >>>> Renato, please check to see whether https://github.com/ >>>> libMesh/libmesh/pull/1836 fixes your issue. It appears to work to me >>>> on the example you sent >>>> >>>> On Sat, Aug 25, 2018 at 3:16 PM, Renato Poli <re...@gm...> wrote: >>>> >>>>> Hi Alexander, >>>>> >>>>> Please find attached the example you asked. >>>>> I used introduction_ex3 as a basis... it got a little messy, I hope it >>>>> is enough. >>>>> Please let me know otherwise. >>>>> >>>>> Thanks >>>>> Renato >>>>> >>>>> On Sat, Aug 25, 2018 at 12:42 PM Renato Poli <re...@gm...> >>>>> wrote: >>>>> >>>>>> 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 >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>> >>>> >> |
From: Alexander L. <ale...@gm...> - 2018-08-27 22:01:12
|
How did you apply my patch? On Mon, Aug 27, 2018 at 4:00 PM, Alexander Lindsay <ale...@gm... > wrote: > Yes it is > > On Mon, Aug 27, 2018 at 3:59 PM, Renato Poli <re...@gm...> wrote: > >> Is that "p"? >> >> On Mon, Aug 27, 2018 at 5:51 PM Alexander Lindsay < >> ale...@gm...> wrote: >> >>> Like this? This is how it looks for me. >>> >>> On Mon, Aug 27, 2018 at 12:21 PM, Renato Poli <re...@gm...> wrote: >>> >>>> Hi Alexander, >>>> >>>> It did run, but the values were not assigned at the right elements. >>>> Please find a paraview figure attached. >>>> It was produced by the example I sent (open mesh.e in paraview). >>>> The pressure subdomain should be a circle in the center. >>>> >>>> I would guess the problem lies in lines 1141-2 below (just a guess): >>>> soln[nv*(nn++) + (var + var_num)] += >>>> nodal_soln[n]; >>>> (https://github.com/libMesh/libmesh/pull/1836/files/126feb95 >>>> 4ba89c5739794dd286ed8a47c2735be8) >>>> >>>> rgds, >>>> Renato >>>> >>>> >>>> >>>> On Mon, Aug 27, 2018 at 12:35 PM Alexander Lindsay < >>>> ale...@gm...> wrote: >>>> >>>>> Renato, please check to see whether https://github.com/lib >>>>> Mesh/libmesh/pull/1836 fixes your issue. It appears to work to me on >>>>> the example you sent >>>>> >>>>> On Sat, Aug 25, 2018 at 3:16 PM, Renato Poli <re...@gm...> >>>>> wrote: >>>>> >>>>>> Hi Alexander, >>>>>> >>>>>> Please find attached the example you asked. >>>>>> I used introduction_ex3 as a basis... it got a little messy, I hope >>>>>> it is enough. >>>>>> Please let me know otherwise. >>>>>> >>>>>> Thanks >>>>>> Renato >>>>>> >>>>>> On Sat, Aug 25, 2018 at 12:42 PM Renato Poli <re...@gm...> >>>>>> wrote: >>>>>> >>>>>>> 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_vecto >>>>>>>>>>> r(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::__cx >>>>>>>>>>> x11::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::__cx >>>>>>>>>>> x11::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 >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>> >>> > |
From: Renato P. <re...@gm...> - 2018-08-27 22:05:59
|
# git pull origin pull/1836/head On Mon, Aug 27, 2018 at 7:01 PM Alexander Lindsay <ale...@gm...> wrote: > How did you apply my patch? > > On Mon, Aug 27, 2018 at 4:00 PM, Alexander Lindsay < > ale...@gm...> wrote: > >> Yes it is >> >> On Mon, Aug 27, 2018 at 3:59 PM, Renato Poli <re...@gm...> wrote: >> >>> Is that "p"? >>> >>> On Mon, Aug 27, 2018 at 5:51 PM Alexander Lindsay < >>> ale...@gm...> wrote: >>> >>>> Like this? This is how it looks for me. >>>> >>>> On Mon, Aug 27, 2018 at 12:21 PM, Renato Poli <re...@gm...> >>>> wrote: >>>> >>>>> Hi Alexander, >>>>> >>>>> It did run, but the values were not assigned at the right elements. >>>>> Please find a paraview figure attached. >>>>> It was produced by the example I sent (open mesh.e in paraview). >>>>> The pressure subdomain should be a circle in the center. >>>>> >>>>> I would guess the problem lies in lines 1141-2 below (just a guess): >>>>> soln[nv*(nn++) + (var + var_num)] += >>>>> nodal_soln[n]; >>>>> ( >>>>> https://github.com/libMesh/libmesh/pull/1836/files/126feb954ba89c5739794dd286ed8a47c2735be8 >>>>> ) >>>>> >>>>> rgds, >>>>> Renato >>>>> >>>>> >>>>> >>>>> On Mon, Aug 27, 2018 at 12:35 PM Alexander Lindsay < >>>>> ale...@gm...> wrote: >>>>> >>>>>> Renato, please check to see whether >>>>>> https://github.com/libMesh/libmesh/pull/1836 fixes your issue. It >>>>>> appears to work to me on the example you sent >>>>>> >>>>>> On Sat, Aug 25, 2018 at 3:16 PM, Renato Poli <re...@gm...> >>>>>> wrote: >>>>>> >>>>>>> Hi Alexander, >>>>>>> >>>>>>> Please find attached the example you asked. >>>>>>> I used introduction_ex3 as a basis... it got a little messy, I hope >>>>>>> it is enough. >>>>>>> Please let me know otherwise. >>>>>>> >>>>>>> Thanks >>>>>>> Renato >>>>>>> >>>>>>> On Sat, Aug 25, 2018 at 12:42 PM Renato Poli <re...@gm...> >>>>>>> wrote: >>>>>>> >>>>>>>> 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 >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>> >>>> >> > |