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 <alexlindsay...@gmail.com>
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 <rebp...@gmail.com> 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 <rebp...@gmail.com> wrote:
>>
>>> Sure.... please give me a couple of hours.
>>>
>>> On Sat, Aug 25, 2018 at 12:04 PM Alexander Lindsay <
>>> alexlindsay...@gmail.com> 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 <
>>>> alexlindsay...@gmail.com> wrote:
>>>>
>>>>> Ah yes...key difference between "empty" and "zero"...
>>>>>
>>>>> On Aug 25, 2018, at 7:03 AM, Renato Poli <rebp...@gmail.com> 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 <
>>>>> alexlindsay...@gmail.com> 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 <rebp...@gmail.com>
>>>>>> 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 <rebp...@gmail.com>
>>>>>>> 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
>>>>>>> Libmesh-users@lists.sourceforge.net
>>>>>>> https://lists.sourceforge.net/lists/listinfo/libmesh-users
>>>>>>>
>>>>>>
>>>>>>
>>>>
>
------------------------------------------------------------------------------
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
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to