CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > CFX

.F compiled on Winnt works, but on AIX doesn't

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   April 13, 2006, 08:27
Default .F compiled on Winnt works, but on AIX doesn't
  #1
Daiga
Guest
 
Posts: n/a
Hello, does anybody knows where should I look for the problem...

I had a standart script - which calculates x and y components of gradient of additional variable.

This script compiled on WINNT worked correctly. Now I am able only to use cfx account on AIX platform, (which is not on my computer but I reach it by net) and here the script (it is compiled succesfully by fortran for aix and path to aix/lib*.so is correct) anyway causes error of the solver.

source .F file is:

#include "cfx5ext.h"

dllexport(gradWx)

SUBROUTINE GRADWX( NLOC,NRET,NARG,RET,ARGS,CRESLT,CZ,DZ,IZ,LZ,RZ ) #include "MMS.h" #include "cfd_constants.h" #include "stack_point.h" C ------------------------------

INTEGER NLOC, NRET, NARG

CHARACTER CRESLT*(*)

REAL RET( 1:NLOC,1:NRET ), ARGS( 1:NLOC,1:NARG )

INTEGER IZ(*)

CHARACTER CZ(*)*(1)

DOUBLE PRECISION DZ(*)

LOGICAL LZ(*)

REAL RZ(*) C

CHARACTER*15 CFROMR

EXTERNAL CFROMR

CHARACTER*15 CFROMI

EXTERNAL CFROMI C

CHARACTER*120 SUBJ

__stack_point__ pGRAD_VAL C

CALL SET_A_0( RET, NLOC*NRET ) C

SUBJ = 'XStikls.cvar.Gradient'

CALL USER_GETVAR (SUBJ,CRESLT,pGRAD_VAL,CZ,DZ,IZ,LZ,RZ)

IF (CRESLT .NE. 'GOOD') THEN

CALL MESAGE( 'WRITE',CRESLT )

ELSE

CALL EXEC_GCALC( RET(1,1),RZ(pGRAD_VAL),NLOC )

CRESLT = 'GOOD'

END IF

END C

SUBROUTINE EXEC_GCALC( RTVAL, GRAD_PHI, NLOC )

INTEGER NLOC

REAL GRAD_PHI(3,NLOC)

REAL RTVAL(NLOC)

INTEGER ILOC C

DO ILOC=1,NLOC

RTVAL(ILOC) = GRAD_PHI(1,ILOC)

ENDDO C

END

I have faced with error like '' Unable to load symbol gradWx from /fastfs/work/niiumbra/cfx/aix/l- | | ibgrady.so: Function not implemented (gradWx)''

Message: | Stopped in routine UR_REGISTER

or (when using gradwx instead of gradWx)

Error detected by routine PEEKCS CDANAM = /FLOW/PHYSICS/LATEST/ZN1 /SL1 /AV1 /CELAVMAP CRESLT = NONE

or

