clearly, I meant optimized mode Il giorno gio 13 lug 2023 alle ore 19:19 Stefano Zampini < stefano.zamp...@gmail.com> ha scritto:
> In any case, we need to activate PetscCheck in debug mode too. This could > have been avoided. > > Il giorno gio 13 lug 2023 alle ore 18:23 Karin&NiKo <niko.ka...@gmail.com> > ha scritto: > >> Thank you very much for the information Matt. >> Unfortunately, I do not use DM.... :-( >> >> Le jeu. 13 juil. 2023 à 13:44, Matthew Knepley <knep...@gmail.com> a >> écrit : >> >>> On Thu, Jul 13, 2023 at 5:33 AM Pierre Jolivet <pierre.joli...@lip6.fr> >>> wrote: >>> >>>> Dear Nicolas, >>>> >>>> On 13 Jul 2023, at 10:17 AM, TARDIEU Nicolas <nicolas.tard...@edf.fr> >>>> wrote: >>>> >>>> Dear Pierre, >>>> >>>> You are absolutely right. I was using a --with-debugging=0 (aka >>>> release) install and this is definitely an error. >>>> Once I used my debug install, I found the way to fix my problem. The >>>> solution is in the attached script: I first need to extract the correct >>>> block from the PC operator's MatNest and then append the null space to it. >>>> Anyway this is a bit tricky... >>>> >>>> >>>> Yep, it’s the same with all “nested” solvers, fieldsplit, ASM, MG, you >>>> name it. >>>> You first need the initial PCSetUp() so that the bare minimum is put in >>>> place, then you have to fetch things yourself and adapt it to your needs. >>>> We had a similar discussion with the MEF++ people last week, there is >>>> currently no way around this, AFAIK. >>>> >>> >>> Actually, I hated this as well, so I built a way around it _if_ you are >>> using a DM to define the problem. Then >>> you can set a "nullspace constructor" to make it if the field you are >>> talking about is ever extracted. You use DMSetNullSpaceConstructor(). I do >>> this in SNES ex62 and ex69, and other examples. >>> >>> Thanks, >>> >>> Matt >>> >>> >>>> Thanks, >>>> Pierre >>>> >>>> Regards, >>>> Nicolas >>>> >>>> ------------------------------ >>>> *De :* pierre.joli...@lip6.fr <pierre.joli...@lip6.fr> >>>> *Envoyé :* mercredi 12 juillet 2023 19:52 >>>> *À :* TARDIEU Nicolas <nicolas.tard...@edf.fr> >>>> *Cc :* petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov> >>>> *Objet :* Re: [petsc-users] Near null space for a fieldsplit in >>>> petsc4py >>>> >>>> >>>> > On 12 Jul 2023, at 6:04 PM, TARDIEU Nicolas via petsc-users < >>>> petsc-users@mcs.anl.gov> wrote: >>>> > >>>> > Dear PETSc team, >>>> > >>>> > In the attached example, I set up a block pc for a saddle-point >>>> problem in petsc4py. The IS define the unknowns, namely some physical >>>> quantity (phys) and a Lagrange multiplier (lags). >>>> > I would like to attach a near null space to the physical block, in >>>> order to get the best performance from an AMG pc. >>>> > I have been trying hard, attaching it to the initial block, to the IS >>>> but no matter what I am doing, when it comes to "ksp_view", no near null >>>> space is attached to the matrix. >>>> > >>>> > Could you please help me figure out what I am doing wrong ? >>>> >>>> Are you using a double-precision 32-bit integers real build of PETSc? >>>> Is it --with-debugging=0? >>>> Because with my debug build, I get the following error (thus explaining >>>> why it’s not attached to the KSP). >>>> Traceback (most recent call last): >>>> File "/Volumes/Data/Downloads/test/test_NullSpace.py", line 35, in >>>> <module> >>>> ns = NullSpace().create(True, [v], comm=comm) >>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>> File "petsc4py/PETSc/Mat.pyx", line 5611, in >>>> petsc4py.PETSc.NullSpace.create >>>> petsc4py.PETSc.Error: error code 62 >>>> [0] MatNullSpaceCreate() at >>>> /Volumes/Data/repositories/petsc/src/mat/interface/matnull.c:249 >>>> [0] Invalid argument >>>> [0] Vector 0 must have 2-norm of 1.0, it is 22.3159 >>>> >>>> Furthermore, if you set yourself the constant vector in the near >>>> null-space, then the first argument of create() must be False, otherwise, >>>> you’ll have twice the same vector, and you’ll end up with another error >>>> (the vectors in the near null-space must be orthonormal). >>>> If things still don’t work after those couple of fixes, please feel >>>> free to send an up-to-date reproducer. >>>> >>>> Thanks, >>>> Pierre >>>> >>>> > Thanks, >>>> > Nicolas >>>> > >>>> > >>>> > >>>> > >>>> > Ce message et toutes les pièces jointes (ci-après le 'Message') sont >>>> établis à l'intention exclusive des destinataires et les informations qui y >>>> figurent sont strictement confidentielles. Toute utilisation de ce Message >>>> non conforme à sa destination, toute diffusion ou toute publication totale >>>> ou partielle, est interdite sauf autorisation expresse. >>>> > >>>> > Si vous n'êtes pas le destinataire de ce Message, il vous est >>>> interdit de le copier, de le faire suivre, de le divulguer ou d'en utiliser >>>> tout ou partie. Si vous avez reçu ce Message par erreur, merci de le >>>> supprimer de votre système, ainsi que toutes ses copies, et de n'en garder >>>> aucune trace sur quelque support que ce soit. Nous vous remercions >>>> également d'en avertir immédiatement l'expéditeur par retour du message. >>>> > >>>> > Il est impossible de garantir que les communications par messagerie >>>> électronique arrivent en temps utile, sont sécurisées ou dénuées de toute >>>> erreur ou virus. >>>> > ____________________________________________________ >>>> > >>>> > This message and any attachments (the 'Message') are intended solely >>>> for the addressees. The information contained in this Message is >>>> confidential. Any use of information contained in this Message not in >>>> accord with its purpose, any dissemination or disclosure, either whole or >>>> partial, is prohibited except formal approval. >>>> > >>>> > If you are not the addressee, you may not copy, forward, disclose or >>>> use any part of it. If you have received this message in error, please >>>> delete it and all copies from your system and notify the sender immediately >>>> by return message. >>>> > >>>> > E-mail communication cannot be guaranteed to be timely secure, error >>>> or virus-free. >>>> > <test.tgz> >>>> >>>> >>>> Ce message et toutes les pièces jointes (ci-après le 'Message') sont >>>> établis à l'intention exclusive des destinataires et les informations qui y >>>> figurent sont strictement confidentielles. Toute utilisation de ce Message >>>> non conforme à sa destination, toute diffusion ou toute publication totale >>>> ou partielle, est interdite sauf autorisation expresse. >>>> Si vous n'êtes pas le destinataire de ce Message, il vous est interdit >>>> de le copier, de le faire suivre, de le divulguer ou d'en utiliser tout ou >>>> partie. Si vous avez reçu ce Message par erreur, merci de le supprimer de >>>> votre système, ainsi que toutes ses copies, et de n'en garder aucune trace >>>> sur quelque support que ce soit. Nous vous remercions également d'en >>>> avertir immédiatement l'expéditeur par retour du message. >>>> Il est impossible de garantir que les communications par messagerie >>>> électronique arrivent en temps utile, sont sécurisées ou dénuées de toute >>>> erreur ou virus. >>>> ____________________________________________________ >>>> This message and any attachments (the 'Message') are intended solely >>>> for the addressees. The information contained in this Message is >>>> confidential. Any use of information contained in this Message not in >>>> accord with its purpose, any dissemination or disclosure, either whole or >>>> partial, is prohibited except formal approval. >>>> If you are not the addressee, you may not copy, forward, disclose or >>>> use any part of it. If you have received this message in error, please >>>> delete it and all copies from your system and notify the sender immediately >>>> by return message. >>>> E-mail communication cannot be guaranteed to be timely secure, error or >>>> virus-free. >>>> <test_NullSpace.py.gz> >>>> >>>> >>>> >>> >>> -- >>> What most experimenters take for granted before they begin their >>> experiments is infinitely more interesting than any results to which their >>> experiments lead. >>> -- Norbert Wiener >>> >>> https://www.cse.buffalo.edu/~knepley/ >>> <http://www.cse.buffalo.edu/~knepley/> >>> >> > > -- > Stefano > -- Stefano