Appendix 1. In-Form functions

The following paragraphs contain the format and description of the functions which may appear in In-Form formulae.

The function names are introduced in alphabetical order.

• ALL - function sets BOX In-Form object which fills the whole boundary box. The function has no arguments.

• ABS(arg1) - function of calculation of absolute value. The function has 1 argument which is a formula. Examples are 731, 734, 781 and 784 core-library cases.

• ACOS(arg1) - function of calculation of arccosine. The function has 1 argument which is a formula.

• AECO(arg1) - function gets east coefficients of finite-volume equations for arg1 solved variable. The function has 1 argument which is a solved variable. Example is 703 core-library case.

• AHCO(arg1) - function gets high coefficients of finite-volume equations for arg1 solved variable. The function has 1 argument which is a solved variable.

• ALCO(arg1) - function gets low coefficients of finite-volume equations for arg1 solved variable. The function has 1 argument which is a solved variable.

• ANCO(arg1) - function gets north coefficients of finite-volume equations for arg1 solved variable. The function has 1 argument which is a solved variable. Example is 703 core-library case.

• APCO(arg1) - function gets AP coefficients of finite-volume equations for arg1 solved variable. The function has 1 argument which is a solved variable. Example is 703 core-library case.

• ARR(arg1) - function of calculation of "Arrhenius" value from next formulae
EXP(arg1/(R*T))

where R is the universal gas constant = 8314.31, T is the absolute temperature and arg1 is a formula.

• ASCO(arg1) - function gets south coefficients of finite-volume equations for arg1 solved variable. The function has 1 argument which is a solved variable. Example is 703 core-library case.

• ASIN(arg1) - function of calculation of arcsine. The function has 1 argument which is a formula.

• ATAN(arg1) - function of calculation of arctangent. The function has 1 argument which is a formula.

• AWCO(arg1) - function gets west coefficients of finite-volume equations for arg1 solved variable. The function has 1 argument which is a solved variable. Example is 703 core-library case.

• BOX(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) - function sets BOX In-Form object. The function has 9 arguments where
arg1 - X-coordinate of west south low corner of box, m;
arg2 - Y-coordinate of west south low corner of box, m;
arg3 - Z-coordinate of west south low corner of box, m;
arg4 - X-size of box side, m;
arg5 - Y-size of box side, m;
arg6 - Z-size of box side, m;
arg7 - angle rotating around x axis, rad;
arg8 - angle rotating around y axis, rad;
arg9 - angle rotating around z axis, rad.
In general case all arguments can be the formulas. Examples are 769, 770, 783 and 784 core-library cases.

• CORR(arg1) - function gets corrections values for arg1 solved variable. The function has 1 argument which is a solved variable. Examples are 768 and 249 core-library cases.

• COS(arg1) - function of calculation of cosine. The function has 1 argument which is a constant or a stored variable in radian. Examples are 712, 768, 770 and 783 core-library cases.

• COSH(arg1) - function of calculation of hyperbolic-cosine by next formula

0.5*(exp(arg1)+exp(-arg1))

The function has 1 argument which is a formula.

• COVAL(arg1,arg2) - function used for setting patch-wise sources of dependent variables by next formula

T * C * (V - phiP)

The function has 2 arguments where

arg1 is coefficient C and
arg2 is value V.
arg1 and arg2 may be any formulas.

• EAST - function of calculation of value at neighbouring cell beside east face. The function has 1 argument which is a stored or solved variable. "EAST(arg1)" is equivalent of "arg1[+1]". Examples are 367 and 368 core-library cases.

• ELLPSD(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) - function sets ellipsoid In-Form object. The function has 9 arguments where
arg1 - X-coordinate of the centre of the ellipsoid, m;
arg2 - Y-coordinate of the centre of the ellipsoid, m;
arg3 - Z-coordinate of the centre of the ellipsoid, m;
arg7 - angle rotating around x-axis, rad;
arg8 - angle rotating around y-axis, rad;
arg9 - angle rotating around z-axis, rad.
In general case all arguments can be the formulas. Examples are 162 and 384 core-library cases.

