21 #ifndef bempp_modified_helmholtz_3d_potential_operator_base_imp_hpp
22 #define bempp_modified_helmholtz_3d_potential_operator_base_imp_hpp
24 #include "modified_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();
40 template <
typename Impl,
typename BasisFunctionType>
43 m_impl(new Impl(waveNumber))
47 template <
typename Impl,
typename BasisFunctionType>
50 m_impl(new Impl(*other.m_impl))
54 template <
typename Impl,
typename BasisFunctionType>
60 template <
typename Impl,
typename BasisFunctionType>
67 m_impl.reset(
new Impl(*rhs.m_impl));
72 template <
typename Impl,
typename BasisFunctionType>
77 return waveNumberImpl(*m_impl);
80 template <
typename Impl,
typename BasisFunctionType>
86 return m_impl->kernels;
89 template <
typename Impl,
typename BasisFunctionType>
91 CollectionOfShapesetTransformations&
95 return m_impl->transformations;
98 template <
typename Impl,
typename BasisFunctionType>
104 return m_impl->integral;
virtual const CollectionOfShapesetTransformations & trialTransformations() const
Return the collection of transformations of the charge distribution that occur in the weak form of th...
Definition: modified_helmholtz_3d_potential_operator_base_imp.hpp:93
ModifiedHelmholtz3dPotentialOperatorBase & operator=(const ModifiedHelmholtz3dPotentialOperatorBase &rhs)
Assignment operator.
Definition: modified_helmholtz_3d_potential_operator_base_imp.hpp:63
Base class for potential operators for the modified Helmholtz equation in 3D.
Definition: modified_helmholtz_3d_potential_operator_base.hpp:44
virtual ~ModifiedHelmholtz3dPotentialOperatorBase()
Destructor.
Definition: modified_helmholtz_3d_potential_operator_base_imp.hpp:56
ModifiedHelmholtz3dPotentialOperatorBase(KernelType waveNumber)
Constructor.
Definition: modified_helmholtz_3d_potential_operator_base_imp.hpp:42
virtual const KernelTrialIntegral & integral() const
Return an object representing the integral used to evaluate the potential of a charge distribution...
Definition: modified_helmholtz_3d_potential_operator_base_imp.hpp:102
virtual const CollectionOfKernels & kernels() const
Return the collection of kernel functions occurring in the integrand of this operator.
Definition: modified_helmholtz_3d_potential_operator_base_imp.hpp:84
KernelType waveNumber() const
Return the wave number set previously in the constructor.
Definition: modified_helmholtz_3d_potential_operator_base_imp.hpp:75
Base::KernelType KernelType
Type of the values of kernel functions.
Definition: modified_helmholtz_3d_potential_operator_base.hpp:60