User sub routines (Groovy): list of variables
Physical Parameter .groovy
Here are the settings of “PhysicalParameter.groovy”:
Variable  Type  Size  Informations 

inputValues  Double[]  0:n1  The n arguments of the “User” function. 
outputValue  Double 
Material Law.groovy
Here are the settings of “MaterialLaw.groovy”:
Variable  Type  Size  Informations 

material  String  The name of the material  
userCoeff  Double[]  n  The n user coefficients 
paramSpatialCurrent  Map [k,v]*  n  The n spatial quantities 
paramIOCurrent  Map [k,v]  n  The n I / O parameters 
nbReal  Integer  This points out if the problem is real (1) or complex (2)  
nbComponent  Integer  This points out if the variable is scalar (1) or vector (3)  
varin  Double[][]  nbReal x nbComponent  This is the input variable, computed by Flux 
varou  Double[][]  nbReal x nbComponent  This is the output variable, computed by the user model 
tensor  Double[][][]  nbReal x nbComponent x nbComponent 
This is the output tensor, computed by the user model 
iostatus  Integer  This points out an error to the user, if its value is different from 1 or 2 
* For each value v, there is an appropriate key k. k represents the name of the spatial quantity and this map is used as follows: paramSpatialCurrent [“k”] = v.
Hysteresys Material Law.groovy
Here are the settings of “HysteresysMaterialLaw.groovy”:
Variable  Type  Size  Informations 

material  String  The name of the material  
userCoeff  Double[]  n  The n user coefficients 
paramSpatialCurrent  Map [k,v]  n  The n spatial quantities 
paramIOCurrent  Map [k,v]  n  The n I / O parameters 
step  Integer  This points out the step of the computation process (1 to 8)  
arrayDSize  Integer  This points out the size of the arrayD table  
arrayISize  Integer  This points out the size of the arrayI table  
arrayD  Double[]  arrayDSize  Work table 
arrayI  Integer[]  arrayISize  Work table 
coordPoint  Double[]  3  The coordinates of the Gauss point 
times  Double[]  2 
This points out the time step :

nbReal  Integer  This points out if the problem is real (1) or complex (2)  
nbComponent  Integer  This points out if the variable is scalar (1) or vector (3)  
varin  Double[][]  nbReal x nbComponent  This is the input variable, computed by Flux 
varou  Double[][]  nbReal x nbComponent  This is the output variable, computed by the user model 
tensor  Double[][][]  nbReal x nbComponent x nbComponnt  This is the output tensor, computed by the user model 
iostatus  Integer  This points out an error to the user, if its value is different from 1 to 8 