00001 #ifndef STOCHDRIVERT_H 00002 #define STOCHDRIVERT_H 00003 00004 #include <stdio.h> 00005 #include "aliast.h" 00006 struct vector; 00007 struct atsel; 00008 #include "matrix.h" 00009 #include "iotools.h" 00010 00011 /** 00012 00013 */ 00014 class stochdrivert 00015 { 00016 public: 00017 stochdrivert (void); 00018 ~stochdrivert (void); 00019 00020 void compute_nprunknowns (); 00021 00022 void read (XFILE* in); 00023 void readtable (XFILE *in); 00024 void writetable (); 00025 00026 void changevalues (long sampleid); 00027 void changematerials (long id,vector &val); 00028 void changecrsections (long id,vector &val); 00029 00030 void extractor (long sampleid); 00031 00032 void importvalues (double *dat); 00033 void exportvalues (double *val); 00034 00035 // name of auxiliary file 00036 char auxfile[1001]; 00037 // number of stochastic materials 00038 long nsmt; 00039 // number of stochastic cross-sections 00040 long nscs; 00041 00042 mattypet *mt; 00043 long *idm; 00044 atsel *atm; 00045 00046 crsectypet *cst; 00047 long *idcs; 00048 atsel *atcs; 00049 00050 // stochastic loaded nodes 00051 long *idln; 00052 atsel *atln; 00053 00054 long nsampl; 00055 long nstochvar; 00056 matrix stochtabin; 00057 long nprunknowns; 00058 matrix stochtabout; 00059 00060 // number of printed nodal displacements 00061 long npnv; 00062 // array conatining numbers of nodes 00063 long *nna; 00064 // numbers of particular DOFs 00065 atsel *pnv; 00066 00067 00068 }; 00069 00070 #endif