38 assert(
r > 0 &&
"HGF::kernel(): Distance must be greater than 0.");
39 return std::exp(-
J * k *
r) /
r / four_pi;
50 assert(
r > 0 &&
"HGF::grad_kernel(): Distance must be greater than 0.");
66 assert(
r > 0 &&
"HGF::kernel(): Distance must be greater than 0.");
67 return (std::exp(-
J * k *
r) - one) /
r / four_pi;
78 assert(
r > 0 &&
"HGF::grad_kernel(): Distance must be greater than 0.");
85 std::exp(-
jkr) * (one +
jkr) - (one + half * k * k *
r_sq)
99 if (std::abs(k) == 0.0)
102 const Float tol = KERNEL_DEFAULT_TOL;
130 if (std::abs(k) == 0.0)
133 const Float tol = KERNEL_DEFAULT_TOL;
Complex kernel(ConstEigRef< EigColVecN< Float, 3 > > r_obs, ConstEigRef< EigColVecN< Float, 3 > > r_src, const Complex k) const
Computes the kernel for given observation and source points.
EigColVecN< Complex, 3 > grad_kernel(ConstEigRef< EigColVecN< Float, 3 > > r_obs, ConstEigRef< EigColVecN< Float, 3 > > r_src, const Complex k) const
Computes the gradient of the kernel for given observation and source points.
Complex kernel(ConstEigRef< EigColVecN< Float, 3 > > r_obs, ConstEigRef< EigColVecN< Float, 3 > > r_src, const Complex k) const
Computes the kernel for given observation and source points.
EigColVecN< Complex, 3 > grad_kernel(ConstEigRef< EigColVecN< Float, 3 > > r_obs, ConstEigRef< EigColVecN< Float, 3 > > r_src, const Complex k) const
Computes the gradient of the kernel for given observation and source points.
EigColVecN< Complex, 3 > grad_kernel(ConstEigRef< EigColVecN< Float, 3 > > r_obs, ConstEigRef< EigColVecN< Float, 3 > > r_src, const Complex k) const
Computes the gradient of the kernel for given observation and source points.
Complex kernel(ConstEigRef< EigColVecN< Float, 3 > > r_obs, ConstEigRef< EigColVecN< Float, 3 > > r_src, const Complex k) const
Computes the kernel for given observation and source points.
const Complex J
Imaginary unit.
const Eigen::Ref< const EigObj > ConstEigRef
Read-only reference to an Eigen object.
double Float
Floating point number.
std::complex< Float > Complex
Complex floating point number.
Eigen::Matrix< T, N, 1 > EigColVecN
Fixed-size column vector of size N containing type T.
Primary namespace for the OpenBEM library.