Changeset 21717
- Timestamp:
- 05/16/17 16:45:51 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
r21587 r21717 504 504 } 505 505 break; 506 case P1xP3Enum: 507 for(i=0;i<iomodel->numberofvertices;i++){ 508 if((iomodel->my_vertices[i])){ 509 510 /*figure out times and values: */ 511 values=xNew<IssmDouble>(N); 512 spcpresent=false; 513 for(j=0;j<N;j++){ 514 values[j]=spcdata[i*N+j]; 515 if(!xIsNan<IssmDouble>(values[j]))spcpresent=true; //NaN means no spc by default 516 } 517 518 if(spcpresent){ 519 constraints->AddObject(new SpcTransient(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,dof,N,times,values,analysis_type)); 520 count++; 521 } 522 xDelete<IssmDouble>(values); 523 } 524 } 525 for(i=0;i<iomodel->numberofedges;i++){ 526 if(iomodel->edges[i*3+2]==2){ 527 if(my_edges[i]){ 528 v1 = iomodel->edges[3*i+0]-1; 529 v2 = iomodel->edges[3*i+1]-1; 530 values=xNew<IssmDouble>(N); 531 spcpresent=false; 532 for(j=0;j<N;j++){ 533 values[j]=2./3.*spcdata[v1*N+j]+1./3.*spcdata[v2*N+j]; 534 if(!xIsNan<IssmDouble>(values[j])) spcpresent=true; //NaN means no spc by default 535 } 536 if(spcpresent){ 537 constraints->AddObject(new SpcTransient(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+2*i+1,dof, 538 N,times,values,analysis_type)); 539 count++; 540 } 541 spcpresent=false; 542 for(j=0;j<N;j++){ 543 values[j]=1./3.*spcdata[v1*N+j]+2./3.*spcdata[v2*N+j]; 544 if(!xIsNan<IssmDouble>(values[j])) spcpresent=true; //NaN means no spc by default 545 } 546 if(spcpresent){ 547 constraints->AddObject(new SpcTransient(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+2*i+2,dof, 548 N,times,values,analysis_type)); 549 count++; 550 } 551 xDelete<IssmDouble>(values); 552 } 553 } 554 } 555 break; 506 556 case P2xP1Enum: 507 557 for(i=0;i<iomodel->numberofvertices;i++){
Note:
See TracChangeset
for help on using the changeset viewer.