00001 #ifndef ELASTORTOMAT_H 00002 #define ELASTORTOMAT_H 00003 00004 #include <stdio.h> 00005 #include "iotools.h" 00006 #include "matrix.h" 00007 #include "alias.h" 00008 00009 00010 00011 /** 00012 The class defines elastic orthotropic material given by the 00013 stiffness %matrix de in the local coordinate system of the 00014 material. There must be also defined transformation %matrix t 00015 whose components represent general functions (gfunct). The 00016 components of the %matrix t must be evaluated with respect 00017 to space coordinates of the given integration point. 00018 00019 Created by Tomas Koudelka, 12.2014 00020 */ 00021 class elastortomat 00022 { 00023 public: 00024 elastortomat (void); 00025 ~elastortomat (void); 00026 /// reads material from the opened text file 00027 void read (XFILE *in); 00028 /// printf material to the opened text file 00029 void print (FILE *out); 00030 00031 /// computes the stiffness %matrix of the elastic orthotropic material in the global coordinate system 00032 void matstiff (matrix &d, long ipp); 00033 /// returns the stiffness %matrix of the elastic orthotropic material in the local coordinate system 00034 void loc_matstiff (matrix &d, strastrestate ssst); 00035 /// returns transformation %matrix from the local material coordinate system to the global one 00036 void give_transf_mat (matrix &tmat, long ipp); 00037 /// calculates stresses 00038 void nlstresses (long ipp); 00039 00040 /// stiffness %matrix in the local coordinate system of the material 00041 matrix de; 00042 00043 /** Transformation %matrix whose components are evaluated 00044 with respect to coordinates of the given integration point, 00045 It must be given in the form x_g = T x_l where 00046 x_g and x_l are %vectors in the global and local coordinate system. */ 00047 gfmatrix t; 00048 }; 00049 00050 #endif