Changeset 26370


Ignore:
Timestamp:
07/30/21 07:45:47 (4 years ago)
Author:
Mathieu Morlighem
Message:

CHG: adding value to SpcDynamic constructor

Location:
issm/trunk-jpl/src/c
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.cpp

    r25508 r26370  
    1818}
    1919/*}}}*/
    20 SpcDynamic::SpcDynamic(int spc_id,int spc_nodeid, int spc_dof,int spc_analysis_type){/*{{{*/
     20SpcDynamic::SpcDynamic(int spc_id,int spc_nodeid, int spc_dof,IssmDouble value_in,int spc_analysis_type){/*{{{*/
    2121
    2222        id           = spc_id;
    2323        nodeid        = spc_nodeid;
    2424        dof           = spc_dof;
    25         value         = 0;
     25        value         = value_in;
    2626        analysis_type = spc_analysis_type;
    2727        isset         = false;
  • issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.h

    r25508 r26370  
    2626                /*SpcDynamic constructors, destructors*/
    2727                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);
    2929                ~SpcDynamic();
    3030
  • issm/trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp

    r23720 r26370  
    666666                                        if((iomodel->my_vertices[i])){
    667667                                                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));
    669669                                                        count++;
    670670                                                }
     
    676676                                        if((iomodel->my_vertices[i])){
    677677                                                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++;
    693690                                                }
    694691                                        }
     
    699696                                        if((iomodel->my_vertices[i])){
    700697                                                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->numberofedges;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;
    716713                                                }
    717714                                        }
Note: See TracChangeset for help on using the changeset viewer.