muMECH  1.0
Namespaces | Classes | Enumerations | Functions
mumech Namespace Reference

Namespaces

 MatrixOperations
 Namespace of the functions of various matrices/tensor/vector operations.
 
 Stiffness
 Namespace of functions returning the stiffness and complience objects.
 
 TransformTensors
 Namespace of the functions transforming vectors and strain/stress tensors saved in vectors with TNTV_THEORETICAL_FEEP notation, see types.h.
 

Classes

struct  _COMPLEX
 
struct  aLambda
 
class  bod_pomocny
 
struct  cLambda
 
class  Comparison
 Class of the functions comparing results. More...
 
class  DifferentialScheme
 Class of function for Mori-Tanaka homogenization. More...
 
class  Dilute
 Class of function for Mori-Tanaka homogenization. More...
 
class  eshelbySoluEllipticIntegrals
 Class of the functions calculating the values of elliptic integrals and its derivatives. More...
 
class  eshelbySoluEllipticIntegralsCylinder
 Class of the functions calculating the values of elliptic integrals and its derivatives of circular cylinder (a1 -> infinity, a2 = a3) More...
 
class  eshelbySoluEllipticIntegralsEllipsoid
 Class of the functions calculating the values of elliptic integrals and its derivatives of general ellipsoid. More...
 
class  eshelbySoluEllipticIntegralsEllipticCylinder
 Class of the functions calculating the values of elliptic integrals and its derivatives of elliptic cylinder (a1 -> infinity, a2 > a3) More...
 
class  eshelbySoluEllipticIntegralsFlatEllipsoid
 Class of the functions calculating the values of elliptic integrals and its derivatives of flat ellipsoid (a1 > a2 >> a3) More...
 
class  eshelbySoluEllipticIntegralsOblateSpheroid
 Class of the functions calculating the values of elliptic integrals and its derivatives of oblate spheroid (a1 = a2 > a3). More...
 
class  eshelbySoluEllipticIntegralsPenny
 Class of the functions calculating the values of elliptic integrals and its derivatives of penny shape (a1 = a2 >> a3). More...
 
class  eshelbySoluEllipticIntegralsProlateSpheroid
 Class of the functions calculating the values of elliptic integrals and its derivatives of prolate spheroid (a1 > a2 = a3). More...
 
class  eshelbySoluEllipticIntegralsSphere
 Class of the functions returning the Ferers-Dysons elliptic integral values as well as its derivatives. More...
 
class  eshelbySoluLambda
 Class of functions calculating the values of 'lambda' parameter and its derivatives. More...
 
class  eshelbySoluUniformField
 Class of the functions returning the Eshelby solution of an inclusion of an ellipsoidal shape loaded by the uniform strain/stress field. More...
 
class  eshelbySoluUniformFieldCylinder
 eshelbySoluUniformFieldCylinder class declaration More...
 
class  eshelbySoluUniformFieldEllipticCylinder
 eshelbySoluUniformFieldEllipticCylinder class declaration More...
 
class  eshelbySoluUniformFieldFlatEllipsoid
 eshelbySoluUniformFieldFlatEllipsoid class declaration More...
 
class  eshelbySoluUniformFieldOblateSpheroid
 eshelbySoluUniformFieldOblateSpheroid class declaration More...
 
class  eshelbySoluUniformFieldPenny
 eshelbySoluUniformFieldPenny class declaration More...
 
class  eshelbySoluUniformFieldProlateSpheroid
 eshelbySoluUniformFieldProlateSpheroid class declaration More...
 
class  eshelbySoluUniformFieldSphere
 Return the Eshelby solution of a spherical inclusion loaded by the uniform strain/stress field. More...
 
class  Homogenization
 Class of function for homogenization of stress fields. More...
 
class  Inclusion
 Class InclusionRecord contains and handles all inclusion data. More...
 
class  InclusionRecord2D
 
class  InclusionRecord3D
 3D inclusion record. More...
 
class  legendreIntegrals
 Class legendreIntegrals provides functions calculating values of elliptical integrals. More...
 
class  matice
 
class  MatrixRecord
 matrix data structure - matrix (infinite medium) record More...
 
class  mElement
 Class mElement contains and handles all mesh element data. More...
 
class  Mesh
 Class Mesh contains and handles all mesh data. More...
 
class  MesoFace
 Class of the interface functions for libraries meso2d and meso3d. More...
 
class  mNode
 Class mNode contains and handles all mesh node data. More...
 
class  MoriTanaka
 Class of function for Mori-Tanaka homogenization. More...
 
struct  nLambda
 
class  Point
 Single Point data structure - contribution from Single inclusion. More...
 
class  polynomialRootSolution
 Class polynomialRootSolution collects functions calculating the roots of polynomial functions. More...
 
class  Problem
 Problem description. More...
 
class  ProblemFEM
 Problem description for FEM problem with results. More...
 
class  Problems
 
class  RegGrid
 Class of function for ... homogenization. More...
 
class  ReussBound
 Class of function for Reuss bound. More...
 
class  selfBalanceAlgorithm
 
class  vektor
 
class  VoightBound
 Class of function for Voight bound. More...
 

Enumerations

enum  file_mode { _READ_, _WRITE_, _ADD_ }
 
enum  ProblemType { PT_Void, PT_1D, PT_2D, PT_3D }
 
enum  MeshTypeRead { MTR_VOID, MTR_geom, MTR_fem, MTR_femadd }
 Type of mesh. More...
 
enum  MeshType { MT_VOID, MT_REGULAR, MT_GENERAL }
 Type of mesh. More...
 
enum  classID { classVoid, classProblem, classProblemFEM }
 Type introduced to distinguish between classes. More...
 
enum  HomogenizationType {
  HT_Void, HT_RegGrid, HT_Dilute, HT_MoriTanaka,
  HT_SelfConsistent, HT_ReussBound, HT_VoightBound, HT_DifferentialScheme
}
 
enum  rotation { CLOCKWISE = 1, COUNTER_CLOCKWISE = 2 }
 
enum  SBM { SBM_VOID, SBM_SB, SBM_SB1, SBM_SB0 }
 
enum  LCmode { LCM_VOID, LCM_SINGLE, LCM_MULTIPLE }
 Type introduced to distinguish between classes. More...
 
enum  SBAtype { SBAT_VOID = 0, SBAT_ORIGINAL, SBAT_STANDA, SBAT_MESHLESS }
 Self-balance algorithm type. More...
 
enum  PFCmode { PFCM_VOID = 0, PFCM_FULL = 1, PFCM_OPTIMIZED = 2 }
 Algorithm type of a point fields calculation. More...
 
enum  PointPositionFlag { PPF_VOID = 0, PPF_INT_POINT = 1, PPF_EXT_POINT = 2 }
 Internal (inside the inclusion) / external (outside the inclusion) point position flag. More...
 
enum  STRNotation {
  STRN_VOID = 0, STRN_THEORETICAL_ROW, STRN_THEORETICAL_FEEP, STRN_VOIGT_FEEP,
  STRN_MANDEL_FEEP
}
 This enum defines a notation how to represent a symmetric second/fourth-order tensor by reducing its order. More...
 
enum  InclusionGeometry {
  IS_VOID = 0, IS_ELLIPSOID = 1, IS_SPHERE = 2, IS_OBLATE_SPHEROID = 8,
  IS_PROLATE_SPHEROID = 9, IS_ELLIPSE = 31, IS_CIRCLE = 32
}
 Inclusion shapes' type. More...
 
enum  ellipticIntegralComponent {
  _I1_ = 1, _I2_ = 2, _I3_ = 3, _I11_ = 11,
  _I12_ = 12, _I13_ = 13, _I21_ = 21, _I22_ = 22,
  _I23_ = 23, _I31_ = 31, _I32_ = 32, _I33_ = 33,
  _I_
}
 
enum  derivativeDirection {
  _x1_ = 1, _x2_ = 2, _x3_ = 3, _empty_,
  _x1x1_, _x1x2_, _x1x3_, _x2x1_,
  _x2x2_, _x2x3_, _x3x1_, _x3x2_,
  _x3x3_, _MIXED_, _HOMOGENEOUS_
}
 
