parallel_diffusion_shortley_weller Subroutine

public subroutine parallel_diffusion_shortley_weller(comm, mesh, qnaive_fwd, qnaive_bwd, ds_fwd, ds_bwd, u, du)

Parallel diffusion according to Shortley-Weller scheme

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: comm

MPI communicator

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

Mesh

type(csrmat_t), intent(in) :: qnaive_fwd

Map matrix (fwd direction)

type(csrmat_t), intent(in) :: qnaive_bwd

Map matrix (bwd direction)

real(kind=FP), intent(in), dimension(mesh%get_n_points()) :: ds_fwd

Distances along magnetic fiedl line to fwd mesh

real(kind=FP), intent(in), dimension(mesh%get_n_points()) :: ds_bwd

Distances along magnetic fiedl line to bwd mesh

real(kind=FP), intent(in), dimension(mesh%get_n_points()) :: u

Variable u

real(kind=FP), intent(out), dimension(mesh%get_n_points()) :: du

Parallel diffusion of variable u