solve_poisson Subroutine

public subroutine solve_poisson(self, f, temp)

Gathers each non-periodic line into a periodic one, so that a plain FFT can stand in for the cosine transform, solves in spectral space, and scatters the result back. The 000 case has nothing to reorder and overrides this to transform f in place.

Type Bound

poisson_fft_t

Arguments

Type IntentOptional Attributes Name
class(poisson_fft_t) :: self
class(field_t), intent(inout) :: f
class(field_t), intent(inout) :: temp

Calls

proc~~solve_poisson~~CallsGraph proc~solve_poisson m_poisson_fft::poisson_fft_t%solve_poisson fft_backward fft_backward proc~solve_poisson->fft_backward fft_forward fft_forward proc~solve_poisson->fft_forward fft_postprocess fft_postprocess proc~solve_poisson->fft_postprocess proc~enforce_periodicity m_poisson_fft::poisson_fft_t%enforce_periodicity proc~solve_poisson->proc~enforce_periodicity proc~undo_periodicity m_poisson_fft::poisson_fft_t%undo_periodicity proc~solve_poisson->proc~undo_periodicity proc~abort_run m_logger::abort_run proc~enforce_periodicity->proc~abort_run proc~undo_periodicity->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~~solve_poisson~~CalledByGraph proc~solve_poisson m_poisson_fft::poisson_fft_t%solve_poisson proc~poisson_fft m_solver::poisson_fft proc~poisson_fft->proc~solve_poisson program~x3d2_poisson_solver x3d2_poisson_solver program~x3d2_poisson_solver->proc~solve_poisson