GAXV Function Error

LET#H1 3.0925
LET#H2 7.8925

LET#S_ACT 0.00
LET#S 0.0
GAXV AX1 NAME 'H' S '#S'  V '#H1' TYPE FUNC

LET#S_ACT 8.58
LET#S1 8.58
LET#S2 71.28
LET#S MIN(#S1,#S2)
GAXV AX1 NAME 'H' S '#S'  V '=#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#S_ACT-#S1))^1.8' TYPE FUNC

LET#S_ACT 71.28
LET#S 71.28
GAXV AX1 NAME 'H' S '#S'  V '#H2' TYPE FUNC

LET#S_ACT 78.28
LET#S1 139.78
LET#S2 78.28
LET#S MIN(#S1,#S2)
GAXV AX1 NAME 'H' S '#S'  V '=#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#S_ACT-#S1))^1.8' TYPE FUNC

LET#S_ACT 139.78
LET#S1 139.78
LET#S2 201.28
LET#S MIN(#S1,#S2)
GAXV AX1 NAME 'H' S '#S'  V '=#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#S_ACT-#S1))^1.8' TYPE FUNC

LET#S_ACT 201.28
LET#S 201.28
GAXV AX1 NAME 'H' S '#S'  V '#H2' TYPE FUNC

LET#S_ACT 208.28
LET#S1 270.98
LET#S2 208.28
LET#S MIN(#S1,#S2)
GAXV AX1 NAME 'H' S '#S'  V '=#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#S_ACT-#S1))^1.8' TYPE FUNC

LET#S_ACT 270.98
LET#S 270.98
GAXV AX1 NAME 'H' S '#S'  V '#H1' TYPE FUNC

When running SofimshC, it shows

+++++ error no. 10136 in program SOF_VAR
Improper number/expression type 4000 (parentheses not matching) :#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#
+++++ error no. 10136 in program SOF_VAR
Improper number/expression type 4000 (parentheses not matching) :#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#
+++++ error no. 10136 in program SOF_VAR
Improper number/expression type 4000 (parentheses not matching) :#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#
+++++ error no. 10136 in program SOF_VAR
Improper number/expression type 4000 (parentheses not matching) :#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#
Analysis and decomposition of structural model:

If I replace all the variables after V '= with their numerical values, except #S_ACT, then GAXV works.

LET#H1 3.0925
LET#H2 7.8925

LET#S_ACT 0.00
LET#S 0.0
GAXV AX1 NAME 'H' S '#S'  V '#H1' TYPE FUNC

LET#S_ACT 8.58
LET#S1 8.58
LET#S2 71.28
LET#S MIN(#S1,#S2)
$GAXV AX1 NAME 'H' S '#S'  V '=#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#S_ACT-#S1))^1.8' TYPE FUNC
GAXV AX1 NAME 'H' S '#S'  V '=3.0925+0.0028*(ABS(#S_ACT-8.58))^1.8' TYPE FUNC

LET#S_ACT 71.28
LET#S 71.28
GAXV AX1 NAME 'H' S '#S'  V '#H2' TYPE FUNC

LET#S_ACT 78.28
LET#S1 139.78
LET#S2 78.28
LET#S MIN(#S1,#S2)
$GAXV AX1 NAME 'H' S '#S'  V '=#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#S_ACT-#S1))^1.8' TYPE FUNC
GAXV AX1 NAME 'H' S '#S'  V '=3.0925+0.0029*(ABS(#S_ACT-139.78))^1.8' TYPE FUNC

LET#S_ACT 139.78
LET#S1 139.78
LET#S2 201.28
LET#S MIN(#S1,#S2)
$GAXV AX1 NAME 'H' S '#S'  V '=#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#S_ACT-#S1))^1.8' TYPE FUNC
GAXV AX1 NAME 'H' S '#S'  V '=3.0925+0.0029*(ABS(#S_ACT-139.78))^1.8' TYPE FUNC

LET#S_ACT 201.28
LET#S 201.28
GAXV AX1 NAME 'H' S '#S'  V '#H2' TYPE FUNC

LET#S_ACT 208.28
LET#S1 270.98
LET#S2 208.28
LET#S MIN(#S1,#S2)
$GAXV AX1 NAME 'H' S '#S'  V '=#H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#S_ACT-#S1))^1.8' TYPE FUNC
GAXV AX1 NAME 'H' S '#S'  V '=3.0925+0.0028*(ABS(#S_ACT-270.98))^1.8' TYPE FUNC

LET#S_ACT 270.98
LET#S 270.98
GAXV AX1 NAME 'H' S '#S'  V '#H1' TYPE FUNC

Does that mean if #S_ACT is in the function, then other variables are not allowed in the function?

It depends from what you need.
In SOFiMSHC manual chapter 4.10 you find this input:

LET#S_ACT 0
GAXV AX1 VAR2 S 0 V ‘=#S_ACT*(#S_ACT-50)/62.5+3’ TYP FUNC

The effect is that the value for VAR2 is evaluated later within AQUA when using INTE 0. For this the sign “=” is necessary, only then the evaluation is later in AQUA.

But if you want to define the value for VAR2 directly in SOFiMSHC as absolute value, you must not use “=”.
Back to your input: You define some variables before definition of GAXV… NAME ‘H’…:
LET#S_ACT …
Because of this I get the impression that you want to define here the absolute values. If yes: don’t use “=” at the beginning of the formula:
GAXV AX1 NAME ‘H’ S ‘#S’ V #H1+(#H2-#H1)/(ABS(#S2-#S1))^1.8*(ABS(#S_ACT-#S1))^1.8 TYPE FUNC

I hope it helps.

P.S.: I think then GAXV… FUNC POLY is correct then!