enum  EshelbyTensComponent {
  _S1111_, _S1122_, _S1133_, _S1123_,
  _S1113_, _S1112_, _S2211_, _S2222_,
  _S2233_, _S2223_, _S2213_, _S2212_,
  _S3311_, _S3322_, _S3333_, _S3323_,
  _S3313_, _S3312_, _S2311_, _S2322_,
  _S2333_, _S2323_, _S2313_, _S2312_,
  _S1311_, _S1322_, _S1333_, _S1323_,
  _S1313_, _S1312_, _S1211_, _S1222_,
  _S1233_, _S1223_, _S1213_, _S1212_
}
 
enum  perturbTensComponent {
  _D1111_ = 1111, _D1122_ = 1122, _D1133_ = 1133, _D1123_ = 1123,
  _D1113_ = 1113, _D1112_ = 1112, _D2211_ = 2211, _D2222_ = 2222,
  _D2233_ = 2233, _D2223_ = 2223, _D2213_ = 2213, _D2212_ = 2212,
  _D3311_ = 3311, _D3322_ = 3322, _D3333_ = 3333, _D3323_ = 3323,
  _D3313_ = 3313, _D3312_ = 3312, _D2311_ = 2311, _D2322_ = 2322,
  _D2333_ = 2333, _D2323_ = 2323, _D2313_ = 2313, _D2312_ = 2312,
  _D1311_ = 1311, _D1322_ = 1322, _D1333_ = 1333, _D1323_ = 1323,
  _D1313_ = 1313, _D1312_ = 1312, _D1211_ = 1211, _D1222_ = 1222,
  _D1233_ = 1233, _D1223_ = 1223, _D1213_ = 1213, _D1212_ = 1212,
  _L111_ = 111, _L122_ = 122, _L133_ = 133, _L112_ = 112,
  _L121_ = 121, _L123_ = 123, _L132_ = 132, _L113_ = 113,
  _L131_ = 131, _L211_ = 211, _L222_ = 222, _L233_ = 233,
  _L212_ = 212, _L221_ = 221, _L223_ = 223, _L232_ = 232,
  _L213_ = 213, _L231_ = 231, _L311_ = 311, _L322_ = 322,
  _L333_ = 333, _L312_ = 312, _L321_ = 321, _L323_ = 323,
  _L332_ = 332, _L313_ = 313, _L331_ = 331
}
 
enum  EullerRotations {
  _NONE_, _XZX_, _XYX_, _YXY_,
  _YZY_, _ZYZ_, _ZXZ_, _XZY_,
  _XYZ_, _YXZ_, _YZX_, _ZYX_,
  _ZXY_
}
 
enum  DiffTypes { DT_Void, DT_ANALITICAL, DT_NUMERICAL, DT_COMPLEX }
 
enum  Perturb {
  _CENTER_ = 0, _Xp_ = 1, _Xm_ = 2, _Yp_ = 3,
  _Ym_ = 4, _Zp_ = 5, _Zm_ = 6, _XpYp_ = 7,
  _XpYm_ = 8, _XmYp_ = 9, _XmYm_ = 10, _XpZp_ = 11,
  _XpZm_ = 12, _XmZp_ = 13, _XmZm_ = 14, _YpZp_ = 15,
  _YpZm_ = 16, _YmZp_ = 17, _YmZm_ = 18
}
 

Functions

void enter ()
 
void e (int i)
 
int MaticexVektor (vektor &res, matice &mat, vektor &vek)
 
int RozdilVektoru (vektor &a, vektor &b, vektor &c)
 
void PrintVektor (vektor &vekt)
 
void PrintMatrix (matice &mat, FILE *&soubor)
 
void rotate_vector (vektor &V, double angle)
 
void change_radky (vektor &a, vektor &b)
 
void gaussovaEliminace (matice &m, vektor &right)
 
double giveVectorLength (const double *point_1, const double *point_2)
 
void ludcmp (double **a, int n, int *indx, double *d)
 
void lubksb (double **a, int n, int *indx, double b[])
 
void scan_FIELD_head (FILE *stream, long noincl, int nexc, char format, const char *name)
 scan_DATA_field_head More...
 
void print_VTK_elems_head (Stream *stream, long noIncl)
 
XMLElementprint_VTK_field_head (Stream *stream, const char *name, char format, int slen, int noincl)
 
void print_valuesi (char *auxs, int n, const int *values, int rv)
 
void convertTensorStrain (bool twodim, double *tens, STRNotation oldNot, STRNotation newNot)
 
void convertTensorStress (bool twodim, double *tens, STRNotation oldNot, STRNotation newNot)
 
const char * IST_e2s (InclusionGeometry ig)
 Inclusion shapes' type - enum to string. More...
 
void print_VTK_START (Stream *stream, const char *filename)
 Print head of vtk file. More...
 
void print_VTK_head (FILE *stream, const char *type)
 
XMLElementprint_VTK_nodes_head (Stream *stream, long n)
 
void print_VTK_init_point_data (Stream *stream, long n)
 
void print_VTK_init_cell_data (Stream *stream, long n)
 
XMLElementprint_VTK_data_head (Stream *stream, const char *name, char type, char format, int slen)
 
void print_values (char *auxs, int n, const double *values, int precision)
 
void print_values_Scalar (char *auxs, const double *values, long len, int precision)
 len = pocet scalar cisel More...
 
void print_values_Vector (char *auxs, const double *values, bool twodim, int precision)
 dim == dimenze vstupnich dat - 2d ano nebo ne More...
 
void print_values_Tensor (char *auxs, const double *values, bool twodim, int precision)
 dim == dimenze vstupnich dat - 2d ano nebo ne; values musi byt v notaci STRN_THEORETICAL_FEEP More...
 
void print_auxs (bool lgc, Stream *stream, XMLElement *da, const char *auxs)
 
void print_VTK_FINISH (Stream *stream)
 
void scan_DATA_field_head (Stream *stream, Stream *strm, const char *str, char type, int nexc, char format, const char *name)
 scan_DATA_field_head More...
 
bool cmp_vtk_file (const char *file1, const char *file2, int verbose)
 Compare two VTK files. Return false if same. [ return hodnota byly kdysi opacna ]. More...
 
*** VARIOUS FUNCTIONS ***

Operations with arrays of chars

void PrintProgress (double procento, int incr)
 Operations with arrays of chars. More...
 
void PrintProgress (clock_t *p_time)
 
double giveVolumeEllipsoid (double a, double b, double c)
 Function gives the volume of an allipsoid defined by its semiaxes a, b, c. More...
 
double give_curvature (double x, double a, double b)
 
double acosh (double x)
 Inverse hyperbolic cosine. More...
 
*** FILE PROCESSING ***

Operations with file descriptors

void OpenFile (FILE **file, char *name, const char mode[])
 Operations with file descriptors. More...
 
void OpenFile (FILE *&file, char name[], int mode)
 description: functions opens a file and tests the succes of the opening note: function requires the global (outer) definition of @*file More...
 
void CloseFile (FILE *file)
 description: function closes a previously opened file and tests the succes of the closing note: function requires the global (outer) definition of @*file More...
 
void GoToEndOfLine (FILE *fr)
 description: functions moves the cursor the the end of line (EOLN) in a text file last edit: 1.10.2006 More...
 
void LatexPreambule (FILE *fw)
 description: function prints a simple preamble of a LaTEX document last edit: 16.05.2007 More...
 
void LatexEnd (FILE *fw)
 description: function prints the end (closing part) of LaTEX document last edit: 16.05.2007 More...
 
*** STRING PROCESSING ***

Funkce zapise LENGTH bytu z BUFFER do docasneho souboru.

Pote je jmeno souboru zruseno v filesystemu(unlink). Vraci deskriptor souboru. Operations with arrays of chars

int GetRangeOfFileRows (char *p_name)
 Funkce zapise LENGTH bytu z BUFFER do docasneho souboru. More...
 
int GetRangeOfFileColumns (char *p_name)
 Function gives the number columns of the file such as is not necessarilly. More...
 
int GetRangeOfFileColumns_ii (char *p_name)
 Function gives the number columns of a file structured as a table. More...
 
*** GENERAL VECTOR OPERATIONS ***

Operations with 1d arrays of various length

