# Functions

## Introduction

The available functions are:

- arithmetic operators
- usual mathematical functions admitted by Fortran
- functions for treatment of complex quantities
- functions for treatment of vector quantities
- other specific functions (Modulo, Valid, Trapez, …)

## Operators

The arithmetic operators are described in the table below.

Operator | Description |
---|---|

+ | add two values |

subtract two values | |

* | multiply two values |

/ | divide two values |

** or ^ | raise the left operand to the power specified by the right hand operand |

## Mathematical functions

The usual mathematical functions are gathered in the tables below.

Square function and absolute value | |
---|---|

Sqrt(x) | Square root of the expression x |

Abs(x) | Absolute value of the expression x |

Logarithm and exponential functions | |
---|---|

Exp(x) | Exponential function of the expression x |

Log(x) | Natural logarithm of the expression x |

Log10(x) | Common logarithm of the expression x |

Other functions | |
---|---|

Int(x) | Integral part of the expression x |

Modulo(x,x1) | Remainder of the division of x by x1 |

Min(x1,x2) | Minimum of the expressions x1 and x2 |

Max(x1,x2) | Maximum of the expressions x1 and x2 |

Sign(x) |
Sign of the expression x: Sign(x)=+1 if x>0; = -1 if x<0; = 0 if x=0 |

## Trigonometry

The usual trigonometric functions are gathered in the tables below.

Trigonometric functions | |
---|---|

Sin(x) | Sine of the angle x expressed in radians |

Cos(x) | Cosine of the angle x expressed in radians |

Tan(x) | Tangent of the angle x expressed in radians |

Asin(x) | Arcsine in radians of the expression x; x ∈ [-1,1] |

Acos(x) | Arccosine in radians of the expression x; x ∈ [-1,1] |

Atan2(x,y) | Arctangent in radians of the expression (x/y) |

Sind(x) | Sine of the angle x expressed in degrees |

Cosd(x) | Cosine of the angle x expressed in degrees |

Tand(x) | Tangent of the angle x expressed in degrees |

Asind(x) | Arcsine in degrees of the expression x; x ∈ [-1,1] |

Acosd(x) | Arccosine in degrees of the expression x; x ∈ [-1,1] |

Atan2d(x,y) | Arctangent in degrees of the expression (x/y) |

Sinh(x) | Hyperbolic sine of the expression x |

Cosh(x) | Hyperbolic cosine of the expression x |

Tanh(x) | Hyperbolic tangent of the expression x |

Asinh(x) | Arcsine hyperbolic of the expression x; x ∈ [-1, ∝[ |

Acosh(x) | Arccosine hyperbolic of the expression x; x ∈]-∝ , ∝[ |

Atan2h (x,y) | Arctangent hyperbolic of the expression (x/y); x ∈ [-1,1] |

## Treatment of complex quantities

The functions for treatment of the complex quantities are gathered in the table below.

Functions for treatment of the complex quantities | |
---|---|

ModC(z) | Complex modulus of the complex expression z |

Arg(z) | Argument (in radians) of the complex expression z |

Inst(z,t) | Value at the instant t (in degrees) of the complex expression z |

Real(z) | Real part of the complex expression z |

Imag(z) | Imaginary part of the complex expression z |

Conj(z) | Conjugate of the complex expression z |

Cmplx(x,y) |
Complex expression built starting from the real expressions x and y |

## Vector treatment

The functions for treatment of the vectors are gathered in the table below.

Functions for vector treatment | |
---|---|

ModV(v) | Vector modulus of the vector expression v |

Comp(i,v) | Component i of the vector expression v |

PVec(v1,v2) | Vector product of 2 real vector expressions |

Vec2(x,y) | 2D vector built starting from the real expressions x and y |

Vec3(x,y,z) | 3D vector built starting from the real expressions x, y and z |

Mod(x) | General modulus of the expression x: Mod(x)=ModV(ModC(x)) |

## Modification of the coordinate system

The modification of a coordinate system is obtained with the functions in the table below.

CLCS(r,i) |
Component i of coordinates in the local coordinate system r (i=1, 2 or 3) |

VLCS(r,v) | Vector v in the local coordinate system r |

## Other functions

The other functions (or specific functions) are gathered in the table below.

Other functions | ||
---|---|---|

Valid(x,x1,x2) |
if x1 ≤ x<x2: else: |
Valid(x,x1,x2)= 1 Valid(x,x1,x2)= 0 |

Trapez(x,x1,x2,x3) |
if x1 ≤ x ≤ x1+x2: if x<0 or x>x1+x2+x3: |
Trapez(x,x1,x2,x3)= 1 Trapez(x,x1,x2,x3)= 0 |

Trapezper(x,x1,x2,x3,x4,x5,x6,x7) |
Periodic trapezoidal function see § Trapezper function |