Changeset 9285
- Timestamp:
- 08/11/11 12:00:33 (14 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 2 added
- 2 deleted
- 15 edited
- 4 moved
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/Container/DataSet.cpp
r9002 r9285 282 282 dataset->AddObject(matpar);} 283 283 break; 284 case Spc Enum:{285 Spc * spc=NULL;286 spc =new Spc();287 spc ->Demarshall(&marshalled_dataset);288 dataset->AddObject(spc );}289 break; 290 case Spc tEnum:{291 Spc t* spct=NULL;292 spct =new Spct();293 spct ->Demarshall(&marshalled_dataset);294 dataset->AddObject(spct );}284 case SpcStaticEnum:{ 285 SpcStatic* spcstatic=NULL; 286 spcstatic=new SpcStatic(); 287 spcstatic->Demarshall(&marshalled_dataset); 288 dataset->AddObject(spcstatic);} 289 break; 290 case SpcTransientEnum:{ 291 SpcTransient* spctransient=NULL; 292 spctransient=new SpcTransient(); 293 spctransient->Demarshall(&marshalled_dataset); 294 dataset->AddObject(spctransient);} 295 295 break; 296 296 -
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r9271 r9285 153 153 ExternalResultEnum, 154 154 /*Spc: */ 155 Spc Enum,156 Spc tEnum,155 SpcStaticEnum, 156 SpcTransientEnum, 157 157 /*}}}*/ 158 158 /*Geography {{{1*/ -
issm/trunk/src/c/Makefile.am
r9260 r9285 231 231 ./objects/Materials/Matpar.cpp\ 232 232 ./objects/Constraints/Constraint.h\ 233 ./objects/Constraints/Spc .cpp\234 ./objects/Constraints/Spc .h\235 ./objects/Constraints/Spc t.cpp\236 ./objects/Constraints/Spc t.h\233 ./objects/Constraints/SpcStatic.cpp\ 234 ./objects/Constraints/SpcStatic.h\ 235 ./objects/Constraints/SpcTransient.cpp\ 236 ./objects/Constraints/SpcTransient.h\ 237 237 ./objects/Loads/Penpair.cpp\ 238 238 ./objects/Loads/Penpair.h\ … … 925 925 ./objects/Materials/Matpar.cpp\ 926 926 ./objects/Constraints/Constraint.h\ 927 ./objects/Constraints/Spc .cpp\928 ./objects/Constraints/Spc .h\929 ./objects/Constraints/Spc t.cpp\930 ./objects/Constraints/Spc t.h\927 ./objects/Constraints/SpcStatic.cpp\ 928 ./objects/Constraints/SpcStatic.h\ 929 ./objects/Constraints/SpcTransient.cpp\ 930 ./objects/Constraints/SpcTransient.h\ 931 931 ./objects/Loads/Penpair.cpp\ 932 932 ./objects/Loads/Penpair.h\ -
issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp
r9271 r9285 129 129 case ElementResultEnum : return "ElementResult"; 130 130 case ExternalResultEnum : return "ExternalResult"; 131 case Spc Enum : return "Spc";132 case Spc tEnum : return "Spct";131 case SpcStaticEnum : return "SpcStatic"; 132 case SpcTransientEnum : return "SpcTransient"; 133 133 case GeographyEnum : return "Geography"; 134 134 case IceSheetEnum : return "IceSheet"; -
issm/trunk/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
r9081 r9285 1 1 /*!\file IoModelToConstraintsx 2 * \brief: used in ModelProcessor, to retrieve a nodal vector and to create corresponding constraints using Spcobjects2 * \brief: used in ModelProcessor, to retrieve a nodal vector and to create corresponding constraints using Constraints objects 3 3 */ 4 4 … … 43 43 /*Transient or static?:*/ 44 44 if(M==iomodel->numberofvertices){ 45 /*static: just create Spcobjects*/45 /*static: just create Constraints objects*/ 46 46 count=0; 47 47 48 /*Create spcs from x,y,z, as well as the spc values on those spcs: */48 /*Create Constraints from x,y,z: */ 49 49 for (i=0;i<iomodel->numberofvertices;i++){ 50 50 … … 54 54 if (!isnan(doublevector[i])){ 55 55 56 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,doublevector[i],analysis_type));56 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,doublevector[i],analysis_type)); 57 57 count++; 58 58 } … … 61 61 } 62 62 else if (M==iomodel->numberofvertices+1){ 63 /*transient: create transient Spc t objects. Same logic, except we need to retrieve64 * various times and values to initialize an Spc t object: */63 /*transient: create transient SpcTransient objects. Same logic, except we need to retrieve 64 * various times and values to initialize an SpcTransient object: */ 65 65 count=0; 66 66 … … 73 73 UnitConversion(times,N,ExtToIuEnum,TimeEnum); 74 74 75 /*Create spcs from x,y,z, as well as the spc values on those spcs: */75 /*Create constraints from x,y,z: */ 76 76 for (i=0;i<iomodel->numberofvertices;i++){ 77 77 … … 88 88 89 89 if(spcpresent){ 90 constraints->AddObject(new Spc t(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,N,times,values,analysis_type));90 constraints->AddObject(new SpcTransient(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,N,times,values,analysis_type)); 91 91 count++; 92 92 } -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
r8926 r9285 19 19 /*Output*/ 20 20 Constraints* constraints = NULL; 21 Spc * spc = NULL;21 SpcStatic* spcstatic = NULL; 22 22 int node1,node2; 23 23 … … 31 31 if (!iomodel->ismacayealpattyn & !iomodel->isstokes)goto cleanup_and_return; 32 32 33 /* Spcs: fetch data: */33 /*Constraints: fetch data: */ 34 34 IoModelFetchData(&iomodel->spcvx,NULL,NULL,iomodel_handle,SpcvxEnum); 35 35 IoModelFetchData(&iomodel->spcvy,NULL,NULL,iomodel_handle,SpcvyEnum); … … 54 54 /*If grionmacayeal, spc pattyn dofs: 3 & 4*/ 55 55 if ((int)iomodel->nodeonpattyn[i]){ 56 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.57 count++; 58 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.59 count++; 60 if (!isnan(iomodel->spcvx[i])){ 61 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.62 count++; 63 } 64 if (!isnan(iomodel->spcvy[i])){ 65 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.56 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 57 count++; 58 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 59 count++; 60 if (!isnan(iomodel->spcvx[i])){ 61 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 62 count++; 63 } 64 if (!isnan(iomodel->spcvy[i])){ 65 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 66 66 count++; 67 67 } … … 69 69 } 70 70 else if ((int)iomodel->nodeonmacayeal[i]){ 71 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.72 count++; 73 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.74 count++; 75 if (!isnan(iomodel->spcvx[i])){ 76 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.77 count++; 78 } 79 if (!isnan(iomodel->spcvy[i])){ 80 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.71 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 72 count++; 73 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 74 count++; 75 if (!isnan(iomodel->spcvx[i])){ 76 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 77 count++; 78 } 79 if (!isnan(iomodel->spcvy[i])){ 80 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 81 81 count++; 82 82 } … … 89 89 /*If grion,pattyn spc stokes dofs: 3 4 & 5*/ 90 90 if ((int)iomodel->nodeonpattyn[i]){ 91 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.92 count++; 93 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.94 count++; 95 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.96 count++; 97 if (!isnan(iomodel->spcvx[i])){ 98 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.99 count++; 100 } 101 if (!isnan(iomodel->spcvy[i])){ 102 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.91 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 92 count++; 93 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 94 count++; 95 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 96 count++; 97 if (!isnan(iomodel->spcvx[i])){ 98 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 99 count++; 100 } 101 if (!isnan(iomodel->spcvy[i])){ 102 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 103 103 count++; 104 104 } … … 106 106 } 107 107 else if ((int)iomodel->nodeonstokes[i]){ //spc pattyn nodes: 1 & 2 108 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.109 count++; 110 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.111 count++; 112 if (!isnan(iomodel->spcvx[i])){ 113 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.114 count++; 115 } 116 if (!isnan(iomodel->spcvy[i])){ 117 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.108 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 109 count++; 110 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 111 count++; 112 if (!isnan(iomodel->spcvx[i])){ 113 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 114 count++; 115 } 116 if (!isnan(iomodel->spcvy[i])){ 117 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 118 118 count++; 119 119 } 120 120 if (!isnan(iomodel->spcvz[i])){ 121 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,iomodel->spcvz[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.121 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,iomodel->spcvz[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 122 122 count++; 123 123 } … … 129 129 /*If grion,pattyn spc stokes dofs: 3 4 & 5*/ 130 130 if ((int)iomodel->nodeonmacayeal[i]){ 131 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.132 count++; 133 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.134 count++; 135 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.136 count++; 137 if (!isnan(iomodel->spcvx[i])){ 138 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.139 count++; 140 } 141 if (!isnan(iomodel->spcvy[i])){ 142 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.131 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 132 count++; 133 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 134 count++; 135 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 136 count++; 137 if (!isnan(iomodel->spcvx[i])){ 138 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 139 count++; 140 } 141 if (!isnan(iomodel->spcvy[i])){ 142 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 143 143 count++; 144 144 } … … 146 146 } 147 147 else if ((int)iomodel->nodeonstokes[i]){ //spc macayeal nodes: 1 & 2 148 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.149 count++; 150 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.151 count++; 152 if (!isnan(iomodel->spcvx[i])){ 153 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.154 count++; 155 } 156 if (!isnan(iomodel->spcvy[i])){ 157 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.148 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 149 count++; 150 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,0,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 151 count++; 152 if (!isnan(iomodel->spcvx[i])){ 153 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 154 count++; 155 } 156 if (!isnan(iomodel->spcvy[i])){ 157 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 158 158 count++; 159 159 } 160 160 if (!isnan(iomodel->spcvz[i])){ 161 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,iomodel->spcvz[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.161 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,5,iomodel->spcvz[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 162 162 count++; 163 163 } … … 168 168 else{ 169 169 if (!isnan(iomodel->spcvx[i]) || (int)iomodel->nodeonhutter[i]){ 170 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.170 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 171 171 count++; 172 172 } 173 173 174 174 if (!isnan(iomodel->spcvy[i]) || (int)iomodel->nodeonhutter[i]){ 175 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 2 to vy175 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 2 to vy 176 176 count++; 177 177 } 178 178 if (!isnan(iomodel->spcvz[i]) && ((int)iomodel->vertices_type[i]==StokesApproximationEnum || ((int)iomodel->vertices_type[i]==NoneApproximationEnum))){ 179 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,iomodel->spcvz[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 2 to vy179 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,3,iomodel->spcvz[i]/iomodel->yts,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 2 to vy 180 180 count++; 181 181 } 182 182 if ((int)iomodel->vertices_type[i]==NoneApproximationEnum){ 183 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,iomodel->g*iomodel->rho_ice*(iomodel->surface[i]-iomodel->z[i])/iomodel->stokesreconditioning,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 2 to vy183 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,4,iomodel->g*iomodel->rho_ice*(iomodel->surface[i]-iomodel->z[i])/iomodel->stokesreconditioning,DiagnosticHorizAnalysisEnum)); //add count'th spc, on node i+1, setting dof 2 to vy 184 184 count++; 185 185 } -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp
r8926 r9285 19 19 /*Output*/ 20 20 Constraints* constraints = NULL; 21 Spc * spc = NULL;21 SpcStatic* spcstatic = NULL; 22 22 23 23 /*Recover pointer: */ … … 44 44 if (!(int)iomodel->nodeonhutter[i]){ 45 45 46 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHutterAnalysisEnum));46 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticHutterAnalysisEnum)); 47 47 count++; 48 48 49 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,0,DiagnosticHutterAnalysisEnum));49 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,0,DiagnosticHutterAnalysisEnum)); 50 50 count++; 51 51 } 52 52 else{ 53 53 if (!isnan(iomodel->spcvx[i])){ 54 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHutterAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx.54 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->spcvx[i]/iomodel->yts,DiagnosticHutterAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 55 55 count++; 56 56 } 57 57 58 58 if (!isnan(iomodel->spcvy[i])){ 59 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHutterAnalysisEnum)); //add count'th spc, on node i+1, setting dof 2 to vy59 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,2,iomodel->spcvy[i]/iomodel->yts,DiagnosticHutterAnalysisEnum)); //add count'th spc, on node i+1, setting dof 2 to vy 60 60 count++; 61 61 } -
issm/trunk/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp
r8926 r9285 43 43 44 44 if ((int)iomodel->nodeonstokes[i]){ 45 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticVertAnalysisEnum)); //spc to zero as vertical velocity is done in Horiz for Stokes45 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,0,DiagnosticVertAnalysisEnum)); //spc to zero as vertical velocity is done in Horiz for Stokes 46 46 count++; 47 47 } 48 48 else if (!isnan(iomodel->spcvz[i])){ 49 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,49 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1, 50 50 iomodel->spcvz[i]/iomodel->yts,DiagnosticVertAnalysisEnum)); //add count'th spc, on node i+1, setting dof 1 to vx. 51 51 count++; -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
r8926 r9285 19 19 /*Output*/ 20 20 Constraints* constraints = NULL; 21 Spc * spc = NULL;21 SpcStatic* spcstatic = NULL; 22 22 23 23 /*Recover pointer: */ … … 36 36 count=0; 37 37 38 /*Create spcs from x,y,z, as well as the spc values on those spcs: */38 /*Create constraints from x,y,z: */ 39 39 for (i=0;i<iomodel->numberofvertices;i++){ 40 40 /*keep only this partition's nodes:*/ … … 43 43 if ((int)iomodel->spctemperature[2*i]){ 44 44 45 constraints->AddObject(new Spc (iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->heatcapacity*(iomodel->spctemperature[2*i+1]-iomodel->referencetemperature),EnthalpyAnalysisEnum));45 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,iomodel->heatcapacity*(iomodel->spctemperature[2*i+1]-iomodel->referencetemperature),EnthalpyAnalysisEnum)); 46 46 count++; 47 47 48 48 } 49 50 } //if((my_nodes[i]==1)) 49 } 51 50 } 52 51 -
issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp
r9271 r9285 127 127 else if (strcmp(name,"ElementResult")==0) return ElementResultEnum; 128 128 else if (strcmp(name,"ExternalResult")==0) return ExternalResultEnum; 129 else if (strcmp(name,"Spc ")==0) return SpcEnum;130 else if (strcmp(name,"Spc t")==0) return SpctEnum;129 else if (strcmp(name,"SpcStatic")==0) return SpcStaticEnum; 130 else if (strcmp(name,"SpcTransient")==0) return SpcTransientEnum; 131 131 else if (strcmp(name,"Geography")==0) return GeographyEnum; 132 132 else if (strcmp(name,"IceSheet")==0) return IceSheetEnum; -
issm/trunk/src/c/modules/UpdateConstraintsx/UpdateConstraintsx.cpp
r9002 r9285 23 23 _printf_(VerboseModule(),"%s%g\n"," Updating constraints for time: ",time); 24 24 25 /*First, update dof constraints in nodes, using Spcconstraints: */25 /*First, update dof constraints in nodes, using constraints: */ 26 26 SpcNodesx(nodes,constraints,parameters,analysis_type); 27 27 … … 29 29 NodesDofx(nodes,parameters,analysis_type); 30 30 31 32 31 } -
issm/trunk/src/c/objects/Constraints/Constraint.h
r9002 r9285 1 1 /*!\file: Constraint.h 2 2 * \brief abstract class for Constraint object 3 * This class is a place holder for the Spc and Spctconstraints3 * This class is a place holder for constraints 4 4 * It is derived from Object, so DataSets can contain them. 5 5 */ -
issm/trunk/src/c/objects/Constraints/SpcStatic.cpp
r9267 r9285 1 /*!\file Spc .c2 * \brief: implementation of the Spc object1 /*!\file SpcStatic.c 2 * \brief: implementation of the SpcStatic object 3 3 */ 4 4 … … 17 17 #include "../objects.h" 18 18 19 /*Spc constructors and destructor*/20 /*FUNCTION Spc ::Spc(){{{1*/21 Spc ::Spc(){19 /*SpcStatic constructors and destructor*/ 20 /*FUNCTION SpcStatic::SpcStatic(){{{1*/ 21 SpcStatic::SpcStatic(){ 22 22 return; 23 23 } 24 24 /*}}}1*/ 25 /*FUNCTION Spc ::Spc(int spc_sid,int spc_nodeid,...){{{1*/26 Spc ::Spc(int spc_sid,int spc_nodeid, int spc_dof,double spc_value,int spc_analysis_type){25 /*FUNCTION SpcStatic::SpcStatic(int spc_sid,int spc_nodeid,...){{{1*/ 26 SpcStatic::SpcStatic(int spc_sid,int spc_nodeid, int spc_dof,double spc_value,int spc_analysis_type){ 27 27 28 28 sid=spc_sid; … … 35 35 } 36 36 /*}}}1*/ 37 /*FUNCTION Spc ::~Spc{{{1*/38 Spc ::~Spc(){37 /*FUNCTION SpcStatic::~SpcStatic{{{1*/ 38 SpcStatic::~SpcStatic(){ 39 39 return; 40 40 } … … 42 42 43 43 /*Object virtual functions definitions:*/ 44 /*FUNCTION Spc ::Echo {{{1*/45 void Spc ::Echo(void){44 /*FUNCTION SpcStatic::Echo {{{1*/ 45 void SpcStatic::Echo(void){ 46 46 47 printf("Spc :\n");47 printf("SpcStatic:\n"); 48 48 printf(" sid: %i\n",sid); 49 49 printf(" nodeid: %i\n",nodeid); … … 54 54 } 55 55 /*}}}1*/ 56 /*FUNCTION Spc ::DeepEcho {{{1*/57 void Spc ::DeepEcho(void){56 /*FUNCTION SpcStatic::DeepEcho {{{1*/ 57 void SpcStatic::DeepEcho(void){ 58 58 59 printf("Spc :\n");59 printf("SpcStatic:\n"); 60 60 printf(" sid: %i\n",sid); 61 61 printf(" nodeid: %i\n",nodeid); … … 66 66 } 67 67 /*}}}1*/ 68 /*FUNCTION Spc ::Id {{{1*/69 int Spc ::Id(void){ return sid; }68 /*FUNCTION SpcStatic::Id {{{1*/ 69 int SpcStatic::Id(void){ return sid; } 70 70 /*}}}1*/ 71 /*FUNCTION Spc ::MyRank {{{1*/72 int Spc ::MyRank(void){71 /*FUNCTION SpcStatic::MyRank {{{1*/ 72 int SpcStatic::MyRank(void){ 73 73 extern int my_rank; 74 74 return my_rank; 75 75 } 76 76 /*}}}1*/ 77 /*FUNCTION Spc ::Marshall {{{1*/78 void Spc ::Marshall(char** pmarshalled_dataset){77 /*FUNCTION SpcStatic::Marshall {{{1*/ 78 void SpcStatic::Marshall(char** pmarshalled_dataset){ 79 79 80 80 char* marshalled_dataset=NULL; … … 84 84 marshalled_dataset=*pmarshalled_dataset; 85 85 86 /*get enum type of Spc : */87 enum_type=Spc Enum;86 /*get enum type of SpcStatic: */ 87 enum_type=SpcStaticEnum; 88 88 89 89 /*marshall enum: */ 90 90 memcpy(marshalled_dataset,&enum_type,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type); 91 91 92 /*marshall Spc data: */92 /*marshall SpcStatic data: */ 93 93 memcpy(marshalled_dataset,&sid,sizeof(sid));marshalled_dataset+=sizeof(sid); 94 94 memcpy(marshalled_dataset,&nodeid,sizeof(nodeid));marshalled_dataset+=sizeof(nodeid); … … 101 101 } 102 102 /*}}}1*/ 103 /*FUNCTION Spc ::MarshallSize {{{1*/104 int Spc ::MarshallSize(){103 /*FUNCTION SpcStatic::MarshallSize {{{1*/ 104 int SpcStatic::MarshallSize(){ 105 105 106 106 return sizeof(sid) … … 112 112 } 113 113 /*}}}1*/ 114 /*FUNCTION Spc ::Demarshall {{{1*/115 void Spc ::Demarshall(char** pmarshalled_dataset){114 /*FUNCTION SpcStatic::Demarshall {{{1*/ 115 void SpcStatic::Demarshall(char** pmarshalled_dataset){ 116 116 117 117 char* marshalled_dataset=NULL; … … 134 134 } 135 135 /*}}}1*/ 136 /*FUNCTION Spc ::Enum {{{1*/137 int Spc ::Enum(void){136 /*FUNCTION SpcStatic::Enum {{{1*/ 137 int SpcStatic::Enum(void){ 138 138 139 return Spc Enum;139 return SpcStaticEnum; 140 140 141 141 } 142 142 /*}}}1*/ 143 /*FUNCTION Spc ::copy {{{1*/144 Object* Spc ::copy() {145 return new Spc (*this);143 /*FUNCTION SpcStatic::copy {{{1*/ 144 Object* SpcStatic::copy() { 145 return new SpcStatic(*this); 146 146 } 147 147 /*}}}1*/ 148 148 149 149 /*Constraint virtual functions definitions: */ 150 /*FUNCTION Spc ::InAnalysis{{{1*/151 bool Spc ::InAnalysis(int in_analysis_type){150 /*FUNCTION SpcStatic::InAnalysis{{{1*/ 151 bool SpcStatic::InAnalysis(int in_analysis_type){ 152 152 if (in_analysis_type==this->analysis_type) return true; 153 153 else return false; 154 154 } 155 155 /*}}}*/ 156 /*FUNCTION Spc ::ConstrainNode{{{1*/157 void Spc ::ConstrainNode(Nodes* nodes,Parameters* parameters){156 /*FUNCTION SpcStatic::ConstrainNode{{{1*/ 157 void SpcStatic::ConstrainNode(Nodes* nodes,Parameters* parameters){ 158 158 159 159 Node* node=NULL; 160 160 161 /*Chase through nodes and find the node to which this Spc applys: */161 /*Chase through nodes and find the node to which this SpcStatic applys: */ 162 162 node=(Node*)nodes->GetObjectById(NULL,nodeid); 163 163 … … 169 169 /*}}}*/ 170 170 171 /*Spc functions*/172 /*FUNCTION Spc ::GetDof {{{1*/173 int Spc ::GetDof(){171 /*SpcStatic functions*/ 172 /*FUNCTION SpcStatic::GetDof {{{1*/ 173 int SpcStatic::GetDof(){ 174 174 return dof; 175 175 } 176 176 /*}}}1*/ 177 /*FUNCTION Spc ::GetNodeId {{{1*/178 int Spc ::GetNodeId(){177 /*FUNCTION SpcStatic::GetNodeId {{{1*/ 178 int SpcStatic::GetNodeId(){ 179 179 180 180 return nodeid; 181 181 } 182 182 /*}}}1*/ 183 /*FUNCTION Spc::GetValue {{{1*/ 184 double Spc::GetValue(){ 183 /*FUNCTION SpcStatic::GetValue {{{1*/ 184 double SpcStatic::GetValue(){ 185 _assert_(!isnan(value)); 185 186 return value; 186 187 } -
issm/trunk/src/c/objects/Constraints/SpcStatic.h
r9267 r9285 1 /*!\file Spc .h1 /*!\file SpcStatic.h 2 2 * \brief: header file for spc object 3 3 */ 4 4 5 #ifndef _SPC _H_6 #define _SPC _H_5 #ifndef _SPCStatic_H_ 6 #define _SPCStatic_H_ 7 7 8 8 /*Headers:*/ … … 12 12 /*}}}*/ 13 13 14 class Spc : public Constraint{14 class SpcStatic: public Constraint{ 15 15 16 16 private: … … 23 23 public: 24 24 25 /*Spc constructors, destructors:{{{1*/26 Spc ();27 Spc (int sid,int nodeid, int dof,double value,int analysis_type);28 ~Spc ();25 /*SpcStatic constructors, destructors:{{{1*/ 26 SpcStatic(); 27 SpcStatic(int sid,int nodeid, int dof,double value,int analysis_type); 28 ~SpcStatic(); 29 29 /*}}}*/ 30 30 /*Object virtual functions definitions:{{{1 */ … … 43 43 bool InAnalysis(int analysis_type); 44 44 /*}}}*/ 45 /*Spc management:{{{1 */45 /*SpcStatic management:{{{1 */ 46 46 int GetNodeId(); 47 47 int GetDof(); … … 51 51 }; 52 52 53 #endif /* _SPC _H_*/53 #endif /* _SPCStatic_H_*/ -
issm/trunk/src/c/objects/Constraints/SpcTransient.cpp
r9267 r9285 1 /*!\file Spc t.c2 * \brief: implementation of the Spc t object1 /*!\file SpcTransient.c 2 * \brief: implementation of the SpcTransient object 3 3 */ 4 4 … … 17 17 #include "../objects.h" 18 18 19 /*Spc t constructors and destructor*/20 /*FUNCTION Spc t::Spct(){{{1*/21 Spc t::Spct(){19 /*SpcTransient constructors and destructor*/ 20 /*FUNCTION SpcTransient::SpcTransient(){{{1*/ 21 SpcTransient::SpcTransient(){ 22 22 sid=-1; 23 23 nodeid=-1; … … 30 30 } 31 31 /*}}}1*/ 32 /*FUNCTION Spc t::Spct(int spc_sid,int spc_nodeid,...){{{1*/33 Spc t::Spct(int spc_sid,int spc_nodeid, int spc_dof,int spc_nsteps, double* spc_times, double* spc_values,int spc_analysis_type){32 /*FUNCTION SpcTransient::SpcTransient(int spc_sid,int spc_nodeid,...){{{1*/ 33 SpcTransient::SpcTransient(int spc_sid,int spc_nodeid, int spc_dof,int spc_nsteps, double* spc_times, double* spc_values,int spc_analysis_type){ 34 34 35 35 sid=spc_sid; … … 47 47 } 48 48 /*}}}1*/ 49 /*FUNCTION Spc t::~Spct{{{1*/50 Spc t::~Spct(){49 /*FUNCTION SpcTransient::~SpcTransient{{{1*/ 50 SpcTransient::~SpcTransient(){ 51 51 xfree((void**)×); 52 52 xfree((void**)&values); … … 56 56 57 57 /*Object virtual functions definitions:*/ 58 /*FUNCTION Spc t::Echo {{{1*/59 void Spc t::Echo(void){58 /*FUNCTION SpcTransient::Echo {{{1*/ 59 void SpcTransient::Echo(void){ 60 60 61 61 int i; 62 printf("Spc t:\n");62 printf("SpcTransient:\n"); 63 63 printf(" sid: %i\n",sid); 64 64 printf(" nodeid: %i\n",nodeid); … … 73 73 } 74 74 /*}}}1*/ 75 /*FUNCTION Spc t::DeepEcho {{{1*/76 void Spc t::DeepEcho(void){75 /*FUNCTION SpcTransient::DeepEcho {{{1*/ 76 void SpcTransient::DeepEcho(void){ 77 77 this->Echo(); 78 78 } 79 79 /*}}}1*/ 80 /*FUNCTION Spc t::Id {{{1*/81 int Spc t::Id(void){ return sid; }82 /*}}}1*/ 83 /*FUNCTION Spc t::MyRank {{{1*/84 int Spc t::MyRank(void){80 /*FUNCTION SpcTransient::Id {{{1*/ 81 int SpcTransient::Id(void){ return sid; } 82 /*}}}1*/ 83 /*FUNCTION SpcTransient::MyRank {{{1*/ 84 int SpcTransient::MyRank(void){ 85 85 extern int my_rank; 86 86 return my_rank; 87 87 } 88 88 /*}}}1*/ 89 /*FUNCTION Spc t::Marshall {{{1*/90 void Spc t::Marshall(char** pmarshalled_dataset){89 /*FUNCTION SpcTransient::Marshall {{{1*/ 90 void SpcTransient::Marshall(char** pmarshalled_dataset){ 91 91 92 92 char* marshalled_dataset=NULL; … … 96 96 marshalled_dataset=*pmarshalled_dataset; 97 97 98 /*get enum type of Spc t: */99 enum_type=Spc tEnum;98 /*get enum type of SpcTransient: */ 99 enum_type=SpcTransientEnum; 100 100 101 101 /*marshall enum: */ 102 102 memcpy(marshalled_dataset,&enum_type,sizeof(enum_type));marshalled_dataset+=sizeof(enum_type); 103 103 104 /*marshall Spc t data: */104 /*marshall SpcTransient data: */ 105 105 memcpy(marshalled_dataset,&sid,sizeof(sid));marshalled_dataset+=sizeof(sid); 106 106 memcpy(marshalled_dataset,&nodeid,sizeof(nodeid));marshalled_dataset+=sizeof(nodeid); … … 117 117 } 118 118 /*}}}1*/ 119 /*FUNCTION Spc t::MarshallSize {{{1*/120 int Spc t::MarshallSize(){119 /*FUNCTION SpcTransient::MarshallSize {{{1*/ 120 int SpcTransient::MarshallSize(){ 121 121 122 122 return sizeof(sid) … … 129 129 } 130 130 /*}}}1*/ 131 /*FUNCTION Spc t::Demarshall {{{1*/132 void Spc t::Demarshall(char** pmarshalled_dataset){131 /*FUNCTION SpcTransient::Demarshall {{{1*/ 132 void SpcTransient::Demarshall(char** pmarshalled_dataset){ 133 133 134 134 char* marshalled_dataset=NULL; … … 157 157 } 158 158 /*}}}1*/ 159 /*FUNCTION Spc t::Enum {{{1*/160 int Spc t::Enum(void){161 162 return Spc tEnum;163 164 } 165 /*}}}1*/ 166 /*FUNCTION Spc t::copy {{{1*/167 Object* Spc t::copy() {168 return new Spc t(sid,nodeid,dof,nsteps,times,values,analysis_type);159 /*FUNCTION SpcTransient::Enum {{{1*/ 160 int SpcTransient::Enum(void){ 161 162 return SpcTransientEnum; 163 164 } 165 /*}}}1*/ 166 /*FUNCTION SpcTransient::copy {{{1*/ 167 Object* SpcTransient::copy() { 168 return new SpcTransient(sid,nodeid,dof,nsteps,times,values,analysis_type); 169 169 } 170 170 /*}}}1*/ 171 171 172 172 /*Constraint virtual functions definitions:*/ 173 /*FUNCTION Spc t::InAnalysis{{{1*/174 bool Spc t::InAnalysis(int in_analysis_type){173 /*FUNCTION SpcTransient::InAnalysis{{{1*/ 174 bool SpcTransient::InAnalysis(int in_analysis_type){ 175 175 176 176 if (in_analysis_type==this->analysis_type) return true; … … 178 178 } 179 179 /*}}}*/ 180 /*FUNCTION Spc t::ConstrainNode{{{1*/181 void Spc t::ConstrainNode(Nodes* nodes,Parameters* parameters){180 /*FUNCTION SpcTransient::ConstrainNode{{{1*/ 181 void SpcTransient::ConstrainNode(Nodes* nodes,Parameters* parameters){ 182 182 183 183 Node* node=NULL; … … 188 188 bool found=false; 189 189 190 /*Chase through nodes and find the node to which this Spc t applys: */190 /*Chase through nodes and find the node to which this SpcTransient applys: */ 191 191 node=(Node*)nodes->GetObjectById(NULL,nodeid); 192 192 … … 227 227 /*}}}*/ 228 228 229 /*Spc t functions*/230 /*FUNCTION Spc t::GetDof {{{1*/231 int Spc t::GetDof(){229 /*SpcTransient functions*/ 230 /*FUNCTION SpcTransient::GetDof {{{1*/ 231 int SpcTransient::GetDof(){ 232 232 return dof; 233 233 } 234 234 /*}}}1*/ 235 /*FUNCTION Spc t::GetNodeId {{{1*/236 int Spc t::GetNodeId(){235 /*FUNCTION SpcTransient::GetNodeId {{{1*/ 236 int SpcTransient::GetNodeId(){ 237 237 238 238 return nodeid; 239 239 } 240 240 /*}}}1*/ 241 /*FUNCTION Spc t::GetValue {{{1*/242 double Spc t::GetValue(){241 /*FUNCTION SpcTransient::GetValue {{{1*/ 242 double SpcTransient::GetValue(){ 243 243 return values[0]; 244 244 } -
issm/trunk/src/c/objects/Constraints/SpcTransient.h
r9267 r9285 1 /*!\file Spc t.h1 /*!\file SpcTransient.h 2 2 * \brief: header file for spc object 3 3 */ 4 4 5 #ifndef _SPCT _H_6 #define _SPCT _H_5 #ifndef _SPCTRANSIENT_H_ 6 #define _SPCTRANSIENT_H_ 7 7 8 8 /*Headers:*/ … … 12 12 /*}}}*/ 13 13 14 class Spc t: public Constraint{14 class SpcTransient: public Constraint{ 15 15 16 16 private: … … 25 25 public: 26 26 27 /*Spc t constructors, destructors:{{{1*/28 Spc t();29 Spc t(int sid,int nodeid, int dof,int nsteps, double* times, double* values,int analysis_type);30 ~Spc t();27 /*SpcTransient constructors, destructors:{{{1*/ 28 SpcTransient(); 29 SpcTransient(int sid,int nodeid, int dof,int nsteps, double* times, double* values,int analysis_type); 30 ~SpcTransient(); 31 31 /*}}}*/ 32 32 /*Object virtual functions definitions:{{{1 */ … … 45 45 bool InAnalysis(int analysis_type); 46 46 /*}}}*/ 47 /*Spc t management:{{{1 */47 /*SpcTransient management:{{{1 */ 48 48 int GetNodeId(); 49 49 int GetDof(); … … 53 53 }; 54 54 55 #endif /* _SPCT _H_ */55 #endif /* _SPCTRANSIENT_H_ */ -
issm/trunk/src/c/objects/Node.cpp
r9218 r9285 99 99 /*Diagnostic Hutter*/ 100 100 if (analysis_type==DiagnosticHutterAnalysisEnum){ 101 /* Spcall nodes that are not Hutter*/101 /*Constrain all nodes that are not Hutter*/ 102 102 if (!iomodel->nodeonhutter) _error_("iomodel->nodeonhutter is NULL"); 103 103 if (!iomodel->nodeonhutter[io_index]){ … … 576 576 if(this->indexing.s_set[i]){ 577 577 values[count]=this->indexing.svalues[i]; 578 _assert_(!isnan(values[count])); 578 579 count++; 579 580 } -
issm/trunk/src/c/objects/objects.h
r9002 r9285 21 21 /*Constraints: */ 22 22 #include "./Constraints/Constraint.h" 23 #include "./Constraints/Spc .h"24 #include "./Constraints/Spc t.h"23 #include "./Constraints/SpcStatic.h" 24 #include "./Constraints/SpcTransient.h" 25 25 26 26 /*Gauss*/ -
issm/trunk/src/c/solvers/solver_nonlinear.cpp
r9277 r9285 35 35 femmodel->parameters->FindParam(&max_nonlinear_iterations,MaxNonlinearIterationsEnum); 36 36 femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum); 37 //UpdateConstraintsx(femmodel->nodes,femmodel->constraints,femmodel->parameters);37 UpdateConstraintsx(femmodel->nodes,femmodel->constraints,femmodel->parameters); 38 38 39 39 /*Were loads requested as output? : */
Note:
See TracChangeset
for help on using the changeset viewer.