version 0.6.0
mod_field_operation Module Reference

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 \) More...
 
subroutine cell_operation_inline_add (a, b)
 \( a = a + b \) More...
 
subroutine face_operation_outline_add (a, b, x)
 \( X = A + B \) More...
 
subroutine face_operation_inline_add (a, b)
 \( A = A + B \) More...
 
subroutine cell_operation_outline_subst (a, b, x)
 \( x = a - b \) More...
 
subroutine cell_operation_inline_subst (a, b)
 \( a = a - b \) More...
 
subroutine face_operation_outline_subst (a, b, x)
 \( X = A - B \) More...
 
subroutine face_operation_inline_subst (a, b)
 \( A = A - B \) More...
 
subroutine cell_operation_outline_mult (a, b, x)
 \( x = a \times b \) More...
 
subroutine cell_operation_inline_mult (a, b)
 \( a = a \times b \) More...
 
subroutine cell_operation_outline_smult (a, b, x)
 \( x = a \times b \) More...
 
subroutine cell_operation_inline_smult (a, b)
 \( b = a \times b \) More...
 
subroutine face_operation_outline_mult (a, b, x)
 \( X = A \times B \) More...
 
subroutine face_operation_inline_mult (a, b)
 \( A = A \times B \) More...
 
subroutine face_operation_outline_smult (a, b, x)
 \( X = a \times B \) More...
 
subroutine face_operation_inline_smult (a, b)
 \( B = a \times B \) More...
 
subroutine face_operation_outline_mults (a, b, x)
 \( X = A \times b \) More...
 
subroutine face_operation_inline_mults (a, b)
 \( A = A \times b \) More...
 
subroutine cell_operation_outline_divide (a, b, x)
 \( x = a \div b \) More...
 
subroutine cell_operation_inline_divide (a, b)
 \( a = a \div b \) More...
 
subroutine cell_operation_outline_sdiv (a, b, x)
 \( x = a \div b \) More...
 
subroutine cell_operation_inline_sdiv (a, b)
 \( b = a \div b \) More...
 
subroutine cell_operation_outline_divides (a, b, x)
 \( x = a \div b \) More...
 
subroutine cell_operation_inline_divides (a, b)
 \( a = a \div b \) More...
 
subroutine face_operation_outline_divide (a, b, x)
 \( X = A \div B \) More...
 
subroutine face_operation_inline_divide (a, b)
 \( A = A \div B \) More...
 
subroutine face_operation_inline_sdiv (a, b)
 \( b = a \div b \) More...
 
subroutine face_operation_inline_divides (a, b)
 \( a = a \div b \) More...
 
subroutine cell_operation_outline_mult_divide (a, b, c, x)
 \( x = a \times b \div c \) More...
 
subroutine cell_operation_inline_mult_divide (a, b, c)
 \( a = a \times b \div c \) More...
 
subroutine cell_operation_outline_mult_mult (a, b, c, x)
 \( x = a \times b \times c \) More...
 
subroutine cell_operation_inline_mult_mult (a, b, c)
 \( a = a \times b \times c \) More...
 
subroutine cell_operation_outline_add_add (a, b, c, x)
 \( x = a + b + c \) More...
 
subroutine cell_operation_inline_add_add (a, b, c)
 \( a = a + b + c \) More...
 
subroutine cell_operation_outline_subst_subst (a, b, c, x)
 \( x = a - b - c \) More...
 
subroutine cell_operation_inline_subst_subst (a, b, c)
 \( a = a - b - c \) More...
 
subroutine cell_operation_outline_add_subst (a, b, c, x)
 \( x = a + b - c \) More...
 
subroutine cell_operation_inline_add_subst (a, b, c)
 \( a = a + b - c \) More...
 
subroutine cell_operation_outline_subst_add (a, b, c, x)
 \( x = a - b + c \) More...
 
subroutine cell_operation_inline_subst_add (a, b, c)
 \( a = a - b + c \) More...
 
subroutine cell_operation_outline_add_mult (a, b, c, x)
 \( x = a + b \times c \) More...
 
subroutine cell_operation_inline_add_mult (a, b, c)
 \( a = a + b \times c \) More...
 
subroutine cell_operation_outline_add_smult (a, b, c, x)
 \( x = a + b \times c \) More...
 
