Hello,

Thank you all for your help.

I have changed VecGetArray to VecGetArrayF90, and the location of destory call. 
but I want to make sure that VecGet ArrayF90 is to make a new array( vector) 
that I can use in the rest of my Fortran code?

when I run it and debugged it, I got

  5.2000000E-03
   50.00000
   10.00000
  0.0000000E+00
PETSC: Attaching gdb to 
/weka/data/lab/richey/sawsan/GW_CODE/code2024/SS_GWM/./GW.exe of pid 33065 on 
display :0.0 on machine sn16
Unable to start debugger in xterm: No such file or directory
  0.0000000E+00
Attempting to use an MPI routine after finalizing MPICH
srun: error: sn16: task 0: Exited with exit code 1
[sawsan.shatanawi@login-p2n02 SS_GWM]$ gdb ./GW/exe
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-100.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
./GW/exe: No such file or directory.
(gdb) run
Starting program:
No executable file specified.
Use the "file" or "exec-file" command.
(gdb) bt
No stack.
(gdb)

If the highlighted line is the error, I don't know why when I write gdb , it 
does not show me the location of error
The code : sshatanawi/SS_GWM (github.com)<https://github.com/sshatanawi/SS_GWM>

I really appreciate your helps

Sawsan
________________________________
From: Barry Smith <[email protected]>
Sent: Wednesday, January 10, 2024 5:35 PM
To: Junchao Zhang <[email protected]>
Cc: Shatanawi, Sawsan Muhammad <[email protected]>; Mark Adams 
<[email protected]>; [email protected] <[email protected]>
Subject: Re: [petsc-users] Help with Integrating PETSc into Fortran Groundwater 
Flow Simulation Code


[EXTERNAL EMAIL]


On Jan 10, 2024, at 6:49 PM, Junchao Zhang <[email protected]> wrote:

Hi, Sawsan,
 I could build your code and I also could gdb it.

$ gdb ./GW.exe
...
$ Thread 1 "GW.exe" received signal SIGSEGV, Segmentation fault.
0x00007ffff1e6d44f in vecgetarray_ (x=0x7fffffffa718, fa=0x0, 
ia=0x7fffffffa75c, ierr=0x0) at 
/scratch/jczhang/petsc/src/vec/vec/interface/ftn-custom/zvectorf.c:257
257       *ierr = VecGetArray(*x, &lx);
(gdb) bt
#0  0x00007ffff1e6d44f in vecgetarray_ (x=0x7fffffffa718, fa=0x0, 
ia=0x7fffffffa75c, ierr=0x0) at 
/scratch/jczhang/petsc/src/vec/vec/interface/ftn-custom/zvectorf.c:257
#1  0x000000000040b6e3 in gw_solver (t_s=1.40129846e-45, n=300) at 
GW_solver_try.F90:169
#2  0x000000000040c6a8 in test_gw () at test_main.F90:35

ierr=0x0  caused the segfault.  See 
https://petsc.org/release/manualpages/Vec/VecGetArray/#vecgetarray<https://urldefense.com/v3/__https://petsc.org/release/manualpages/Vec/VecGetArray/*vecgetarray__;Iw!!JmPEgBY0HMszNaDT!tqBApprMfYxwNz4Zvnk8coNE5AeWjA9wSdAM7QJcIIVP1z0VDsVIalo4Sew2b0fW3bZtTAbPh-h0MUsZ9Km12jA$>,
 you should use VecGetArrayF90 instead.

BTW,  Barry,  the code 
https://github.com/sshatanawi/SS_GWM/blob/main/GW_solver_try.F90#L169<https://urldefense.com/v3/__https://github.com/sshatanawi/SS_GWM/blob/main/GW_solver_try.F90*L169__;Iw!!JmPEgBY0HMszNaDT!tqBApprMfYxwNz4Zvnk8coNE5AeWjA9wSdAM7QJcIIVP1z0VDsVIalo4Sew2b0fW3bZtTAbPh-h0MUsZh2eAi4o$>
 has "call VecGetArray(temp_solution, H_vector, ierr)".    I don't find petsc 
Fortran examples doing VecGetArray.  Do we still support it?

    This is not the correct calling sequence for VecGetArray() from Fortran.

    Regardless, definitely should not be writing any new code that uses 
VecGetArray() from Fortran. Should use VecGetArrayF90().


--Junchao Zhang


On Wed, Jan 10, 2024 at 2:38 PM Shatanawi, Sawsan Muhammad via petsc-users 
<[email protected]<mailto:[email protected]>> wrote:
Hello all,

