Changeset 3687


Ignore:
Timestamp:
05/10/10 15:29:06 (15 years ago)
Author:
Eric.Larour
Message:

Added vx,vy,vz, vx_obs,vy_obs,vz_obs,weights in elements

Location:
issm/trunk/src/c/objects/Elements
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/objects/Elements/Beam.cpp

    r3683 r3687  
    104104                nodeinputs[1]=iomodel->drag_coefficient[(int)(iomodel->uppernodes[index]-1)];
    105105                this->inputs->AddInput(new BeamVertexInput(DragCoefficientEnum,nodeinputs));
     106        }
     107       
     108        if (iomodel->vx) {
     109                nodeinputs[0]=iomodel->vx[index];
     110                nodeinputs[1]=iomodel->vx[(int)(iomodel->uppernodes[index]-1)];
     111                this->inputs->AddInput(new BeamVertexInput(VxEnum,nodeinputs));
     112        }
     113        if (iomodel->vy) {
     114                nodeinputs[0]=iomodel->vy[index];
     115                nodeinputs[1]=iomodel->vy[(int)(iomodel->uppernodes[index]-1)];
     116                this->inputs->AddInput(new BeamVertexInput(VyEnum,nodeinputs));
     117        }
     118        if (iomodel->vz) {
     119                nodeinputs[0]=iomodel->vz[index];
     120                nodeinputs[1]=iomodel->vz[(int)(iomodel->uppernodes[index]-1)];
     121                this->inputs->AddInput(new BeamVertexInput(VzEnum,nodeinputs));
     122        }
     123        if (iomodel->vx_obs) {
     124                nodeinputs[0]=iomodel->vx_obs[index];
     125                nodeinputs[1]=iomodel->vx_obs[(int)(iomodel->uppernodes[index]-1)];
     126                this->inputs->AddInput(new BeamVertexInput(VxEnum,nodeinputs));
     127        }
     128        if (iomodel->vy_obs) {
     129                nodeinputs[0]=iomodel->vy_obs[index];
     130                nodeinputs[1]=iomodel->vy_obs[(int)(iomodel->uppernodes[index]-1)];
     131                this->inputs->AddInput(new BeamVertexInput(VyEnum,nodeinputs));
     132        }
     133        if (iomodel->vz_obs) {
     134                nodeinputs[0]=iomodel->vz_obs[index];
     135                nodeinputs[1]=iomodel->vz_obs[(int)(iomodel->uppernodes[index]-1)];
     136                this->inputs->AddInput(new BeamVertexInput(VzEnum,nodeinputs));
     137        }
     138        if (iomodel->weights) {
     139                nodeinputs[0]=iomodel->weights[index];
     140                nodeinputs[1]=iomodel->weights[(int)(iomodel->uppernodes[index]-1)];
     141                this->inputs->AddInput(new BeamVertexInput(WeightszEnum,nodeinputs));
    106142        }       
    107143        if (iomodel->gridonbed) this->inputs->AddInput(new BoolInput(ElementOnBedEnum,(IssmBool)iomodel->gridonbed[index]));
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r3683 r3687  
    118118                this->inputs->AddInput(new PentaVertexInput(GeothermalFluxEnum,nodeinputs));
    119119        }       
     120
     121        /*vx,vy and vz: */
     122        if (iomodel->vx) {
     123                for(i=0;i<6;i++)nodeinputs[i]=iomodel->vx[penta_node_ids[i]-1];
     124                this->inputs->AddInput(new PentaVertexInput(VxEnum,nodeinputs));
     125        }
     126        if (iomodel->vy) {
     127                for(i=0;i<6;i++)nodeinputs[i]=iomodel->vy[penta_node_ids[i]-1];
     128                this->inputs->AddInput(new PentaVertexInput(VyEnum,nodeinputs));
     129        }
     130        if (iomodel->vz) {
     131                for(i=0;i<6;i++)nodeinputs[i]=iomodel->vz[penta_node_ids[i]-1];
     132                this->inputs->AddInput(new PentaVertexInput(VzEnum,nodeinputs));
     133        }
     134        if (iomodel->vx_obs) {
     135                for(i=0;i<6;i++)nodeinputs[i]=iomodel->vx_obs[penta_node_ids[i]-1];
     136                this->inputs->AddInput(new PentaVertexInput(VxObsEnum,nodeinputs));
     137        }
     138        if (iomodel->vy_obs) {
     139                for(i=0;i<6;i++)nodeinputs[i]=iomodel->vy_obs[penta_node_ids[i]-1];
     140                this->inputs->AddInput(new PentaVertexInput(VyObsEnum,nodeinputs));
     141        }
     142        if (iomodel->vz_obs) {
     143                for(i=0;i<6;i++)nodeinputs[i]=iomodel->vz_obs[penta_node_ids[i]-1];
     144                this->inputs->AddInput(new PentaVertexInput(VzObsEnum,nodeinputs));
     145        }
     146        if (iomodel->weights) {
     147                for(i=0;i<6;i++)nodeinputs[i]=iomodel->weights[penta_node_ids[i]-1];
     148                this->inputs->AddInput(new PentaVertexInput(WeightsEnum,nodeinputs));
     149        }
    120150
    121151        if (iomodel->elementoniceshelf) this->inputs->AddInput(new BoolInput(ElementOnIceShelfEnum,(IssmBool)iomodel->elementoniceshelf[index]));
  • issm/trunk/src/c/objects/Elements/Sing.cpp

    r3683 r3687  
    8787        if (iomodel->thickness) this->inputs->AddInput(new SingVertexInput(ThicknessEnum,iomodel->thickness[i]));
    8888        if (iomodel->drag_coefficient) this->inputs->AddInput(new SingVertexInput(DragCoefficientEnum,iomodel->drag_coefficient[i]));
     89        if (iomodel->vx) this->inputs->AddInput(new SingVertexInput(VxEnum,iomodel->vx[i]));
     90        if (iomodel->vy) this->inputs->AddInput(new SingVertexInput(VyEnum,iomodel->vy[i]));
     91        if (iomodel->vz) this->inputs->AddInput(new SingVertexInput(VzEnum,iomodel->vz[i]));
     92        if (iomodel->vx_obs) this->inputs->AddInput(new SingVertexInput(VxEnum,iomodel->vx_obs[i]));
     93        if (iomodel->vy_obs) this->inputs->AddInput(new SingVertexInput(VyEnum,iomodel->vy_obs[i]));
     94        if (iomodel->vz_obs) this->inputs->AddInput(new SingVertexInput(VzEnum,iomodel->vz_obs[i]));
     95        if (iomodel->weights) this->inputs->AddInput(new SingVertexInput(WeightsEnum,iomodel->weights[i]));
    8996
    9097        //this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r3683 r3687  
    130130                for(i=0;i<3;i++)nodeinputs[i]=iomodel->geothermalflux[tria_node_ids[i]-1];
    131131                this->inputs->AddInput(new TriaVertexInput(GeothermalFluxEnum,nodeinputs));
    132         }       
     132        }
     133        /*vx,vy and vz: */
     134        if (iomodel->vx) {
     135                for(i=0;i<3;i++)nodeinputs[i]=iomodel->vx[tria_node_ids[i]-1];
     136                this->inputs->AddInput(new TriaVertexInput(VxEnum,nodeinputs));
     137        }
     138        if (iomodel->vy) {
     139                for(i=0;i<3;i++)nodeinputs[i]=iomodel->vy[tria_node_ids[i]-1];
     140                this->inputs->AddInput(new TriaVertexInput(VyEnum,nodeinputs));
     141        }
     142        if (iomodel->vz) {
     143                for(i=0;i<3;i++)nodeinputs[i]=iomodel->vz[tria_node_ids[i]-1];
     144                this->inputs->AddInput(new TriaVertexInput(VzEnum,nodeinputs));
     145        }
     146        if (iomodel->vx_obs) {
     147                for(i=0;i<3;i++)nodeinputs[i]=iomodel->vx_obs[tria_node_ids[i]-1];
     148                this->inputs->AddInput(new TriaVertexInput(VxObsEnum,nodeinputs));
     149        }
     150        if (iomodel->vy_obs) {
     151                for(i=0;i<3;i++)nodeinputs[i]=iomodel->vy_obs[tria_node_ids[i]-1];
     152                this->inputs->AddInput(new TriaVertexInput(VyObsEnum,nodeinputs));
     153        }
     154        if (iomodel->vz_obs) {
     155                for(i=0;i<3;i++)nodeinputs[i]=iomodel->vz_obs[tria_node_ids[i]-1];
     156                this->inputs->AddInput(new TriaVertexInput(VzObsEnum,nodeinputs));
     157        }
     158        if (iomodel->weights) {
     159                for(i=0;i<3;i++)nodeinputs[i]=iomodel->weights[tria_node_ids[i]-1];
     160                this->inputs->AddInput(new TriaVertexInput(WeightsEnum,nodeinputs));
     161        }
     162
    133163
    134164        if (iomodel->elementoniceshelf) this->inputs->AddInput(new BoolInput(ElementOnIceShelfEnum,(IssmBool)iomodel->elementoniceshelf[index]));
Note: See TracChangeset for help on using the changeset viewer.