Barry,

Thank you for the very good advice. I think all the elements have been filled but there may be some on the boundaries missed. 

Jiannan

From: Barry Smith <bsmith@petsc.dev>
Sent: Friday, June 9, 2023 3:35 PM
To: Tu, Jiannan <Jiannan_Tu@uml.edu>
Cc: petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov>; Zhang, Hong <hongzhang@anl.gov>
Subject: Re: [petsc-users]Unconditional jump or move depends on uninitialised value(s)
 

CAUTION: This email was sent from outside the UMass Lowell network.


  Yes they matter; they cannot be ignored.

  The most likely cause is that you did not fill in certain entries in the vector during the function evaluation routine you set with SNESSetFunction(). Another possibility is if you provided a right hand side vector to the SNES (uncommon) that not all values in that vector have been filled in.

  If you call VecView() inside your function evaluation routine immediately after you have finished filling the vector it may help track down which entries you missed.


  Barry


On Jun 9, 2023, at 3:24 PM, Tu, Jiannan <Jiannan_Tu@uml.edu> wrote:

 

Thank you for your kind advice.

 

Jiannan

 

==1988731== Conditional jump or move depends on uninitialised value(s)
==1988731==    at 0xA19178C: sqrt (w_sqrt_compat.c:31)
==1988731==    by 0x4EA9E4C: VecNorm_Seq (bvec2.c:227)
==1988731==    by 0x4F705C8: VecNorm (rvector.c:228)
==1988731==    by 0x6678D91: SNESSolve_NEWTONTR (tr.c:300)
==1988731==    by 0x673093F: SNESSolve (snes.c:4809)
==1988731==    by 0x122FA7: main (iditm3d.cpp:138)
==1988731==
==1988731== Conditional jump or move depends on uninitialised value(s)
==1988731==    at 0x667495C: PetscIsInfOrNanReal (petscmath.h:788)
==1988731==    by 0x6678E0C: SNESSolve_NEWTONTR (tr.c:301)
==1988731==    by 0x673093F: SNESSolve (snes.c:4809)
==1988731==    by 0x122FA7: main (iditm3d.cpp:138)
==1988731==
==1988731== Conditional jump or move depends on uninitialised value(s)
==1988731==    at 0xA347078: __printf_fp_l (printf_fp.c:387)
==1988731==    by 0xA360547: printf_positional (vfprintf-internal.c:2072)
==1988731==    by 0xA361DCC: __vfprintf_internal (vfprintf-internal.c:1733)
==1988731==    by 0xA376F99: __vsnprintf_internal (vsnprintf.c:114)
==1988731==    by 0x4A77784: PetscVSNPrintf (mprint.c:176)
==1988731==    by 0x4A77EF4: PetscVFPrintfDefault (mprint.c:292)
==1988731==    by 0x4BCBB92: PetscViewerASCIIPrintf (filev.c:607)
==1988731==    by 0x674764B: SNESMonitorDefault (snesut.c:296)
==1988731==    by 0x6728A3E: SNESMonitor (snes.c:4059)
==1988731==    by 0x6679743: SNESSolve_NEWTONTR (tr.c:309)
==1988731==    by 0x673093F: SNESSolve (snes.c:4809)
==1988731==    by 0x122FA7: main (iditm3d.cpp:138)
==1988731==
==1988731== Conditional jump or move depends on uninitialised value(s)
==1988731==    at 0xA342B34: __mpn_extract_double (dbl2mpn.c:56)
==1988731==    by 0xA34738E: __printf_fp_l (printf_fp.c:387)
==1988731==    by 0xA360547: printf_positional (vfprintf-internal.c:2072)
==1988731==    by 0xA361DCC: __vfprintf_internal (vfprintf-internal.c:1733)
==1988731==    by 0xA376F99: __vsnprintf_internal (vsnprintf.c:114)
==1988731==    by 0x4A77784: PetscVSNPrintf (mprint.c:176)
==1988731==    by 0x4A77EF4: PetscVFPrintfDefault (mprint.c:292)
==1988731==    by 0x4BCBB92: PetscViewerASCIIPrintf (filev.c:607)
==1988731==    by 0x674764B: SNESMonitorDefault (snesut.c:296)
==1988731==    by 0x6728A3E: SNESMonitor (snes.c:4059)
==1988731==    by 0x6679743: SNESSolve_NEWTONTR (tr.c:309)
==1988731==    by 0x673093F: SNESSolve (snes.c:4809)