subroutine cell_operation_inline_add_smult (a, b, c)
 \( a = a + b \times c \) More...
 
subroutine cell_operation_outline_subst_mult (a, b, c, x)
 \( x = a - b \times c \) More...
 
subroutine cell_operation_inline_subst_mult (a, b, c)
 \( a = a - b \times c \) More...
 
subroutine face_operation_outline_subst_mult (a, b, c, x)
 \( X = A - B \times C \) More...
 
subroutine face_operation_inline_subst_mult (a, b, c)
 \( A = A - B \times C \) More...
 
subroutine cell_operation_outline_add_divide (a, b, c, x)
 \( x = a + b \div c \) More...
 
subroutine cell_operation_inline_add_divide (a, b, c)
 \( a = a + b \div c \) More...
 
subroutine cell_operation_outline_subst_divide (a, b, c, x)
 \( x = a - b \div c \) More...
 
subroutine cell_operation_inline_subst_divide (a, b, c)
 \( a = a - b \div c \) More...
 
subroutine face_operation_outline_subst_divide (a, b, c, x)
 \( X = A - B \div C \) More...
 
subroutine face_operation_inline_subst_divide (a, b, c)
 \( A = A - B \div C \) More...
 
subroutine cell_operation_outline_divide_pmult (a, b, c, x)
 \( x = a \div (b \times c) \) More...
 
subroutine cell_operation_inline_divide_pmult (a, b, c)
 \( a = a \div (b \times c) \) More...
 
subroutine cell_operation_outline_divide_padd (a, b, c, x)
 \( x = a \div (b + c) \) More...
 
subroutine cell_operation_inline_divide_padd (a, b, c)
 \( a = a \div (b + c) \) More...
 
subroutine cell_operation_outline_divide_psub (a, b, c, x)
 \( x = a \div (b - c) \) More...
 
subroutine cell_operation_inline_divide_psub (a, b, c)
 \( a = a \div (b - c) \) More...
 
subroutine cell_operation_outline_mult_padd (a, b, c, x)
 \( x = a \times (b + c) \) More...
 
subroutine cell_operation_inline_mult_padd (a, b, c)
 \( a = a \times (b + c) \) More...
 
subroutine cell_operation_outline_mult_psub (a, b, c, x)
 \( x = a \times (b - c) \) More...
 
subroutine cell_operation_inline_mult_psub (a, b, c)
 \( a = a \times (b - c) \) More...
 
subroutine cell_operation_outline_divide_add_divide (a, b, c, d, x)
 \( x = a \div b + c \div d \) More...
 
subroutine cell_operation_outline_sdiv_add_sdiv (a, b, c, d, x)
 \( x = a \div b + c \div d \) More...
 
subroutine cell_operation_outline_divide_subst_divide (a, b, c, d, x)
 \( x = a \div b - c \div d \) More...
 
subroutine cell_operation_outline_sdiv_subst_sdiv (a, b, c, d, x)
 \( x = a \div b - c \div d \) More...
 
subroutine face_operation_outline_sdiv_subst_sdivs (a, b, c, d, x)
 \( X = a \div B - c \div d \) More...
 
subroutine cell_operation_outline_add_subst_mult (a, b, c, d, x)
 \( x = a + b - c \times d \) More...
 
subroutine cell_operation_inline_add_subst_mult (a, b, c, d)
 \( a = a + b - c \times d \) More...
 
subroutine face_operation_inline_subst_mult_subst_mult (a, b, c, d, e)
 \( A = A - B \div C - D \div E \) More...
 

Detailed Description

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: add
  • subst: subtract
  • mult: multiply
  • divide: divide
  • padd: addition between parenthesis
  • psubst: subtraction between parenthesis
  • pmult: multiplication between parenthesis
  • pdivide: division between parenthesis
  • Operations are separated by an _.
  • Operands are the arguments of the routine, from left to right as the operation writes.
  • Standard priority rules applies.
  • Operations may involve scalar.
  • Outline/inline operations are proposed. Inline operation is done on the first array (face field) of the argument list. In case of outline operation, the result is the last argument of the routine.

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.

