Changeset 816
- Timestamp:
- 06/05/09 12:29:15 (16 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 6 added
- 1 deleted
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/Makefile.am
r768 r816 222 222 ./UpdateFromInputsx/UpdateFromInputsx.h\ 223 223 ./UpdateFromInputsx/UpdateFromInputsx.cpp\ 224 ./UpdateGeometryx/UpdateGeometryx.h\ 225 ./UpdateGeometryx/UpdateGeometryx.cpp\ 224 226 ./ConfigureObjectsx/ConfigureObjectsx.h\ 225 227 ./ConfigureObjectsx/ConfigureObjectsx.cpp\ … … 492 494 ./UpdateFromInputsx/UpdateFromInputsx.h\ 493 495 ./UpdateFromInputsx/UpdateFromInputsx.cpp\ 496 ./UpdateGeometryx/UpdateGeometryx.h\ 497 ./UpdateGeometryx/UpdateGeometryx.cpp\ 494 498 ./ConfigureObjectsx/ConfigureObjectsx.h\ 495 499 ./ConfigureObjectsx/ConfigureObjectsx.cpp\ -
issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateElementsNodesAndMaterialsDiagnosticHoriz.cpp
r786 r816 122 122 int node_onbed; 123 123 int node_onsurface; 124 int node_onsheet; 125 int node_onshelf; 124 126 int node_upper_node_id; 125 127 int node_numdofs; … … 579 581 ModelFetchData((void**)&model->gridonsurface,NULL,NULL,model_handle,"gridonsurface","Matrix","Mat"); 580 582 ModelFetchData((void**)&model->gridonhutter,NULL,NULL,model_handle,"gridonhutter","Matrix","Mat"); 583 ModelFetchData((void**)&model->gridonicesheet,NULL,NULL,model_handle,"gridonicesheet","Matrix","Mat"); 584 ModelFetchData((void**)&model->gridoniceshelf,NULL,NULL,model_handle,"gridoniceshelf","Matrix","Mat"); 581 585 582 586 /*Get number of dofs per node: */ … … 612 616 node_onbed=(int)model->gridonbed[i]; 613 617 node_onsurface=(int)model->gridonsurface[i]; 618 node_onshelf=(int)model->gridoniceshelf[i]; 619 node_onsheet=(int)model->gridonicesheet[i]; 620 614 621 if (strcmp(model->meshtype,"3d")==0){ 615 622 if (isnan(model->uppernodes[i])){ … … 626 633 627 634 /*Create node using its constructor: */ 628 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id );635 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id,node_onshelf,node_onsheet); 629 636 630 637 /*set single point constraints.: */ … … 665 672 xfree((void**)&model->gridonhutter); 666 673 xfree((void**)&model->uppernodes); 667 674 xfree((void**)&model->gridonicesheet); 675 xfree((void**)&model->gridoniceshelf); 676 668 677 669 678 /*Keep partitioning information into model*/ -
issm/trunk/src/c/ModelProcessorx/DiagnosticHutter/CreateElementsNodesAndMaterialsDiagnosticHutter.cpp
r748 r816 94 94 int node_onbed; 95 95 int node_onsurface; 96 int node_onshelf; 97 int node_onsheet; 96 98 int node_upper_node_id; 97 99 int node_numdofs; … … 364 366 ModelFetchData((void**)&model->gridonsurface,NULL,NULL,model_handle,"gridonsurface","Matrix","Mat"); 365 367 ModelFetchData((void**)&model->gridonhutter,NULL,NULL,model_handle,"gridonhutter","Matrix","Mat"); 368 ModelFetchData((void**)&model->gridonicesheet,NULL,NULL,model_handle,"gridonicesheet","Matrix","Mat"); 369 ModelFetchData((void**)&model->gridoniceshelf,NULL,NULL,model_handle,"gridoniceshelf","Matrix","Mat"); 366 370 367 371 … … 397 401 node_onbed=(int)model->gridonbed[i]; 398 402 node_onsurface=(int)model->gridonsurface[i]; 403 node_onshelf=(int)model->gridoniceshelf[i]; 404 node_onsheet=(int)model->gridonicesheet[i]; 405 399 406 if (strcmp(model->meshtype,"3d")==0){ 400 407 if (isnan(model->uppernodes[i])){ … … 411 418 412 419 /*Create node using its constructor: */ 413 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id );420 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id,node_onshelf,node_onsheet); 414 421 415 422 /*set single point constraints.: */ … … 443 450 xfree((void**)&model->gridonhutter); 444 451 xfree((void**)&model->uppernodes); 445 452 xfree((void**)&model->gridonicesheet); 453 xfree((void**)&model->gridoniceshelf); 454 446 455 447 456 /*Keep partitioning information into model*/ -
issm/trunk/src/c/ModelProcessorx/DiagnosticStokes/CreateElementsNodesAndMaterialsDiagnosticStokes.cpp
r586 r816 102 102 int node_onbed; 103 103 int node_onsurface; 104 int node_onshelf; 105 int node_onsheet; 104 106 int node_upper_node_id; 105 107 int node_numdofs; … … 461 463 node_onbed=(int)model->gridonbed[i]; 462 464 node_onsurface=(int)model->gridonsurface[i]; 465 node_onshelf=(int)model->gridoniceshelf[i]; 466 node_onsheet=(int)model->gridonicesheet[i]; 467 463 468 if (strcmp(model->meshtype,"3d")==0){ 464 469 if (isnan(model->uppernodes[i])){ … … 475 480 476 481 /*Create node using its constructor: */ 477 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id );482 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id,node_onshelf,node_onsheet); 478 483 479 484 /*set single point constraints.: */ … … 516 521 xfree((void**)&model->gridonstokes); 517 522 xfree((void**)&model->borderstokes); 523 xfree((void**)&model->gridonicesheet); 524 xfree((void**)&model->gridoniceshelf); 518 525 519 526 -
issm/trunk/src/c/ModelProcessorx/DiagnosticVert/CreateElementsNodesAndMaterialsDiagnosticVert.cpp
r586 r816 101 101 int node_onbed; 102 102 int node_onsurface; 103 int node_onshelf; 104 int node_onsheet; 103 105 int node_upper_node_id; 104 106 int node_numdofs; … … 347 349 ModelFetchData((void**)&model->gridonbed,NULL,NULL,model_handle,"gridonbed","Matrix","Mat"); 348 350 ModelFetchData((void**)&model->gridonsurface,NULL,NULL,model_handle,"gridonsurface","Matrix","Mat"); 351 ModelFetchData((void**)&model->gridonicesheet,NULL,NULL,model_handle,"gridonicesheet","Matrix","Mat"); 352 ModelFetchData((void**)&model->gridoniceshelf,NULL,NULL,model_handle,"gridoniceshelf","Matrix","Mat"); 349 353 350 354 … … 380 384 381 385 node_onbed=(int)model->gridonbed[i]; 382 node_onsurface=(int)model->gridonsurface[i]; 386 node_onsurface=(int)model->gridonsurface[i]; 387 node_onshelf=(int)model->gridoniceshelf[i]; 388 node_onsheet=(int)model->gridonicesheet[i]; 389 383 390 if (isnan(model->uppernodes[i])){ 384 391 node_upper_node_id=node_id; //nodes on surface do not have upper nodes, only themselves. … … 389 396 390 397 /*Create node using its constructor: */ 391 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id );398 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id,node_onshelf,node_onsheet); 392 399 393 400 /*Add node to nodes dataset: */ … … 413 420 xfree((void**)&model->gridonsurface); 414 421 xfree((void**)&model->uppernodes); 415 422 xfree((void**)&model->gridonicesheet); 423 xfree((void**)&model->gridoniceshelf); 424 416 425 417 426 /*Keep partitioning information into model*/ -
issm/trunk/src/c/ModelProcessorx/Melting/CreateElementsNodesAndMaterialsMelting.cpp
r721 r816 101 101 int node_onbed; 102 102 int node_onsurface; 103 int node_onshelf; 104 int node_onsheet; 103 105 int node_upper_node_id; 104 106 int node_numdofs; … … 392 394 ModelFetchData((void**)&model->gridonbed,NULL,NULL,model_handle,"gridonbed","Matrix","Mat"); 393 395 ModelFetchData((void**)&model->gridonsurface,NULL,NULL,model_handle,"gridonsurface","Matrix","Mat"); 396 ModelFetchData((void**)&model->gridonicesheet,NULL,NULL,model_handle,"gridonicesheet","Matrix","Mat"); 397 ModelFetchData((void**)&model->gridoniceshelf,NULL,NULL,model_handle,"gridoniceshelf","Matrix","Mat"); 394 398 395 399 … … 426 430 node_onbed=(int)model->gridonbed[i]; 427 431 node_onsurface=(int)model->gridonsurface[i]; 432 node_onshelf=(int)model->gridoniceshelf[i]; 433 node_onsheet=(int)model->gridonicesheet[i]; 434 428 435 if (strcmp(model->meshtype,"3d")==0){ 429 436 if (isnan(model->uppernodes[i])){ … … 440 447 441 448 /*Create node using its constructor: */ 442 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id );449 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id,node_onshelf,node_onsheet); 443 450 444 451 /*set single point constraints.: */ … … 470 477 xfree((void**)&model->gridonsurface); 471 478 xfree((void**)&model->uppernodes); 479 xfree((void**)&model->gridonicesheet); 480 xfree((void**)&model->gridoniceshelf); 472 481 473 482 /*Keep partitioning information into model*/ -
issm/trunk/src/c/ModelProcessorx/Model.cpp
r765 r816 76 76 model->elementoniceshelf=NULL; 77 77 model->gridonicesheet=NULL; 78 model->gridoniceshelf=NULL; 78 79 79 80 model->drag_type=0; … … 236 237 xfree((void**)&model->elementoniceshelf); 237 238 xfree((void**)&model->gridonicesheet); 239 xfree((void**)&model->gridoniceshelf); 238 240 xfree((void**)&model->segmentonneumann_diag); 239 241 xfree((void**)&model->segmentonneumann_diag_stokes); -
issm/trunk/src/c/ModelProcessorx/Model.h
r765 r816 73 73 double* elementoniceshelf; 74 74 double* gridonicesheet; 75 double* gridoniceshelf; 75 76 76 77 /*friction: */ -
issm/trunk/src/c/ModelProcessorx/Prognostic/CreateElementsNodesAndMaterialsPrognostic.cpp
r586 r816 123 123 int node_onbed; 124 124 int node_onsurface; 125 int node_onshelf; 126 int node_onsheet; 125 127 int node_upper_node_id; 126 128 int node_numdofs; … … 442 444 ModelFetchData((void**)&model->gridonbed,NULL,NULL,model_handle,"gridonbed","Matrix","Mat"); 443 445 ModelFetchData((void**)&model->gridonsurface,NULL,NULL,model_handle,"gridonsurface","Matrix","Mat"); 446 ModelFetchData((void**)&model->gridonicesheet,NULL,NULL,model_handle,"gridonicesheet","Matrix","Mat"); 447 ModelFetchData((void**)&model->gridoniceshelf,NULL,NULL,model_handle,"gridoniceshelf","Matrix","Mat"); 444 448 445 449 … … 476 480 node_onbed=(int)model->gridonbed[i]; 477 481 node_onsurface=(int)model->gridonsurface[i]; 482 node_onshelf=(int)model->gridoniceshelf[i]; 483 node_onsheet=(int)model->gridonicesheet[i]; 484 478 485 if (strcmp(model->meshtype,"3d")==0){ 479 486 if (isnan(model->uppernodes[i])){ … … 490 497 491 498 /*Create node using its constructor: */ 492 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id );499 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id,node_onshelf,node_onsheet); 493 500 494 501 /*set single point constraints.: */ … … 523 530 xfree((void**)&model->gridonsurface); 524 531 xfree((void**)&model->uppernodes); 525 532 xfree((void**)&model->gridonicesheet); 533 xfree((void**)&model->gridoniceshelf); 534 526 535 527 536 /*Keep partitioning information into model*/ -
issm/trunk/src/c/ModelProcessorx/SlopeCompute/CreateElementsNodesAndMaterialsSlopeCompute.cpp
r586 r816 101 101 int node_onbed; 102 102 int node_onsurface; 103 int node_onshelf; 104 int node_onsheet; 103 105 int node_upper_node_id; 104 106 int node_numdofs; … … 398 400 ModelFetchData((void**)&model->gridonbed,NULL,NULL,model_handle,"gridonbed","Matrix","Mat"); 399 401 ModelFetchData((void**)&model->gridonsurface,NULL,NULL,model_handle,"gridonsurface","Matrix","Mat"); 402 ModelFetchData((void**)&model->gridonicesheet,NULL,NULL,model_handle,"gridonicesheet","Matrix","Mat"); 403 ModelFetchData((void**)&model->gridoniceshelf,NULL,NULL,model_handle,"gridoniceshelf","Matrix","Mat"); 400 404 401 405 … … 432 436 node_onbed=(int)model->gridonbed[i]; 433 437 node_onsurface=(int)model->gridonsurface[i]; 438 node_onshelf=(int)model->gridoniceshelf[i]; 439 node_onsheet=(int)model->gridonicesheet[i]; 440 434 441 if (strcmp(model->meshtype,"3d")==0){ 435 442 if (isnan(model->uppernodes[i])){ … … 446 453 447 454 /*Create node using its constructor: */ 448 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id );455 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id,node_onshelf,node_onsheet); 449 456 450 457 /*set single point constraints.: */ … … 479 486 xfree((void**)&model->gridonsurface); 480 487 xfree((void**)&model->uppernodes); 481 488 xfree((void**)&model->gridonicesheet); 489 xfree((void**)&model->gridoniceshelf); 490 482 491 483 492 /*Keep partitioning information into model*/ -
issm/trunk/src/c/ModelProcessorx/Thermal/CreateElementsNodesAndMaterialsThermal.cpp
r721 r816 102 102 int node_onbed; 103 103 int node_onsurface; 104 int node_onshelf; 105 int node_onsheet; 104 106 int node_upper_node_id; 105 107 int node_numdofs; … … 387 389 ModelFetchData((void**)&model->gridonbed,NULL,NULL,model_handle,"gridonbed","Matrix","Mat"); 388 390 ModelFetchData((void**)&model->gridonsurface,NULL,NULL,model_handle,"gridonsurface","Matrix","Mat"); 391 ModelFetchData((void**)&model->gridonicesheet,NULL,NULL,model_handle,"gridonicesheet","Matrix","Mat"); 392 ModelFetchData((void**)&model->gridoniceshelf,NULL,NULL,model_handle,"gridoniceshelf","Matrix","Mat"); 389 393 390 394 /*Get number of dofs per node: */ … … 416 420 node_onbed=(int)model->gridonbed[i]; 417 421 node_onsurface=(int)model->gridonsurface[i]; 422 node_onshelf=(int)model->gridoniceshelf[i]; 423 node_onsheet=(int)model->gridonicesheet[i]; 424 418 425 if (strcmp(model->meshtype,"3d")==0){ 419 426 if (isnan(model->uppernodes[i])){ … … 430 437 431 438 /*Create node using its constructor: */ 432 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id );439 node=new Node(node_id,node_partitionborder,node_numdofs,node_x,node_onbed,node_onsurface,node_upper_node_id,node_onshelf,node_onsheet); 433 440 434 441 /*Add node to nodes dataset: */ … … 454 461 xfree((void**)&model->gridonsurface); 455 462 xfree((void**)&model->uppernodes); 456 463 xfree((void**)&model->gridonicesheet); 464 xfree((void**)&model->gridoniceshelf); 465 457 466 cleanup_and_return: 458 467 -
issm/trunk/src/c/issm.h
r586 r816 33 33 #include "./SystemMatricesx/SystemMatricesx.h" 34 34 #include "./UpdateFromInputsx/UpdateFromInputsx.h" 35 #include "./UpdateGeometryx/UpdateGeometryx.h" 35 36 #include "./PenaltySystemMatricesx/PenaltySystemMatricesx.h" 36 37 #include "./Reducematrixfromgtofx/Reducematrixfromgtofx.h" -
issm/trunk/src/c/objects/Node.cpp
r803 r816 21 21 return; 22 22 } 23 Node::Node(int node_id,int node_partitionborder,int node_numdofs, double node_x[3],int node_onbed,int node_onsurface,int node_upper_node_id ){23 Node::Node(int node_id,int node_partitionborder,int node_numdofs, double node_x[3],int node_onbed,int node_onsurface,int node_upper_node_id,int node_onshelf,int node_onsheet){ 24 24 25 25 int i; … … 33 33 onbed=node_onbed; 34 34 onsurface=node_onsurface; 35 onshelf=node_onshelf; 36 onsheet=node_onsheet; 35 37 36 38 /*Initialize sets: */ … … 66 68 printf(" onbed: %i\n",onbed); 67 69 printf(" onsurface: %i\n",onsurface); 70 printf(" onshelf: %i\n",onshelf); 71 printf(" onsheet: %i\n",onsheet); 68 72 printf(" upper_node_id=%i\n",upper_node_id); 69 73 printf(" upper_node_offset=%i\n",upper_node_offset); … … 100 104 printf(" onbed: %i\n",onbed); 101 105 printf(" onsurface: %i\n",onsurface); 106 printf(" onshelf: %i\n",onshelf); 107 printf(" onsheet: %i\n",onsheet); 102 108 printf(" upper_node_id=%i\n",upper_node_id); 103 109 printf(" upper_node_offset=%i\n",upper_node_offset); … … 143 149 memcpy(marshalled_dataset,&onbed,sizeof(onbed));marshalled_dataset+=sizeof(onbed); 144 150 memcpy(marshalled_dataset,&onsurface,sizeof(onsurface));marshalled_dataset+=sizeof(onsurface); 151 memcpy(marshalled_dataset,&onshelf,sizeof(onshelf));marshalled_dataset+=sizeof(onshelf); 152 memcpy(marshalled_dataset,&onsheet,sizeof(onsheet));marshalled_dataset+=sizeof(onsheet); 145 153 memcpy(marshalled_dataset,&doflist,sizeof(doflist));marshalled_dataset+=sizeof(doflist); 146 154 memcpy(marshalled_dataset,&doflist1,sizeof(doflist1));marshalled_dataset+=sizeof(doflist1); … … 166 174 sizeof(onbed)+ 167 175 sizeof(onsurface)+ 176 sizeof(onshelf)+ 177 sizeof(onsheet)+ 168 178 sizeof(doflist)+ 169 179 sizeof(doflist1)+ … … 200 210 memcpy(&onbed,marshalled_dataset,sizeof(onbed));marshalled_dataset+=sizeof(onbed); 201 211 memcpy(&onsurface,marshalled_dataset,sizeof(onsurface));marshalled_dataset+=sizeof(onsurface); 212 memcpy(&onshelf,marshalled_dataset,sizeof(onshelf));marshalled_dataset+=sizeof(onshelf); 213 memcpy(&onsheet,marshalled_dataset,sizeof(onsheet));marshalled_dataset+=sizeof(onsheet); 202 214 memcpy(&doflist,marshalled_dataset,sizeof(doflist));marshalled_dataset+=sizeof(doflist); 203 215 memcpy(&doflist1,marshalled_dataset,sizeof(doflist1));marshalled_dataset+=sizeof(doflist1); … … 517 529 return onsurface; 518 530 } 519 531 532 int Node::IsOnShelf(){ 533 return onshelf; 534 } 535 536 int Node::IsOnSheet(){ 537 return onsheet; 538 } 520 539 void Node::FreezeDof(int dof){ 521 540 -
issm/trunk/src/c/objects/Node.h
r803 r816 23 23 int onbed; /*! for 3d, on bedrock*/ 24 24 int onsurface; /*! for 3d, on surface*/ 25 int onshelf; 26 int onsheet; 25 27 26 28 /*for dof constraining: */ … … 41 43 42 44 Node(); 43 Node(int node_id,int node_partitionborder,int node_numdofs, double node_x[3],int node_onbed,int node_onsurface,int upper_node_id );45 Node(int node_id,int node_partitionborder,int node_numdofs, double node_x[3],int node_onbed,int node_onsurface,int upper_node_id,int onshelf,int onsheet); 44 46 ~Node(); 45 47 … … 79 81 void FreezeDof(int dof); 80 82 void VelocityDepthAverageAtBase(Vec ug,double* ug_serial); 81 83 int IsOnShelf(); 84 int IsOnSheet(); 82 85 }; 83 86 -
issm/trunk/src/m/classes/public/marshall.m
r804 r816 74 74 WriteData(fid,md.elementoniceshelf,'Mat','elementoniceshelf'); 75 75 WriteData(fid,md.gridonicesheet,'Mat','gridonicesheet'); 76 WriteData(fid,md.gridoniceshelf,'Mat','gridoniceshelf'); 76 77 77 78 WriteData(fid,md.segmentonneumann_diag,'Mat','segmentonneumann_diag'); -
issm/trunk/src/m/solutions/cielo/transient2d.m
r784 r816 78 78 %update surface and bed using the new thickness 79 79 disp(sprintf('%s',' updating geometry...')); 80 [new_ bed,new_surface,new_thickness]=UpdateGeometry(md,new_thickness,solution(n).b_g,solution(n).s_g);80 [new_thickness,new_bed,new_surface]=UpdateGeometry(m_p.elements,m_p.nodes,m_p.loads,m_p.materials,m_p.parameters,new_thickness,solution(n).b_g,solution(n).s_g); 81 81 82 82 %Record bed surface and thickness in the solution … … 95 95 time=time+dt; 96 96 n=n+1; 97 98 97 end 99 98 -
issm/trunk/src/mex/Makefile.am
r586 r816 43 43 TriMeshRefine\ 44 44 UpdateFromInputs\ 45 UpdateGeometry\ 45 46 VelocityExtrude\ 46 47 VelocityDepthAverage … … 184 185 UpdateFromInputs/UpdateFromInputs.h 185 186 187 UpdateGeometry_SOURCES = UpdateGeometry/UpdateGeometry.cpp\ 188 UpdateGeometry/UpdateGeometry.h 189 186 190 VelocityExtrude_SOURCES = VelocityExtrude/VelocityExtrude.cpp\ 187 191 VelocityExtrude/VelocityExtrude.h
Note:
See TracChangeset
for help on using the changeset viewer.