I hope you are doing well.

Generally, I use gdb <the name of my exe.file> to debug the code.
 I got the attached error message.

I have tried to add the flag -start_in_debugger in the make file, but it didn't 
work, so it seems I was doing it in the wrong way

This is the link for the whole code: sshatanawi/SS_GWM 
(github.com)<https://urldefense.com/v3/__https://github.com/sshatanawi/SS_GWM__;!!JmPEgBY0HMszNaDT!tqBApprMfYxwNz4Zvnk8coNE5AeWjA9wSdAM7QJcIIVP1z0VDsVIalo4Sew2b0fW3bZtTAbPh-h0MUsZ1Veab3M$>
[https://opengraph.githubassets.com/9eb6cd14baf12f04848ed209b6f502415eb531bdd7b3a5f9696af68663b870c0/sshatanawi/SS_GWM]<https://urldefense.com/v3/__https://github.com/sshatanawi/SS_GWM__;!!JmPEgBY0HMszNaDT!tqBApprMfYxwNz4Zvnk8coNE5AeWjA9wSdAM7QJcIIVP1z0VDsVIalo4Sew2b0fW3bZtTAbPh-h0MUsZ1Veab3M$>
GitHub - 
sshatanawi/SS_GWM<https://urldefense.com/v3/__https://github.com/sshatanawi/SS_GWM__;!!JmPEgBY0HMszNaDT!tqBApprMfYxwNz4Zvnk8coNE5AeWjA9wSdAM7QJcIIVP1z0VDsVIalo4Sew2b0fW3bZtTAbPh-h0MUsZ1Veab3M$>
Contribute to sshatanawi/SS_GWM development by creating an account on GitHub.
github.com<https://urldefense.com/v3/__http://github.com/__;!!JmPEgBY0HMszNaDT!tqBApprMfYxwNz4Zvnk8coNE5AeWjA9wSdAM7QJcIIVP1z0VDsVIalo4Sew2b0fW3bZtTAbPh-h0MUsZ8rcrPiA$>


You can read the description of the code in " Model Desprciption.pdf"
the compiling file is makefile_f90 where you can find the linked code files

I really appreciate your help

Bests,
Sawsan
________________________________
From: Mark Adams <[email protected]<mailto:[email protected]>>
Sent: Friday, January 5, 2024 4:53 AM
To: Shatanawi, Sawsan Muhammad 
<[email protected]<mailto:[email protected]>>
Cc: Matthew Knepley <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]> 
<[email protected]<mailto:[email protected]>>
Subject: Re: [petsc-users] Help with Integrating PETSc into Fortran Groundwater 
Flow Simulation Code


[EXTERNAL EMAIL]

This is a segv. As Matt said, you need to use a debugger for this or add print 
statements to narrow down the place where this happens.

You will need to learn how to use debuggers to do your project so you might as 
well start now.

If you have a machine with a GUI debugger that is easier but command line 
debuggers are good to learn anyway.

I tend to run debuggers directly (eg, lldb ./a.out -- program-args ...) and use 
a GUI debugger (eg, Totalview or DDT) if available.

Mark


On Wed, Dec 20, 2023 at 10:02 PM Shatanawi, Sawsan Muhammad via petsc-users 
<[email protected]<mailto:[email protected]>> wrote:
Hello Matthew,

Thank you for your help. I am sorry that I keep coming back with my error 
messages, but I reached a point that I don't know how to fix them, and I don't 
understand them easily.
The list of errors is getting shorter, now I am getting the attached error 
messages

Thank you again,

Sawsan
________________________________
From: Matthew Knepley <[email protected]<mailto:[email protected]>>
Sent: Wednesday, December 20, 2023 6:54 PM
To: Shatanawi, Sawsan Muhammad 
<[email protected]<mailto:[email protected]>>
Cc: Barry Smith <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]> 
<[email protected]<mailto:[email protected]>>
Subject: Re: [petsc-users] Help with Integrating PETSc into Fortran Groundwater 
Flow Simulation Code


[EXTERNAL EMAIL]

On Wed, Dec 20, 2023 at 9:49 PM Shatanawi, Sawsan Muhammad via petsc-users 
<[email protected]<mailto:[email protected]>> wrote:
Hello Barry,

Thank you a lot for your help, Now I am getting the attached error message.

Do not destroy the PC from KSPGetPC()

  THanks,

     Matt

