muMECH  1.0
Public Member Functions | Protected Member Functions | List of all members
mumech::eshelbySoluEllipticIntegralsEllipsoid Class Reference

Class of the functions calculating the values of elliptic integrals and its derivatives of general ellipsoid. More...

#include <esei_Ellipsoid.h>

Inheritance diagram for mumech::eshelbySoluEllipticIntegralsEllipsoid:
mumech::eshelbySoluEllipticIntegrals

Public Member Functions

 eshelbySoluEllipticIntegralsEllipsoid (const InclusionRecord3D *i)
 Constructor. More...
 
virtual ~eshelbySoluEllipticIntegralsEllipsoid ()
 Destructor. More...
 
void giveEllipticIntegrals (double J[13], double lambda, bool intpoint)
 Function gives the values of Ferers-Dyson's elliptic integrals of the inclusion this->I. More...
 
void giveDerivativesOfEllipticIntegrals (Point *point, bool intpoint)
 Function gives the values of Ferers-Dyson's elliptic integral derivatives of the inclusion this->I. More...
 
- Public Member Functions inherited from mumech::eshelbySoluEllipticIntegrals
 eshelbySoluEllipticIntegrals (const InclusionRecord3D *i)
 Constructor. More...
 
virtual ~eshelbySoluEllipticIntegrals ()
 Destructor. More...
 
void getPerturbatedLambdas (double *lambdas, const double loc_x[3])
 Helper function. More...
 

Protected Member Functions

double giveEllipticIntegralDerivative (const double a[3], const double x[3], aLambda aLa, ellipticIntegralComponent component, derivativeDirection direction_1, derivativeDirection direction_2)
 
double eI (double a[3], double k, double Theta, double mult)
 
double I1 (const double a[3], double k, double Theta, double mult)
 
double I2 (double I1, double I3, double lambda, double mult, double Dla, bool intpoint)
 
double I3 (const double a[3], double k, double Theta, double lambda, double mult, bool intpoint)
 
double I11 (const double a[3], double I12, double I13, double lambda, double mult, double Dla, bool intpoint)
 
double I12 (const double a[3], double I1, double I2)
 
double I13 (const double a[3], double I1, double I3)
 
double I22 (const double a[3], double I21, double I23, double lambda, double mult, double Dla, bool intpoint)
 
double I23 (const double a[3], double I2, double I3)
 
double I33 (const double a[3], double I32, double I31, double lambda, double mult, double Dla, bool intpoint)
 
void give_Ii_and_Iij (double J[13], const double sort_a[3], double lambda)
 
double giveEllipticIntegralFirstDerivative (const double a[3], const double x[3], aLambda aLa, ellipticIntegralComponent component, derivativeDirection direction)
 
double giveEllipticIntegralSeccondDerivative (const double a[3], const double x[3], aLambda aLa, ellipticIntegralComponent component, derivativeDirection direction_1, derivativeDirection direction_2)
 
double give_Ip_Derivative (aLambda aLa, derivativeDirection p)
 
double give_Iip_Derivative (const double a[3], aLambda aLa, ellipticIntegralComponent component, derivativeDirection p)
 
double give_Iijp_Derivative (const double a[3], aLambda aLa, ellipticIntegralComponent component, derivativeDirection p)
 
double give_Iijpq_Derivative (const double a[3], aLambda aLa, ellipticIntegralComponent component, derivativeDirection p, derivativeDirection q)
 
double give_Iipq_Derivative (const double a[3], aLambda aLa, ellipticIntegralComponent component, derivativeDirection p, derivativeDirection q)
 
void give_dIi (double dJi[9], const double sort_a[3], const double x[3], aLambda aLa)
 
void give_dIij (double dJij[27], const double sort_a[3], const double x[3], aLambda aLa)
 
void give_ddIi (double ddJi[27], const double sort_a[3], const double x[3], aLambda aLa)
 
void give_ddIij (double ddJi[27], const double sort_a[3], const double x[3], aLambda aLa)
 
std::complex< double > cIi_i (const double a[3], std::complex< double > la, std::complex< double > Dla, std::complex< double > cdla_i, double mult, ellipticIntegralComponent component)
 
