Hi, I wonder if you people are interested to include my ex29 fortran version in the petsc examples, which can help people who are using fortran.
Thanks. Yours sincerely, TAY wee-beng On 4/5/2012 9:28 PM, Matthew Knepley wrote: > On Fri, May 4, 2012 at 3:24 PM, TAY wee-beng <zonexo at gmail.com > <mailto:zonexo at gmail.com>> wrote: > > > On 4/5/2012 9:16 PM, Barry Smith wrote: > > Do an hg pull and then run make in > src/mat/interface/ftn-custom/ > > Then it should link. > > Barry > > There was a E missing from the all caps name of the function. > > After hg pull, I did: > > cd src//mat/interface/ftn-custom/ > > User at User-PC /cygdrive/c/temp/petsc-dev/src/mat/interface/ftn-custom > $ make > make[1]: Warning: File > > `/cygdrive/c/temp/petsc-dev/petsc-3.2-dev_win32_vs2008/lib/libpetsc.lib(zmatregf.o)' > has modification time 787 s in the future > make[1]: Nothing to be done for `libc'. > make[1]: warning: Clock skew detected. Your build may be incomplete. > > But it still can't work. > > > Something is messed up with the clock on this machine. > > HOWEVER, development requires certain basic skills in order to debug > your work. We > cannot be the ones debugging your code. Now > > nm $PETSC_ARCH/lib/libpetsc.a | grep -i MatNullSpaceRemove > > will look for the symbol. > > Matt > > > > On May 4, 2012, at 2:11 PM, Matthew Knepley wrote: > > On Fri, May 4, 2012 at 3:01 PM, TAY > wee-beng<zonexo at gmail.com <mailto:zonexo at gmail.com>> wrote: > > On 4/5/2012 5:17 PM, Matthew Knepley wrote: > > On Fri, May 4, 2012 at 11:05 AM, TAY > wee-beng<zonexo at gmail.com <mailto:zonexo at gmail.com>> > wrote: > > On 4/5/2012 3:05 PM, Matthew Knepley wrote: > > On Fri, May 4, 2012 at 8:59 AM, TAY > wee-beng<zonexo at gmail.com > <mailto:zonexo at gmail.com>> wrote: > > Hi, > > Is there anything else I can try to get it working > right? > > The MatGetNullSpaceRemove() is missing. > > Where should I add MatGetNullSpaceRemove and what are > its syntax? I googled but there's no results. > > Fixed in p;etsc-dev: > > > http://www.mcs.anl.gov/petsc/petsc-dev/docs/manualpages/Mat/MatNullSpaceRemove.html > > I just compiled the updated petsc-dev but I got the same > error msg when I use: > > call MatNullSpaceRemove(nullspace,b,PETSC_NULL,ierr) > > error LNK2019: unresolved external symbol > MATNULLSPACEREMOVE referenced in function COMPUTERHS > 1>c:\obj_tmp\ex29f\Debug\ex29f.exe : fatal error LNK1120: > 1 unresolved externals > > That function is in: > > src/mat/interface/ftn-custom/zmatrixf.c > > Did that compile? Can you see the symbol in libpetsc.a? > > Matt > > Matt > > Thanks. > > Matt > > Thanks? > > > On 2/5/2012 10:11 PM, Matthew Knepley wrote: > > On Wed, May 2, 2012 at 1:55 PM, TAY > wee-beng<zonexo at gmail.com > <mailto:zonexo at gmail.com>> wrote: > Hi, > > I did a MatView and VecView on both C and > Fortran, right after Mat and Vec assembly. I > have attached the printout below. They are > exactly the same, but yet the result is > different in Neumann condition. However, the > dirichlet condition gives the correct ans. Is > there anything else that could be wrong even > if the Mat and Vec are the same? > > Did you set the null space for the matrix when > you have Neumann conditions? > > Yes, for the matrix, I set as: > > call > > MatNullSpaceCreate(PETSC_COMM_WORLD,PETSC_TRUE,0,PETSC_NULL_OBJECT,nullspace,ierr) > > call MatSetNullSpace(jac,nullspace,ierr) > > call MatNullSpaceDestroy(nullspace,ierr) > > for the Vec, > > call > > MatNullSpaceCreate(PETSC_COMM_WORLD,PETSC_TRUE,0,PETSC_NULL_OBJECT,nullspace,ierr) > > !call > MatNullSpaceRemove(nullspace,b,PETSC_NULL,ierr) > > call MatNullSpaceDestroy(nullspace,ierr) > > MatNullSpaceRemove was comment out because there's > error during linking > > > Matt > > Thanks! > > Fortran: > > Matrix Object: 1 MPI processes > type: seqaij > row 0: (0, 2) (1, -1) (3, -1) > row 1: (0, -1) (1, 3) (2, -1) (4, -1) > row 2: (1, -1) (2, 2) (5, -1) > row 3: (0, -1) (3, 3) (4, -1) (6, -1) > row 4: (1, -1) (3, -1) (4, 4) (5, -1) (7, -1) > row 5: (2, -1) (4, -1) (5, 3) (8, -1) > row 6: (3, -1) (6, 2) (7, -1) > row 7: (4, -1) (6, -1) (7, 3) (8, -1) > row 8: (5, -1) (7, -1) (8, 2) > Vector Object:Vec_0000000084000000_0 1 MPI > processes > type: mpi > Process [0] > 0.25 > 0.0205213 > 1.135e-005 > 0.0205213 > 0.00168449 > 9.31663e-007 > 1.135e-005 > 9.31663e-007 > 5.15289e-010 > Vector Object:Vec_0000000084000000_1 1 MPI > processes > type: mpi > Process [0] > 0.14924 > 0.0242397 > -0.0260347 > 0.0242397 > -0.0256192 > -0.0400102 > -0.0260347 > -0.0400102 > -0.0400102 > Press any key to continue . . . > > C: > > Matrix Object: 1 MPI processes > type: seqaij > row 0: (0, 2) (1, -1) (3, -1) > row 1: (0, -1) (1, 3) (2, -1) (4, -1) > row 2: (1, -1) (2, 2) (5, -1) > row 3: (0, -1) (3, 3) (4, -1) (6, -1) > row 4: (1, -1) (3, -1) (4, 4) (5, -1) (7, -1) > row 5: (2, -1) (4, -1) (5, 3) (8, -1) > row 6: (3, -1) (6, 2) (7, -1) > row 7: (4, -1) (6, -1) (7, 3) (8, -1) > row 8: (5, -1) (7, -1) (8, 2) > Vector Object:Vec_0x1d3b000_0 1 MPI processes > type: mpi > Process [0] > 0.25 > 0.0205212 > 1.135e-05 > 0.0205212 > 0.00168449 > 9.31663e-07 > 1.135e-05 > 9.31663e-07 > 5.15288e-10 > Vector Object:Vec_0x1d3b000_1 1 MPI processes > type: mpi > Process [0] > 0.139311 > 0.0305751 > -0.0220633 > 0.0305751 > -0.0135158 > -0.042185 > -0.0220633 > -0.042185 > -0.058449 > > > > Yours sincerely, > > TAY wee-beng > > > On 1/5/2012 11:54 PM, Matthew Knepley wrote: > > On Tue, May 1, 2012 at 5:48 PM, TAY > wee-beng<zonexo at gmail.com > <mailto:zonexo at gmail.com>> wrote: > Hi, > > Do you mean my method is wrong? > > I am following the template of ex22f, > > where the variables are declared as : > > PetscScalar v(5) > > MatStencil row(4),col(4,5) > > Hence, > > for the neumann BC > > num = 1 > > if (j/=0) then > > v(num) = -rho*HxdHy > > col(MatStencil_i,num) = i > > col(MatStencil_j,num) = j-1 > > num = num + 1 > > end if > > if (i/=0) then > > v(num) = -rho*HydHx > > col(MatStencil_i,num) = i-1 > > col(MatStencil_j,num) = j > > num = num + 1 > > end if > > if (i/=mx-1) then > > v(num) = -rho*HydHx > > col(MatStencil_i,num) = i+1 > > col(MatStencil_j,num) = j > > num = num + 1 > > end if > > if (j/=my-1) then > > v(num) = -rho*HxdHy > > col(MatStencil_i,num) = i > > col(MatStencil_j,num) = j+1 > > num = num + 1 > > end if > > v(num) = > ((num-1)/2.0)*rho*(HxdHy + HydHx) > > print *, v > > col(MatStencil_i,num) = i > > col(MatStencil_j,num) = j > > !num = num + 1 > > call > > MatSetValuesStencil(jac,i1,row,num,col,v,INSERT_VALUES,ierr) > > I do not get any more out of range error. > However,my ans is still different from > that of ex29 in C. > > This is very simple. You have an error in > your code. Checking it is very simple: run > the code and > break in MatSetValues(). Make sure ex29 > makes calls with exactly the same indices > as your ex29f. > > Matt > > Yours sincerely, > > TAY wee-beng > > -- > 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 > > > > -- > 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 > > > > -- > 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 > > > > -- > 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 > > > > -- > 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 > > > > > -- > 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 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120504/0c32d5c5/attachment-0001.htm>
