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 >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>> >>>> >> > |