00001 #ifndef ELEMENTT_H 00002 #define ELEMENTT_H 00003 00004 #include <stdio.h> 00005 #include "aliast.h" 00006 #include "iotools.h" 00007 00008 /** 00009 class elementt defines general element for transport problems 00010 */ 00011 00012 class elementt 00013 { 00014 public: 00015 elementt (void); 00016 ~elementt (void); 00017 void read (XFILE *in,long eid); 00018 void readmat (long m,XFILE *in); 00019 void print (FILE *out,long eid); 00020 void printmat (long m,FILE *out); 00021 00022 void alloc_initnodval (long ndofe); 00023 void initnodvalues (double *r,long ndofe); 00024 void subtrinitnodval (double *r,long ndofe); 00025 00026 /// type of element 00027 elemtypet te; 00028 00029 /// indicator of nodes with defined source of quantity 00030 /// source = 0 - elements contains no node with source 00031 /// source = 1 - elements contains nodes with source 00032 long source; 00033 /// integration point pointer 00034 long **ipp; 00035 /// type of cross section 00036 crsectypet crst; 00037 /// number of appropriate cross section type 00038 long idcs; 00039 /// transmission indicator 00040 /// indicator of boundary condition on element 00041 /// transi=0 - default value, no boundary conditions 00042 /// transi=2 - prescribed fluxes (defined directly or due to climatic conditions) 00043 /// transi=3 - prescribed transmission 00044 /// transi=4 - element contains prescribed fluxes as well as prescribed transmission (e.g. there is one edge with Neumann condition and one edge with Newton condition) 00045 long *transi; 00046 00047 /// material type 00048 mattypet *tm; 00049 /// material id 00050 long *idm; 00051 00052 static long ntm; 00053 /// array of initial nodal values 00054 /// it is used in problems with changing number of elements 00055 double *initnodval; 00056 00057 }; 00058 00059 #endif