two matc quirks

General discussion about Elmer
Post Reply
spacedout
Posts: 177
Joined: 30 Mar 2020, 23:27
Antispam: Yes

two matc quirks

Post by spacedout »

If we have

$function trial(x) { ..... }
VarName = Variable y1,y2,y3,.....
Real MATC "trial(tx)"

for a certain solver i, it seems that at most 15 variables can be handled: y16 yields an out of bounds index.

and if you try to bypass the problem with

$function trial(x) import y16 { ..... }

where all references to x(15) within { .... } are removed (note indices start with 0 not 1)
and where y16 is defined in another solver j with say

Exported Variable 1 = y16

then matc will still complain with an undefined variable y16

So either something is buggy or I miss out on something

Best to all, Marc
raback
Site Admin
Posts: 4828
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: two matc quirks

Post by raback »

Hi Marc,

For me it seems that there is a maximum value of variables but that's MAX_FNC=32 defined in Lists.F90. Don't know why this happens. Or perhaps the field variables have two components each?

I don't think that the is much of a cost in increating MAX_FNC. It is one of those things where you assume that certainly nobody will ever surpass that number...

MATC is really slow. Using LUA is already much faster, and piece of code even more so.

MATC really knows only about the global variables defined for it after a dollar sign. Additionally the listed dependencies are always thrown to a temporal "tx" vector. In your case "y16" is a field variable but it is not a variable in MATC working space.

-Peter
spacedout
Posts: 177
Joined: 30 Mar 2020, 23:27
Antispam: Yes

Re: two matc quirks

Post by spacedout »

Well, Peter, considering that I am very worried the run time will be tremendously high, I will eventually rewrite most of my MATC code into Fortran.
And so I won't care about MAX_FNC anymore.
Best, Marc
Post Reply