inner_product Function

public function inner_product(comm_handler, mesh, map, penalisation, is_stag, u_in, v_in, use_abs, use_vol_avg, use_full_domain, sum_over_planes)

Compute inner product of u*v over all volume elements Only accepts input arrays of lengths n_points or n_points_inner

Arguments

Type IntentOptional Attributes Name
type(comm_handler_t), intent(in) :: comm_handler

Communicator

type(mesh_cart_t), intent(in) :: mesh

Mesh within poloidal plane

type(parallel_map_t), intent(in) :: map

Parallel map

type(penalisation_t), intent(in) :: penalisation

Penalisation

logical, intent(in) :: is_stag

Wheter computation is performed on staggered grid

real(kind=GP), intent(in), dimension(:) :: u_in

First input quantity

real(kind=GP), intent(in), optional, dimension(:) :: v_in

Second input quantity

logical, intent(in), optional :: use_abs

Whether to use absolue u,v values in product (default: false)

logical, intent(in), optional :: use_vol_avg

Whether to divide result by total fluxbox volume (default: false)

logical, intent(in), optional :: use_full_domain

Whether to include outer mesh points and penalisation region in the computation (default: false)

logical, intent(in), optional :: sum_over_planes

Whether to sum over all planes (default: true)

Return Value real(kind=gp)


Contents