Changeset 24578
- Timestamp:
- 02/25/20 10:48:50 (5 years ago)
- Location:
- issm/trunk-jpl/src/c/classes/Elements
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r24487 r24578 228 228 void Penta::DatasetInputCreate(IssmDouble* array,int M,int N,int* individual_enums,int num_inputs,Inputs2* inputs2,IoModel* iomodel,int input_enum){/*{{{*/ 229 229 230 _error_("not implemeted"); 231 IssmDouble nodeinputs[NUMVERTICES]; 232 if(num_inputs<1) _error_("Cannot create a DatasetInput of size <1"); 233 if(M!=iomodel->numberofvertices) _error_("not supported yet"); 234 if(N!=num_inputs) _error_("sizes are not consistent"); 235 236 int penta_vertex_ids[NUMVERTICES]; 237 238 for(int k=0;k<6;k++){ 239 penta_vertex_ids[k]=reCast<int>(iomodel->elements[6*this->Sid()+k]); //ids for vertices are in the elements array from Matlab 240 } 241 /*Create inputs and add to DataSetInput*/ 242 // DatasetInput* datasetinput=new DatasetInput(input_enum); 243 // for(int i=0;i<num_inputs;i++){ 244 // for(int j=0;j<NUMVERTICES;j++)nodeinputs[j]=array[(penta_vertex_ids[j]-1)*N+i]; 245 // _error_("not supported"); 246 // //datasetinput->AddInput(new PentaInput(input_enum,nodeinputs,P1Enum),individual_enums[i]); 247 // } 248 249 /*Add datasetinput to element inputs*/ 250 //this->inputs->AddInput(datasetinput); 230 _error_("Look at Tria :)"); 251 231 } 252 232 /*}}}*/ -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r24565 r24578 232 232 void Tria::DatasetInputCreate(IssmDouble* array,int M,int N,int* individual_enums,int num_inputs,Inputs2* inputs2,IoModel* iomodel,int input_enum){/*{{{*/ 233 233 234 /*Intermediaries*/ 234 235 IssmDouble nodeinputs[NUMVERTICES]; 235 if(num_inputs<1) _error_("Cannot create a DatasetInput of size <1"); 236 if(M!=iomodel->numberofvertices) _error_("not supported yet"); 237 if(N!=num_inputs) _error_("sizes are not consistent"); 238 239 int tria_vertex_ids[3]; 240 241 for(int k=0;k<3;k++){ 242 tria_vertex_ids[k]=reCast<int>(iomodel->elements[3*this->Sid()+k]); //ids for vertices are in the elements array from Matlab 243 } 236 int vertexlids[NUMVERTICES]; 237 238 /*Some sanity checks*/ 239 if(num_inputs<1) _error_("Cannot create a DatasetInput of size <1"); 240 if(M!=iomodel->numberofvertices) _error_("Input size not supported yet"); 241 if(N!=num_inputs) _error_("Sizes are not consistent"); 242 243 /*Get indices*/ 244 _assert_(iomodel->elements); 245 for(int i=0;i<NUMVERTICES;i++){ 246 int vertexid =reCast<int>(iomodel->elements[NUMVERTICES*this->Sid()+i]); //ids for vertices are in the elements array from Matlab 247 248 vertexlids[i]=iomodel->my_vertices_lids[vertexid-1]; 249 nodeinputs[i]=array[vertexid*N+i]; 250 } 251 244 252 /*Create inputs and add to DataSetInput*/ 245 //DatasetInput* datasetinput=new DatasetInput(input_enum);246 253 for(int i=0;i<num_inputs;i++){ 247 for(int j=0;j<NUMVERTICES;j++)nodeinputs[j]=array[(tria_vertex_ids[j]-1)*N+i]; 248 _error_("not supported"); 249 //datasetinput->AddInput(new TriaInput(input_enum,nodeinputs,P1Enum),individual_enums[i]); 250 } 251 252 /*Add datasetinput to element inputs*/ 253 //this->inputs->AddInput(datasetinput); 254 this->inputs2->SetTriaDatasetInput(input_enum,individual_enums[i],P1Enum,NUMVERTICES,vertexlids,nodeinputs); break; 255 } 254 256 } 255 257 /*}}}*/
Note:
See TracChangeset
for help on using the changeset viewer.