Error detected by routine DELDIR CDRNAM = ÿÿÿÿþ±H ÿÿÿÿþ±D ÿÿÿÿþ±@ ÿÿÿÿþ±h ÿÿÿÿþ±` ÿÿÿÿþ±< ÿÿÿÿþ¹Ã °ÿÿÿÿ ÿÿÿ CRESLT = ILEG °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° °°°

Could anybody explain me does the name of dllexport should be the same I use in name of subroutine or there should be difference? Are there some important things in .F syntax I should use when compiling in Fortran for AIX?

Where should I look for the solution of the problem?

with best regards,

Daiga

  Reply With Quote

Old   April 13, 2006, 10:14
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #2
opaque
Guest
 
Posts: n/a
Dear Daiga,

Again, would you mind posting the section of CCL where the User routine is defined, or referenced, i.e. USER ROUTINE DEFINITIONS..

The error must be an incosistency between the CCL declarations and your fortran file first few lines.. Without looking at them, it is anybody guess of what is wrong..

Good luck, Opaque..
  Reply With Quote

Old   April 13, 2006, 10:33
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #3
Daiga
Guest
 
Posts: n/a
Dear, Opaque sorry, I misunderstood routine is defined like that - where in a place of Library name is a correct path to folder aix with all .so and .dll files

USER ROUTINE DEFINITIONS:

USER ROUTINE: gxRoutine

Calling Name = gradWx

Library Name = gradWx

Library Path =

Option = User CEL Function
  Reply With Quote

Old   April 13, 2006, 11:01
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #4
opaque
Guest
 
Posts: n/a
Dear Daiga,

That is the problem.. Please change to

USER ROUTINE DEFINITIONS:

USER ROUTINE: gxRoutine

Calling Name = gradwx

Library Name = gradWx

Library Path =

Option = User CEL Function

The Fortran compilers in UNIX (by default) change the routines names to lowercase, and the calling name must be exact, or the linker will never find it.. Windows, on the other hang is "case blind"; therefore, whatever you type works..

Good luck, Opaque..

  Reply With Quote

Old   April 14, 2006, 10:00
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #5
Daiga
Guest
 
Posts: n/a
Dear opaque,

unfortunately also calling name gradwx & library name gradWx & correct path to the folder aix lead to error...What else should be changed?

Error detected by routine PEEKCS CDANAM = /FLOW/PHYSICS/LATEST/ZN1 /SL1 /AV1 /CELAVMAP CRESLT = NONE WARNING: CFXSTP called recursively. An error has occurred in cfx5solve:

  Reply With Quote

Old   April 17, 2006, 10:00
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #6
opaque
Guest
 
Posts: n/a
Dear Daiga,

These are two different errors.. Using calling name gradwx, and library name gradWx seems to be working since you past the library loading problem.

The second error is due to accessing the content of an additional variable that is not defined in a solid domain.. Which is the name of the ADDITIONAL VARIABLE in your command file (CCL), and what variable are you calling using USER_GETVAR.

Good luck, Opaque..
  Reply With Quote

Old   April 17, 2006, 14:30
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #7
Daiga
Guest
 
Posts: n/a
Dear opaque, I am not sure have I understood the question..

An additional variable cvar is defined in the fluid domain only and the name of the fluid is XStikls.

There is also a solid domain in my model, but the variable cvar is not defined there (I do not need it in the solid domain).
  Reply With Quote

Old   April 17, 2006, 14:58
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #8
opaque
Guest
 
Posts: n/a
Dear Daiga,

Your USER CEL Function is being called for the AV in the solid domain.. I am not sure why, but USER CEL Function must be able to support calls for any domain.. If you are not interested in the value on the solid domain, check which domain is being called for and return 0, or CRESLT different from 'GOOD'.. You should probably need to call USER_CALC_INFO to get the CZONE, and convert_name_s2u to get the Domain name..

This calls are all documented.. Good luck, Opaque..

  Reply With Quote

Old   April 18, 2006, 08:57
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #9
Daiga
Guest
 
Posts: n/a
Dear opaque, could you please clearify what you mean?

In my model the transport equation is solved for AV cvar, I can not solve transport equation in the solid domain so I have not defined cvar there and there could not exist the value for cvar.gradient because there is not cvar. On the fluid-solid boundaries of course I have given cvar=0 or zero flux.In winnt the conditions were the same...
  Reply With Quote

Old   April 18, 2006, 10:06
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #10
opaque
Guest
 
Posts: n/a
Dear Daiga,

I am sorry, but I think that you should contact help desk and they should be able to sort this out..

Opaque..

  Reply With Quote

Old   May 9, 2006, 03:54
Default addresses
  #11
dorothy
Guest
 
Posts: n/a
compiled email addresses of 2006 till date and date to date email addreses in south america and north america and asia

  Reply With Quote

Old   May 9, 2006, 08:44
Default Re: .F compiled on Winnt works, but on AIX doesn't
  #12
Daiga
Guest
 
Posts: n/a
Dear opaque, very strange but when I tried the same again after large time, somehow finally it helped)) Thanks! Daiga
  Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
UDF - Interpreted works and compiled doesn't AlwaysLearning FLUENT 9 October 30, 2018 01:52
Using compiled UDF:s in different Fluent versions S H FLUENT 1 September 12, 2007 04:40
OpenFOAM 13 on IBM AIX 51 msrinath80 OpenFOAM Installation 1 July 27, 2006 01:54
.F on WINNT works and compiled for AIX does not Daiga CFX 1 April 10, 2006 11:10
IcoFoam on AIX 53 ds2taieb OpenFOAM Installation 1 March 24, 2006 04:22


All times are GMT -4. The time now is 01:37.