Changeset 4260
- Timestamp:
- 06/28/10 11:05:36 (15 years ago)
- Location:
- issm/trunk/src/c/objects/Elements
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Elements/Penta.cpp
r4253 r4260 1679 1679 this->inputs->AddInput(new PentaVertexInput(WeightsEnum,nodeinputs)); 1680 1680 } 1681 1682 /*default vx,vy and vz: either observation or 0 */1683 if (!iomodel->vx){1684 if (iomodel->vx_obs) for(i=0;i<6;i++)nodeinputs[i]=iomodel->vx_obs[penta_vertex_ids[i]-1]/iomodel->yts;1685 else for(i=0;i<6;i++)nodeinputs[i]=0;1686 this->inputs->AddInput(new PentaVertexInput(VxEnum,nodeinputs));1687 this->inputs->AddInput(new PentaVertexInput(VxOldEnum,nodeinputs));1688 }1689 if (!iomodel->vy){1690 if (iomodel->vy_obs) for(i=0;i<6;i++)nodeinputs[i]=iomodel->vy_obs[penta_vertex_ids[i]-1]/iomodel->yts;1691 else for(i=0;i<6;i++)nodeinputs[i]=0;1692 this->inputs->AddInput(new PentaVertexInput(VyEnum,nodeinputs));1693 this->inputs->AddInput(new PentaVertexInput(VyOldEnum,nodeinputs));1694 }1695 if (!iomodel->vz){1696 if (iomodel->vz_obs) for(i=0;i<6;i++)nodeinputs[i]=iomodel->vz_obs[penta_vertex_ids[i]-1]/iomodel->yts;1697 else for(i=0;i<6;i++)nodeinputs[i]=0;1698 this->inputs->AddInput(new PentaVertexInput(VzEnum,nodeinputs));1699 this->inputs->AddInput(new PentaVertexInput(VzOldEnum,nodeinputs));1700 }1701 1681 if (iomodel->elementoniceshelf) this->inputs->AddInput(new BoolInput(ElementOnIceShelfEnum,(IssmBool)iomodel->elementoniceshelf[index])); 1702 1682 if (iomodel->elementonbed) this->inputs->AddInput(new BoolInput(ElementOnBedEnum,(IssmBool)iomodel->elementonbed[index])); 1703 1683 if (iomodel->elementonwater) this->inputs->AddInput(new BoolInput(ElementOnWaterEnum,(IssmBool)iomodel->elementonwater[index])); 1704 1684 if (iomodel->elementonsurface) this->inputs->AddInput(new BoolInput(ElementOnSurfaceEnum,(IssmBool)iomodel->elementonsurface[index])); 1685 1686 /*Defaults if not provided in iomodel*/ 1687 switch(analysis_type){ 1688 1689 case DiagnosticHorizAnalysisEnum: case DiagnosticVertAnalysisEnum: case DiagnosticStokesAnalysisEnum: 1690 1691 /*default vx,vy and vz: either observation or 0 */ 1692 if(!iomodel->vx){ 1693 if (iomodel->vx_obs) for(i=0;i<6;i++)nodeinputs[i]=iomodel->vx_obs[penta_vertex_ids[i]-1]/iomodel->yts; 1694 else for(i=0;i<6;i++)nodeinputs[i]=0; 1695 this->inputs->AddInput(new PentaVertexInput(VxEnum,nodeinputs)); 1696 this->inputs->AddInput(new PentaVertexInput(VxOldEnum,nodeinputs)); 1697 } 1698 if(!iomodel->vy){ 1699 if (iomodel->vy_obs) for(i=0;i<6;i++)nodeinputs[i]=iomodel->vy_obs[penta_vertex_ids[i]-1]/iomodel->yts; 1700 else for(i=0;i<6;i++)nodeinputs[i]=0; 1701 this->inputs->AddInput(new PentaVertexInput(VyEnum,nodeinputs)); 1702 this->inputs->AddInput(new PentaVertexInput(VyOldEnum,nodeinputs)); 1703 } 1704 if(!iomodel->vz){ 1705 if (iomodel->vz_obs) for(i=0;i<6;i++)nodeinputs[i]=iomodel->vz_obs[penta_vertex_ids[i]-1]/iomodel->yts; 1706 else for(i=0;i<6;i++)nodeinputs[i]=0; 1707 this->inputs->AddInput(new PentaVertexInput(VzEnum,nodeinputs)); 1708 this->inputs->AddInput(new PentaVertexInput(VzOldEnum,nodeinputs)); 1709 } 1710 break; 1711 1712 default: 1713 /*No update for other solution types*/ 1714 break; 1715 1716 } 1705 1717 1706 1718 //elements of type 3 are macayeal type penta. we collapse the formulation on their base. -
issm/trunk/src/c/objects/Elements/Tria.cpp
r4253 r4260 181 181 this->inputs->AddInput(new TriaVertexInput(WeightsEnum,nodeinputs)); 182 182 } 183 184 /*default vx,vy and vz: either observation or 0 */185 if(!iomodel->vx){186 if (iomodel->vx_obs) for(i=0;i<3;i++)nodeinputs[i]=iomodel->vx_obs[tria_vertex_ids[i]-1]/iomodel->yts;187 else for(i=0;i<3;i++)nodeinputs[i]=0;188 this->inputs->AddInput(new TriaVertexInput(VxEnum,nodeinputs));189 this->inputs->AddInput(new TriaVertexInput(VxOldEnum,nodeinputs));190 }191 if(!iomodel->vy){192 if (iomodel->vy_obs) for(i=0;i<3;i++)nodeinputs[i]=iomodel->vy_obs[tria_vertex_ids[i]-1]/iomodel->yts;193 else for(i=0;i<3;i++)nodeinputs[i]=0;194 this->inputs->AddInput(new TriaVertexInput(VyEnum,nodeinputs));195 this->inputs->AddInput(new TriaVertexInput(VyOldEnum,nodeinputs));196 }197 if(!iomodel->vz){198 if (iomodel->vz_obs) for(i=0;i<3;i++)nodeinputs[i]=iomodel->vz_obs[tria_vertex_ids[i]-1]/iomodel->yts;199 else for(i=0;i<3;i++)nodeinputs[i]=0;200 this->inputs->AddInput(new TriaVertexInput(VzEnum,nodeinputs));201 this->inputs->AddInput(new TriaVertexInput(VzOldEnum,nodeinputs));202 }203 204 183 if (iomodel->elementoniceshelf) this->inputs->AddInput(new BoolInput(ElementOnIceShelfEnum,(IssmBool)iomodel->elementoniceshelf[index])); 205 184 if (iomodel->elementonbed) this->inputs->AddInput(new BoolInput(ElementOnBedEnum,(IssmBool)iomodel->elementonbed[index])); 206 185 if (iomodel->elementonwater) this->inputs->AddInput(new BoolInput(ElementOnWaterEnum,(IssmBool)iomodel->elementonwater[index])); 207 186 if (iomodel->elementonsurface) this->inputs->AddInput(new BoolInput(ElementOnSurfaceEnum,(IssmBool)iomodel->elementonsurface[index])); 187 188 /*Defaults if not provided in iomodel*/ 189 switch(analysis_type){ 190 191 case DiagnosticHorizAnalysisEnum: case DiagnosticVertAnalysisEnum: case DiagnosticStokesAnalysisEnum: 192 193 /*default vx,vy and vz: either observation or 0 */ 194 if(!iomodel->vx){ 195 if (iomodel->vx_obs) for(i=0;i<3;i++)nodeinputs[i]=iomodel->vx_obs[tria_vertex_ids[i]-1]/iomodel->yts; 196 else for(i=0;i<3;i++)nodeinputs[i]=0; 197 this->inputs->AddInput(new TriaVertexInput(VxEnum,nodeinputs)); 198 this->inputs->AddInput(new TriaVertexInput(VxOldEnum,nodeinputs)); 199 } 200 if(!iomodel->vy){ 201 if (iomodel->vy_obs) for(i=0;i<3;i++)nodeinputs[i]=iomodel->vy_obs[tria_vertex_ids[i]-1]/iomodel->yts; 202 else for(i=0;i<3;i++)nodeinputs[i]=0; 203 this->inputs->AddInput(new TriaVertexInput(VyEnum,nodeinputs)); 204 this->inputs->AddInput(new TriaVertexInput(VyOldEnum,nodeinputs)); 205 } 206 if(!iomodel->vz){ 207 if (iomodel->vz_obs) for(i=0;i<3;i++)nodeinputs[i]=iomodel->vz_obs[tria_vertex_ids[i]-1]/iomodel->yts; 208 else for(i=0;i<3;i++)nodeinputs[i]=0; 209 this->inputs->AddInput(new TriaVertexInput(VzEnum,nodeinputs)); 210 this->inputs->AddInput(new TriaVertexInput(VzOldEnum,nodeinputs)); 211 } 212 break; 213 214 default: 215 /*No update for other solution types*/ 216 break; 217 218 } 208 219 209 220 //this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
Note:
See TracChangeset
for help on using the changeset viewer.