double give_VectorVectorProduct (const double *v1, const double *v2, long n)
 Operations with 1d arrays of various length. More...
 
double give_quadNormTwoVectors (const double *v1, const double *v2, int n)
 Function returns the quadratic norm of two vectors of length 'n'. More...
 
void ReadDataToArray (double **p_array, char *p_file_name)
 description: function initializes a 2D 'double' array from a given file More...
 
void ReadDataTo3DArray (double ***p_array, char *p_file_name, int no_fields, int no_rows, int no_columns)
 description: function initializes a 3D 'double' array by values from a given file More...
 
void ReadDataToArray (int **p_array, char *p_file_name)
 description: function initializes a 3D 'int' array by values from a given file More...
 
void ReadDataToVector (int *p_array, char *p_file_name)
 description: function initializes an 'int' vector by values from a given file More...
 
double giveVectorLength (double rx, double ry, double rz)
 Function returns the length of a vector given by its components. More...
 
bool isNumberPresentInVector (int number, int *vect, int range)
 description: function returns TRUE/FALSE if a occurs/doesn't occurs in a , respectively More...
 
bool * Allocate1Dbz (long d1)
 Function allocates ('new' command) a 1d array of bool set to zero. More...
 
bool ** Allocate1Dbp (long d1)
 Function allocates ('new' command) a 1d array of bool* pointers set to NULL. More...
 
int * Allocate1Di (long d1)
 Function allocates ('new' command) a 1d array of int. More...
 
double * Allocate1Dd (long d1)
 Function allocates ('new' command) a 1d array of double. More...
 
double * Allocate1Ddz (long d1)
 Function allocates ('new' command) a 1d array of double set to zero. More...
 
double ** Allocate1Ddp (long d1)
 Function allocates ('new' command) a 1d array of double* pointers set to NULL. More...
 
double *** Allocate1Ddpp (long d1)
 Function allocates ('new' command) a 1d array of double** pointers set to NULL. More...
 
void CleanVector (double *a, long n)
 Functin cleans a 'double' vector, initialize each value being 0-zero. More...
 
void CleanVector (int *a, long n)
 Functin cleans a 'int' vector, initialize each value being 0-zero. More...
 
void CleanVector (long *a, long n)
 Functin cleans a 'long' vector, initialize each value being 0-zero. More...
 
double GiveSumMembersVector (const double *a, long n)
 Function returns sum of all member of 'array'. More...
 
void CopyVector (const double *src, double *dest, long n)
 Function copy given number of components from vector, 'a' to vector 'b'. More...
 
void CopyVector (const long *src, long *dest, long n)
 Function copy given number of components from vector, 'a' to vector 'b'. More...
 
void CopyVector (const int *src, int *dest, long n)
 Function copy given number of components from vector, 'a' to vector 'b'. More...
 
void AddVector (const double *a, double *b, long n)
 Function add given number of components from vector 'a' to vector 'b', b += a. More...
 
void AddVector (const int *a, int *b, long n)
 Function add given number of components from vector 'a' to vector 'b', b += a. More...
 
void SubtractVector (const double *a, double *b, long n)
 Function subtracts given number of components vector 'a' from vector 'b'; b -= a. More...
 
void SubtractTwoVectors (const double *v1, const double *v2, double *answer, long n)
 Function subtracts two vectors of
entries. answer = v1 - v2. More...
 
void AddScalarToVector (long s, long *v, long n)
 Function add given number of components from vector 'a' to vector 'b'. More...
 
void SumTwoVectors (const double *v1, const double *v2, double *answer, long n)
 Function sums two vectors of
entries. resVec = vec1 - vec2. More...
 
void AddVectorMultipledBy (double mlt, const double *a, double *b, long n)
 Function add given number of components multiplied by 'mlt' from vector 'a' to vector 'b'. More...
 
void DivideVector (double *a, long n, double val)
 Function divides 'n' components of field 'a' by value 'val'. More...
 
void MultiplyVector (double *a, long n, double val)
 Function multiplies 'n' components of field 'a' by value 'val'. More...
 
double giveVectorLength (double *point_1, double *point_2)
 Function returns the length of a vector given by 3D coordinates of two points. More...
 
*** GENERAL ARRAY OPERATIONS ***

Operations with 2d, 3d, 4d arrays of various sizes

double ** AllocateArray2D (long d1, long d2)
 Operations with 2d, 3d, 4d arrays of various sizes. More...
 
void AllocateArray2D (double **&array, long d1, long d2)
 Function allocates a 2D 'double' array by 'new' command. More...
 
void CopyArray2D (const double *const *src, double **dest, long d1, long d2)
 Function copy two 2D double arrays with dimensions d1xd2 from 'src' to 'dest'. More...
 
void CopyArray3D (const double ***src, double ***dest, long d1, long d2, long d3)
 Function copy two 3D double arrays with dimensions d1xd2xd3 from 'src' to 'dest'. More...
 
void AddArray2D (const double *const *src, double **dest, long d1, long d2)
 Function add 2D double array with dimensions d1xd2 from 'src' to 'dest'. More...
 
void AddArray3D (double ***src, double ***dest, long d1, long d2, long d3)
 Function add 3D double array with dimensions d1xd2xd3 from 'src' to 'dest'. More...
 
void DivideArray2D (double **a, double val, long d1, long d2)
 Function divides 2D double array 'a' with dimensions d1xd2 by value 'val'. More...
 
void SubtractTwoArrays2D (const double *const *a1, const double *const *a2, double **answer, long d1, long d2)
 Function subtracts two 2D double arrays with dimensions d1xd2. answer = v1 - v2. More...
 
void giveInverseMatrix2x2 (double *answer, const double *m)
 Function computes inverse of the row-wise saved 2x2 matrix 'm'. More...
 
void giveInverseMatrix3x3 (double *answer, const double *m)
 Function computes inverse of the row-wise saved 3x3 matrix 'm'. More...
 
void giveInverseMatrix3x3to5 (double *answer, const double *m)
 Function computes inverse of the eshelby-like 3x3 matrix 'm' saved in reduced 3x3to5 form. More...
 
void giveInverseMatrix6x6to12 (double *answer, const double *m)
 Function computes inverse of the eshelby-like 3x3 matrix 'm' saved in reduced 6x6to12 form. More...
 
void giveMatrixVectorProduct (const double *mtrx, const double *vect, double *resVect, long n)
 Function gives the product of a regular matrix with a vector. More...
 
void giveMatrixMatrixProduct (const double *mtrx1, const double *mtrx2, double *resMtrx, long n)
 Function gives the product of two regular matrices. More...
 
void giveTransposedMatrix (const double *mtrx, double *T_mtrx, int n)
 Function gives the trasposition of a matrix saved in row-by-row C arrangement. More...
 
void printMatrix (double *mtrx, int n, const char *notice)
 Function prints a matrix which are saved in 'row-by-row' C arrangement as 1D arrays. More...
 
void printMatrix (double **mtrx, int n, const char *notice)
 Function prints a matrix which is saved as 2D array. More...
 
void printVector (double *vect, int n, const char *notice)
 Function prints the vector of double values as column. More...
 
void printVector (int *vect, int n, const char *notice)
 Function prints the vector of integers as column. More...
 
void printVectorRowForm (double *vect, int n, const char *notice)
 Function prints the vector of double values as row. More...
 
void printVectorRowForm (int *vect, int n, const char *notice)
 Function prints the vector of integers as row. More...
 
void DeleteArray2D (bool **array, long d1)
 Function deletes a 2D 'bool' array of dimension d1 x ??, allocated by new. More...
 
void DeleteArray2D (double **array, long d1)
 Function deletes a 2D 'double' array of dimension d1 x ??, allocated by new. More...
 
void DeleteArray3D (double ***array, long d1, long d2)
 Function deletes a 3D 'double' array of dimension d1 x d2 x ??, allocated by new. More...
 
void CleanArray2D (int **a, long rows, long columns)
 Function cleans an 2d 'int' array, initialize each value being 0-zero. More...
 
void CleanArray2d (double **a, long rows, long columns)
 Function cleans an 2d 'double' array, initialize each value being 0-zero. More...
 
double GiveSumMembersArray2D (const double **a, long d1, long d2)
 Function returns sum of all member of array 'a'. More...
 
