21 #ifndef bempp_helmholtz_3d_potential_operator_base_imp_hpp
22 #define bempp_helmholtz_3d_potential_operator_base_imp_hpp
24 #include "helmholtz_3d_potential_operator_base.hpp"
32 template <
typename Impl>
33 inline typename Impl::KernelType waveNumberImpl(
const Impl& impl)
35 return impl.kernels.functor().waveNumber() *
36 typename Impl::KernelType(0., 1.);
41 template <
typename Impl,
typename BasisFunctionType>
44 m_impl(new Impl(waveNumber))
48 template <
typename Impl,
typename BasisFunctionType>
51 m_impl(new Impl(*other.m_impl))
55 template <
typename Impl,
typename BasisFunctionType>
61 template <
typename Impl,
typename BasisFunctionType>
68 m_impl.reset(
new Impl(*rhs.m_impl));
73 template <
typename Impl,
typename BasisFunctionType>
78 return waveNumberImpl(*m_impl);
81 template <
typename Impl,
typename BasisFunctionType>
87 return m_impl->kernels;
90 template <
typename Impl,
typename BasisFunctionType>
92 CollectionOfBasisTransformations&
96 return m_impl->transformations;
99 template <
typename Impl,
typename BasisFunctionType>
105 return m_impl->integral;
Helmholtz3dPotentialOperatorBase & operator=(const Helmholtz3dPotentialOperatorBase &rhs)
Assignment operator.
Definition: helmholtz_3d_potential_operator_base_imp.hpp:64
virtual const KernelTrialIntegral & integral() const
Return an object representing the integral used to evaluate the potential of a charge distribution...
Definition: helmholtz_3d_potential_operator_base_imp.hpp:103
virtual ~Helmholtz3dPotentialOperatorBase()
Destructor.
Definition: helmholtz_3d_potential_operator_base_imp.hpp:57
Base class for potential operators for the Helmholtz equation in 3D.
Definition: helmholtz_3d_potential_operator_base.hpp:44
Helmholtz3dPotentialOperatorBase(KernelType waveNumber)
Constructor.
Definition: helmholtz_3d_potential_operator_base_imp.hpp:43
KernelType waveNumber() const
Return the wave number set previously in the constructor.
Definition: helmholtz_3d_potential_operator_base_imp.hpp:76
virtual const CollectionOfBasisTransformations & trialTransformations() const
Return the collection of transformations of the charge distribution that occur in the weak form of th...
Definition: helmholtz_3d_potential_operator_base_imp.hpp:94
Base::KernelType KernelType
Type of the values of kernel functions.
Definition: helmholtz_3d_potential_operator_base.hpp:60
virtual const CollectionOfKernels & kernels() const
Return the collection of kernel functions occurring in the integrand of this operator.
Definition: helmholtz_3d_potential_operator_base_imp.hpp:85