• ELPLAN(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) - function sets the plane sub-grid In-Form object with shape of ellipse. The function has 9 arguments where
arg1, arg2, arg3 - coordinates of the centre of the ellipse, m;
arg4, arg5, arg6 - coordinates of the ellipse vertex with maximum of x-coordinate, m;
arg7, arg8, arg9 - coordinates of the ellipse vertex with maximum of y-coordinate, m;
arg10 - the thickness of plane sgo, m;
In general case all arguments can be the formulas.

• EXP(arg1) - function of calculation of exponential value. The function has 1 argument which is a formula. Examples are 089, 700, 711, 712, 713, 720 and 740 core-library cases.

• GAMM(arg1) - function gets exchange coefficients for arg1 solved variable. The function has 1 argument which is a solved variable. Example is 788 core-library case.

• GET(arg1,arg2,arg3, ... ) - function gets values for creation of the table for plotting their changes during sweeps or time steps. The number of arguments is unlimited. In general case all arguments can be the formulas. Example is 672 core-library case.

• HIGH(arg1) - function of calculation of value at neighbouring cell beside high face. The function has 1 argument which is a stored or solved variable. "HIGH(arg1)" is equivalent of "arg1[,,+1]". Examples are 710, 722 and 735 core-library cases.

• INTPOL(arg1,arg2,arg3,arg4) - signifies a piece-wise linear function of which the defining points are specified in a file containing several columns of values. The function has 4 arguments. The syntax of INTPOL is followed by an opening bracket, the name of the file (with full path, if it is not in the working directory), a comma, the name of the column to use as the X values, a comma, the name of the column to use as the Y values, a comma and finally the name of the independent (X) variable, and a closing bracket.

• LINE(arg1,arg2,arg3,arg4,arg5,arg6,arg7) - function of creating line sub-grid object. The function has 7 arguments where
arg1,arg2, arg3 are the x, y and z coordinates of the beginning position of line SGO,
arg4,arg5, arg6 are the x, y and z coordinates of the end position of line SGO and
arg7 is the its diameter.
In general case all arguments can be the formulas.

• LOG10(arg1) - function of calculation of the Napierian logarithm, with base 10.0. The function has 1 argument which is a formula. Example is 089 core-library case.

• LOGE(arg1) - function of calculation of the Napierian logarithm, with base "e". The function has 1 argument which is a formula.

• LOW(arg1) - function of calculation of value at neighbouring cell beside low face. The function has 1 argument which is a stored or solved variable. "LOW(arg1)" is equivalent of "arg1[,,-1]". Examples are 366, 710, 722 and 735 core-library cases.

• MAX(arg1,arg2) - function of maximum calculation. The function has 2 arguments which are constants or stored variables or formulas. Examples are 706, 778, 779 and 781 core-library cases.

• MIN(arg1,arg2) - function of minimum calculation. The function has 2 arguments which are constants or stored variables or formulas. Examples are 706, 740, 741, 778 and 779 core-library cases.

• NETS(arg1,arg2) - function of sum of nett source calculation. The function has 2 arguments which are the name of the dependent variable and the name of the object or of the patch command. Examples may be seen in core Input Library case 249.

• NORTH(arg1) - function of calculation of value at neighbouring cell beside north face. The function has 1 argument which is a stored or solved variable. "NORTH(arg1)" is equivalent of "arg1[,+1]".

• OFFSET(arg1,arg2,arg3) - function describes the hierarchy part of the MOFOR attribute settings.

OFFSET is a special In-Form function for defining the frames of reference of object-related coordinate systems.

Each new OFFSET function declares a new frame coordinate system and describes its position relative to its parent system.

The arg1 ,arg2 and arg3 are formulas for calculation of coordinates of the origin position of the rotation axis relative to its parent.

