00001 #ifndef MECHBCLC_H 00002 #define MECHBCLC_H 00003 00004 #include "iotools.h" 00005 #include "alias.h" 00006 00007 class inicd; 00008 class loadcase; 00009 class dloadcase; 00010 class gfunct; 00011 00012 /** 00013 Class mechbclc: 00014 00015 It is one of the 5 most important classes of the program. 00016 (probdesc, mechtop, mechmat, mechbclc, mechcrsec) 00017 00018 Class mechbclc contains data about boundary conditions, load cases. 00019 00020 Created by JK, TKo 00021 */ 00022 class mechbclc 00023 { 00024 public: 00025 mechbclc (); 00026 ~mechbclc (); 00027 void read (XFILE *in); 00028 void print (FILE *out); 00029 void read_eigenstrains (XFILE *in); 00030 void print_eigenstrains (FILE *out); 00031 void eigstrain_computation (double time); 00032 long readinic (XFILE *in); 00033 long printinic (FILE *out); 00034 void inicipval(void); 00035 void alloc_sumcomp (); 00036 void comp_sum (double *rhs); 00037 void give_comp_sum (double *sum); 00038 void comp_sum_react(); 00039 void comp_sum_pdreact(); 00040 00041 /// number of load cases 00042 long nlc; 00043 /// number of initcond 00044 long nico; 00045 00046 /// number of components of array sumcomp 00047 long ncsum; 00048 /// array containing sums of components of load %vector in particular directions 00049 double *sumcomp; 00050 /// array containing sums of components of reactions at supports in particular directions 00051 double *reactsumcomp; 00052 /// array containing sums of components of reactions at prescribed displacements in particular directions 00053 double *pd_reactsumcomp; 00054 00055 /// array of static load cases 00056 loadcase *lc; 00057 /// array of time dependent load cases 00058 dloadcase *dlc; 00059 /// array of initial conditions 00060 inicd *ico; 00061 00062 /// the number of general functions describing the eigenstrains 00063 long ngfes; 00064 /// array of general functions describing the eigenstrains 00065 gfunct *eigstrfun; 00066 /// stress-strain state 00067 strastrestate strastre; 00068 00069 00070 }; 00071 00072 #endif