Bests,
Sawsan
________________________________
From: Barry Smith <[email protected]<mailto:[email protected]>>
Sent: Wednesday, December 20, 2023 6:32 PM
To: Shatanawi, Sawsan Muhammad 
<[email protected]<mailto:[email protected]>>
Cc: Mark Adams <[email protected]<mailto:[email protected]>>; 
[email protected]<mailto:[email protected]> 
<[email protected]<mailto:[email protected]>>
Subject: Re: [petsc-users] Help with Integrating PETSc into Fortran Groundwater 
Flow Simulation Code


[EXTERNAL EMAIL]

Instead of

    call PCCreate(PETSC_COMM_WORLD, pc, ierr)
    call PCSetType(pc, PCILU,ierr) ! Choose a preconditioner type (ILU)
    call KSPSetPC(ksp, pc,ierr)  ! Associate the preconditioner with the KSP 
solver

do

    call KSPGetPC(ksp,pc,ierr)
    call PCSetType(pc, PCILU,ierr)

Do not call KSPSetUp(). It will be taken care of automatically during the solve



On Dec 20, 2023, at 8:52 PM, Shatanawi, Sawsan Muhammad via petsc-users 
<[email protected]<mailto:[email protected]>> wrote:

Hello,
I don't think that I set preallocation values when I created the matrix, would 
you please have look at my code. It is just the petsc related part from my code.
I was able to fix some of the error messages. Now I have a new set of error 
messages related to the KSP solver (attached)

I appreciate your help

Sawsan
________________________________
From: Mark Adams <[email protected]<mailto:[email protected]>>
Sent: Wednesday, December 20, 2023 6:44 AM
To: Shatanawi, Sawsan Muhammad 
<[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]> 
<[email protected]<mailto:[email protected]>>
Subject: Re: [petsc-users] Help with Integrating PETSc into Fortran Groundwater 
Flow Simulation Code

[EXTERNAL EMAIL]
Did you set preallocation values when you created the matrix?
Don't do that.

On Wed, Dec 20, 2023 at 9:36 AM Shatanawi, Sawsan Muhammad 
<[email protected]<mailto:[email protected]>> wrote:
Hello,

I am trying to create a sparse matrix( which is as I believe a zero matrix) 
then adding some nonzero elements to it over a loop, then assembling it

Get Outlook for 
iOS<https://urldefense.com/v3/__https://aka.ms/o0ukef__;!!JmPEgBY0HMszNaDT!uUJ_jeYf45gcXDGR_PeMjhU7hbd_fKcXJPn0pM9eb-YQihKNYuXMYM9x-hglsbXsCFIwNBWgHXdetHODupsOloE$>
________________________________
From: Mark Adams <[email protected]<mailto:[email protected]>>
Sent: Wednesday, December 20, 2023 2:48 AM
To: Shatanawi, Sawsan Muhammad 
<[email protected]<mailto:[email protected]>>
Cc: [email protected]<mailto:[email protected]> 
<[email protected]<mailto:[email protected]>>
Subject: Re: [petsc-users] Help with Integrating PETSc into Fortran Groundwater 
Flow Simulation Code

[EXTERNAL EMAIL]
I am guessing that you are creating a matrix, adding to it, finalizing it 
("assembly"), and then adding to it again, which is fine, but you are adding 
new non-zeros to the sparsity pattern.
If this is what you want then you can tell the matrix to let you do that.
Otherwise you have a bug.

Mark

On Tue, Dec 19, 2023 at 9:50 PM Shatanawi, Sawsan Muhammad via petsc-users 
<[email protected]<mailto:[email protected]>> wrote:
Hello everyone,

I hope this email finds you well.

 My Name is Sawsan Shatanawi, and I am currently working on developing a 
Fortran code for simulating groundwater flow in a 3D system. The code involves 
solving a nonlinear system, and I have created the matrix to be solved using 
the PCG solver and Picard iteration. However, when I tried to assign it as a 
PETSc matrix I started getting a lot of error messages.

I am kindly asking if someone can help me, I would be happy to share my code 
with him/her.

Please find the attached file contains a list of errors I have gotten

Thank you in advance for your time and assistance.

Best regards,

 Sawsan

<Matrix_RHS.F90><out.txt><solver.F90>



--
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/<https://urldefense.com/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!JmPEgBY0HMszNaDT!uskvAyF0pMMWDbMIexr9g4qN46V7Rea17GQdNIVG2vH_HMaX7mXgie4ZYgusmPpss_DS7H1_8vn8arGQNSkC$>

Reply via email to