Changeset 26370
- Timestamp:
- 07/30/21 07:45:47 (4 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp
r25508 r26370 18 18 } 19 19 /*}}}*/ 20 SpcDynamic::SpcDynamic(int spc_id,int spc_nodeid, int spc_dof, int spc_analysis_type){/*{{{*/20 SpcDynamic::SpcDynamic(int spc_id,int spc_nodeid, int spc_dof,IssmDouble value_in,int spc_analysis_type){/*{{{*/ 21 21 22 22 id = spc_id; 23 23 nodeid = spc_nodeid; 24 24 dof = spc_dof; 25 value = 0;25 value = value_in; 26 26 analysis_type = spc_analysis_type; 27 27 isset = false; -
issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.h
r25508 r26370 26 26 /*SpcDynamic constructors, destructors*/ 27 27 SpcDynamic(); 28 SpcDynamic(int id_in,int nodeid, int dof, int analysis_type);28 SpcDynamic(int id_in,int nodeid, int dof,IssmDouble value_in,int analysis_type); 29 29 ~SpcDynamic(); 30 30 -
issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
r23720 r26370 666 666 if((iomodel->my_vertices[i])){ 667 667 if (!xIsNan<IssmDouble>(spcdata[i])){ 668 constraints->AddObject(new SpcDynamic(count+1,i+1,dof, analysis_type));668 constraints->AddObject(new SpcDynamic(count+1,i+1,dof,spcdata[i],analysis_type)); 669 669 count++; 670 670 } … … 676 676 if((iomodel->my_vertices[i])){ 677 677 if (!xIsNan<IssmDouble>(spcdata[i])){ 678 constraints->AddObject(new SpcDynamic(count+1,i+1,dof,analysis_type)); 679 count++; 680 } 681 } 682 } 683 for(i=0;i<iomodel->numberofedges;i++){ 684 if(iomodel->edges[i*3+2]==2){ 685 if(iomodel->my_edges[i]){ 686 v1 = iomodel->edges[3*i+0]-1; 687 v2 = iomodel->edges[3*i+1]-1; 688 if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){ 689 constraints->AddObject(new SpcDynamic(count+1,iomodel->numberofvertices+i+1, 690 dof,analysis_type)); 691 count++; 692 } 678 constraints->AddObject(new SpcDynamic(count+1,i+1,dof,spcdata[i],analysis_type)); 679 count++; 680 } 681 } 682 } 683 for(i=0;i<iomodel->numberofverticaledges;i++){ 684 if(iomodel->my_vedges[i]){ 685 v1 = iomodel->verticaledges[2*i+0]-1; 686 v2 = iomodel->verticaledges[2*i+1]-1; 687 if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){ 688 constraints->AddObject(new SpcDynamic(count+1,iomodel->numberofvertices+i+1,dof,(spcdata[v1]+spcdata[v2])/2.,analysis_type)); 689 count++; 693 690 } 694 691 } … … 699 696 if((iomodel->my_vertices[i])){ 700 697 if (!xIsNan<IssmDouble>(spcdata[i])){ 701 constraints->AddObject(new SpcDynamic(count+1,i+1,dof, analysis_type));702 count++; 703 } 704 } 705 } 706 for(i=0;i<iomodel->numberof edges;i++){707 if(iomodel-> edges[i*3+2]==2){708 if(iomodel->my_edges[i]){709 v1 = iomodel->edges[3*i+0]-1;710 v2 = iomodel->edges[3*i+1]-1;711 if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){712 constraints->AddObject(new SpcDynamic(count+1,iomodel->numberofvertices+2*i+1,dof,analysis_type));713 constraints->AddObject(new SpcDynamic(count+2,iomodel->numberofvertices+2*i+2,dof,analysis_type));714 count=count+2;715 }698 constraints->AddObject(new SpcDynamic(count+1,i+1,dof,spcdata[i],analysis_type)); 699 count++; 700 } 701 } 702 } 703 for(i=0;i<iomodel->numberofverticaledges;i++){ 704 if(iomodel->my_vedges[i]){ 705 v1 = iomodel->verticaledges[2*i+0]-1; 706 v2 = iomodel->verticaledges[2*i+1]-1; 707 if(!xIsNan<IssmDouble>(spcdata[v1]) && !xIsNan<IssmDouble>(spcdata[v2])){ 708 constraints->AddObject(new SpcDynamic(count+1,iomodel->numberofvertices+2*i+1, 709 dof,2./3.*spcdata[v1]+1./3.*spcdata[v2],analysis_type)); 710 constraints->AddObject(new SpcDynamic(count+2,iomodel->numberofvertices+2*i+2, 711 dof,1./3.*spcdata[v1]+2./3.*spcdata[v2],analysis_type)); 712 count=count+2; 716 713 } 717 714 }
Note:
See TracChangeset
for help on using the changeset viewer.