Note
Generic routines are written. They represent inline and outline operations, operations between arrays, or between arrays and scalars. For the latest, new conventions are introduced: if the scalar is the first (last) operand of the operation 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.
Remarks
If several algebraic operations are written one after the others, consecutive calls to the routines of this module is not optimal since OpenMP region is created for each call (instead of a single one that could be done).

Function/Subroutine Documentation

◆ cell_operation_inline_add()

subroutine mod_field_operation::cell_operation_inline_add ( double precision, dimension(:,:,:), intent(inout)  a,
double precision, dimension(:,:,:), intent(in)  b 
)
Parameters
[in,out]afirst array
[in]bsecond array

◆ cell_operation_inline_add_add()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_add_divide()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_add_mult()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_add_smult()

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 
)
Parameters
[in,out]afirst array
[in]bscalar
[in]csecond array

◆ cell_operation_inline_add_subst()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_add_subst_mult()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array
[in]dfourth array

◆ cell_operation_inline_divide()

subroutine mod_field_operation::cell_operation_inline_divide ( double precision, dimension(:,:,:), intent(inout)  a,
double precision, dimension(:,:,:), intent(in)  b 
)
Parameters
[in,out]afirst input and resulting array
[in]bsecond array

◆ cell_operation_inline_divide_padd()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_divide_pmult()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_divide_psub()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_divides()

subroutine mod_field_operation::cell_operation_inline_divides ( double precision, dimension(:,:,:), intent(inout)  a,
double precision, intent(in)  b 
)
Parameters
[in,out]aarray
[in]bscalar

◆ cell_operation_inline_mult()

subroutine mod_field_operation::cell_operation_inline_mult ( double precision, dimension(:,:,:), intent(inout)  a,
double precision, dimension(:,:,:), intent(in)  b 
)
Parameters
[in,out]ainput and resulting array
[in]bsecond array

◆ cell_operation_inline_mult_divide()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_mult_mult()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_mult_padd()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_mult_psub()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_sdiv()

subroutine mod_field_operation::cell_operation_inline_sdiv ( double precision, intent(in)  a,
double precision, dimension(:,:,:), intent(inout)  b 
)
Parameters
[in]ascalar
[in,out]binput and resulting array

◆ cell_operation_inline_smult()

subroutine mod_field_operation::cell_operation_inline_smult ( double precision, intent(in)  a,
double precision, dimension(:,:,:), intent(inout)  b 
)
Parameters
[in,out]ascalar
[in]binput and resulting array

◆ cell_operation_inline_subst()

subroutine mod_field_operation::cell_operation_inline_subst ( double precision, dimension(:,:,:), intent(inout)  a,
double precision, dimension(:,:,:), intent(in)  b 
)
Parameters
[in,out]afirst array
[in]bsecond array

◆ cell_operation_inline_subst_add()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_subst_divide()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_subst_mult()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_inline_subst_subst()

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 
)
Parameters
[in,out]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_add()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array

◆ cell_operation_outline_add_add()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_add_divide()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_add_mult()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_add_smult()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bscalar
[in]csecond array

◆ cell_operation_outline_add_subst()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_add_subst_mult()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array
[in]dfourth array

◆ cell_operation_outline_divide()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array

◆ cell_operation_outline_divide_add_divide()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array
[in]dfourth array

◆ cell_operation_outline_divide_padd()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_divide_pmult()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_divide_psub()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_divide_subst_divide()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array
[in]dfourth array

◆ cell_operation_outline_divides()

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 
)
Parameters
[in,out]xresulting array
[in]aarray
[in]bscalar

◆ cell_operation_outline_mult()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array

◆ cell_operation_outline_mult_divide()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_mult_mult()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_mult_padd()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_mult_psub()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_sdiv()

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 
)
Parameters
[in,out]xresulting array
[in]ascalar
[in]barray

◆ cell_operation_outline_sdiv_add_sdiv()

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 
)
Parameters
[in,out]xresulting array
[in]ascalar
[in]bsecond array
[in]cscalar
[in]dfourth array

◆ cell_operation_outline_sdiv_subst_sdiv()

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 
)
Parameters
[in,out]xresulting array
[in]ascalar
[in]bsecond array
[in]cscalar
[in]dfourth array

◆ cell_operation_outline_smult()

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 
)
Parameters
[in,out]xresulting array
[in]ascalar
[in]bsecond array

◆ cell_operation_outline_subst()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array