void copyMatrix_1Dto2D (const double *v, double **m, long n)
 Function copies 2D matrix saved in row-wise vector v[n * n] to 2d array m[n][n]. More...
 
void copyMatrix_2Dto1D (const double *const *m, double *v, long n)
 Function copies 2D matrix saved in 2d array m[n][n] to row-wise vector v[n * n]. More...
 
void giveUnitMatrix2x2 (double *m)
 Function sets 3x3 matrix to unit matrix. More...
 
void giveUnitMatrix3x3 (double *m)
 Function sets 3X3 matrix to unit matrix. More...
 

Enumeration Type Documentation

Type introduced to distinguish between classes.

Enumerator
classVoid 
classProblem 
classProblemFEM 

Definition at line 62 of file types.h.

Enumerator
_x1_ 
_x2_ 
_x3_ 
_empty_ 
_x1x1_ 
_x1x2_ 
_x1x3_ 
_x2x1_ 
_x2x2_ 
_x2x3_ 
_x3x1_ 
_x3x2_ 
_x3x3_ 
_MIXED_ 
_HOMOGENEOUS_ 

Definition at line 208 of file types.h.

Enumerator
DT_Void 
DT_ANALITICAL 
DT_NUMERICAL 
DT_COMPLEX 

Definition at line 672 of file types.h.

Enumerator
_I1_ 
_I2_ 
_I3_ 
_I11_ 
_I12_ 
_I13_ 
_I21_ 
_I22_ 
_I23_ 
_I31_ 
_I32_ 
_I33_ 
_I_ 

Definition at line 198 of file types.h.

Enumerator
_S1111_ 
_S1122_ 
_S1133_ 
_S1123_ 
_S1113_ 
_S1112_ 
_S2211_ 
_S2222_ 
_S2233_ 
_S2223_ 
_S2213_ 
_S2212_ 
_S3311_ 
_S3322_ 
_S3333_ 
_S3323_ 
_S3313_ 
_S3312_ 
_S2311_ 
_S2322_ 
_S2333_ 
_S2323_ 
_S2313_ 
_S2312_ 
_S1311_ 
_S1322_ 
_S1333_ 
_S1323_ 
_S1313_ 
_S1312_ 
_S1211_ 
_S1222_ 
_S1233_ 
_S1223_ 
_S1213_ 
_S1212_ 

Definition at line 221 of file types.h.

Enumerator
_NONE_ 
_XZX_ 
_XYX_ 
_YXY_ 
_YZY_ 
_ZYZ_ 
_ZXZ_ 
_XZY_ 
_XYZ_ 
_YXZ_ 
_YZX_ 
_ZYX_ 
_ZXY_ 

Definition at line 661 of file types.h.

Enumerator
_READ_ 
_WRITE_ 
_ADD_ 

Definition at line 52 of file elementaryFunctions.h.

Enumerator
HT_Void 
HT_RegGrid 
HT_Dilute 
HT_MoriTanaka 
HT_SelfConsistent 
HT_ReussBound 
HT_VoightBound 
HT_DifferentialScheme 

Definition at line 69 of file types.h.

Inclusion shapes' type.

Enumerator
IS_VOID 
IS_ELLIPSOID 
IS_SPHERE 
IS_OBLATE_SPHEROID 
IS_PROLATE_SPHEROID 
IS_ELLIPSE 
IS_CIRCLE 

Definition at line 161 of file types.h.

Type introduced to distinguish between classes.

Load case mode, i.e. how many loading cases will be evaluated 1 - single, 6 - multiple

Enumerator
LCM_VOID 
LCM_SINGLE 
LCM_MULTIPLE 

Definition at line 84 of file types.h.

Type of mesh.

Enumerator
MT_VOID 
MT_REGULAR 
MT_GENERAL 

Definition at line 48 of file mesh.h.

Type of mesh.

Enumerator
MTR_VOID 
MTR_geom 
MTR_fem 
MTR_femadd 

Definition at line 352 of file mesh.cpp.

Enumerator
_CENTER_ 
_Xp_ 
_Xm_ 
_Yp_ 
_Ym_ 
_Zp_ 
_Zm_ 
_XpYp_ 
_XpYm_ 
_XmYp_ 
_XmYm_ 
_XpZp_ 
_XpZm_ 
_XmZp_ 
_XmZm_ 
_YpZp_ 
_YpZm_ 
_YmZp_ 
_YmZm_ 

Definition at line 734 of file types.h.

Enumerator
_D1111_ 
_D1122_ 
_D1133_ 
_D1123_ 
_D1113_ 
_D1112_ 
_D2211_ 
_D2222_ 
_D2233_ 
_D2223_ 
_D2213_ 
_D2212_ 
_D3311_ 
_D3322_ 
_D3333_ 
_D3323_ 
_D3313_ 
_D3312_ 
_D2311_ 
_D2322_ 
_D2333_ 
_D2323_ 
_D2313_ 
_D2312_ 
_D1311_ 
_D1322_ 
_D1333_ 
_D1323_ 
_D1313_ 
_D1312_ 
_D1211_ 
_D1222_ 
_D1233_ 
_D1223_ 
_D1213_ 
_D1212_ 
_L111_ 
_L122_ 
_L133_ 
_L112_ 
_L121_ 
_L123_ 
_L132_ 
_L113_ 
_L131_ 
_L211_ 
_L222_ 
_L233_ 
_L212_ 
_L221_ 
_L223_ 
_L232_ 
_L213_ 
_L231_ 
_L311_ 
_L322_ 
_L333_ 
_L312_ 
_L321_ 
_L323_ 
_L332_ 
_L313_ 
_L331_ 

Definition at line 232 of file types.h.

Algorithm type of a point fields calculation.

Enumerator
PFCM_VOID 
PFCM_FULL 
PFCM_OPTIMIZED 

Definition at line 97 of file types.h.

Internal (inside the inclusion) / external (outside the inclusion) point position flag.

Enumerator
PPF_VOID 
PPF_INT_POINT 
PPF_EXT_POINT 

Definition at line 101 of file types.h.

Enumerator
PT_Void 
PT_1D 
PT_2D 
PT_3D 

Definition at line 40 of file homogenization.h.

Enumerator
CLOCKWISE 
COUNTER_CLOCKWISE 

Definition at line 72 of file types.h.

Self-balance algorithm type.

Enumerator
SBAT_VOID 

No balancing.

SBAT_ORIGINAL 

Original Honza Novak's balancing.

SBAT_STANDA 

New Standa's b.

SBAT_MESHLESS 

Galerkin...

Definition at line 88 of file types.h.

Enumerator
SBM_VOID 
SBM_SB 
SBM_SB1 
SBM_SB0 

Definition at line 76 of file types.h.

This enum defines a notation how to represent a symmetric second/fourth-order tensor by reducing its order.

The keywords THEORETICAL / VOIGT / MANDEL defines coefficients of particular components. The keywords FEEP / ROW defines order of components. FEEP - order taken over the program FEEP.

The symmetric SECOND-ORDER tensor (strains and stresses) (2x2 in 2d, 3x3 in 3d) can be stored in a vector (1d array) in following notations. Note that t_ij is tensor component at i-th row and j-th column. Same for strain and stress. Note that e_ij is strain tensor component at i-th row and j-th column. Note that s_ij is stress tensor component at i-th row and j-th column.

The symmetric FOURTH-ORDER tensor (stiffness matrix) (2x2x2x2 in 2d, 3x3x3x3 in 3d) can be stored in a matrix (2d array). Then all components of this equation have to be in same notation "s = C * e" (stress = stiffness matrix * strain).

Enumerator
STRN_VOID 

Empty.

STRN_THEORETICAL_ROW 

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}.

STRN_THEORETICAL_FEEP 