This function is used in (MOVOB In-Form statement only.

• OLD(arg1) - function of calculation of value at previous time step. The function has 1 argument which is a stored or solved variable. Examples are 368 and 786 core-library cases.

• PLANE(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) - function of creating plane sub-grid object. The function has 10 arguments where first 9 arguments are coordinates of three triangle vertexes and 10th is a thickness of plane sgo. In general case all arguments can be the formulas. Example is 385 core-library cases.

• POINT(arg1,arg2,arg3,arg4) - function of creating point sub-grid object. The function has 4 arguments where
arg1,arg2, arg3 are the x, y and z coordinates of the point SGO position and
arg4 is the diameter of point SGO.
In general case all arguments can be the formulas.

• POL2(arg1,arg2,arg3,arg4) - function of calculation of the polynomial by next formula

arg2+arg1*(arg3+arg1*arg4)

The function has 4 arguments where

arg1 may be a constant or a stored/solved variable, but
arg2, arg3 and arg4 must be constants.
Example is 089 core-library case.

• POL3(arg1,arg2,arg3,arg4,arg5) - function of calculation of the polynomial by next formula

arg2+arg1*(arg3+arg1*(arg4+arg1*arg5))

The function has 5 arguments where

arg1 may be a constant or a stored/solved variable, but
arg2, arg3, arg4 and arg5 must be constants.
Examples are 089, 701 and 763 core-library cases.

• POL4(arg1,arg2,arg3,arg4,arg5,arg6) - function of calculation of the polynomial by next formula

arg2+arg1*(arg3+arg1*(arg4+arg1*(arg5+arg1*arg6)))

The function has 6 arguments where

arg1 may be a constant or a stored/solved variable, but
arg2, arg3, arg4, arg5 and arg6 must be constants.
Example is 089 core-library case.

• POL5(arg1,arg2,arg3,arg4,arg5,arg6,arg7) - function of calculation of the polynomial by next formula

arg2+arg1*(arg3+arg1*(arg4+arg1*(arg5+arg1*(arg6+arg1*arg7))))

The function has 7 arguments where

arg1 may be a constant or a stored/solved variable, but
arg2, arg3, arg4, arg5, arg6 and arg7 must be constants.
Examples are 089 and 760 core-library cases.

• POL6(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) - function of calculation of the polynomial by next formula

arg2+arg1*(arg3+arg1*(arg4+arg1*(arg5+arg1*(arg6+arg1*(arg7+arg1*arg8)))))

The function has 8 arguments where

arg1 may be a constant or a stored/solved variable, but
arg2, arg3, arg4, arg5, arg6, arg7 and arg8 must be constants.
Example is 089 core-library case.

• POS(Xpos,Ypos,Zpos,Xang,Yang,Zang) - function sets the position and rotation of moving VR object by In-Form This function has next parameters:
Xpos, Ypos, Zpos are formulas for setting X, Y, Z coordinate of moving VR object position, meters;
Xang, Yang, Zang are formulas for setting the rotation angle of moving VR object about X, Y, Z axis, degrees.
All parameters can be functions of the TIM variable which stand for the current time in seconds at the current time step. This function is used in (MOVOB In-Form statement only.

• PWL3(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) - signifies a piece-wise-linear function, with three parts. The syntax of PWL3 is following constructed. Thus, PWL3 is followed by a bracket, then the name of the variable in question, followed by a comma or an ampersand. Thereafter follow pairs of numbers, of which the first is the abscissa and the second is the corresponding ordinate, thus:
PWL3(x , x0 , y0 , x1 , y1 , x2 , y2 , x3 , y3 )
represents y as a function of x consisting of straight lines which pass through
(x0,y0), (x1,y1),(x2,y3),(x3,y3).
The function has 9 arguments where
arg1 may be a constant or a stored/solved variable, but arg2, arg3, arg4, arg5, arg6, arg7, arg8 and arg9 must be constants.
Example is 763 core-library case.

• PWLF(arg1,arg2) - signifies a piece-wise linear function of which the defining points are specified in a file containing two columns of data. The function has 2 arguments. The syntax of PWLF is followed by an opening bracket, the name of the file (with full path, if it is not in the working directory), a comma, the name of the independent variable, and a closing bracket. Example is 763 core-library case.

• RESI(arg1) - function gets residuals values for arg1 solved variable. The function has 1 argument which is a solved variable. Example is 768 core-library case.

• SIN(arg1) - function of calculation of sine. The function has 1 argument which is a constant or a stored/solved variable in radian. Examples are 712, 717, 720, 768, 770 and 783 core-library cases.

• SINH(arg1) - function of calculation of hyperbolic-sine by next formula

0.5*(exp(arg1)-exp(-arg1))

The function has 1 argument which is a formula.

• SOUTH(arg1) - function of calculation of value at neighbouring cell beside south face. The function has 1 argument which is a stored or solved variable. "SOUTH(arg1)" is equivalent of "arg1[,-1]".

• SPHERE(arg1,arg2,arg3,arg4) - function sets SPHERE In-Form object. The function has 4 arguments where
arg1 - X-coordinate of a sphere centre, m;
arg2 - Y-coordinate of a sphere centre, m;
arg3 - Z-coordinate of a sphere centre, m;
arg4 - radius of a sphere, m.
In general case all arguments can be the formulas. Examples are 360, 765, 766, 767, 768 and 772 core-library cases.

• SPL5(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) - signifies a cubic-interpolation spline function passing through five points. The syntax of SPL5 is following constructed. Thus, SPL5 is followed by a bracket, then the name of the variable in question, followed by a comma or an ampersand. Thereafter follow pairs of numbers, of which the first is the abscissa and the second is the corresponding ordinate, thus:
SPL5(x , x0 , y0 , x1 , y1 , x2 , y2 , x3 , y3 , x4 , y4 , x5 , y5 )
represents y as a spline function of x which pass through
(x0,y0), (x1,y1), (x2,y2), (x3,y3), (x4,y4), (x5,y5)
The function has 11 arguments where
arg1 may be a constant or a stored/solved variable, but
arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10 and arg11 must be constants.
Example is 763 core-library case.

• SQRT(arg1) - function of calculation of value in 0.5 degree. The function has 1 argument which is a formula. Examples are 709, 726, 779, 780, 781, 783 and 785 core-library cases.

• SSUM(arg1) - function for slab summation of values over one. Limits of the summation area can be limited by Patch command connected with current In-Form statement.

At each iz-slab before performance of SSUM operation, the sum is zeroized and accumulates result of summation at current iz-slabs only unlike sum function.

It should use in the formula one SSUM function only.

The result of SSUM operation is assigned by the user-defined variable connected with current In-Form statement and previously to described by '(make' In-form statement.

The function has 1 argument which is a constant or a solved/stored variable or a formula.

An example of use is core-library case 363.

• SUM(arg1) - function for global summation at all IZ slabs.

The summation area can be limited by Patch command connected with current In-Form statement.

Before each fulfillment of sum operation the sum is zeroized and accumulates results of summation on all iz-slabs within the limits determined by patch command.

In this connection it should use in the formula one sum function only. The result of sum operation is assigned by the user-defined variable connected with current In-Form statement and previously to described by '(make' In-form statement.

The function has one argument which is a constant or a solved/stored variable or a formula. Examples of its use are: core-library case 362, core-library case 345, core-library case 781, core-library case 786.

• TAN(arg1) - function of calculation of tangent. The function has 1 argument which is a constant or a stored/solved variable in radian.

• TANH(arg1) - function of calculation of hyperbolic-tangent by next formula
(exp(arg1)-exp(-arg1))/(exp(arg1)+exp(-arg1))
The function has 1 argument which is a formula.

• WEST(arg1) - function of calculation of value at neighbouring cell beside west face. The function has 1 argument which is a stored or solved variable. "WEST(arg1)" is equivalent of "arg1[-1]". Examples are 367, 368, 710, 722 and 735 core-library cases.