x_slice_weighted_sum_base Subroutine

public subroutine x_slice_weighted_sum_base(self, sum_val, f, i_slice, y_weights)

Weighted sum of the x slice f(i_slice, :, :) of a DIR_X field: the point with local y index j counts y_weights(j) times. Gives the flow rate through an x face as the discrete divergence sees it, whose y interpolation weights the boundary planes differently from the interior ones. Caller is responsible for MPI_Allreduce across ranks.

Type Bound

base_backend_t

Arguments

Type IntentOptional Attributes Name
class(base_backend_t) :: self
real(kind=dp), intent(out) :: sum_val
class(field_t), intent(in) :: f
integer, intent(in) :: i_slice
real(kind=dp), intent(in) :: y_weights(:)

Calls

proc~~x_slice_weighted_sum_base~~CallsGraph proc~x_slice_weighted_sum_base m_base_backend::base_backend_t%x_slice_weighted_sum_base proc~abort_run m_logger::abort_run proc~x_slice_weighted_sum_base->proc~abort_run interface~str m_logger::str proc~abort_run->interface~str mpi_abort mpi_abort proc~abort_run->mpi_abort mpi_barrier mpi_barrier proc~abort_run->mpi_barrier mpi_comm_rank mpi_comm_rank proc~abort_run->mpi_comm_rank mpi_comm_size mpi_comm_size proc~abort_run->mpi_comm_size mpi_finalized mpi_finalized proc~abort_run->mpi_finalized mpi_initialized mpi_initialized proc~abort_run->mpi_initialized

Called by

proc~~x_slice_weighted_sum_base~~CalledByGraph proc~x_slice_weighted_sum_base m_base_backend::base_backend_t%x_slice_weighted_sum_base proc~outflow_flow_rate_correction m_base_case::base_case_t%outflow_flow_rate_correction proc~outflow_flow_rate_correction->proc~x_slice_weighted_sum_base proc~apply_bc_abl m_case_abl::case_abl_t%apply_BC_abl proc~apply_bc_abl->proc~outflow_flow_rate_correction