Changeset 3378 for issm/trunk/src/c/objects/Numericalflux.cpp
- Timestamp:
- 04/02/10 15:06:53 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Numericalflux.cpp
r3371 r3378 17 17 #include "./objects.h" 18 18 19 extern int my_rank; 20 19 21 /*Object constructors and destructor*/ 20 22 /*FUNCTION Numericalflux::Numericalflux(){{{1*/ … … 24 26 /*}}}*/ 25 27 /*FUNCTION Numericalflux::Numericalflux(char numericalflux_type[NUMERICALFLUXSTRING],int numericalflux_fill...){{{1*/ 26 Numericalflux::Numericalflux(int numericalflux_id,char numericalflux_type[NUMERICALFLUXSTRING], int numericalflux_node_ids[MAX_NUMERICALFLUX_NODES],int numericalflux_element_id s[MAX_NUMERICALFLUX_ELEMS]){28 Numericalflux::Numericalflux(int numericalflux_id,char numericalflux_type[NUMERICALFLUXSTRING], int numericalflux_node_ids[MAX_NUMERICALFLUX_NODES],int numericalflux_element_id){ 27 29 28 30 int i; … … 30 32 strcpy(type,numericalflux_type); 31 33 id=numericalflux_id; 32 33 for(i=0;i<MAX_NUMERICALFLUX_ELEMS;i++){ 34 element_ids[i]=numericalflux_element_ids[i]; 35 element_offsets[i]=UNDEF; 36 elements[i]=NULL; 37 } 34 35 element_id=numericalflux_element_id; 36 element_offset=UNDEF; 37 element=NULL; 38 38 39 39 for(i=0;i<MAX_NUMERICALFLUX_NODES;i++){ … … 73 73 memcpy(&id,marshalled_dataset,sizeof(id));marshalled_dataset+=sizeof(id); 74 74 75 memcpy(&element_id s,marshalled_dataset,sizeof(element_ids));marshalled_dataset+=sizeof(element_ids);76 memcpy(&element_offset s,marshalled_dataset,sizeof(element_offsets));marshalled_dataset+=sizeof(element_offsets);77 for(i=0;i<MAX_NUMERICALFLUX_ELEMS;i++)elements[i]=NULL;75 memcpy(&element_id,marshalled_dataset,sizeof(element_id));marshalled_dataset+=sizeof(element_id); 76 memcpy(&element_offset,marshalled_dataset,sizeof(element_offset));marshalled_dataset+=sizeof(element_offset); 77 element=NULL; 78 78 79 79 memcpy(&node_ids,marshalled_dataset,sizeof(node_ids));marshalled_dataset+=sizeof(node_ids); … … 105 105 memcpy(marshalled_dataset,&id,sizeof(id));marshalled_dataset+=sizeof(id); 106 106 107 memcpy(marshalled_dataset,&element_id s,sizeof(element_ids));marshalled_dataset+=sizeof(element_ids);108 memcpy(marshalled_dataset,&element_offset s,sizeof(element_offsets));marshalled_dataset+=sizeof(element_offsets);107 memcpy(marshalled_dataset,&element_id,sizeof(element_id));marshalled_dataset+=sizeof(element_id); 108 memcpy(marshalled_dataset,&element_offset,sizeof(element_offset));marshalled_dataset+=sizeof(element_offset); 109 109 110 110 memcpy(marshalled_dataset,&node_ids,sizeof(node_ids));marshalled_dataset+=sizeof(node_ids); … … 120 120 return sizeof(type)+ 121 121 sizeof(id)+ 122 sizeof(element_id s)+123 sizeof(element_offset s)+122 sizeof(element_id)+ 123 sizeof(element_offset)+ 124 124 sizeof(node_ids)+ 125 125 sizeof(node_offsets)+ … … 142 142 if (strcmp(type,"internal")==0){ 143 143 ResolvePointers((Object**)nodes,node_ids,node_offsets,4,nodesin); 144 ResolvePointers((Object**)elements,element_ids,element_offsets,2,elementsin);145 144 } 146 145 else if (strcmp(type,"boundary")==0){ 147 146 ResolvePointers((Object**)nodes,node_ids,node_offsets,2,nodesin); 148 ResolvePointers((Object**)elements,element_ids,element_offsets,1,elementsin);149 147 } 150 148 else ISSMERROR("type not supported yet"); 149 ResolvePointers((Object**)&element,&element_id,&element_offset,1,elementsin); 151 150 152 151 } … … 176 175 printf(" id: %i\n",id); 177 176 177 printf(" element_id=%i\n",element_id); 178 printf(" element_offset=%i\n",element_offset); 179 if(element)element->Echo(); 178 180 if (strcmp(type,"internal")==0){ 179 printf(" element_ids=[%i,%i]\n",element_ids[0],element_ids[1]);180 printf(" element_offsets=[%i,%i]\n",element_offsets[0],element_offsets[1]);181 for(i=0;i<2;i++){182 if(elements[i])elements[i]->Echo();183 }184 181 printf(" node_ids=[%i,%i,%i,%i]\n",node_ids[0],node_ids[1],node_ids[2],node_ids[3]); 185 182 printf(" node_offsets=[%i,%i,%i,%i]\n",node_offsets[0],node_offsets[1],node_offsets[2],node_offsets[3]); … … 189 186 } 190 187 else{ 191 printf(" element_ids=[%i,%i]\n",element_ids[0],element_ids[1]);192 printf(" element_offsets=[%i,%i]\n",element_offsets[0],element_offsets[1]);193 for(i=0;i<1;i++){194 if(elements[i])elements[i]->Echo();195 }196 188 printf(" node_ids=[%i,%i,%i,%i]\n",node_ids[0],node_ids[1],node_ids[2],node_ids[3]); 197 189 printf(" node_offsets=[%i,%i,%i,%i]\n",node_offsets[0],node_offsets[1],node_offsets[2],node_offsets[3]); … … 215 207 printf(" id: %i\n",id); 216 208 209 printf(" element_id=%i\n",element_id); 210 printf(" element_offset=%i]\n",element_offset); 211 217 212 if (strcmp(type,"internal")==0){ 218 printf(" element_ids=[%i,%i]\n",element_ids[0],element_ids[1]);219 printf(" element_offsets=[%i,%i]\n",element_offsets[0],element_offsets[1]);220 213 printf(" node_ids=[%i,%i,%i,%i]\n",node_ids[0],node_ids[1],node_ids[2],node_ids[3]); 221 214 printf(" node_offsets=[%i,%i,%i,%i]\n",node_offsets[0],node_offsets[1],node_offsets[2],node_offsets[3]); 222 215 } 223 216 else{ 224 printf(" element_ids=%i\n",element_ids[0]);225 printf(" element_offsets=%i\n",element_offsets[0]);226 217 printf(" node_ids=[%i,%i]\n",node_ids[0],node_ids[1]); 227 218 printf(" node_offsets=[%i,%i]\n",node_offsets[0],node_offsets[1]);
Note:
See TracChangeset
for help on using the changeset viewer.