muMECH  1.0
types.h
Go to the documentation of this file.
1 //********************************************************************************************************
2 // code: ### ### ##### #### ## ##
3 // ## ## ######## ## ## ## ## ##
4 // ## ## ## ## ## ### ## ######
5 // ## ## ## ## ## ## ## ## ##
6 // ##### ## ## ##### #### ## ##
7 // ##
8 //
9 // name: types.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 //********************************************************************************************************
32 #ifndef MUMECH_ESHELBY_SOLU_TYPES_H
33 #define MUMECH_ESHELBY_SOLU_TYPES_H
34 
35 // There is conflict name XMLDocument in msxml and tinyxml.
36 // Solution 1:
37 // This define have to be before first win32 include.
38 #define WIN32_LEAN_AND_MEAN
39 
40 //included libraries
41 #include <complex>
42 
43 #include "gelib.h"
44 
45 
46 #define VERSION 1.34
47 
48 //#define TOM_DEBUG
49 
50 #define _4PI_ 12.56637061435917295384
51 
52 
53 //local constant and macros definitions
54 #define _SELF_BALANCE_NORM_LIMIT_ 1e-6
55 
56 using namespace gelibspace;
57 
58 namespace mumech {
59 
60 
62 enum classID {
64 
67 };
68 
70 
71 
73 
74 //********************************************************************************************************
77 
78 //********************************************************************************************************
80 //enum AngleType { AT_Void, AT_DEG, AT_RAD };
81 
82 //********************************************************************************************************
85 
86 //********************************************************************************************************
88 enum SBAtype {
89  SBAT_VOID = 0,
93 };
94 
95 //********************************************************************************************************
97 enum PFCmode { PFCM_VOID = 0, PFCM_FULL = 1, PFCM_OPTIMIZED = 2 };
98 
99 //********************************************************************************************************
102 
103 //********************************************************************************************************
104 // termitovo: 2d oproti 3d ma jine napeti ve smyku, udelej priklad z zkontroluj to, jestli tam nefaliruje dvojka
105 // termitovo: strain a stress a tim padem matice tuhosti se ukladaji v STRN_THEORETICAL_FEEP notaci
106 // matice tuhosti se uklada v 36to12 redukovane forme, ale to je mozne jen za predpokladu, ze matice asi isotropni, tj. cleny C_14 atd. jsou nulove
107 // ovsem je otazka, jak je to napr. s matici D, nevim v jake je notaci a jestli se da taky takto redukovat, ale snad ano, kdyz to chodi
108 //
122 enum STRNotation { // Symetric Tensor Reduction Notation
125 
133 
141 
148 
155 
156 };
157 
158 
159 //********************************************************************************************************
162  IS_VOID = 0,
165 
166  //IS_FLAT_ELLIPSOID = 7, IS_PENNY = 5,
167  //IS_ELLIPTIC_CYLINDER = 3, IS_CYLINDER = 4,
168 
170  //IS_STRIP = 33, IS_CRACK = 34
171 };
172 
174 inline const char* IST_e2s (InclusionGeometry ig)
175 {
176  switch (ig) {
177  case IS_ELLIPSOID: return "ellipsoid"; break;
178  case IS_SPHERE: return "sphere"; break;
179  case IS_OBLATE_SPHEROID: return "oblate spheroid"; break;
180  case IS_PROLATE_SPHEROID: return "prolate spheroid"; break;
181  //case IS_ELLIPTIC_CYLINDER: return "elliptic cylinder"; break;
182  //case IS_CYLINDER: return "cylinder"; break;
183  //case IS_PENNY: return "penny"; break;
184  //case IS_FLAT_ELLIPSOID: return "flat ellipsoid"; break;
185  case IS_ELLIPSE: return "ellipse"; break;
186  case IS_CIRCLE: return "circle"; break;
187  //case IS_STRIP: return "strip"; break;
188  //case IS_CRACK: return "crack"; break;
189  default: _errorr ("Unknown inclusion shape");
190  }
191  return NULL;
192 }
193 
194 
195 
196 //Elliptic integrals (potentials) components
197 //********************************************************************************************************
198 typedef enum{ //do not change, the complex derivatives depend directly on individual integer values
199  _I1_ = 1, _I2_ = 2, _I3_ = 3,
200  _I11_ = 11, _I12_ = 12, _I13_ = 13,
201  _I21_ = 21, _I22_ = 22, _I23_ = 23,
202  _I31_ = 31, _I32_ = 32, _I33_ = 33,
205 
206 //definition of derivative directions
207 //********************************************************************************************************
208 typedef enum{
209  //first derivatives
210  _x1_ = 1, _x2_ = 2, _x3_ = 3, _empty_,
211  //seccond derivatives
215  //mixed or homogeneous directions of 2nd derivative
218 
219 //Components of the Eshelby tensor
220 //********************************************************************************************************
221 typedef enum{
229 
230 //Components of the perturbation tensor
231 //********************************************************************************************************
232 typedef enum{
233  //strain and stress tensor perturbation component s
234  _D1111_ = 1111, _D1122_ = 1122, _D1133_ = 1133, _D1123_ = 1123, _D1113_ = 1113, _D1112_ = 1112,
235  _D2211_ = 2211, _D2222_ = 2222, _D2233_ = 2233, _D2223_ = 2223, _D2213_ = 2213, _D2212_ = 2212,
236  _D3311_ = 3311, _D3322_ = 3322, _D3333_ = 3333, _D3323_ = 3323, _D3313_ = 3313, _D3312_ = 3312,
237  _D2311_ = 2311, _D2322_ = 2322, _D2333_ = 2333, _D2323_ = 2323, _D2313_ = 2313, _D2312_ = 2312,
238  _D1311_ = 1311, _D1322_ = 1322, _D1333_ = 1333, _D1323_ = 1323, _D1313_ = 1313, _D1312_ = 1312,
239  _D1211_ = 1211, _D1222_ = 1222, _D1233_ = 1233, _D1223_ = 1223, _D1213_ = 1213, _D1212_ = 1212,
240  //displacement field perturbation components
241  _L111_ = 111, _L122_ = 122, _L133_ = 133,
242  _L112_ = 112, _L121_ = 121, _L123_ = 123, _L132_ = 132, _L113_ = 113, _L131_ = 131,
243  _L211_ = 211, _L222_ = 222, _L233_ = 233,
244  _L212_ = 212, _L221_ = 221, _L223_ = 223, _L232_ = 232, _L213_ = 213, _L231_ = 231,
245  _L311_ = 311, _L322_ = 322, _L333_ = 333,
246  _L312_ = 312, _L321_ = 321, _L323_ = 323, _L332_ = 332, _L313_ = 313, _L331_ = 331,
248 
249 //macros for rotating the Eshelby tensor S_ijkl
250 //according the ellipsoidal semiaxes' dimensions (default:a1>a2>a3)
251 //********************************************************************************************************
252 /* 1st row */
253 #define _11_ 0
254 #define _12_ 1
255 #define _13_ 2
256 /* 2nd row */
257 #define _21_ 3
258 #define _22_ 4
259 #define _23_ 5
260 /* 3rd row */
261 #define _31_ 6
262 #define _32_ 7
263 #define _33_ 8
264 /* 4th row */
265 #define _44_ 9
266 /* 5th row */
267 #define _55_ 10
268 /* 6th row */
269 #define _66_ 11
270 
271 //the same principle as for the perturbation strain
272 /* 1st row */
273 #define _S1111swap_ 0
274 #define _S1122swap_ 1
275 #define _S1133swap_ 2
276 /* 2nd row */
277 #define _S2211swap_ 3
278 #define _S2222swap_ 4
279 #define _S2233swap_ 5
280 /* 3rd row */
281 #define _S3311swap_ 6
282 #define _S3322swap_ 7
283 #define _S3333swap_ 8
284 /* 4th row */
285 #define _S1212swap_ 9
286 /* 5th row */
287 #define _S2323swap_ 10
288 /* 6th row */
289 #define _S1313swap_ 11
290 
291 //the same as _S__swap_, i.e. components of isotropic tensors having 12 non-zero components
292 /* 1st row */
293 #define __1111_ 0
294 #define __1122_ 1
295 #define __1133_ 2
296 /* 2nd row */
297 #define __2211_ 3
298 #define __2222_ 4
299 #define __2233_ 5
300 /* 3rd row */
301 #define __3311_ 6
302 #define __3322_ 7
303 #define __3333_ 8
304 /* 4th row */
305 #define __1212_ 9
306 /* 5th row */
307 #define __2323_ 10
308 /* 6th row */
309 #define __1313_ 11
310 
311 //macros for rotating the strain perturbation tensor D_ijkl
312 //according the ellipsoidal semiaxes' dimensions (default:a1>a2>a3)
313 //*************************************************************************************************************
314 /* 1st row */
315 #define _1111_ 0
316 #define _1122_ 1
317 #define _1133_ 2
318 #define _1112_ 3
319 #define _1123_ 4
320 #define _1113_ 5
321 /* 2nd row */
322 #define _2211_ 6
323 #define _2222_ 7
324 #define _2233_ 8
325 #define _2212_ 9
326 #define _2223_ 10
327 #define _2213_ 11
328 /* 3rd row */
329 #define _3311_ 12
330 #define _3322_ 13
331 #define _3333_ 14
332 #define _3312_ 15
333 #define _3323_ 16
334 #define _3313_ 17
335 /* 4th row */
336 #define _1211_ 18
337 #define _1222_ 19
338 #define _1233_ 20
339 #define _1212_ 21
340 #define _1223_ 22
341 #define _1213_ 23
342 /* 5th row */
343 #define _2311_ 24
344 #define _2322_ 25
345 #define _2333_ 26
346 #define _2312_ 27
347 #define _2323_ 28
348 #define _2313_ 29
349 /* 6th row */
350 #define _1311_ 30
351 #define _1322_ 31
352 #define _1333_ 32
353 #define _1312_ 33
354 #define _1323_ 34
355 #define _1313_ 35
356 
357 //macros for rotating the displacement perturbation tensor L_ijk
358 //according the ellipsoidal semiaxes' dimensions (default:a1>a2>a3)
359 //*************************************************************************************************************
360 /* 1st row */
361 #define _111_ 0
362 #define _122_ 1
363 #define _133_ 2
364 #define _112_ 3
365 #define _123_ 4
366 #define _113_ 5
367 /* 2nd row */
368 #define _211_ 6
369 #define _222_ 7
370 #define _233_ 8
371 #define _212_ 9
372 #define _223_ 10
373 #define _213_ 11
374 /* 3rd row */
375 #define _311_ 12
376 #define _322_ 13
377 #define _333_ 14
378 #define _312_ 15
379 #define _323_ 16
380 #define _313_ 17
381 
382 
383 
384 
385 // toto se pouzivalo pro closed penny, ted uz je to asi nepotrebne
386 // //small numbers and multipliers
387 // #ifndef _MUCH_BIGGER_SCALE_
388 // #define _MUCH_BIGGER_SCALE_ 0.001
389 // #endif
390 
391 #define _MIN_AXES_DIFF 1e-7
392 #define _MAX_AXES_DIFF 1e-6
393 
394 
395 
396 
397 
398 //components' positions in Point.eInt[13] array
399 //********************************************************************************************************
400 #define _Int_ 0
401 //--------------------
402 #define _Int1_ 1
403 #define _Int2_ 2
404 #define _Int3_ 3
405 //--------------------
406 #define _Int11_ 4
407 #define _Int12_ 5
408 #define _Int13_ 6
409 //--------------------
410 #define _Int21_ 7
411 #define _Int22_ 8
412 #define _Int23_ 9
413 //--------------------
414 #define _Int31_ 10
415 #define _Int32_ 11
416 #define _Int33_ 12
417 //--------------------
418 
419 
420 
421 //various useful constants for manipulating InclusionRecord objects
422 //********************************************************************************************************
423 //macros vrom readVTK2.h
424 
425 
426 //Ferers-Dysons integrals' macros
427 //*******************************
428 #define _J J[0]
429 
430 #define J1 J[1]
431 #define J2 J[2]
432 #define J3 J[3]
433 
434 #define J11 J[4]
435 #define J12 J[5]
436 #define J13 J[6]
437 
438 #define J21 J[7]
439 #define J22 J[8]
440 #define J23 J[9]
441 
442 #define J31 J[10]
443 #define J32 J[11]
444 #define J33 J[12]
445 
446 //Derivatives of Ferers-Dysons' integrals
447 //***************************************
448 //first derivatives:
449 //------------------
450 //Ii_i:
451 #define J1_1 dJi[0]
452 #define J1_2 dJi[1]
453 #define J1_3 dJi[2]
454 
455 #define J2_1 dJi[3]
456 #define J2_2 dJi[4]
457 #define J2_3 dJi[5]
458 
459 #define J3_1 dJi[6]
460 #define J3_2 dJi[7]
461 #define J3_3 dJi[8]
462 
463 //Iij_1:
464 #define J11_1 dJij[0]
465 #define J12_1 dJij[1]
466 #define J13_1 dJij[2]
467 
468 #define J21_1 dJij[3]
469 #define J22_1 dJij[4]
470 #define J23_1 dJij[5]
471 
472 #define J31_1 dJij[6]
473 #define J32_1 dJij[7]
474 #define J33_1 dJij[8]
475 
476 //Iij_2:
477 #define J11_2 dJij[9]
478 #define J12_2 dJij[10]
479 #define J13_2 dJij[11]
480 
481 #define J21_2 dJij[12]
482 #define J22_2 dJij[13]
483 #define J23_2 dJij[14]
484 
485 #define J31_2 dJij[15]
486 #define J32_2 dJij[16]
487 #define J33_2 dJij[17]
488 
489 //Iij_3:
490 #define J11_3 dJij[18]
491 #define J12_3 dJij[19]
492 #define J13_3 dJij[20]
493 
494 #define J21_3 dJij[21]
495 #define J22_3 dJij[22]
496 #define J23_3 dJij[23]
497 
498 #define J31_3 dJij[24]
499 #define J32_3 dJij[25]
500 #define J33_3 dJij[26]
501 
502 //second derivatives:
503 //-------------------
504 //I1_ij:
505 #define J1_11 ddJi[0]
506 #define J1_12 ddJi[1]
507 #define J1_13 ddJi[2]
508 
509 #define J1_21 ddJi[3]
510 #define J1_22 ddJi[4]
511 #define J1_23 ddJi[5]
512 
513 #define J1_31 ddJi[6]
514 #define J1_32 ddJi[7]
515 #define J1_33 ddJi[8]
516 
517 //I2_ij:
518 #define J2_11 ddJi[9]
519 #define J2_12 ddJi[10]
520 #define J2_13 ddJi[11]
521 
522 #define J2_21 ddJi[12]
523 #define J2_22 ddJi[13]
524 #define J2_23 ddJi[14]
525 
526 #define J2_31 ddJi[15]
527 #define J2_32 ddJi[16]
528 #define J2_33 ddJi[17]
529 
530 //I3_ij:
531 #define J3_11 ddJi[18]
532 #define J3_12 ddJi[19]
533 #define J3_13 ddJi[20]
534 
535 #define J3_21 ddJi[21]
536 #define J3_22 ddJi[22]
537 #define J3_23 ddJi[23]
538 
539 #define J3_31 ddJi[24]
540 #define J3_32 ddJi[25]
541 #define J3_33 ddJi[26]
542 
543 //I11_ij:
544 #define J11_11 ddJij[0]
545 #define J11_12 ddJij[1]
546 #define J11_13 ddJij[2]
547 
548 #define J11_21 ddJij[3]
549 #define J11_22 ddJij[4]
550 #define J11_23 ddJij[5]
551 
552 #define J11_31 ddJij[6]
553 #define J11_32 ddJij[7]
554 #define J11_33 ddJij[8]
555 
556 //I12_ij:
557 #define J12_11 ddJij[9]
558 #define J12_12 ddJij[10]
559 #define J12_13 ddJij[11]
560 
561 #define J12_21 ddJij[12]
562 #define J12_22 ddJij[13]
563 #define J12_23 ddJij[14]
564 
565 #define J12_31 ddJij[15]
566 #define J12_32 ddJij[16]
567 #define J12_33 ddJij[17]
568 
569 //I13_ij:
570 #define J13_11 ddJij[18]
571 #define J13_12 ddJij[19]
572 #define J13_13 ddJij[20]
573 
574 #define J13_21 ddJij[21]
575 #define J13_22 ddJij[22]
576 #define J13_23 ddJij[23]
577 
578 #define J13_31 ddJij[24]
579 #define J13_32 ddJij[25]
580 #define J13_33 ddJij[26]
581 
582 //I21_ij:
583 #define J21_11 ddJij[27]
584 #define J21_12 ddJij[28]
585 #define J21_13 ddJij[29]
586 
587 #define J21_21 ddJij[30]
588 #define J21_22 ddJij[31]
589 #define J21_23 ddJij[32]
590 
591 #define J21_31 ddJij[33]
592 #define J21_32 ddJij[34]
593 #define J21_33 ddJij[35]
594 
595 //I22_ij:
596 #define J22_11 ddJij[36]
597 #define J22_12 ddJij[37]
598 #define J22_13 ddJij[38]
599 
600 #define J22_21 ddJij[39]
601 #define J22_22 ddJij[40]
602 #define J22_23 ddJij[41]
603 
604 #define J22_31 ddJij[42]
605 #define J22_32 ddJij[43]
606 #define J22_33 ddJij[44]
607 
608 //I23_ij:
609 #define J23_11 ddJij[45]
610 #define J23_12 ddJij[46]
611 #define J23_13 ddJij[47]
612 
613 #define J23_21 ddJij[48]
614 #define J23_22 ddJij[49]
615 #define J23_23 ddJij[50]
616 
617 #define J23_31 ddJij[51]
618 #define J23_32 ddJij[52]
619 #define J23_33 ddJij[53]
620 
621 //I31_ij:
622 #define J31_11 ddJij[54]
623 #define J31_12 ddJij[55]
624 #define J31_13 ddJij[56]
625 
626 #define J31_21 ddJij[57]
627 #define J31_22 ddJij[58]
628 #define J31_23 ddJij[59]
629 
630 #define J31_31 ddJij[60]
631 #define J31_32 ddJij[61]
632 #define J31_33 ddJij[62]
633 
634 //I32_ij:
635 #define J32_11 ddJij[63]
636 #define J32_12 ddJij[64]
637 #define J32_13 ddJij[65]
638 
639 #define J32_21 ddJij[66]
640 #define J32_22 ddJij[67]
641 #define J32_23 ddJij[68]
642 
643 #define J32_31 ddJij[69]
644 #define J32_32 ddJij[70]
645 #define J32_33 ddJij[71]
646 
647 //I31_ij:
648 #define J33_11 ddJij[72]
649 #define J33_12 ddJij[73]
650 #define J33_13 ddJij[74]
651 
652 #define J33_21 ddJij[75]
653 #define J33_22 ddJij[76]
654 #define J33_23 ddJij[77]
655 
656 #define J33_31 ddJij[78]
657 #define J33_32 ddJij[79]
658 #define J33_33 ddJij[80]
659 
660 //Transformation matrix flags according the order of Euller rotations
661 typedef enum{
664 
665 //h - equidistant for complex diferentiation of Ferers-Dyson's integrals
666 #define _DIFF_H_ 1.0e-7 // Used with complex differentiation
667 //
668 //#define _NDIFF_H _ 1.0e-4 // Used with real differentioation - toto je puvodni
669 //#define _NDIFF_H _MULTIPLIER_ 0.008 // Used with real differentioation - toto pridal standa
670 
671 // Types of derivatives of elliptical integrals
673 
674 
675 //structure of various lambda-related parameters for complex differentiation
676 typedef struct{
677  std::complex<double> cx1[3]; //Coordinates of a point in complex plane
678  std::complex<double> cx2[3]; //Coordinates of a point in complex plane
679  std::complex<double> cx3[3]; //Coordinates of a point in complex plane
680  std::complex<double> cla1; //lambda parameter of a point in complex plane (this is not the Lame lambda !!!)
681  std::complex<double> cla2; //lambda parameter of a point in complex plane (this is not the Lame lambda !!!)
682  std::complex<double> cla3; //lambda parameter of a point in complex plane (this is not the Lame lambda !!!)
683  std::complex<double> cDla1; //Delta lambda parameter in complex plane
684  std::complex<double> cDla2; //Delta lambda parameter in complex plane
685  std::complex<double> cDla3; //Delta lambda parameter in complex plane
686  std::complex<double> cdla_11; //complex derivatives of Lambda according _x1_ in projection to _x1_
687  std::complex<double> cdla_12; //complex derivatives of Lambda according _x1_ in projection to _x2_
688  std::complex<double> cdla_13; //complex derivatives of Lambda according _x1_ in projection to _x3_
689  std::complex<double> cdla_22; //complex derivatives of Lambda according _x2_ in projection to _x2_
690  std::complex<double> cdla_23; //complex derivatives of Lambda according _x2_ in projection to _x3_
691  std::complex<double> cdla_33; //complex derivatives of Lambda according _x3_ in projection to _x3_
692  double mult; //mult = -2. * PI * a[0] * a[1] * a[2]
693 }cLambda;
694 
695 //structure of various lambda-related parameters for analytic differentiation
696 typedef struct{
697  double la; //lambda parameter of a point (this is not the Lame lambda !!!)
698  double Dla; //Delta lambda parameter
699  double dla[4]; //first derivatives of Lambda according _x1_, _x2_, _x3_
700  double ddla[10]; //second derivatives of Lambda
701  double mult; //mult = -2. * PI * a[0] * a[1] * a[2]
702 }aLambda;
703 
704 //structure of various lambda-related parameters for numerical differentiation
705 typedef struct{
706  double la; //lambda parameter of the point [x1,x2,x3] (this is not the Lame lambda !!!)
707  double Dla; //Delta lambda parameter of the point [x1,x2,x3]
708  double dla;
709  double x1h[3]; //Coordinates of the point [x1+h,x2,x3]
710  double x2h[3]; //Coordinates of the point [x1,x2+h,x3]
711  double x3h[3]; //Coordinates of the point [x1,x2,x3+h]
712  double la1; //lambda parameter of the point [x1+h,x2,x3] (this is not the Lame lambda !!!)
713  double la2; //lambda parameter of the point [x1,x2+h,x3] (this is not the Lame lambda !!!)
714  double la3; //lambda parameter of the point [x1,x2,x3+h] (this is not the Lame lambda !!!)
715  double Dla1; //Delta lambda parameter of the point [x1+h,x2,x3]
716  double Dla2; //Delta lambda parameter of the point [x1,x2+h,x3]
717  double Dla3; //Delta lambda parameter of the point [x1,x2,x3+h]
718  double dla_11;
719  double dla_12;
720  double dla_13;
721  double dla_22;
722  double dla_23;
723  double dla_33;
724 /* double dla[4]; //first derivatives of Lambda according _x1_, _x2_, _x3_ */
725 /* double dla_1[4]; //first derivatives of Lambda in projection to _x1_ */
726 /* double dla_2[4]; //first derivatives of Lambda in projection to _x2_ */
727 /* double dla_3[4]; //first derivatives of Lambda in projection to _x3_ */
728  double mult; //mult = -2. * PI * a[0] * a[1] * a[2]
729 }nLambda;
730 
731 // Number of perturbated points used to differentiate the Eliptic integrals.
732 #define NUM_PERTURB 19 // Number of all points in 3x3x3 3D grid without the points in corners.
733 // Define all perturbations needed to compute numerical derivatives of 1st and 2nd order in xyz space.
734 typedef enum{
735  _CENTER_ = 0,
736  _Xp_ = 1,
737  _Xm_ = 2,
738  _Yp_ = 3,
739  _Ym_ = 4,
740  _Zp_ = 5,
741  _Zm_ = 6,
742  _XpYp_ = 7,
743  _XpYm_ = 8,
744  _XmYp_ = 9,
745  _XmYm_ = 10,
746  _XpZp_ = 11,
747  _XpZm_ = 12,
748  _XmZp_ = 13,
749  _XmZm_ = 14,
750  _YpZp_ = 15,
751  _YpZm_ = 16,
752  _YmZp_ = 17,
753  _YmZm_ = 18
754 }Perturb;
755 
756 
757 
758 } // end of namespace mumech
759 
760 #endif
761 
762 /*end of file*/
DiffTypes
Definition: types.h:672
perturbTensComponent
Definition: types.h:232
std::complex< double > cdla_13
Definition: types.h:688
EullerRotations
Definition: types.h:661
const char * IST_e2s(InclusionGeometry ig)
Inclusion shapes&#39; type - enum to string.
Definition: types.h:174
std::complex< double > cdla_22
Definition: types.h:689
double Dla
Definition: types.h:707
Galerkin...
Definition: types.h:92
std::complex< double > cDla2
Definition: types.h:684
double dla_13
Definition: types.h:720
General functions.
Original Honza Novak&#39;s balancing.
Definition: types.h:90
double dla_22
Definition: types.h:721
std::complex< double > cdla_12
Definition: types.h:687
SBM
Definition: types.h:76
std::complex< double > cDla3
Definition: types.h:685
double la
Definition: types.h:706
LCmode
Type introduced to distinguish between classes.
Definition: types.h:84
Perturb
Definition: types.h:734
double la
Definition: types.h:697
double dla_23
Definition: types.h:722
derivativeDirection
Definition: types.h:208
double dla_33
Definition: types.h:723
PFCmode
Algorithm type of a point fields calculation.
Definition: types.h:97
ellipticIntegralComponent
Definition: types.h:198
Notation used in the Brdecko&#39;s book or Jan Zeman&#39;s PhD thesis (generally used CTU&#39;s notation)...
Definition: types.h:140
SBAtype
Self-balance algorithm type.
Definition: types.h:88
STRNotation
This enum defines a notation how to represent a symmetric second/fourth-order tensor by reducing its ...
Definition: types.h:122
VOIGHT / engineering notation saved in FEEP order.
Definition: types.h:147
PointPositionFlag
Internal (inside the inclusion) / external (outside the inclusion) point position flag...
Definition: types.h:101
std::complex< double > cdla_33
Definition: types.h:691
double dla
Definition: types.h:708
double Dla1
Definition: types.h:715
HomogenizationType
Definition: types.h:69
EshelbyTensComponent
Definition: types.h:221
rotation
Definition: types.h:72
double Dla3
Definition: types.h:717
std::complex< double > cla2
Definition: types.h:681
#define _errorr(_1)
Definition: gelib.h:160
double la1
Definition: types.h:712
InclusionGeometry
Inclusion shapes&#39; type.
Definition: types.h:161
double Dla2
Definition: types.h:716
double dla_11
Definition: types.h:718
double mult
Definition: types.h:728
double la2
Definition: types.h:713
double Dla
Definition: types.h:698
double mult
Definition: types.h:701
double dla_12
Definition: types.h:719
DEFAULT / INTERNAL FOR muMECH Theoretical notation saved in row-by-row form 2d: {t_11, t_12, t_21, t_22} 2d: {s_11, s_12, s_21, s_22} 3d: {t_11, t_12, t_13, t_21, t_22, t_23, t_31, t_32, t_33} 3d: {s_11, s_12, s_13, s_21, s_22, s_23, s_31, s_32, s_33}.
Definition: types.h:132
New Standa&#39;s b.
Definition: types.h:91
std::complex< double > cdla_23
Definition: types.h:690
double la3
Definition: types.h:714
std::complex< double > cla1
Definition: types.h:680
std::complex< double > cla3
Definition: types.h:682
No balancing.
Definition: types.h:89
MANDEL notation saved in FEEP order.
Definition: types.h:154
std::complex< double > cdla_11
Definition: types.h:686
Empty.
Definition: types.h:124
std::complex< double > cDla1
Definition: types.h:683
double mult
Definition: types.h:692