std::complex< double > cIij_i (const double a[3], std::complex< double > la, std::complex< double > Dla, std::complex< double > cdla_i, double mult, ellipticIntegralComponent component)
 
void give_cdIi (double RedJi[9], double ImdJi[27], const double sort_a[3], cLambda CLa)
 
void give_cdIij (double RedJij[27], double ImdJij[81], const double sort_a[3], cLambda CLa)
 
void give_cddIi (double ddJi[27], double ImdJi[27])
 
void give_cddIij (double ddJij[81], double ImdJij[81])
 
double nIi_i (const double a[3], double la, double Dla, double dla_i, double mult, ellipticIntegralComponent component)
 
double nIij_i (const double a[3], double la, double Dla, double dla_i, double mult, ellipticIntegralComponent component)
 
void give_ndIi (double dJi[9], double ddJih[27], const double sort_a[3], nLambda nLa)
 
double getLambda (const double a[3], double x1, double x2, double x3)
 Returns lambda for a given point (x1, x2, x3) More...
 

Additional Inherited Members

- Protected Attributes inherited from mumech::eshelbySoluEllipticIntegrals
const InclusionRecord3DI
 

Detailed Description

Class of the functions calculating the values of elliptic integrals and its derivatives of general ellipsoid.

Definition at line 45 of file esei_Ellipsoid.h.

Constructor & Destructor Documentation

mumech::eshelbySoluEllipticIntegralsEllipsoid::eshelbySoluEllipticIntegralsEllipsoid ( const InclusionRecord3D i)
inline

Constructor.

Definition at line 49 of file esei_Ellipsoid.h.

virtual mumech::eshelbySoluEllipticIntegralsEllipsoid::~eshelbySoluEllipticIntegralsEllipsoid ( )
inlinevirtual

Member Function Documentation

std::complex< double > mumech::eshelbySoluEllipticIntegralsEllipsoid::cIi_i ( const double  a[3],
std::complex< double >  la,
std::complex< double >  Dla,
std::complex< double >  cdla_i,
double  mult,
ellipticIntegralComponent  component 
)
protected

Definition at line 998 of file esei_Ellipsoid.cpp.

References SQR.

Referenced by give_cdIi(), give_cdIij(), and ~eshelbySoluEllipticIntegralsEllipsoid().

