Cell and face field operations that use OpenMP directives. More...
| Data Types | |
| interface | field_operation_add | 
| \( x = a + b \) or \( a = a + b \)  More... | |
| interface | field_operation_add_add | 
| \( x = a + b + c \) or \( a = a + b + c \)  More... | |
| interface | field_operation_add_divide | 
| \( x = a + b \div c \) or \( a = a + b \div c \)  More... | |
| interface | field_operation_add_mult | 
| \( x = a + b \times c \) or \( a = a + b \times c \)  More... | |
| interface | field_operation_add_subst | 
| \( x = a + b - c \) or \( a = a + b - c \)  More... | |
| interface | field_operation_add_subst_mult | 
| \( x = a + b - c \times d \) or \( a = a + b - c \times d \)  More... | |
| interface | field_operation_divide | 
| \( x = a \div b \) or \( a = a \div b \)  More... | |
| interface | field_operation_divide_add_divide | 
| \( x = a \div b + c \div d \)  More... | |
| interface | field_operation_divide_padd | 
| \( x = a \div (b + c) \) or \( a = a \div (b + c) \)  More... | |
| interface | field_operation_divide_pmult | 
| \( x = a \div (b \times c) \) or \( a = a \div (b \times c) \)  More... | |
| interface | field_operation_divide_psub | 
| \( x = a \div (b - c) \) or \( a = a \div (b - c) \)  More... | |
| interface | field_operation_divide_subst_divide | 
| \( x = a \div b - c \div d \)  More... | |
| interface | field_operation_mult | 
| \( x = a \times b \) or \( a = a \times b \)  More... | |
| interface | field_operation_mult_divide | 
| \( x = a \times b \div c \) or \( a = a \times b \div c \)  More... | |
| interface | field_operation_mult_mult | 
| \( x = a \times b \times c \) or \( a = a \times b \times c \)  More... | |
| interface | field_operation_mult_padd | 
| \( x = a \times (b + c) \) or \( a = a \times (b + c) \)  More... | |
| interface | field_operation_mult_psub | 
| \( x = a \times (b - c) \) or \( a = a \times (b - c) \)  More... | |
| interface | field_operation_subst | 
| \( x = a - b \) or \( a = a - b \)  More... | |
| interface | field_operation_subst_add | 
| \( x = a - b + c \) or \( a = a - b + c \)  More... | |
| interface | field_operation_subst_divide | 
| \( x = a - b \div c \) or \( a = a - b \div c \)  More... | |
| interface | field_operation_subst_mult | 
| \( x = a - b \times c \) or \( a = a - b \times c \)  More... | |
| interface | field_operation_subst_mult_subst_mult | 
| \( x = a - b \times c - d \times e \) or \( a = a - b \times c - d \times e \)  More... | |
| interface | field_operation_subst_subst | 
| \( x = a - b - c \) or \( a = a - b - c \)  More... | |
| Functions/Subroutines | |
| subroutine | cell_operation_outline_add (a, b, x) | 
| \( x = a + b \) | |
| subroutine | cell_operation_inline_add (a, b) | 
| \( a = a + b \) | |
| subroutine | face_operation_outline_add (a, b, x) | 
| \( X = A + B \) | |
| subroutine | face_operation_inline_add (a, b) | 
| \( A = A + B \) | |
| subroutine | cell_operation_outline_subst (a, b, x) | 
| \( x = a - b \) | |
| subroutine | cell_operation_inline_subst (a, b) | 
| \( a = a - b \) | |
| subroutine | face_operation_outline_subst (a, b, x) | 
| \( X = A - B \) | |
| subroutine | face_operation_inline_subst (a, b) | 
| \( A = A - B \) | |
| subroutine | cell_operation_outline_mult (a, b, x) | 
| \( x = a \times b \) | |
| subroutine | cell_operation_inline_mult (a, b) | 
| \( a = a \times b \) | |
| subroutine | cell_operation_outline_smult (a, b, x) | 
| \( x = a \times b \) | |
| subroutine | cell_operation_inline_smult (a, b) | 
| \( b = a \times b \) | |
| subroutine | face_operation_outline_mult (a, b, x) | 
| \( X = A \times B \) | |
| subroutine | face_operation_inline_mult (a, b) | 
| \( A = A \times B \) | |
| subroutine | face_operation_outline_smult (a, b, x) | 
| \( X = a \times B \) | |
| subroutine | face_operation_inline_smult (a, b) | 
| \( B = a \times B \) | |
| subroutine | face_operation_outline_mults (a, b, x) | 
| \( X = A \times b \) | |
| subroutine | face_operation_inline_mults (a, b) | 
| \( A = A \times b \) | |
| subroutine | cell_operation_outline_divide (a, b, x) | 
| \( x = a \div b \) | |
| subroutine | cell_operation_inline_divide (a, b) | 
| \( a = a \div b \) | |
| subroutine | cell_operation_outline_sdiv (a, b, x) | 
| \( x = a \div b \) | |
| subroutine | cell_operation_inline_sdiv (a, b) | 
| \( b = a \div b \) | |
| subroutine | cell_operation_outline_divides (a, b, x) | 
| \( x = a \div b \) | |
| subroutine | cell_operation_inline_divides (a, b) | 
| \( a = a \div b \) | |
| subroutine | face_operation_outline_divide (a, b, x) | 
| \( X = A \div B \) | |
| subroutine | face_operation_inline_divide (a, b) | 
| \( A = A \div B \) | |
| subroutine | face_operation_inline_sdiv (a, b) | 
| \( b = a \div b \) | |
| subroutine | face_operation_inline_divides (a, b) | 
| \( a = a \div b \) | |
| subroutine | cell_operation_outline_mult_divide (a, b, c, x) | 
| \( x = a \times b \div c \) | |
| subroutine | cell_operation_inline_mult_divide (a, b, c) | 
| \( a = a \times b \div c \) | |
| subroutine | cell_operation_outline_mult_mult (a, b, c, x) | 
| \( x = a \times b \times c \) | |
| subroutine | cell_operation_inline_mult_mult (a, b, c) | 
| \( a = a \times b \times c \) | |
| subroutine | cell_operation_outline_add_add (a, b, c, x) | 
| \( x = a + b + c \) | |
| subroutine | cell_operation_inline_add_add (a, b, c) | 
| \( a = a + b + c \) | |
| subroutine | cell_operation_outline_subst_subst (a, b, c, x) | 
| \( x = a - b - c \) | |
| subroutine | cell_operation_inline_subst_subst (a, b, c) | 
| \( a = a - b - c \) | |
| subroutine | cell_operation_outline_add_subst (a, b, c, x) | 
| \( x = a + b - c \) | |
| subroutine | cell_operation_inline_add_subst (a, b, c) | 
| \( a = a + b - c \) | |
| subroutine | cell_operation_outline_subst_add (a, b, c, x) | 
| \( x = a - b + c \) | |
| subroutine | cell_operation_inline_subst_add (a, b, c) | 
| \( a = a - b + c \) | |
| subroutine | cell_operation_outline_add_mult (a, b, c, x) | 
| \( x = a + b \times c \) | |
| subroutine | cell_operation_inline_add_mult (a, b, c) | 
| \( a = a + b \times c \) | |
| subroutine | cell_operation_outline_add_smult (a, b, c, x) | 
| \( x = a + b \times c \) | |
| subroutine | cell_operation_inline_add_smult (a, b, c) | 
| \( a = a + b \times c \) | |
| subroutine | cell_operation_outline_subst_mult (a, b, c, x) | 
| \( x = a - b \times c \) | |
| subroutine | cell_operation_inline_subst_mult (a, b, c) | 
| \( a = a - b \times c \) | |
| subroutine | face_operation_outline_subst_mult (a, b, c, x) | 
| \( X = A - B \times C \) | |
| subroutine | face_operation_inline_subst_mult (a, b, c) | 
| \( A = A - B \times C \) | |
| subroutine | cell_operation_outline_add_divide (a, b, c, x) | 
| \( x = a + b \div c \) | |
| subroutine | cell_operation_inline_add_divide (a, b, c) | 
| \( a = a + b \div c \) | |
| subroutine | cell_operation_outline_subst_divide (a, b, c, x) | 
| \( x = a - b \div c \) | |
| subroutine | cell_operation_inline_subst_divide (a, b, c) | 
| \( a = a - b \div c \) | |
| subroutine | face_operation_outline_subst_divide (a, b, c, x) | 
| \( X = A - B \div C \) | |
| subroutine | face_operation_inline_subst_divide (a, b, c) | 
| \( A = A - B \div C \) | |
| subroutine | cell_operation_outline_divide_pmult (a, b, c, x) | 
| \( x = a \div (b \times c) \) | |
| subroutine | cell_operation_inline_divide_pmult (a, b, c) | 
| \( a = a \div (b \times c) \) | |
| subroutine | cell_operation_outline_divide_padd (a, b, c, x) | 
| \( x = a \div (b + c) \) | |
| subroutine | cell_operation_inline_divide_padd (a, b, c) | 
| \( a = a \div (b + c) \) | |
| subroutine | cell_operation_outline_divide_psub (a, b, c, x) | 
| \( x = a \div (b - c) \) | |
| subroutine | cell_operation_inline_divide_psub (a, b, c) | 
| \( a = a \div (b - c) \) | |
| subroutine | cell_operation_outline_mult_padd (a, b, c, x) | 
| \( x = a \times (b + c) \) | |
| subroutine | cell_operation_inline_mult_padd (a, b, c) | 
| \( a = a \times (b + c) \) | |
| subroutine | cell_operation_outline_mult_psub (a, b, c, x) | 
| \( x = a \times (b - c) \) | |
| subroutine | cell_operation_inline_mult_psub (a, b, c) | 
| \( a = a \times (b - c) \) | |
| subroutine | cell_operation_outline_divide_add_divide (a, b, c, d, x) | 
| \( x = a \div b + c \div d \) | |
| subroutine | cell_operation_outline_sdiv_add_sdiv (a, b, c, d, x) | 
| \( x = a \div b + c \div d \) | |
| subroutine | cell_operation_outline_divide_subst_divide (a, b, c, d, x) | 
| \( x = a \div b - c \div d \) | |
| subroutine | cell_operation_outline_sdiv_subst_sdiv (a, b, c, d, x) | 
| \( x = a \div b - c \div d \) | |
| subroutine | face_operation_outline_sdiv_subst_sdivs (a, b, c, d, x) | 
| \( X = a \div B - c \div d \) | |
| subroutine | cell_operation_outline_add_subst_mult (a, b, c, d, x) | 
| \( x = a + b - c \times d \) | |
| subroutine | cell_operation_inline_add_subst_mult (a, b, c, d) | 
| \( a = a + b - c \times d \) | |
| subroutine | face_operation_inline_subst_mult_subst_mult (a, b, c, d, e) | 
| \( A = A - B \div C - D \div E \) | |
Cell and face field operations that use OpenMP directives.
This module encapsulates in generic routines algebraic operations between 3-dimensional arrays and face-defined fields. They includes OpenMP directives. There are mainly used in the upper level of the code. Some naming-conventions have been chosen:
add: addsubst: subtractmult: multiplydivide: dividepadd: addition between parenthesispsubst: subtraction between parenthesispmult: multiplication between parenthesispdivide: division between parenthesis_.Examples:
x = a + b => call field_operation_add(a, b, x)
a = a + b => call field_operation_add(a, b)
x = a + b*c => call field_operation_add_mult(a, b, c, x)
a = a + b*c => call field_operation_add_mult(a, b, c)
x = a/(b + c) => call field_operation_divide_padd(a, b, c, x)
a = a/(b + c) => call field_operation_divide_padd(a, b, c)
x = a/b - c/d => call field_operation_divide_sub_divide(a, b, c, d, x)
x = a/(b + c) => call field_operation_divide_padd(a, b, c, x)
This module is not complete and should be updated if a new operation is needed.
s is written before (after) the operation convention. For instance, sdivide is the division of a scalar by an array; divides is the division of an array by a scalar. This convention holds only in this module for the definition of the generic routines. At the upper level s is never used.| subroutine mod_field_operation::cell_operation_inline_add | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b ) | 
\( a = a + b \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| subroutine mod_field_operation::cell_operation_inline_add_add | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a + b + c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_add_divide | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a + b \div c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_add_mult | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a + b \times c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_add_smult | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a + b \times c \)
| [in,out] | a | first array | 
| [in] | b | scalar | 
| [in] | c | second array | 
| subroutine mod_field_operation::cell_operation_inline_add_subst | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a + b - c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_add_subst_mult | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(in) | d ) | 
\( a = a + b - c \times d \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| [in] | d | fourth array | 
| subroutine mod_field_operation::cell_operation_inline_divide | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b ) | 
\( a = a \div b \)
| [in,out] | a | first input and resulting array | 
| [in] | b | second array | 
| subroutine mod_field_operation::cell_operation_inline_divide_padd | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a \div (b + c) \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_divide_pmult | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a \div (b \times c) \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_divide_psub | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a \div (b - c) \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_divides | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, intent(in) | b ) | 
\( a = a \div b \)
| [in,out] | a | array | 
| [in] | b | scalar | 
| subroutine mod_field_operation::cell_operation_inline_mult | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b ) | 
\( a = a \times b \)
| [in,out] | a | input and resulting array | 
| [in] | b | second array | 
| subroutine mod_field_operation::cell_operation_inline_mult_divide | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a \times b \div c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_mult_mult | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a \times b \times c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_mult_padd | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a \times (b + c) \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_mult_psub | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a \times (b - c) \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_sdiv | ( | double precision, intent(in) | a, | 
| double precision, dimension(:,:,:), intent(inout) | b ) | 
\( b = a \div b \)
| [in] | a | scalar | 
| [in,out] | b | input and resulting array | 
| subroutine mod_field_operation::cell_operation_inline_smult | ( | double precision, intent(in) | a, | 
| double precision, dimension(:,:,:), intent(inout) | b ) | 
\( b = a \times b \)
| [in,out] | a | scalar | 
| [in] | b | input and resulting array | 
| subroutine mod_field_operation::cell_operation_inline_subst | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b ) | 
\( a = a - b \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| subroutine mod_field_operation::cell_operation_inline_subst_add | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a - b + c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_subst_divide | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a - b \div c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_subst_mult | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a - b \times c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_inline_subst_subst | ( | double precision, dimension(:,:,:), intent(inout) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c ) | 
\( a = a - b - c \)
| [in,out] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_add | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a + b \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| subroutine mod_field_operation::cell_operation_outline_add_add | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a + b + c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_add_divide | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a + b \div c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_add_mult | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a + b \times c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_add_smult | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a + b \times c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | scalar | 
| [in] | c | second array | 
| subroutine mod_field_operation::cell_operation_outline_add_subst | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a + b - c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_add_subst_mult | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(in) | d, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a + b - c \times d \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| [in] | d | fourth array | 
| subroutine mod_field_operation::cell_operation_outline_divide | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div b \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| subroutine mod_field_operation::cell_operation_outline_divide_add_divide | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(in) | d, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div b + c \div d \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| [in] | d | fourth array | 
| subroutine mod_field_operation::cell_operation_outline_divide_padd | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div (b + c) \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_divide_pmult | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div (b \times c) \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_divide_psub | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div (b - c) \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_divide_subst_divide | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(in) | d, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div b - c \div d \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| [in] | d | fourth array | 
| subroutine mod_field_operation::cell_operation_outline_divides | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div b \)
| [in,out] | x | resulting array | 
| [in] | a | array | 
| [in] | b | scalar | 
| subroutine mod_field_operation::cell_operation_outline_mult | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \times b \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| subroutine mod_field_operation::cell_operation_outline_mult_divide | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \times b \div c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_mult_mult | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \times b \times c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_mult_padd | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \times (b + c) \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_mult_psub | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \times (b - c) \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_sdiv | ( | double precision, intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div b \)
| [in,out] | x | resulting array | 
| [in] | a | scalar | 
| [in] | b | array | 
| subroutine mod_field_operation::cell_operation_outline_sdiv_add_sdiv | ( | double precision, intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(in) | d, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div b + c \div d \)
| [in,out] | x | resulting array | 
| [in] | a | scalar | 
| [in] | b | second array | 
| [in] | c | scalar | 
| [in] | d | fourth array | 
| subroutine mod_field_operation::cell_operation_outline_sdiv_subst_sdiv | ( | double precision, intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(in) | d, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \div b - c \div d \)
| [in,out] | x | resulting array | 
| [in] | a | scalar | 
| [in] | b | second array | 
| [in] | c | scalar | 
| [in] | d | fourth array | 
| subroutine mod_field_operation::cell_operation_outline_smult | ( | double precision, intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a \times b \)
| [in,out] | x | resulting array | 
| [in] | a | scalar | 
| [in] | b | second array | 
| subroutine mod_field_operation::cell_operation_outline_subst | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a - b \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| subroutine mod_field_operation::cell_operation_outline_subst_add | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a - b + c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_subst_divide | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a - b \div c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_subst_mult | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a - b \times c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::cell_operation_outline_subst_subst | ( | double precision, dimension(:,:,:), intent(in) | a, | 
| double precision, dimension(:,:,:), intent(in) | b, | ||
| double precision, dimension(:,:,:), intent(in) | c, | ||
| double precision, dimension(:,:,:), intent(inout) | x ) | 
\( x = a - b - c \)
| [in,out] | x | resulting array | 
| [in] | a | first array | 
| [in] | b | second array | 
| [in] | c | third array | 
| subroutine mod_field_operation::face_operation_inline_add | ( | type(t_face_field), intent(inout) | a, | 
| type(t_face_field), intent(in) | b ) | 
\( A = A + B \)
| [in] | a | first input and resulting face field | 
| [in] | b | the second input face field | 
| subroutine mod_field_operation::face_operation_inline_divide | ( | type(t_face_field), intent(inout) | a, | 
| type(t_face_field), intent(in) | b ) | 
\( A = A \div B \)
| [in] | a | first input and resulting face field | 
| [in] | b | the second input face field | 
| subroutine mod_field_operation::face_operation_inline_divides | ( | type(t_face_field), intent(inout) | a, | 
| double precision, intent(in) | b ) | 
\( a = a \div b \)
| [in,out] | a | the input and resulting face field | 
| [in] | b | scalar | 
| subroutine mod_field_operation::face_operation_inline_mult | ( | type(t_face_field), intent(inout) | a, | 
| type(t_face_field), intent(in) | b ) | 
\( A = A \times B \)
| [in] | a | first input and resulting face field | 
| [in] | b | the second input face field | 
| subroutine mod_field_operation::face_operation_inline_mults | ( | type(t_face_field), intent(inout) | a, | 
| double precision, intent(in) | b ) | 
\( A = A \times b \)
| [in,out] | a | the input and resulting face field | 
| [in] | b | scalar | 
| subroutine mod_field_operation::face_operation_inline_sdiv | ( | double precision, intent(in) | a, | 
| type(t_face_field), intent(inout) | b ) | 
\( b = a \div b \)
| [in,out] | a | scalar | 
| [in] | b | the input and resulting face field | 
| subroutine mod_field_operation::face_operation_inline_smult | ( | double precision, intent(in) | a, | 
| type(t_face_field), intent(inout) | b ) | 
\( B = a \times B \)
| [in] | a | scalar | 
| [in] | b | the input and resulting face field | 
| subroutine mod_field_operation::face_operation_inline_subst | ( | type(t_face_field), intent(inout) | a, | 
| type(t_face_field), intent(in) | b ) | 
\( A = A - B \)
| [in] | a | first input and resulting face field | 
| [in] | b | the second input face field | 
| subroutine mod_field_operation::face_operation_inline_subst_divide | ( | type(t_face_field), intent(inout) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(in) | c ) | 
\( A = A - B \div C \)
| [in,out] | a | resulting and input face field | 
| [in] | b | second face field | 
| [in] | c | third face field | 
| subroutine mod_field_operation::face_operation_inline_subst_mult | ( | type(t_face_field), intent(inout) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(in) | c ) | 
\( A = A - B \times C \)
| [in,out] | a | resulting and input face field | 
| [in] | b | second face field | 
| [in] | c | third face field | 
| subroutine mod_field_operation::face_operation_inline_subst_mult_subst_mult | ( | type(t_face_field), intent(inout) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(in) | c, | ||
| type(t_face_field), intent(in) | d, | ||
| type(t_face_field), intent(in) | e ) | 
\( A = A - B \div C - D \div E \)
| [in,out] | a | resulting and input face field | 
| [in] | b | second face field | 
| [in] | c | third face field | 
| [in] | d | fourth face field | 
| [in] | e | fitth face field | 
| subroutine mod_field_operation::face_operation_outline_add | ( | type(t_face_field), intent(in) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(inout) | x ) | 
\( X = A + B \)
| [in,out] | x | the resulting face field | 
| [in] | a | the first input face field | 
| [in] | b | the second input face field | 
| subroutine mod_field_operation::face_operation_outline_divide | ( | type(t_face_field), intent(in) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(inout) | x ) | 
\( X = A \div B \)
| [in,out] | x | the resulting face field | 
| [in] | a | the first input face field | 
| [in] | b | the second input face field | 
| subroutine mod_field_operation::face_operation_outline_mult | ( | type(t_face_field), intent(in) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(inout) | x ) | 
\( X = A \times B \)
| [in,out] | x | the resulting face field | 
| [in] | a | the first input face field | 
| [in] | b | the second input face field | 
| subroutine mod_field_operation::face_operation_outline_mults | ( | type(t_face_field), intent(in) | a, | 
| double precision, intent(in) | b, | ||
| type(t_face_field), intent(inout) | x ) | 
\( X = A \times b \)
| [in,out] | x | the resulting face field | 
| [in] | a | input face field | 
| [in] | b | scalar input | 
| subroutine mod_field_operation::face_operation_outline_sdiv_subst_sdivs | ( | double precision, intent(in) | a, | 
| type(t_face_field), intent(in) | b, | ||
| double precision, intent(in) | c, | ||
| double precision, intent(in) | d, | ||
| type(t_face_field), intent(inout) | x ) | 
\( X = a \div B - c \div d \)
| [in,out] | x | resulting array | 
| [in] | a | scalar | 
| [in] | b | first face field | 
| [in] | c | scalar | 
| [in] | d | scalar | 
| subroutine mod_field_operation::face_operation_outline_smult | ( | double precision, intent(in) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(inout) | x ) | 
\( X = a \times B \)
| [in,out] | x | the resulting face field | 
| [in] | a | scalar input | 
| [in] | b | input face field | 
| subroutine mod_field_operation::face_operation_outline_subst | ( | type(t_face_field), intent(in) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(inout) | x ) | 
\( X = A - B \)
| [in,out] | x | the resulting face field | 
| [in] | a | the first input face field | 
| [in] | b | the second input face field | 
| subroutine mod_field_operation::face_operation_outline_subst_divide | ( | type(t_face_field), intent(in) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(in) | c, | ||
| type(t_face_field), intent(inout) | x ) | 
\( X = A - B \div C \)
| [in,out] | x | resulting face field | 
| [in] | a | first face field | 
| [in] | b | second face field | 
| [in] | c | third face field | 
| subroutine mod_field_operation::face_operation_outline_subst_mult | ( | type(t_face_field), intent(in) | a, | 
| type(t_face_field), intent(in) | b, | ||
| type(t_face_field), intent(in) | c, | ||
| type(t_face_field), intent(inout) | x ) | 
\( X = A - B \times C \)
| [in,out] | x | resulting face field | 
| [in] | a | first face field | 
| [in] | b | second face field | 
| [in] | c | third face field |