muMECH  1.0
esei.h
Go to the documentation of this file.
1 //********************************************************************************************************
2 // code: ### ### ##### #### ## ##
3 // ## ## ######## ## ## ## ## ##
4 // ## ## ## ## ## ### ## ######
5 // ## ## ## ## ## ## ## ## ##
6 // ##### ## ## ##### #### ## ##
7 // ##
8 //
9 // name: eshelbySoluEllipticIntegrals.h
10 // author(s): Jan Novak
11 // language: C, C++
12 // license: This program is free software; you can redistribute it and/or modify
13 // it under the terms of the GNU Lesser General Public License as published by
14 // the Free Software Foundation; either version 2 of the License, or
15 // (at your option) any later version.
16 //
17 // This program is distributed in the hope that it will be useful,
18 // but WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU Lesser General Public License for more details.
21 //
22 // You should have received a copy of the GNU Lesser General Public License
23 // along with this program; if not, write to the Free Software
24 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25 //********************************************************************************************************
31 #ifndef MUMECH_ESHELBY_SOLU_ELLIPTIC_INTEGRALS_H
32 #define MUMECH_ESHELBY_SOLU_ELLIPTIC_INTEGRALS_H
33 
34 #include "types.h"
35 #include "matrix.h"
36 
37 namespace mumech {
38 
39 class InclusionRecord3D;
40 
43 {
44  protected:
46 
47  public:
52 
58  virtual void giveEllipticIntegrals (double integrArray[13], double lambda, bool intpoint) = 0;
59 
64  virtual void giveDerivativesOfEllipticIntegrals (Point *point, bool intpoint) = 0;
65 
69  virtual double getLambda (const double a[3], double x1, double x2, double x3) = 0;
70 
72  void getPerturbatedLambdas (double *lambdas, const double loc_x[3]);
73 
74 
75 };
76 
77 } // end of namespace mumech
78 
79 #endif
80 
81 /*end of file*/
file of various types and symbolic constant definitions
virtual void giveDerivativesOfEllipticIntegrals(Point *point, bool intpoint)=0
Function gives the values of Ferers-Dyson's elliptic integral derivatives of the inclusion this->I...
virtual ~eshelbySoluEllipticIntegrals()
Destructor.
Definition: esei.h:51
const InclusionRecord3D * I
Definition: esei.h:45
3D inclusion record.
Definition: inclusion.h:278
void getPerturbatedLambdas(double *lambdas, const double loc_x[3])
Helper function.
Definition: esei.cpp:51
Single Point data structure - contribution from Single inclusion.
Definition: matrix.h:133
eshelbySoluEllipticIntegrals(const InclusionRecord3D *i)
Constructor.
Definition: esei.h:49
Class MatrixRecord.
virtual double getLambda(const double a[3], double x1, double x2, double x3)=0
Returns lambda for a given point (x1, x2, x3)
Class of the functions calculating the values of elliptic integrals and its derivatives.
Definition: esei.h:42
virtual void giveEllipticIntegrals(double integrArray[13], double lambda, bool intpoint)=0
Function gives the values of Ferers-Dyson's elliptic integrals of the inclusion this->I.