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.

>
>
> 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>  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>  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>  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>  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>  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

Reply via email to