[petsc-users] Error during code compile with MATGETOWNERSHIPRANGE

TAY Wee Beng zonexo at gmail.com
Sun Aug 25 22:46:17 CDT 2024


Hi Barry,

Thanks, I'll try later. Back to using 3.20.6 which is working 1st.


On 22/8/2024 10:39 pm, Barry Smith wrote:
>
>   Hmm, try using a standalone variable
>
>   PetscReal value
>   value = int_impl(k,5)]
>
>
>>>>>> call 
>>>>>> MatSetValues(A_mat_uv,[ione],II,[ione],[value],impl_mat_A,INSERT_VALUES,ierr)
>>>>>>
>
> unfortunately Fortan compilers in this situation are not good at 
> telling us exactly what argument is giving it grief.
>
> Barry
>
>
>
>> On Aug 22, 2024, at 10:33 AM, TAY Wee Beng <zonexo at gmail.com> wrote:
>>
>>
>> On 22/8/2024 10:28 pm, Barry Smith wrote:
>>>
>>>   Should be PetscReal as it is a numerical value.
>> Ok, I changed it but I still get the same error.
>>>
>>>
>>>> On Aug 22, 2024, at 9:55 AM, TAY Wee Beng <zonexo at gmail.com> wrote:
>>>>
>>>>
>>>> On 22/8/2024 9:54 pm, Barry Smith wrote:
>>>>>
>>>>>   What is int_impl(k,5) defined type?
>>>> PetscInt
>>>>>
>>>>>> On Aug 22, 2024, at 9:45 AM, TAY Wee Beng <zonexo at gmail.com> wrote:
>>>>>>
>>>>>> Hi Barry,
>>>>>>
>>>>>> Do you mean that I change from:
>>>>>>
>>>>>> call 
>>>>>> MatSetValues(A_mat_uv,ione,II,ione,int_impl(k,5),impl_mat_A,INSERT_VALUES,ierr)
>>>>>>
>>>>>> to
>>>>>>
>>>>>> call 
>>>>>> MatSetValues(A_mat_uv,[ione],II,[ione],[int_impl(k,5)],impl_mat_A,INSERT_VALUES,ierr)
>>>>>>
>>>>>> ?
>>>>>>
>>>>>> I did it but the error is still there.
>>>>>>
>>>>>> On 22/8/2024 9:40 pm, Barry Smith wrote:
>>>>>>>
>>>>>>>    Fortran 90 type checking is very tight; The dimension of the 
>>>>>>> array, or scalar passed as arguments must match the expected 
>>>>>>> dimension (f77 did not do this type checking). Thus the ione 
>>>>>>> argument must be a 1-d array as well as the numerical values so do
>>>>>>>
>>>>>>>> */call 
>>>>>>>> MatSetValues(A_mat_uv,[ione],II,[ione],[int_impl(k,5)],impl_mat_A,INSERT_VALUES,ierr)/*
>>>>>>>>
>>>>>>>
>>>>>>> See Fortran at https://urldefense.us/v3/__https://petsc.org/main/changes/dev/__;!!G_uCfscf7eWS!evaW1MccHDe9ZPfL8ftIad0f_3W-98xwAmqqb-CmMXOH4FQPmfb1qB2vE4K3hGi3w2UJfq_e19E7r9oLmRU$ 
>>>>>>>
>>>>>>> I am trying to support the old-fashion F77 model, allowing 
>>>>>>> miss-matches in the array dimensions while still doing proper 
>>>>>>> type checking but it will take some time to simplify the API.
>>>>>>>
>>>>>>>    Barry
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> On Aug 21, 2024, at 9:44 PM, TAY Wee Beng <zonexo at gmail.com> wrote:
>>>>>>>>
>>>>>>>> Hi Barry,
>>>>>>>>
>>>>>>>> I have declared them as integers in Fortran. Is that different 
>>>>>>>> from PetscInt and how come it works in debug mode?
>>>>>>>>
>>>>>>>> Anyway, I changed them and it solved the problem. However, I 
>>>>>>>> have a similar problem in my boundary.F90:
>>>>>>>>
>>>>>>>> */boundary.F90(6685): error #6285: There is no matching 
>>>>>>>> specific subroutine for this generic subroutine call. 
>>>>>>>> [MATSETVALUES]
>>>>>>>> call 
>>>>>>>> MatSetValues(A_mat_uv,ione,II,ione,int_impl(k,5),impl_mat_A,INSERT_VALUES,ierr)/*
>>>>>>>> -----^
>>>>>>>> I changed all to PetscInt and also PetscReal but I still got 
>>>>>>>> the error.
>>>>>>>>
>>>>>>>> Why is this so now? Any solution?
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>>
>>>>>>>> On 22/8/2024 12:03 am, Barry Smith wrote:
>>>>>>>>>
>>>>>>>>>   You must declare as
>>>>>>>>>
>>>>>>>>> */PetscInt ksta_p,kend_p/*
>>>>>>>>>
>>>>>>>>>   Perhaps they are declared as arrays?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On Aug 21, 2024, at 11:19 AM, TAY Wee Beng <zonexo at gmail.com> 
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I am using the latest PETSc thru github. I compiled both the 
>>>>>>>>>> debug and rel ver of PETSc w/o problem.
>>>>>>>>>>
>>>>>>>>>> I then use it with my CFD code and the debug ver works.
>>>>>>>>>>
>>>>>>>>>> However, I have problems with the rel ver:
>>>>>>>>>>
>>>>>>>>>> */ftn -o global.o -c -O3 -g -ip -ipo   -fPIC -save -w 
>>>>>>>>>> -I/home/project/11003851/lib/petsc_210824_intel_rel/include 
>>>>>>>>>> global.F90
>>>>>>>>>> ifort: remark #10448: Intel(R) Fortran Compiler Classic 
>>>>>>>>>> (ifort) is now deprecated and will be discontinued late 2024. 
>>>>>>>>>> Intel recommends that customers transition now to using the 
>>>>>>>>>> LLVM-based Intel(R) Fortran Compiler (ifx) for continued 
>>>>>>>>>> Windows* and Linux* support, new language support, new 
>>>>>>>>>> language features, and optimizations. Use 
>>>>>>>>>> '-diag-disable=10448' to disable this message.
>>>>>>>>>> global.F90(444): error #6285: There is no matching specific 
>>>>>>>>>> subroutine for this generic subroutine call. 
>>>>>>>>>> [MATGETOWNERSHIPRANGE]
>>>>>>>>>>         call MatGetOwnershipRange(A_mat,ksta_p,kend_p,ierr)
>>>>>>>>>> -------------^
>>>>>>>>>> global.F90(720): error #6285: There is no matching specific 
>>>>>>>>>> subroutine for this generic subroutine call. 
>>>>>>>>>> [MATGETOWNERSHIPRANGE]
>>>>>>>>>> call MatGetOwnershipRange(A_mat_uv,ksta_m,kend_m,ierr)
>>>>>>>>>> -----^
>>>>>>>>>> global.F90(774): error #6285: There is no matching specific 
>>>>>>>>>> subroutine for this generic subroutine call. 
>>>>>>>>>> [MATGETOWNERSHIPRANGE]
>>>>>>>>>> call MatGetOwnershipRange(A_semi_x,ksta_mx,kend_mx,ierr)
>>>>>>>>>> -----^
>>>>>>>>>> global.F90(776): error #6285: There is no matching specific 
>>>>>>>>>> subroutine for this generic subroutine call. 
>>>>>>>>>> [MATGETOWNERSHIPRANGE]
>>>>>>>>>> call MatGetOwnershipRange(A_semi_y,ksta_my,kend_my,ierr)
>>>>>>>>>> -----^
>>>>>>>>>> global.F90(949): error #6285: There is no matching specific 
>>>>>>>>>> subroutine for this generic subroutine call. 
>>>>>>>>>> [MATGETOWNERSHIPRANGE]
>>>>>>>>>> call MatGetOwnershipRange(A_semi_x,ksta_mx,kend_mx,ierr)
>>>>>>>>>> -----^
>>>>>>>>>> global.F90(957): error #6285: There is no matching specific 
>>>>>>>>>> subroutine for this generic subroutine call. 
>>>>>>>>>> [MATGETOWNERSHIPRANGE]
>>>>>>>>>> call MatGetOwnershipRange(A_semi_y,ksta_my,kend_my,ierr)
>>>>>>>>>> -----^
>>>>>>>>>> compilation aborted for global.F90 (code 1)/*
>>>>>>>>>>
>>>>>>>>>> May I know what's the problem?
>>>>>>>>>>
>>>>>>>>>> -- 
>>>>>>>>>>
>>>>>>>>>> Thank you very much.
>>>>>>>>>>
>>>>>>>>>> Yours sincerely,
>>>>>>>>>>
>>>>>>>>>> ================================================
>>>>>>>>>> TAY Wee-Beng 郑伟明 (Zheng Weiming)
>>>>>>>>>> ================================================
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>> -- 
>>>>>>>>
>>>>>>>> Thank you very much.
>>>>>>>>
>>>>>>>> Yours sincerely,
>>>>>>>>
>>>>>>>> ================================================
>>>>>>>> TAY Wee-Beng 郑伟明 (Zheng Weiming)
>>>>>>>> ================================================
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>> -- 
>>>>>>
>>>>>> Thank you very much.
>>>>>>
>>>>>> Yours sincerely,
>>>>>>
>>>>>> ================================================
>>>>>> TAY Wee-Beng 郑伟明 (Zheng Weiming)
>>>>>> ================================================
>>>>>>
>>>>>>
>>>>>
>>>> -- 
>>>>
>>>> Thank you very much.
>>>>
>>>> Yours sincerely,
>>>>
>>>> ================================================
>>>> TAY Wee-Beng 郑伟明 (Zheng Weiming)
>>>> ================================================
>>>>
>>>>
>>>
>> -- 
>>
>> Thank you very much.
>>
>> Yours sincerely,
>>
>> ================================================
>> TAY Wee-Beng 郑伟明 (Zheng Weiming)
>> ================================================
>>
>>
>
-- 

Thank you very much.

Yours sincerely,

================================================
TAY Wee-Beng 郑伟明 (Zheng Weiming)
================================================

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20240826/1af50288/attachment-0001.html>


More information about the petsc-users mailing list