Notation used in the Brdecko's book or Jan Zeman's PhD thesis (generally used CTU's notation).

Theoretical notation saved in FEEP order. 2d: {t_11, t_22, t_12} 2d: {s_11, s_22, s_12} 3d: {t_11, t_22, t_33, t_12, t_23, t_13} 3d: {s_11, s_22, s_33, s_12, s_23, s_13}

STRN_VOIGT_FEEP 

VOIGHT / engineering notation saved in FEEP order.

2d: {e_11, e_22, 2*e_12} 2d: {s_11, s_22, s_12} 3d: {e_11, e_22, e_33, 2*e_12, 2*e_23, 2*e_13} 3d: {s_11, s_22, s_33, s_12, s_23, s_13}

STRN_MANDEL_FEEP 

MANDEL notation saved in FEEP order.

2d: {e_11, e_22, sgrt(2)*e_12} 2d: {s_11, s_22, sgrt(2)*s_12} 3d: {e_11, e_22, e_33, sgrt(2)*e_12, sgrt(2)*e_23, sgrt(2)*e_13} 3d: {s_11, s_22, s_33, sgrt(2)*s_12, sgrt(2)*s_23, sgrt(2)*s_13}

Definition at line 122 of file types.h.

Function Documentation

double mumech::acosh ( double  x)
void mumech::AddArray2D ( const double *const *  src,
double **  dest,
long  d1,
long  d2 
)

Function add 2D double array with dimensions d1xd2 from 'src' to 'dest'.

Definition at line 599 of file elementaryFunctions.cpp.

Referenced by CleanArray2d(), mumech::Problem::give_EshelbyPertFieldsOnePoint(), and mumech::Problem::give_EshelbyPertFieldsOnePoint_external().

void mumech::AddArray3D ( double ***  src,
double ***  dest,
long  d1,
long  d2,
long  d3 
)

Function add 3D double array with dimensions d1xd2xd3 from 'src' to 'dest'.

Definition at line 609 of file elementaryFunctions.cpp.

Referenced by CleanArray2d().

void mumech::AddScalarToVector ( long  s,
long *  v,
long  n 
)
inline

Function add given number of components from vector 'a' to vector 'b'.

Definition at line 189 of file elementaryFunctions.h.

Referenced by mumech::Mesh::shift_id().

void mumech::AddVector ( const double *  a,
double *  b,
long  n 
)
inline
void mumech::AddVector ( const int *  a,
int *  b,
long  n 
)
inline

Function add given number of components from vector 'a' to vector 'b', b += a.

Definition at line 180 of file elementaryFunctions.h.

void mumech::AddVectorMultipledBy ( double  mlt,
const double *  a,
double *  b,
long  n 
)
inline
bool** mumech::Allocate1Dbp ( long  d1)
inline

Function allocates ('new' command) a 1d array of bool* pointers set to NULL.

Definition at line 141 of file elementaryFunctions.h.

Referenced by mumech::Mesh::set_elem_rslt_flags(), and mumech::Mesh::set_node_rslt_flags().

bool* mumech::Allocate1Dbz ( long  d1)
inline

Function allocates ('new' command) a 1d array of bool set to zero.

Definition at line 139 of file elementaryFunctions.h.

Referenced by mumech::Mesh::set_elem_rslt_flags(), and mumech::Mesh::set_node_rslt_flags().

double* mumech::Allocate1Dd ( long  d1)
inline

Function allocates ('new' command) a 1d array of double.

Definition at line 148 of file elementaryFunctions.h.

double** mumech::Allocate1Ddp ( long  d1)
inline

Function allocates ('new' command) a 1d array of double* pointers set to NULL.

Definition at line 152 of file elementaryFunctions.h.

Referenced by mumech::mNode::allocate_fields(), mumech::mElement::allocate_fields(), mumech::mElement::give_energy(), and mumech::mElement::save_error().

double*** mumech::Allocate1Ddpp ( long  d1)
inline

Function allocates ('new' command) a 1d array of double** pointers set to NULL.

Definition at line 154 of file elementaryFunctions.h.

Referenced by mumech::mNode::allocate_fields(), and mumech::mElement::allocate_fields().

double* mumech::Allocate1Ddz ( long  d1)
inline

Function allocates ('new' command) a 1d array of double set to zero.

Definition at line 150 of file elementaryFunctions.h.

Referenced by mumech::mElement::give_energy(), mumech::RegGrid::giveHomogenizedStiffnessMatrix(), and mumech::mElement::save_error().

int* mumech::Allocate1Di ( long  d1)
inline

Function allocates ('new' command) a 1d array of int.

Definition at line 145 of file elementaryFunctions.h.

double ** mumech::AllocateArray2D ( long  d1,
long  d2 
)
void mumech::AllocateArray2D ( double **&  array,
long  d1,
long  d2 
)

Function allocates a 2D 'double' array by 'new' command.

Definition at line 549 of file elementaryFunctions.cpp.

References _errorr, and AllocateArray2D().

void mumech::change_radky ( vektor a,
vektor b 
)
void mumech::CleanArray2D ( int **  a,
long  rows,
long  columns 
)
inline

Function cleans an 2d 'int' array, initialize each value being 0-zero.

Definition at line 268 of file elementaryFunctions.h.

void mumech::CleanArray2d ( double **  a,
long  rows,
long  columns 
)
inline
void mumech::CleanVector ( double *  a,
long  n 
)
inline

Functin cleans a 'double' vector, initialize each value being 0-zero.

Definition at line 158 of file elementaryFunctions.h.

Referenced by mumech::MatrixOperations::copy2DeshelbyTensor_reduced2full(), mumech::MatrixOperations::copy3DeshelbyTensor_reduced2full(), mumech::polynomialRootSolution::GauLegF(), mumech::Problem::give_ovlivneni(), mumech::eshelbySoluEllipticIntegralsFlatEllipsoid::giveDerivativesOfEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsPenny::giveDerivativesOfEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsFlatEllipsoid::giveEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsCylinder::giveEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsEllipticCylinder::giveEllipticIntegrals(), mumech::eshelbySoluEllipticIntegralsPenny::giveEllipticIntegrals(), mumech::Homogenization::giveFullMatrixFromReducedMatrix(), mumech::MoriTanaka::giveHomogenizedStiffnessMatrix(), mumech::ReussBound::giveHomogenizedStiffnessMatrix(), mumech::VoightBound::giveHomogenizedStiffnessMatrix(), mumech::eshelbySoluUniformFieldPenny::giveLijkEXT(), mumech::eshelbySoluUniformFieldFlatEllipsoid::giveLijkEXT(), mumech::eshelbySoluUniformFieldCylinder::giveLijkEXT(), mumech::eshelbySoluUniformFieldEllipticCylinder::giveLijkEXT(), mumech::eshelbySoluUniformFieldPenny::giveLijkINT(), mumech::eshelbySoluUniformFieldFlatEllipsoid::giveLijkINT(), mumech::eshelbySoluUniformFieldCylinder::giveLijkINT(), mumech::eshelbySoluUniformFieldEllipticCylinder::giveLijkINT(), giveMatrixMatrixProduct(), giveMatrixVectorProduct(), mumech::Homogenization::giveProductOfReducedMatrices(), mumech::MatrixOperations::giveUnitSMatrixFull_2d(), mumech::MatrixOperations::giveUnitSMatrixFull_3d(), mumech::MatrixOperations::giveUnitSMatrixReduced_2d(), mumech::MatrixOperations::giveUnitSMatrixReduced_3d(), print_graf(), and mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().

void mumech::CleanVector ( int *  a,
long  n 
)
inline

Functin cleans a 'int' vector, initialize each value being 0-zero.

Definition at line 160 of file elementaryFunctions.h.

void mumech::CleanVector ( long *  a,
long  n 
)
inline

Functin cleans a 'long' vector, initialize each value being 0-zero.

Definition at line 162 of file elementaryFunctions.h.

void mumech::CloseFile ( FILE *  file)

description: function closes a previously opened file and tests the succes of the closing note: function requires the global (outer) definition of @*file

Function closes a previously opened file and tests the succes of the closing.

Definition at line 174 of file elementaryFunctions.cpp.

References FileError.

Referenced by GetRangeOfFileColumns(), GetRangeOfFileColumns_ii(), GetRangeOfFileRows(), ovlivneni(), print_graf(), ReadDataTo3DArray(), ReadDataToArray(), and ReadDataToVector().

bool mumech::cmp_vtk_file ( const char *  file1,
const char *  file2,
int  verbose 
)
void mumech::convertTensorStrain ( bool  twodim,
double *  tens,
STRNotation  oldNot,
STRNotation  newNot 
)
void mumech::convertTensorStress ( bool  twodim,
double *  tens,
STRNotation  oldNot,
STRNotation  newNot 
)
void mumech::CopyArray2D ( const double *const *  src,
double **  dest,
long  d1,
long  d2 
)

Function copy two 2D double arrays with dimensions d1xd2 from 'src' to 'dest'.

Function copy two 2D double arrays with dimensions d1xd2 from 'src' to 'dest'.

Definition at line 573 of file elementaryFunctions.cpp.

Referenced by CleanArray2d(), mumech::Problem::give_EshelbyPertFieldsOnePoint(), and mumech::MatrixOperations::giveInverseMatrix().

void mumech::CopyArray3D ( const double ***  src,
double ***  dest,
long  d1,
long  d2,
long  d3 
)

Function copy two 3D double arrays with dimensions d1xd2xd3 from 'src' to 'dest'.

Definition at line 585 of file elementaryFunctions.cpp.

Referenced by CleanArray2d().

void mumech::copyMatrix_1Dto2D ( const double *  v,
double **  m,
long  n 
)
inline

Function copies 2D matrix saved in row-wise vector v[n * n] to 2d array m[n][n].

Parameters
vSource vector.
mReturn matrix.
nSize of the matrix.

Definition at line 315 of file elementaryFunctions.h.

Referenced by mumech::MatrixOperations::giveInverseMatrix().

void mumech::copyMatrix_2Dto1D ( const double *const *  m,
double *  v,
long  n 
)
inline

Function copies 2D matrix saved in 2d array m[n][n] to row-wise vector v[n * n].

Parameters
mSource matrix.
vReturn vector.
nSize of the matrix.

Definition at line 323 of file elementaryFunctions.h.

void mumech::CopyVector ( const double *  src,
double *  dest,
long  n 
)
inline

Function copy given number of components from vector, 'a' to vector 'b'.

Definition at line 171 of file elementaryFunctions.h.

Referenced by mumech::InclusionRecord3D::addtot(), mumech::selfBalanceAlgorithm::copyGlobTotalEigStrainsToAuxVector(), mumech::Problem::findAffectedInclusions(), mumech::Mesh::generate_regular_mesh(), mumech::Inclusion::give_EshelbyMatrixReduced(), mumech::Problem::give_EshelbyPertFieldsOnePoint_external(), mumech::MatrixRecord::give_globHomog_Displc(), mumech::MatrixRecord::give_globHomog_Strain(), mumech::MatrixRecord::give_globHomog_Stress(), mumech::Problem::give_ovlivneni(), mumech::Inclusion::give_StiffnessMatrixReduced(), mumech::mElement::give_strain(), mumech::mElement::give_stress(), mumech::Inclusion::give_TeMatrix_G2L(), mumech::Inclusion::give_TeMatrix_L2G(), mumech::Dilute::giveDiluteReducedConcentrationFactorOfInclusionInLC(), mumech::Dilute::giveFullDiluteConcentrationFactorOfInclusionInLC(), mumech::RegGrid::giveHomogenizedStiffnessMatrix(), mumech::DifferentialScheme::giveHomogenizedStiffnessMatrix(), mumech::MatrixOperations::giveIsoTensAndVectorProduct(), mumech::eshelbySoluUniformField::giveLijkEXT(), giveMatrixVectorProduct(), mumech::MatrixRecord::giveReducedStiffMatrix(), mumech::MatrixOperations::giveTVproduct_3is3x3to5and3(), mumech::MatrixOperations::giveTVproduct_6is6x6to12and6(), mumech::InclusionRecord3D::init_EigStrain_LC(), mumech::InclusionRecord3D::initialize(), mumech::InclusionRecord2D::initialize(), mumech::mElement::mElement(), mumech::Problem::printVtkFileCompleteInclRec(), mumech::Inclusion::rotateDisplc_L2G(), mumech::Inclusion::rotateStrain_G2L(), mumech::Inclusion::rotateStrain_L2G(), mumech::InclusionRecord2D::SBA_computeInitialStrains(), mumech::MatrixRecord::set_Remote_strain_for_lc(), and mumech::selfBalanceAlgorithm::totalEigStrainInInclCentroidsUpdate().

void mumech::CopyVector ( const long *  src,
long *  dest,
long  n 
)
inline

Function copy given number of components from vector, 'a' to vector 'b'.

Definition at line 173 of file elementaryFunctions.h.

void mumech::CopyVector ( const int *  src,
int *  dest,
long  n 
)
inline

Function copy given number of components from vector, 'a' to vector 'b'.

Definition at line 175 of file elementaryFunctions.h.

void mumech::DeleteArray2D ( bool **  array,
long  d1 
)
inline
void mumech::DeleteArray2D ( double **  array,
long  d1 
)
inline

Function deletes a 2D 'double' array of dimension d1 x ??, allocated by new.

Definition at line 262 of file elementaryFunctions.h.

References array.

void mumech::DeleteArray3D ( double ***  array,
long  d1,
long  d2 
)
inline

Function deletes a 3D 'double' array of dimension d1 x d2 x ??, allocated by new.

Definition at line 264 of file elementaryFunctions.h.

References array, and DeleteArray2D().

Referenced by mumech::mElement::~mElement(), and mumech::mNode::~mNode().

void mumech::DivideArray2D ( double **  a,
double  val,
long  d1,
long  d2 
)

Function divides 2D double array 'a' with dimensions d1xd2 by value 'val'.

Definition at line 621 of file elementaryFunctions.cpp.

Referenced by CleanArray2d().

void mumech::DivideVector ( double *  a,
long  n,
double  val 
)
inline

Function divides 'n' components of field 'a' by value 'val'.

Definition at line 199 of file elementaryFunctions.h.

Referenced by mumech::RegGrid::giveHomogenizedStiffnessMatrix().

void mumech::e ( int  i)
void mumech::enter ( )

Definition at line 39 of file matrix_vector.cpp.

Referenced by mumech::matice::Determinant_3x3_doplnek(), and gaussovaEliminace().

void mumech::gaussovaEliminace ( matice m,
vektor right 
)
int mumech::GetRangeOfFileColumns ( char *  p_name)

Function gives the number columns of the file such as is not necessarilly.

Definition at line 271 of file elementaryFunctions.cpp.

References _errorr, CloseFile(), GetRangeOfFileRows(), and OpenFile().

Referenced by ReadDataToArray().

int mumech::GetRangeOfFileColumns_ii ( char *  p_name)

Function gives the number columns of a file structured as a table.

Definition at line 300 of file elementaryFunctions.cpp.

References CloseFile(), and OpenFile().

Referenced by ReadDataToArray().

int mumech::GetRangeOfFileRows ( char *  p_name)

Funkce zapise LENGTH bytu z BUFFER do docasneho souboru.

Function gives the number of lins of a file.

Pote je jmeno souboru zruseno v filesystemu(unlink). Vraci deskriptor souboru. Operations with arrays of chars *** STRING PROCESSING ***

Definition at line 250 of file elementaryFunctions.cpp.

References CloseFile(), and OpenFile().

Referenced by GetRangeOfFileColumns(), ReadDataToArray(), and ReadDataToVector().

double mumech::give_curvature ( double  x,
double  a,
double  b 
)

return b * a / pow ( a*a + cos(x) * cos(x) * (b*b-a*a) , 1.5);

Definition at line 114 of file elementaryFunctions.cpp.

References PI.

Referenced by mumech::Mesh::generate_regularSphereMesh_3d().

double mumech::give_quadNormTwoVectors ( const double *  v1,
const double *  v2,
int  n 
)

Function returns the quadratic norm of two vectors of length 'n'.

Definition at line 354 of file elementaryFunctions.cpp.

References SQR.

Referenced by mumech::selfBalanceAlgorithm::giveQuadNormMultEigstrain(), and MultiplyVector().

double mumech::give_VectorVectorProduct ( const double *  v1,
const double *  v2,
long  n 
)

Operations with 1d arrays of various length.

Function returns dot product of two vectors of length n.

*** GENERAL VECTOR OPERATIONS ***

Definition at line 345 of file elementaryFunctions.cpp.

Referenced by mumech::Inclusion::compute_supplement_energy(), mumech::Mesh::give_error(), and MultiplyVector().

void mumech::giveInverseMatrix2x2 ( double *  answer,
const double *  m 
)

Function computes inverse of the row-wise saved 2x2 matrix 'm'.

Definition at line 645 of file elementaryFunctions.cpp.

Referenced by CleanArray2d(), and giveInverseMatrix3x3to5().

void mumech::giveInverseMatrix3x3 ( double *  answer,
const double *  m 
)

Function computes inverse of the row-wise saved 3x3 matrix 'm'.

Definition at line 656 of file elementaryFunctions.cpp.

Referenced by CleanArray2d(), and giveInverseMatrix6x6to12().

void mumech::giveInverseMatrix3x3to5 ( double *  answer,
const double *  m 
)
void mumech::giveInverseMatrix6x6to12 ( double *  answer,
const double *  m 
)

Function computes inverse of the eshelby-like 3x3 matrix 'm' saved in reduced 6x6to12 form.

Definition at line 682 of file elementaryFunctions.cpp.

References giveInverseMatrix3x3().

Referenced by CleanArray2d(), mumech::eshelbySoluUniformField::giveEshelbyTensorInverse(), and mumech::Homogenization::giveInverseOfReducedMatrix().

void mumech::giveMatrixMatrixProduct ( const double *  mtrx1,
const double *  mtrx2,
double *  resMtrx,
long  n 
)

Function gives the product of two regular matrices.

Both matrices are saved in 'row-by-row' C arrangement as 1D arrays.

Parameters
mtrx1Regular matrix of dimension n x n.
mtrx2Regular matrix of dimension n x n.
resMtrxResulting matrix of the product of mtrx1 and mtrx2.
nNumber of rows and columns of all three matrices.

Both matrices are saved in 'row-by-row' C arrangement as 1D arrays.

Definition at line 745 of file elementaryFunctions.cpp.

References _at, CleanVector(), and errol.

Referenced by mumech::Dilute::giveFullDiluteConcentrationFactorOfInclusionInLC(), mumech::Homogenization::giveFullMatrixInGCSFromFullMatrixInLCS(), mumech::Homogenization::giveFullMatrixInLCSFromFullMatrixInGCS(), mumech::MoriTanaka::giveHomogenizedStiffnessMatrix(), mumech::RegGrid::giveHomogenizedStiffnessMatrix(), mumech::DifferentialScheme::giveHomogenizedStiffnessMatrix(), mumech::Homogenization::giveProductOfReducedMatrixRegularMatrix(), mumech::Homogenization::giveProductOfRegularMatrixReducedMatrix(), and giveUnitMatrix3x3().

void mumech::giveMatrixVectorProduct ( const double *  mtrx,
const double *  vect,
double *  resVect,
long  n 
)

Function gives the product of a regular matrix with a vector.

Both matrix and vector are saved in 'row-by-row' C arrangement as 1D arrays.

Definition at line 708 of file elementaryFunctions.cpp.

References _at, CleanVector(), and CopyVector().

Referenced by giveUnitMatrix3x3(), mumech::Inclusion::rotateDisplc_L2G(), mumech::Inclusion::rotateStrain_G2L(), mumech::Inclusion::rotateStrain_L2G(), and mumech::Inclusion::transformCoords_G2L().

double mumech::GiveSumMembersArray2D ( const double **  a,
long  d1,
long  d2 
)
inline

Function returns sum of all member of array 'a'.

Definition at line 307 of file elementaryFunctions.h.

References GiveSumMembersVector().

Referenced by mumech::MatrixRecord::remote_strain_is_unit().

double mumech::GiveSumMembersVector ( const double *  a,
long  n 
)
inline

Function returns sum of all member of 'array'.

Definition at line 167 of file elementaryFunctions.h.

Referenced by GiveSumMembersArray2D().

void mumech::giveTransposedMatrix ( const double *  mtrx,
double *  T_mtrx,
int  n 
)

Function gives the trasposition of a matrix saved in row-by-row C arrangement.

Function gives the trasposition of a matrix.

Parameters
mtrx'
x
' matrix to be transposed
T_mtrx'
x
' resulting transposed matrix
nnumber of rows of both matrices

Definition at line 766 of file elementaryFunctions.cpp.

References _at.

Referenced by mumech::TransformTensors::give_TeInv(), mumech::TransformTensors::give_TInv(), and giveUnitMatrix3x3().

void mumech::giveUnitMatrix2x2 ( double *  m)
inline

Function sets 3x3 matrix to unit matrix.

Definition at line 326 of file elementaryFunctions.h.

Referenced by mumech::TransformTensors::give_T(), and mumech::TransformTensors::give_TInv().

void mumech::giveUnitMatrix3x3 ( double *  m)
inline
double mumech::giveVectorLength ( double *  point_1,
double *  point_2 
)

Function returns the length of a vector given by 3D coordinates of two points.

Parameters
point_1- pointer to coordinates of 1st point
point_2- pointer to coordinates of 2nd point
double mumech::giveVectorLength ( const double *  point_1,
const double *  point_2 
)

Definition at line 437 of file elementaryFunctions.cpp.

References SQR.

Referenced by MultiplyVector().

double mumech::giveVectorLength ( double  rx,
double  ry,
double  rz 
)

Function returns the length of a vector given by its components.

Parameters
rxx component of the vector r
ryy component of the vector r
rzz component of the vector r

Definition at line 449 of file elementaryFunctions.cpp.

References SQR.

double mumech::giveVolumeEllipsoid ( double  a,
double  b,
double  c 
)

Function gives the volume of an allipsoid defined by its semiaxes a, b, c.

The order of semiaxes doesn't matter.

Definition at line 109 of file elementaryFunctions.cpp.

References PI.

void mumech::GoToEndOfLine ( FILE *  fr)

description: functions moves the cursor the the end of line (EOLN) in a text file last edit: 1.10.2006

Functions moves the cursor the the end of line (EOLN); in a text file.

Definition at line 185 of file elementaryFunctions.cpp.

bool mumech::isNumberPresentInVector ( int  number,
int *  vect,
int  range 
)

description: function returns TRUE/FALSE if a occurs/doesn't occurs in a , respectively

function returns TRUE/FALSE if a occurs/doesn't occurs in a , respectively

Definition at line 460 of file elementaryFunctions.cpp.

Referenced by MultiplyVector().

const char* mumech::IST_e2s ( InclusionGeometry  ig)
inline
void mumech::LatexEnd ( FILE *  fw)

description: function prints the end (closing part) of LaTEX document last edit: 16.05.2007

Function prints the end (closing part); of LaTEX document.

Definition at line 210 of file elementaryFunctions.cpp.

void mumech::LatexPreambule ( FILE *  fw)

description: function prints a simple preamble of a LaTEX document last edit: 16.05.2007

Function prints a simple preamble of a LaTEX document.

Definition at line 196 of file elementaryFunctions.cpp.

void mumech::lubksb ( double **  a,
int  n,
int *  indx,
double  b[] 
)
void mumech::ludcmp ( double **  a,
int  n,
int *  indx,
double *  d 
)

Definition at line 290 of file matrixOperations.cpp.

References _errorr1.

Referenced by mumech::MatrixOperations::giveInverseMatrix_core().

int mumech::MaticexVektor ( vektor res,
matice mat,
vektor vek 
)
void mumech::MultiplyVector ( double *  a,
long  n,
double  val 
)
inline
void mumech::OpenFile ( FILE **  file,
char *  name,
const char  mode[] 
)

Operations with file descriptors.

Functions opens a file and tests the succes of the opening.

*** FILE PROCESSING *** description: functions opens a file and tests the succes of the opening note: function requires the global (outer) definition of @*file

Definition at line 137 of file elementaryFunctions.cpp.

References FileError.

Referenced by GetRangeOfFileColumns(), GetRangeOfFileColumns_ii(), GetRangeOfFileRows(), ovlivneni(), print_graf(), ReadDataTo3DArray(), ReadDataToArray(), and ReadDataToVector().

void mumech::OpenFile ( FILE *&  file,
char  name[],
int  mode 
)

description: functions opens a file and tests the succes of the opening note: function requires the global (outer) definition of @*file

Functions opens a file and tests the succes of the opening.

Definition at line 148 of file elementaryFunctions.cpp.

References _ADD_, _errorr, _READ_, _WRITE_, and FileError.

void mumech::print_auxs ( bool  lgc,
Stream stream,
XMLElement da,
const char *  auxs 
)
void mumech::print_values ( char *  auxs,
int  n,
const double *  values,
int  precision 
)

Definition at line 155 of file vtk.cpp.

References _errorr, errol, and NUM_DIGITS_IN_PRINTED_EXPONENT.

Referenced by mumech::Problem::printVtkFileCompleteInclRec().

void mumech::print_values_Scalar ( char *  auxs,
const double *  values,
long  len,
int  precision 
)

len = pocet scalar cisel

Definition at line 175 of file vtk.cpp.

References NUM_DIGITS_IN_PRINTED_EXPONENT.

Referenced by mumech::Mesh::print_geometry_file_vtk().

void mumech::print_values_Tensor ( char *  auxs,
const double *  values,
bool  twodim,
int  precision 
)

dim == dimenze vstupnich dat - 2d ano nebo ne; values musi byt v notaci STRN_THEORETICAL_FEEP

dim == dimenze vstupnich dat - 2d ano nebo ne; values musi byt v notaci STRN_THEORETICAL_FEEP !!!

Definition at line 197 of file vtk.cpp.

References NUM_DIGITS_IN_PRINTED_EXPONENT.

Referenced by mumech::Mesh::print_geometry_file_vtk().

void mumech::print_values_Vector ( char *  auxs,
const double *  values,
bool  twodim,
int  precision 
)

dim == dimenze vstupnich dat - 2d ano nebo ne

Definition at line 185 of file vtk.cpp.

References NUM_DIGITS_IN_PRINTED_EXPONENT.

Referenced by mumech::Mesh::print_geometry_file_vtk().

void mumech::print_valuesi ( char *  auxs,
int  n,
const int *  values,
int  rv 
)

Definition at line 1497 of file problem.cpp.

References errol.

Referenced by mumech::Problem::printVtkFileCompleteInclRec().

XMLElement * mumech::print_VTK_data_head ( Stream stream,
const char *  name,
char  type,
char  format,
int  slen 
)
void mumech::print_VTK_elems_head ( Stream stream,
long  noIncl 
)
XMLElement* mumech::print_VTK_field_head ( Stream stream,
const char *  name,
char  format,
int  slen,
int  noincl 
)
void mumech::print_VTK_FINISH ( Stream stream)
void mumech::print_VTK_head ( FILE *  stream,
const char *  type 
)
void mumech::print_VTK_init_cell_data ( Stream stream,
long  n 
)
void mumech::print_VTK_init_point_data ( Stream stream,
long  n 
)
XMLElement * mumech::print_VTK_nodes_head ( Stream stream,
long  n 
)
void mumech::print_VTK_START ( Stream stream,
const char *  filename 
)
void mumech::PrintMatrix ( matice mat,
FILE *&  soubor 
)
void mumech::printMatrix ( double *  mtrx,
int  n,
const char *  notice 
)

Function prints a matrix which are saved in 'row-by-row' C arrangement as 1D arrays.

Definition at line 783 of file elementaryFunctions.cpp.

References _at, ABS, and MACHINE_EPS_PRN.

Referenced by giveUnitMatrix3x3().

void mumech::printMatrix ( double **  mtrx,
int  n,
const char *  notice 
)

Function prints a matrix which is saved as 2D array.

Definition at line 808 of file elementaryFunctions.cpp.

References ABS, and MACHINE_EPS_PRN.

void mumech::PrintProgress ( double  procento,
int  incr 
)

Operations with arrays of chars.

*** VARIOUS FUNCTIONS ***

Definition at line 75 of file elementaryFunctions.cpp.

void mumech::PrintProgress ( clock_t *  p_time)

Definition at line 92 of file elementaryFunctions.cpp.

void mumech::printVector ( double *  vect,
int  n,
const char *  notice 
)

Function prints the vector of double values as column.

Definition at line 833 of file elementaryFunctions.cpp.

References ABS, and MACHINE_EPS_PRN.

Referenced by giveUnitMatrix3x3().

void mumech::printVector ( int *  vect,
int  n,
const char *  notice 
)

Function prints the vector of integers as column.

Definition at line 855 of file elementaryFunctions.cpp.

void mumech::printVectorRowForm ( double *  vect,
int  n,
const char *  notice 
)

Function prints the vector of double values as row.

Definition at line 874 of file elementaryFunctions.cpp.

References ABS, and MACHINE_EPS_PRN.

Referenced by giveUnitMatrix3x3(), and mumech::selfBalanceAlgorithm::printTotEigenStrains().

void mumech::printVectorRowForm ( int *  vect,
int  n,
const char *  notice 
)

Function prints the vector of integers as row.

Definition at line 896 of file elementaryFunctions.cpp.

void mumech::PrintVektor ( vektor vekt)

Definition at line 73 of file matrix_vector.cpp.

References mumech::vektor::p, and mumech::vektor::v.

Referenced by mumech::matice::Determinant_3x3_doplnek().

void mumech::ReadDataTo3DArray ( double ***  p_array,
char *  p_file_name,
int  no_fields,
int  no_rows,
int  no_columns 
)

description: function initializes a 3D 'double' array by values from a given file

Definition at line 383 of file elementaryFunctions.cpp.

References CloseFile(), and OpenFile().

Referenced by MultiplyVector().

void mumech::ReadDataToArray ( double **  p_array,
char *  p_file_name 
)

description: function initializes a 2D 'double' array from a given file

Definition at line 364 of file elementaryFunctions.cpp.

References CloseFile(), GetRangeOfFileColumns_ii(), GetRangeOfFileRows(), and OpenFile().

Referenced by MultiplyVector().

void mumech::ReadDataToArray ( int **  p_array,
char *  p_file_name 
)

description: function initializes a 3D 'int' array by values from a given file

Definition at line 401 of file elementaryFunctions.cpp.

References CloseFile(), GetRangeOfFileColumns(), GetRangeOfFileRows(), and OpenFile().

void mumech::ReadDataToVector ( int *  p_array,
char *  p_file_name 
)

description: function initializes an 'int' vector by values from a given file

Definition at line 420 of file elementaryFunctions.cpp.

References CloseFile(), GetRangeOfFileRows(), and OpenFile().

Referenced by MultiplyVector().

void mumech::rotate_vector ( vektor V,
double  angle 
)
int mumech::RozdilVektoru ( vektor a,
vektor b,
vektor c 
)

Definition at line 62 of file matrix_vector.cpp.

References mumech::vektor::p, and mumech::vektor::v.

Referenced by mumech::matice::Determinant_3x3_doplnek().

void mumech::scan_DATA_field_head ( Stream stream,
Stream strm,
const char *  str,
char  type,
int  nexc,
char  format,
const char *  name 
)
void mumech::scan_FIELD_head ( FILE *  stream,
long  noincl,
int  nexc,
char  format,
const char *  name 
)

scan_DATA_field_head

Parameters
stream
strm
str
type
nexc
format
name

Definition at line 330 of file problem.cpp.

References CASE, errol, FP_scan_expected_number_exit, and FP_scan_expected_word_exit.

Referenced by mumech::Problem::read_input_file().

void mumech::SubtractTwoArrays2D ( const double *const *  a1,
const double *const *  a2,
double **  answer,
long  d1,
long  d2 
)

Function subtracts two 2D double arrays with dimensions d1xd2. answer = v1 - v2.

Definition at line 634 of file elementaryFunctions.cpp.

Referenced by CleanArray2d().

void mumech::SubtractTwoVectors ( const double *  v1,
const double *  v2,
double *  answer,
long  n 
)
inline
void mumech::SubtractVector ( const double *  a,
double *  b,
long  n 
)
inline

Function subtracts given number of components vector 'a' from vector 'b'; b -= a.

Definition at line 183 of file elementaryFunctions.h.

Referenced by mumech::Mesh::give_error().

void mumech::SumTwoVectors ( const double *  v1,
const double *  v2,
double *  answer,
long  n 
)
inline

Function sums two vectors of
entries. resVec = vec1 - vec2.

Definition at line 192 of file elementaryFunctions.h.

Referenced by mumech::InclusionRecord3D::addtot().