std::complex< double > mumech::eshelbySoluEllipticIntegralsEllipsoid::cIij_i ( const double  a[3],
std::complex< double >  la,
std::complex< double >  Dla,
std::complex< double >  cdla_i,
double  mult,
ellipticIntegralComponent  component 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::eI ( double  a[3],
double  k,
double  Theta,
double  mult 
)
protected

Definition at line 288 of file esei_Ellipsoid.cpp.

References mumech::legendreIntegrals::ellf(), and SQR.

Referenced by ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::getLambda ( const double  a[3],
double  x1,
double  x2,
double  x3 
)
protectedvirtual

Returns lambda for a given point (x1, x2, x3)

Implements mumech::eshelbySoluEllipticIntegrals.

Definition at line 1719 of file esei_Ellipsoid.cpp.

References _errorr, MAX, PI, and SQR.

Referenced by ~eshelbySoluEllipticIntegralsEllipsoid().

void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_cddIi ( double  ddJi[27],
double  ImdJi[27] 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_cddIij ( double  ddJij[81],
double  ImdJij[81] 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_cdIi ( double  RedJi[9],
double  ImdJi[27],
const double  sort_a[3],
cLambda  CLa 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_cdIij ( double  RedJij[27],
double  ImdJij[81],
const double  sort_a[3],
cLambda  CLa 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_ddIi ( double  ddJi[27],
const double  sort_a[3],
const double  x[3],
aLambda  aLa 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_ddIij ( double  ddJi[27],
const double  sort_a[3],
const double  x[3],
aLambda  aLa 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_dIi ( double  dJi[9],
const double  sort_a[3],
const double  x[3],
aLambda  aLa 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_dIij ( double  dJij[27],
const double  sort_a[3],
const double  x[3],
aLambda  aLa 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Ii_and_Iij ( double  J[13],
const double  sort_a[3],
double  lambda 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iijp_Derivative ( const double  a[3],
aLambda  aLa,
ellipticIntegralComponent  component,
derivativeDirection  p 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iijpq_Derivative ( const double  a[3],
aLambda  aLa,
ellipticIntegralComponent  component,
derivativeDirection  p,
derivativeDirection  q 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iip_Derivative ( const double  a[3],
aLambda  aLa,
ellipticIntegralComponent  component,
derivativeDirection  p 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Iipq_Derivative ( const double  a[3],
aLambda  aLa,
ellipticIntegralComponent  component,
derivativeDirection  p,
derivativeDirection  q 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::give_Ip_Derivative ( aLambda  aLa,
derivativeDirection  p 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::give_ndIi ( double  dJi[9],
double  ddJih[27],
const double  sort_a[3],
nLambda  nLa 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::giveDerivativesOfEllipticIntegrals ( Point point,
bool  intpoint 
)
virtual

Function gives the values of Ferers-Dyson's elliptic integral derivatives of the inclusion this->I.

Parameters
pointPoint record (data structure of a given point).

Implements mumech::eshelbySoluEllipticIntegrals.

Definition at line 103 of file esei_Ellipsoid.cpp.

References mumech::_CENTER_, _delta_lambda, _DIFF_H_, _errorr, mumech::_x1_, mumech::_x2_, mumech::_x3_, mumech::_Xm_, mumech::_XmYm_, mumech::_XmYp_, mumech::_XmZm_, mumech::_XmZp_, mumech::_Xp_, mumech::_XpYm_, mumech::_XpYp_, mumech::_XpZm_, mumech::_XpZp_, mumech::_Ym_, mumech::_YmZm_, mumech::_YmZp_, mumech::_Yp_, mumech::_YpZm_, mumech::_YpZp_, mumech::_Zm_, mumech::_Zp_, mumech::Inclusion::a, mumech::eshelbySoluLambda::c_dLambda(), mumech::cLambda::cDla1, mumech::cLambda::cDla2, mumech::cLambda::cDla3, mumech::cLambda::cdla_11, mumech::cLambda::cdla_12, mumech::cLambda::cdla_13, mumech::cLambda::cdla_22, mumech::cLambda::cdla_23, mumech::cLambda::cdla_33, mumech::cLambda::cla1, mumech::cLambda::cla2, mumech::cLambda::cla3, mumech::cLambda::cx1, mumech::cLambda::cx2, mumech::cLambda::cx3, mumech::Point::ddJi, mumech::Point::ddJij, mumech::aLambda::ddla, mumech::Point::dJi, mumech::Point::dJij, mumech::aLambda::Dla, mumech::aLambda::dla, mumech::DT_ANALITICAL, mumech::DT_COMPLEX, mumech::DT_NUMERICAL, mumech::eshelbySoluEllipticIntegrals::getPerturbatedLambdas(), give_cddIi(), give_cddIij(), give_cdIi(), give_cdIij(), give_ddIi(), give_ddIij(), mumech::Problem::give_diffType(), give_dIi(), give_dIij(), giveEllipticIntegrals(), mumech::eshelbySoluLambda::giveLambda(), mumech::eshelbySoluLambda::giveLambdaDerivative(), mumech::eshelbySoluEllipticIntegrals::I, mumech::IS_ELLIPSOID, mumech::aLambda::la, mumech::Point::loc_x, mumech::cLambda::mult, mumech::aLambda::mult, mumech::Inclusion::ndiff_1, NUM_PERTURB, mumech::Inclusion::P, and PI.

Referenced by ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::giveEllipticIntegralDerivative ( const double  a[3],
const double  x[3],
aLambda  aLa,
ellipticIntegralComponent  component,
derivativeDirection  direction_1,
derivativeDirection  direction_2 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::giveEllipticIntegralFirstDerivative ( const double  a[3],
const double  x[3],
aLambda  aLa,
ellipticIntegralComponent  component,
derivativeDirection  direction 
)
protected
void mumech::eshelbySoluEllipticIntegralsEllipsoid::giveEllipticIntegrals ( double  J[13],
double  lambda,
bool  intpoint 
)
virtual

Function gives the values of Ferers-Dyson's elliptic integrals of the inclusion this->I.

Function gives the values of all elliptic Ferers-Dysons integrals.

Parameters
integrArray[13]Array with elliptic integrals values.
lambdaLambda parameter (not a Lame constant !!!).

Last edit: 14. 05. 2010

Parameters
J[13]Elliptic integral values.
sort_a[3]Sorted dimensions of ellipsoidal semiaxes (a1>a2,>a3)
lambdaLambda parameter according Mura's book, page 73

Implements mumech::eshelbySoluEllipticIntegrals.

Definition at line 59 of file esei_Ellipsoid.cpp.

References _4PI_, _delta_lambda, mumech::Inclusion::a, mumech::eshelbySoluEllipticIntegrals::I, I1(), I11(), I12(), I13(), I2(), I22(), I23(), I3(), I33(), and SQR.

Referenced by giveDerivativesOfEllipticIntegrals(), and ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::giveEllipticIntegralSeccondDerivative ( const double  a[3],
const double  x[3],
aLambda  aLa,
ellipticIntegralComponent  component,
derivativeDirection  direction_1,
derivativeDirection  direction_2 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::I1 ( const double  a[3],
double  k,
double  Theta,
double  mult 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::I11 ( const double  a[3],
double  I12,
double  I13,
double  lambda,
double  mult,
double  Dla,
bool  intpoint 
)
protected

Definition at line 371 of file esei_Ellipsoid.cpp.

References _4PI_, and SQR.

Referenced by giveEllipticIntegrals(), and ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::I12 ( const double  a[3],
double  I1,
double  I2 
)
protected

Definition at line 384 of file esei_Ellipsoid.cpp.

References SQR.

Referenced by giveEllipticIntegrals(), and ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::I13 ( const double  a[3],
double  I1,
double  I3 
)
protected

Definition at line 395 of file esei_Ellipsoid.cpp.

References SQR.

Referenced by giveEllipticIntegrals(), and ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::I2 ( double  I1,
double  I3,
double  lambda,
double  mult,
double  Dla,
bool  intpoint 
)
protected

Definition at line 327 of file esei_Ellipsoid.cpp.

References _4PI_.

Referenced by giveEllipticIntegrals(), and ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::I22 ( const double  a[3],
double  I21,
double  I23,
double  lambda,
double  mult,
double  Dla,
bool  intpoint 
)
protected

Definition at line 408 of file esei_Ellipsoid.cpp.

References _4PI_, and SQR.

Referenced by giveEllipticIntegrals(), and ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::I23 ( const double  a[3],
double  I2,
double  I3 
)
protected

Definition at line 421 of file esei_Ellipsoid.cpp.

References SQR.

Referenced by giveEllipticIntegrals(), and ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::I3 ( const double  a[3],
double  k,
double  Theta,
double  lambda,
double  mult,
bool  intpoint 
)
protected
double mumech::eshelbySoluEllipticIntegralsEllipsoid::I33 ( const double  a[3],
double  I32,
double  I31,
double  lambda,
double  mult,
double  Dla,
bool  intpoint 
)
protected

Definition at line 434 of file esei_Ellipsoid.cpp.

References _4PI_, and SQR.

Referenced by giveEllipticIntegrals(), and ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::nIi_i ( const double  a[3],
double  la,
double  Dla,
double  dla_i,
double  mult,
ellipticIntegralComponent  component 
)
protected

Definition at line 1387 of file esei_Ellipsoid.cpp.

References SQR.

Referenced by give_ndIi(), and ~eshelbySoluEllipticIntegralsEllipsoid().

double mumech::eshelbySoluEllipticIntegralsEllipsoid::nIij_i ( const double  a[3],
double  la,
double  Dla,
double  dla_i,
double  mult,
ellipticIntegralComponent  component 
)
protected

The documentation for this class was generated from the following files: