Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Derived types and interfaces | Functions/Subroutines
sll_m_poisson_3d_sparse_grid_fft Module Reference

Description

Implementation of a 3D pseudospectral Poisson solver on sparse grid.

Author
Katharina Kormann, IPP

<DETAILED_DESCRIPTION>

Derived types and interfaces

type  sll_t_fft3d_derivative
 sll_t_fft3d_derivative is the Poisson solver object to solve Poisson's problem in 2d with pseudospectral on a sparse grid More...
 

Functions/Subroutines

subroutine new_poisson_3d_sparse_grid_fft (this, interpolator)
 Create Poisson solver object with Fourier spectral method on 3d sparse grid. More...
 
subroutine solve_potential (this, interpolator, rho, phi)
 Solve for potential. More...
 
subroutine solve_for_electric_field (this, interpolator, rho, ex, ey, ez)
 Compute the electric fields from rho. More...
 
subroutine derivative_coeffs_1d (interpolator, dim, max_level, index, size_factor, data1d, data)
 Helper function to compute the Fourier coefficients for the derivative operation. More...
 
subroutine insert_fourier_real (sparsegrid, dim, max_level, index, data_in, data_out)
 Helper function to insert the real Fourier coefficient into the sparse grid data structure. More...
 
recursive subroutine insert_recursive_fourier_real (sparsegrid, index_sg, ind, level, max_level, dim, data_in, data_out)
 Helper function to insert the real Fourier coefficient into the sparse grid data structure (recursive part) More...
 

Function/Subroutine Documentation

◆ derivative_coeffs_1d()

subroutine sll_m_poisson_3d_sparse_grid_fft::derivative_coeffs_1d ( class(sll_t_sparse_grid_3d), intent(in)  interpolator,
intent(in)  dim,
intent(in)  max_level,
intent(in)  index,
intent(in)  size_factor,
intent(inout)  data1d,
intent(inout)  data 
)
private

Helper function to compute the Fourier coefficients for the derivative operation.

Definition at line 168 of file sll_m_poisson_3d_sparse_grid_fft.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert_fourier_real()

subroutine sll_m_poisson_3d_sparse_grid_fft::insert_fourier_real ( type(sll_t_sparse_grid_3d), intent(in)  sparsegrid,
intent(in)  dim,
intent(in)  max_level,
intent(in)  index,
intent(in)  data_in,
intent(out)  data_out 
)
private

Helper function to insert the real Fourier coefficient into the sparse grid data structure.

Definition at line 189 of file sll_m_poisson_3d_sparse_grid_fft.F90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert_recursive_fourier_real()

recursive subroutine sll_m_poisson_3d_sparse_grid_fft::insert_recursive_fourier_real ( type(sll_t_sparse_grid_3d), intent(in)  sparsegrid,
intent(in)  index_sg,
intent(in)  ind,
intent(in)  level,
intent(in)  max_level,
intent(in)  dim,
intent(in)  data_in,
intent(inout)  data_out 
)
private

Helper function to insert the real Fourier coefficient into the sparse grid data structure (recursive part)

Definition at line 209 of file sll_m_poisson_3d_sparse_grid_fft.F90.

Here is the caller graph for this function:

◆ new_poisson_3d_sparse_grid_fft()

subroutine sll_m_poisson_3d_sparse_grid_fft::new_poisson_3d_sparse_grid_fft ( class(sll_t_fft3d_derivative), intent(inout)  this,
type(sll_t_sparse_grid_3d), intent(in)  interpolator 
)
private

Create Poisson solver object with Fourier spectral method on 3d sparse grid.

Parameters
[in,out]thisPoisson solver object
[in]interpolatorUnderlying sparse grid

Definition at line 47 of file sll_m_poisson_3d_sparse_grid_fft.F90.

Here is the call graph for this function:

◆ solve_for_electric_field()

subroutine sll_m_poisson_3d_sparse_grid_fft::solve_for_electric_field ( class(sll_t_fft3d_derivative), intent(inout)  this,
type(sll_t_sparse_grid_3d), intent(inout)  interpolator,
intent(inout)  rho,
intent(inout)  ex,
intent(inout)  ey,
intent(inout)  ez 
)
private

Compute the electric fields from rho.

Parameters
[in,out]thisPoisson solver object
[in,out]interpolatorunderlying sparse grid

Definition at line 136 of file sll_m_poisson_3d_sparse_grid_fft.F90.

◆ solve_potential()

subroutine sll_m_poisson_3d_sparse_grid_fft::solve_potential ( class(sll_t_fft3d_derivative), intent(inout)  this,
type(sll_t_sparse_grid_3d), intent(inout)  interpolator,
real(kind=f64), dimension(:), intent(inout)  rho,
intent(inout)  phi 
)
private

Solve for potential.

Parameters
[in,out]thisPoisson solver object
[in,out]interpolatorUnderlying sparse grid
[in,out]rhoRight-hand-side for Poisson's equation

Definition at line 118 of file sll_m_poisson_3d_sparse_grid_fft.F90.

    Report Typos and Errors