00001 #include <string.h>
00002 #include "elementc.h"
00003 #include "globalt.h"
00004 #include "globalc.h"
00005 #include "gtopology.h"
00006 #include "intpoints.h"
00007
00008
00009 elementc::elementc (void)
00010 {
00011 te = (elemtypec) 0;
00012 nb=0;
00013 ippu=NULL; ippl=NULL; intordvum=NULL; intordvlm=NULL;
00014 tmu=NULL; tml=NULL; idmu=NULL; idml=NULL;
00015 }
00016
00017 elementc::~elementc (void)
00018 {
00019
00020 }
00021
00022 void elementc::read (XFILE *in)
00023 {
00024 xfscanf (in,"%d",(int*)&te);
00025
00026 switch (te){
00027 case coupbar:{ if (Cbar==NULL) Cbar = new barelc (); break; }
00028 case coupquad:{ if (Cquad==NULL) Cquad = new quadrilatc (); break; }
00029 case coupaxiquad:{ if (Caxiq==NULL) Caxiq = new axiquadc (); break; }
00030 case couphex:{ if (Chex==NULL) Chex = new hexahedc (); break; }
00031 default:{
00032 fprintf (stderr,"\n\n unknown element type is required in function");
00033 fprintf (stderr,"\n elementc::read (file %s, line %d).\n",__FILE__,__LINE__);
00034 }
00035 }
00036
00037
00038 readmat (1,in);
00039
00040 }
00041
00042 void elementc::readmat (long m,XFILE *in)
00043 {
00044 long i;
00045
00046 tmu = new mattypec [m];
00047 idmu = new long [m];
00048 tml = new mattypec [m];
00049 idml = new long [m];
00050
00051 for (i=0;i<m;i++){
00052 xfscanf (in,"%d %ld",(int*)&tmu[i],&idmu[i]);
00053 idmu[i]--;
00054 }
00055 for (i=0;i<m;i++){
00056 xfscanf (in,"%d %ld",(int*)&tml[i],&idml[i]);
00057 idml[i]--;
00058 }
00059 }
00060