Hipace
Typedefs | Functions
OpenBoundary.H File Reference
#include <AMReX_AmrCore.H>
#include <cmath>

Go to the source code of this file.

Typedefs

using MultipoleTuple = amrex::TypeMultiplier< amrex::GpuTuple, amrex::Real[37]>
 
using MultipoleReduceOpList = amrex::TypeMultiplier< amrex::TypeList, amrex::ReduceOpSum[37]>
 
using MultipoleReduceTypeList = amrex::TypeMultiplier< amrex::TypeList, amrex::Real[37]>
 

Functions

template<unsigned int exp>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real pow (amrex::Real base)
 calculate low integer powers base^exp More...
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE MultipoleTuple GetMultipoleCoeffs (amrex::Real s_v, amrex::Real x, amrex::Real y)
 get the multipole coefficients for open boundaries, these have to be integrated over all souces More...
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real GetFieldMultipole (MultipoleTuple m_c, amrex::Real x_domain, amrex::Real y_domain)
 get the solution field using the multipole coefficients More...
 

Typedef Documentation

◆ MultipoleReduceOpList

◆ MultipoleReduceTypeList

◆ MultipoleTuple

Function Documentation

◆ GetFieldMultipole()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real GetFieldMultipole ( MultipoleTuple  m_c,
amrex::Real  x_domain,
amrex::Real  y_domain 
)

get the solution field using the multipole coefficients

Parameters
[in]m_cmultipole coefficients
[in]x_domain(normalized) x coordinate
[in]y_domain(normalized) y coordinate

◆ GetMultipoleCoeffs()

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE MultipoleTuple GetMultipoleCoeffs ( amrex::Real  s_v,
amrex::Real  x,
amrex::Real  y 
)

get the multipole coefficients for open boundaries, these have to be integrated over all souces

Parameters
[in]s_vsource value at this location
[in]x(normalized) x coordinate
[in]y(normalized) y coordinate

◆ pow()

template<unsigned int exp>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real pow ( amrex::Real  base)

calculate low integer powers base^exp

Parameters
[in]basebase of power