◆ cell_operation_outline_subst_add()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_subst_divide()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_subst_mult()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ cell_operation_outline_subst_subst()

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 
)
Parameters
[in,out]xresulting array
[in]afirst array
[in]bsecond array
[in]cthird array

◆ face_operation_inline_add()

subroutine mod_field_operation::face_operation_inline_add ( type(t_face_field), intent(inout)  a,
type(t_face_field), intent(in)  b 
)
Parameters
[in]afirst input and resulting face field
[in]bthe second input face field

◆ face_operation_inline_divide()

subroutine mod_field_operation::face_operation_inline_divide ( type(t_face_field), intent(inout)  a,
type(t_face_field), intent(in)  b 
)
Parameters
[in]afirst input and resulting face field
[in]bthe second input face field

◆ face_operation_inline_divides()

subroutine mod_field_operation::face_operation_inline_divides ( type(t_face_field), intent(inout)  a,
double precision, intent(in)  b 
)
Parameters
[in,out]athe input and resulting face field
[in]bscalar

◆ face_operation_inline_mult()

subroutine mod_field_operation::face_operation_inline_mult ( type(t_face_field), intent(inout)  a,
type(t_face_field), intent(in)  b 
)
Parameters
[in]afirst input and resulting face field
[in]bthe second input face field

◆ face_operation_inline_mults()

subroutine mod_field_operation::face_operation_inline_mults ( type(t_face_field), intent(inout)  a,
double precision, intent(in)  b 
)
Parameters
[in,out]athe input and resulting face field
[in]bscalar

◆ face_operation_inline_sdiv()

subroutine mod_field_operation::face_operation_inline_sdiv ( double precision, intent(in)  a,
type(t_face_field), intent(inout)  b 
)
Parameters
[in,out]ascalar
[in]bthe input and resulting face field

◆ face_operation_inline_smult()

subroutine mod_field_operation::face_operation_inline_smult ( double precision, intent(in)  a,
type(t_face_field), intent(inout)  b 
)
Parameters
[in]ascalar
[in]bthe input and resulting face field

◆ face_operation_inline_subst()

subroutine mod_field_operation::face_operation_inline_subst ( type(t_face_field), intent(inout)  a,
type(t_face_field), intent(in)  b 
)
Parameters
[in]afirst input and resulting face field
[in]bthe second input face field

◆ face_operation_inline_subst_divide()

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 
)
Parameters
[in,out]aresulting and input face field
[in]bsecond face field
[in]cthird face field

◆ face_operation_inline_subst_mult()

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 
)
Parameters
[in,out]aresulting and input face field
[in]bsecond face field
[in]cthird face field

◆ face_operation_inline_subst_mult_subst_mult()

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 
)
Parameters
[in,out]aresulting and input face field
[in]bsecond face field
[in]cthird face field
[in]dfourth face field
[in]efitth face field

◆ face_operation_outline_add()

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 
)
Parameters
[in,out]xthe resulting face field
[in]athe first input face field
[in]bthe second input face field

◆ face_operation_outline_divide()

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 
)
Parameters
[in,out]xthe resulting face field
[in]athe first input face field
[in]bthe second input face field

◆ face_operation_outline_mult()

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 
)
Parameters
[in,out]xthe resulting face field
[in]athe first input face field
[in]bthe second input face field

◆ face_operation_outline_mults()

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 
)
Parameters
[in,out]xthe resulting face field
[in]ainput face field
[in]bscalar input

◆ face_operation_outline_sdiv_subst_sdivs()

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 
)
Parameters
[in,out]xresulting array
[in]ascalar
[in]bfirst face field
[in]cscalar
[in]dscalar

◆ face_operation_outline_smult()

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 
)
Parameters
[in,out]xthe resulting face field
[in]ascalar input
[in]binput face field

◆ face_operation_outline_subst()

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 
)
Parameters
[in,out]xthe resulting face field
[in]athe first input face field
[in]bthe second input face field

◆ face_operation_outline_subst_divide()

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 
)
Parameters
[in,out]xresulting face field
[in]afirst face field
[in]bsecond face field
[in]cthird face field

◆ face_operation_outline_subst_mult()

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 
)
Parameters
[in,out]xresulting face field
[in]afirst face field
[in]bsecond face field
[in]cthird face field