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
two matc quirks
-
- Site Admin
- Posts: 4828
- Joined: 22 Aug 2009, 11:57
- Antispam: Yes
- Location: Espoo, Finland
- Contact:
Re: two matc quirks
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
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
Re: two matc quirks
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
And so I won't care about MAX_FNC anymore.
Best, Marc