CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   ERROR #001100279 has occurred in subroutine ErrAction. (https://www.cfd-online.com/Forums/cfx/151321-error-001100279-has-occurred-subroutine-erraction.html)

gsal April 8, 2015 14:27

ERROR #001100279 has occurred in subroutine ErrAction.
 
I am a bit afraid to post as I may not even understand the answer...the thing is that I am not a CFD kind of guy but a programmer who supports engineers, and at this time, the engineers do not quite have the time to support me.

I have this user fortran code that fell on my lap and trying to compile and run...here is a more complete error message:

| PROBLEM ENCOUNTERED WHEN EXECUTING CFX EXPRESSION LANGUAGE
|
| The CFX expression language was evaluating:
| Additional Variable Value
|
| The problem was:
| User Fortran: NAME
|
| FURTHER INFORMATION
|
| The problem was encountered in executing the expression for:
| $SCALAR_0
| The complete expression is:
| VelocityComponents(x,y,z,3)
| The error occurs on sub-expression:
| 3
|
| BACKGROUND INFORMATION
|
| The error was detected at one location. The same problem may be
| present at other locations - that has not been investigated.
| The following values are for the first location which has the
| problem.
|
|
| END OF DIAGNOSTIC OUTPUT FOR CFX EXPRESSION LANGUAGE
+--------------------------------------------------------------------+

+--------------------------------------------------------------------+
| Writing crash recovery file
+--------------------------------------------------------------------+

+--------------------------------------------------------------------+
| ERROR #001100279 has occurred in subroutine ErrAction.
| Message:
| Stopped in routine CEL_WRAP


Any (generic) insight into this error message?
Was $SCALAR_0 evaluated to 3? Or,
did the program attempt to evaluate the velocitycomponents call to assign it to $SCALAR?

The velocitycomponents call, by the way, ultimately comes down a piece of fortran code that I can control, debug or something.

Thanks in advance for any hints you may offer.

gsal

ghorrocks April 8, 2015 18:01

CFX comes with some examples of user fortran. It is in the documentation. It gives examples of how to get user fortran working on CFX.

From my reading this looks like a CEL error (so in the CFX control language, not fortran) as you have called a variable "VelocityComponents(x,y,z,3)", but that variable is just defined to have 3 arguments.

gsal April 8, 2015 22:31

thanks for replying, ghorrocks

I looked into the CEL code and there are 3 instances where velocity components are called upon, one for each direction u, v, and w...the calls have the number hard coded, so, it is not like that last argument needs to be calculated:
...velocitycomponents(x,y,z,1)
...velocitycomponents(x,y,z,2)
...velocitycomponents(x,y,z,3)
and 4 arguments is correct.

So, I am afraid that's not it

By the time the program fails, this subroutine has been called successfullly several times; so, there must be something else going on that is not quite reflected by the error message.

I searched the forums and I seem to recall a thread reporting the same error message and curiously similar:

Instead of:
| VelocityComponents(x,y,z,3)
| The error occurs on sub-expression:
| 3

it said:
| Q(Temperature)
| The error occurs on sub-expression:
| e

sub-expression e? really? ...that's a funny message, don't you think? it almost looks like this CFX error routine just reports the last character in the argument list.

thanks again, I will keep looking.

ghorrocks April 9, 2015 06:11

If it runs a few times successfully before this point then I would be suspicious of numerical errors like divide by zero, square root of a negative number or some other invalid mathematics.

Opaque April 9, 2015 09:27

Without looking into the library of expressions used, i.e. LIBRARY/CEL/EXPRESSIONS section, and the source code, it would be very difficult for anyone here to pinpoint the source of the problem.

I do agree with Glenn, that since it worked a few times earlier, there may be a sub-expression (impossible to tell w/o the proper context) which would have created a floating point exception, but was caught by the CFX Expression Language before hand and provided some hint (apparently incomplete) of the problem.

gsal April 14, 2015 13:47

I am back...to report resolution, may it help somebody in the future with a similar problem.

I had inherited the aforementioned Fortran sources that were written by inexperience writers...they were not pretty at all, nor easy to read or follow. In the process of cleaning and beautifying the sources with hundreds of changes, I made a typo from 'wsource' to 'Wsource'...in a regular string or Fortran itself, this is not a problem, but in this case, this string refers to a CEL quantity and CEL is case sensitive!

And yes, calculation of 'wsource' in the CEL file is via velocitycomponents(x,y,z,3), hence the hint in the error message...

...if CEL is case sensitive and 'wsource' IS different from 'Wsource', then, I don't think that expecting an error message saying something like "variable does not exist" is too much to ask.

Anyway, there it is.

Thanks for you assistance.

gsal


All times are GMT -4. The time now is 06:49.