Welcome, Guest
Username: Password: Remember me

TOPIC: Using IKLE and SURFAC in CORSTR subroutine

Using IKLE and SURFAC in CORSTR subroutine 13 years 1 month ago #2687

  • laroche
  • laroche's Avatar
In the subroutine CORSTR, I want to use the connectivity table (IKLE) and de areas of elements (SURFAC).
When I use the alias IKLE and SURFAC in this subroutine, I get the following messages :
I1 = IKLE(IELEM,1)
1
Error: Unclassifiable statement at (1)
t2dfort.f:91.8:
I2 = IKLE(IELEM,2)
1
Error: Unclassifiable statement at (1)
t2dfort.f:92.8:
I3 = IKLE(IELEM,3)
1
Error: Unclassifiable statement at (1)
t2dfort.f:95.13:
SURF=SURFAC(IELEM)
1
Error: Function 'surfac' at (1) has no IMPLICIT type
ERREUR A LA COMPILATION

I suppose that my problem come from declarations in CORSTR.
The fortan file is attached.
I have tried many declarations without succes, somebody can help me ?

Thanks !!

Christophe

File Attachment:

File Name: test2.f
File Size: 4 KB
The administrator has disabled public write access.

Re: Using IKLE and SURFAC in CORSTR subroutine 13 years 1 month ago #2689

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
Hi Christophe

As IKLE is not given to the subroutine as an argument i though you should use MESH%IKLE%I istead of IKLE

Hope this helps
Christophe
The administrator has disabled public write access.
The following user(s) said Thank You: laroche

Re: Using IKLE and SURFAC in CORSTR subroutine 13 years 1 month ago #2690

  • jmhervouet
  • jmhervouet's Avatar
Hello,

Then to get IKLE(IELEM,2) it would be :

MESH%IKLE%I(IELEM+MESH%NELEM)

to get IKLE(IELEM,3) it would be :

MESH%IKLE%I(IELEM+2*MESH%NELEM)

For SURFAC, use MESH%SURFAC%R(IELEM)


It could be done also with pointers :

INTEGER, POINTER :: IKLE1(:),IKLE2(:),IKLE3(:)
IKLE1=>MESH%IKLE%I(1:MESH%NELEM)
IKLE2=>MESH%IKLE%I(MESH%NELEM+1:2*MESH%NELEM)
IKLE3=>MESH%IKLE%I(2*MESH%NELEM+1:3*MESH%NELEM)

then you can use IKLE1(IELEM), etc.

With best regards,

Jean-Michel Hervouet
The administrator has disabled public write access.

Re: Using IKLE and SURFAC in CORSTR subroutine 13 years 1 month ago #2691

  • jmhervouet
  • jmhervouet's Avatar
The smiley is a double dot followed by a parenthesis...
The administrator has disabled public write access.

Re: Using IKLE and SURFAC in CORSTR subroutine 13 years 1 month ago #2721

  • laroche
  • laroche's Avatar
Hello,

thank you very much Christophe and Jean Michel for your help !!

I dont understand why in the subroutine it's not possible to use alias IKLE and SURFAC and why it's possible to use other as NPOIN, NELEM, H and Zf also.
Is there a rule ??

thanks !

christophe
The administrator has disabled public write access.

Re: Using IKLE and SURFAC in CORSTR subroutine 13 years 1 month ago #2722

  • jmhervouet
  • jmhervouet's Avatar
Hello,

Actually the alias IKLE stands for MESH%IKLE and should be used with IKLE%I to get the integer data, but IKLE%I will be a one dimension array. There is no alias for SURFAC, and well... this could be done. You can see all the aliases at the beginning of point_telemac2d.f

With best regards,

Jean-Michel Hervouet
The administrator has disabled public write access.
Moderators: pham

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.