Class xlifepp::IntegrationMethod#

class IntegrationMethod#

Inheritence diagram for xlifepp::IntegrationMethod:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "12" [label="xlifepp::FilonIMT< complex_t >" tooltip="xlifepp::FilonIMT< complex_t >"] "3" [label="xlifepp::CollinoIM" tooltip="xlifepp::CollinoIM"] "2" [label="xlifepp::DoubleIM" tooltip="xlifepp::DoubleIM"] "4" [label="xlifepp::DuffyIM" tooltip="xlifepp::DuffyIM"] "13" [label="xlifepp::FilonIMT< T >" tooltip="xlifepp::FilonIMT< T >"] "5" [label="xlifepp::HMatrixIM" tooltip="xlifepp::HMatrixIM"] "1" [label="xlifepp::IntegrationMethod" tooltip="xlifepp::IntegrationMethod" fillcolor="#BFBFBF"] "6" [label="xlifepp::LenoirSalles2dIM" tooltip="xlifepp::LenoirSalles2dIM"] "14" [label="xlifepp::LenoirSalles2dIR" tooltip="xlifepp::LenoirSalles2dIR"] "7" [label="xlifepp::LenoirSalles3dIM" tooltip="xlifepp::LenoirSalles3dIM"] "15" [label="xlifepp::LenoirSalles3dIR" tooltip="xlifepp::LenoirSalles3dIR"] "16" [label="xlifepp::PolynomialIM" tooltip="xlifepp::PolynomialIM"] "8" [label="xlifepp::ProductIM" tooltip="xlifepp::ProductIM"] "17" [label="xlifepp::QuadratureIM" tooltip="xlifepp::QuadratureIM"] "9" [label="xlifepp::SauterSchwabIM" tooltip="xlifepp::SauterSchwabIM"] "10" [label="xlifepp::SauterSchwabSymIM" tooltip="xlifepp::SauterSchwabSymIM"] "11" [label="xlifepp::SingleIM" tooltip="xlifepp::SingleIM"] "12" -> "11" [dir=forward tooltip="public-inheritance"] "12" -> "13" [dir=forward tooltip="template-instance"] "3" -> "2" [dir=forward tooltip="public-inheritance"] "2" -> "1" [dir=forward tooltip="public-inheritance"] "4" -> "2" [dir=forward tooltip="public-inheritance"] "13" -> "11" [dir=forward tooltip="public-inheritance"] "5" -> "2" [dir=forward tooltip="public-inheritance"] "6" -> "2" [dir=forward tooltip="public-inheritance"] "14" -> "11" [dir=forward tooltip="public-inheritance"] "7" -> "2" [dir=forward tooltip="public-inheritance"] "15" -> "11" [dir=forward tooltip="public-inheritance"] "16" -> "11" [dir=forward tooltip="public-inheritance"] "8" -> "2" [dir=forward tooltip="public-inheritance"] "17" -> "11" [dir=forward tooltip="public-inheritance"] "9" -> "2" [dir=forward tooltip="public-inheritance"] "10" -> "2" [dir=forward tooltip="public-inheritance"] "11" -> "1" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::IntegrationMethod:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "1" [label="xlifepp::IntegrationMethod" tooltip="xlifepp::IntegrationMethod" fillcolor="#BFBFBF"] }

abstract class for integration methods

Subclassed by xlifepp::DoubleIM, xlifepp::SingleIM

Public Functions

inline IntegrationMethod(IntegrationMethodType imt = _undefIM, const string_t &na = "", SingularityType st = _notsingular, real_t so = 0, const string_t &kn = "", bool ref = false, bool phy = false, bool nor = false)#

constructor

inline virtual ~IntegrationMethod()#

virtual destructor

virtual bool isDoubleIM() const = 0#

returns true if double IM

virtual bool isSingleIM() const = 0#

returns true if single IM

inline virtual void print(std::ostream &os) const#

print IntegrationMethod on stream

inline IntegrationMethodType type() const#

returns type of integration method

inline virtual bool useQuadraturePoints() const#

returns true if quadrature points are used

Public Members

IntegrationMethodType imType#

integration method type (see enum)

string_t kerName#

kernel shortname when adapted to a particular kernel (default is empty)

mutable string_t name#

name of the integration method

bool requireNormal#

true if method involves normal (false)

bool requirePhyElement#

true if method require physical element (false)

bool requireRefElement#

true if method require reference element (false)

real_t singularOrder#

singularity order

SingularityType singularType#

type of singularity supported (_notsingular, _r, _logr,_loglogr)