WarpX
Loading...
Searching...
No Matches
SphericalYeeAlgorithm Struct Reference

#include <SphericalYeeAlgorithm.H>

Static Public Member Functions

static void InitializeStencilCoefficients (std::array< amrex::Real, 3 > &cell_size, amrex::Vector< amrex::Real > &stencil_coefs_r)
 
static amrex::Real ComputeMaxDt (amrex::Real const *const dx)
 
static amrex::IntVect GetMaxGuardCell ()
 Returns maximum number of guard cells required by the field-solve.
 
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real UpwardDrr_over_r (amrex::Array4< amrex::Real const > const &F, amrex::Real const r, amrex::Real const dr, amrex::Real const *const coefs_r, int const n_coefs_r, int const i, int const j, int const k, int const comp)
 
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real DownwardDrr2_over_r2 (amrex::Array4< amrex::Real const > const &F, amrex::Real const r, amrex::Real const dr, amrex::Real const *const coefs_r, int const n_coefs_r, int const i, int const j, int const k, int const comp)
 
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real DownwardDrr_over_r (amrex::Array4< amrex::Real const > const &F, amrex::Real const r, amrex::Real const dr, amrex::Real const *const coefs_r, int const n_coefs_r, int const i, int const j, int const k, int const comp)
 
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real UpwardDr (amrex::Array4< amrex::Real const > const &F, amrex::Real const *const coefs_r, int const n_coefs_r, int const i, int const j, int const k, int const comp)
 
AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real DownwardDr (amrex::Array4< amrex::Real const > const &F, amrex::Real const *const coefs_r, int const n_coefs_r, int const i, int const j, int const k, int const comp)
 

Detailed Description

This struct contains only static functions to initialize the stencil coefficients and to compute finite-difference derivatives for the Spherical Yee algorithm.

Member Function Documentation

◆ ComputeMaxDt()

static amrex::Real SphericalYeeAlgorithm::ComputeMaxDt ( amrex::Real const *const dx)
inlinestatic

Compute the maximum, CFL-stable timestep

Compute the maximum timestep, for which the scheme remains stable under the Courant-Friedrichs-Levy limit.

◆ DownwardDr()

AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real SphericalYeeAlgorithm::DownwardDr ( amrex::Array4< amrex::Real const > const & F,
amrex::Real const *const coefs_r,
int const n_coefs_r,
int const i,
int const j,
int const k,
int const comp )
inlinestatic

Perform derivative along r on a nodal grid, from a cell-centered field F

◆ DownwardDrr2_over_r2()

AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real SphericalYeeAlgorithm::DownwardDrr2_over_r2 ( amrex::Array4< amrex::Real const > const & F,
amrex::Real const r,
amrex::Real const dr,
amrex::Real const *const coefs_r,
int const n_coefs_r,
int const i,
int const j,
int const k,
int const comp )
inlinestatic

Applies the differential operator, the gradient, 1/r**2 * d(r**2F)/dr, where F is on a cell-centered grid in r and the differential operator is evaluated on a nodal grid. The input parameter r is given at the node-centered position

◆ DownwardDrr_over_r()

AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real SphericalYeeAlgorithm::DownwardDrr_over_r ( amrex::Array4< amrex::Real const > const & F,
amrex::Real const r,
amrex::Real const dr,
amrex::Real const *const coefs_r,
int const n_coefs_r,
int const i,
int const j,
int const k,
int const comp )
inlinestatic

Applies the differential operator 1/r * d(rF)/dr, where F is on a cell-centered grid in r and the differential operator is evaluated on a nodal grid. The input parameter r is given at the node-centered position

◆ GetMaxGuardCell()

static amrex::IntVect SphericalYeeAlgorithm::GetMaxGuardCell ( )
inlinestatic

Returns maximum number of guard cells required by the field-solve.

◆ InitializeStencilCoefficients()

static void SphericalYeeAlgorithm::InitializeStencilCoefficients ( std::array< amrex::Real, 3 > & cell_size,
amrex::Vector< amrex::Real > & stencil_coefs_r )
inlinestatic

◆ UpwardDr()

AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real SphericalYeeAlgorithm::UpwardDr ( amrex::Array4< amrex::Real const > const & F,
amrex::Real const *const coefs_r,
int const n_coefs_r,
int const i,
int const j,
int const k,
int const comp )
inlinestatic

Perform derivative along r on a cell-centered grid, from a nodal field F

◆ UpwardDrr_over_r()

AMREX_GPU_HOST_DEVICE static AMREX_FORCE_INLINE amrex::Real SphericalYeeAlgorithm::UpwardDrr_over_r ( amrex::Array4< amrex::Real const > const & F,
amrex::Real const r,
amrex::Real const dr,
amrex::Real const *const coefs_r,
int const n_coefs_r,
int const i,
int const j,
int const k,
int const comp )
inlinestatic

Applies the differential operator 1/r * d(rF)/dr, where F is on a nodal grid in r and the differential operator is evaluated on a cell-centered grid. The input parameter r is given at the cell-centered position


The documentation for this struct was generated from the following file: