00001 #ifndef LOADCASE_H 00002 #define LOADCASE_H 00003 00004 #include "iotools.h" 00005 #include "gfunct.h" 00006 class loadn; 00007 class loadel; 00008 struct ivector; 00009 00010 /** 00011 Class loadcase defines load cases in static problems. 00012 00013 Created by JK, 00014 */ 00015 00016 class loadcase 00017 { 00018 public: 00019 loadcase (void); 00020 ~loadcase (void); 00021 void read (XFILE *in); 00022 void print (FILE *out); 00023 void assemble (long lcid,double *rhs,double *flv, double scale); 00024 void compute_reactions (long lcid); 00025 void tempercontrib (long lcid,double *rhs,double scale); 00026 00027 /// number of loaded nodes 00028 long nln; 00029 /// number of loaded elements 00030 long nle; 00031 /// number of prescribed displacements 00032 long npd; 00033 /// number of prescribed temperature changes 00034 long npt; 00035 00036 /// presence of temperature changes 00037 long tempchang; 00038 00039 // loaded nodes 00040 loadn *lon; 00041 // loaded elements 00042 loadel *loe; 00043 // prescribed displacements 00044 double *pd; 00045 // prescribed temperature changes 00046 double *pt; 00047 // macro stresses in homogenization problems 00048 double *mstress; 00049 // macro strains in homogenization problems 00050 double *mstrain; 00051 //double *rhstemp; 00052 /// data file for reading 00053 char *temp_file; 00054 /// number of multiple data files 00055 long ntemp_file; 00056 // prescribed temperature changes as multiple values according to time 00057 double **pts; 00058 // time of individual temperature settings (file) 00059 double *temp_time; 00060 }; 00061 00062 #endif