Changeset 3808


Ignore:
Timestamp:
05/18/10 11:51:05 (15 years ago)
Author:
Mathieu Morlighem
Message:

divided GetStrainRate in GetVxStrainRate and GetVyStrainRate

Location:
issm/trunk/src/c
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/DataSet/DataSet.h

    r3751 r3808  
    99#include "../objects/Object.h"
    1010#include "../toolkits/toolkits.h"
     11#include "../EnumDefinitions/EnumDefinitions.h"
    1112
    1213/*forward declarations */
     
    140141       
    141142                void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss,int enum_type);
    142                 void GetStrainRate(double* epsilon,double* xyz_list, double* gauss, int xenum, int yenum);
    143                 void GetStrainRateStokes(double* epsilon,double* xyz_list, double* gauss, int xenum, int yenum,int yenum);
     143                void GetStrainRate2d(double* epsilon,double* xyz_list, double* gauss, int vxenum, int vyenum,int formulation_enum=MacAyealFormulationEnum);
     144                void GetStrainRate3d(double* epsilon,double* xyz_list, double* gauss, int vxenum, int vyenum,int vzenum,int formulation_enum=StokesFormulationEnum);
    144145
    145146                void ChangeEnum(int enumtype,int new_enumtype);
  • issm/trunk/src/c/DataSet/Inputs.cpp

    r3800 r3808  
    282282}
    283283/*}}}*/
    284 /*FUNCTION Inputs::GetStrainRate(double* epsilon,double* xyz_list, double* gauss, int xenum, int yenum){{{1*/
    285 void Inputs::GetStrainRate(double* epsilon,double* xyz_list, double* gauss, int xenum, int yenum){
    286 
    287         vector<Object*>::iterator object;
    288         Input* xinput=NULL;
    289         Input* yinput=NULL;
    290 
    291         /*Go through inputs and find data for xenum: */
    292         for ( object=objects.begin() ; object < objects.end(); object++ ){
    293                 xinput=(Input*)(*object);
    294                 if (xinput->EnumType()==xenum)break;
    295         }
    296         /*Go through inputs and find data for yenum: */
    297         for ( object=objects.begin() ; object < objects.end(); object++ ){
    298                 yinput=(Input*)(*object);
    299                 if (yinput->EnumType()==yenum)break;
    300         }
    301 
    302         if (!xinput || !yinput){
     284/*FUNCTION Inputs::GetStrainRate2d(double* epsilon,double* xyz_list, double* gauss, int vxenum, int vyenum, int formulation_enum){{{1*/
     285void Inputs::GetStrainRate2d(double* epsilon,double* xyz_list, double* gauss, int vxenum, int vyenum,int formulation_enum){
     286
     287        vector<Object*>::iterator object;
     288        int i;
     289        Input* vxinput=NULL;
     290        Input* vyinput=NULL;
     291        double epsilonvx[3];
     292        double epsilonvy[3];
     293
     294        /*Go through inputs and find data for vxenum: */
     295        for ( object=objects.begin() ; object < objects.end(); object++ ){
     296                vxinput=(Input*)(*object);
     297                if (vxinput->EnumType()==vxenum)break;
     298        }
     299        /*Go through inputs and find data for vyenum: */
     300        for ( object=objects.begin() ; object < objects.end(); object++ ){
     301                vyinput=(Input*)(*object);
     302                if (vyinput->EnumType()==vyenum)break;
     303        }
     304
     305        /*Check that both inputs have been found*/
     306        if (!vxinput || !vyinput){
     307                ISSMERROR("Could not find input with enum %i or enum %i",vxenum,vyenum);
     308        }
     309
     310        /*Get strain rate assuming that epsilon has been allocated*/
     311        vxinput->GetVxStrainRate2d(epsilonvx,xyz_list,gauss,formulation_enum);
     312        vyinput->GetVyStrainRate2d(epsilonvy,xyz_list,gauss,formulation_enum);
     313        for(i=0;i<3;i++) epsilon[i]=epsilonvx[i]+epsilonvy[i];
     314
     315}
     316/*}}}*/
     317/*FUNCTION Inputs::GetStrainRate3d(double* epsilon,double* xyz_list, double* gauss, int vxenum, int vyenum, int formulation_enum){{{1*/
     318void Inputs::GetStrainRate3d(double* epsilon,double* xyz_list, double* gauss, int vxenum, int vyenum,int vzenum,int formulation_enum){
     319
     320        vector<Object*>::iterator object;
     321        Input* vxinput=NULL;
     322        Input* vyinput=NULL;
     323        Input* vzinput=NULL;
     324
     325        /*Go through inputs and find data for vxenum: */
     326        for ( object=objects.begin() ; object < objects.end(); object++ ){
     327                vxinput=(Input*)(*object);
     328                if (vxinput->EnumType()==vxenum)break;
     329        }
     330        /*Go through inputs and find data for vyenum: */
     331        for ( object=objects.begin() ; object < objects.end(); object++ ){
     332                vyinput=(Input*)(*object);
     333                if (vyinput->EnumType()==vyenum)break;
     334        }
     335        /*Go through inputs and find data for vzenum: */
     336        for ( object=objects.begin() ; object < objects.end(); object++ ){
     337                vzinput=(Input*)(*object);
     338                if (vzinput->EnumType()==vzenum)break;
     339        }
     340
     341        if (!vxinput || !vyinput || !vzinput){
    303342                /*we could not find one input with the correct enum type. No defaults values were provided,
    304343                 * error out: */
    305                 ISSMERROR("%s%i%s%i\n"," could not find input with enum type ",xenum," or enum type ",yenum);
    306         }
    307 
    308         /*Ok, we have the inputs, call bilinear operator: */
    309         xinput->GetStrainRate(epsilon,yinput,xyz_list,gauss);
    310 
    311 }
    312 /*}}}*/
    313 /*FUNCTION Inputs::GetStrainRateStokes(double* epsilon,double* xyz_list, double* gauss, int xenum, int yenum,int zenum){{{1*/
    314 void Inputs::GetStrainRateStokes(double* epsilon,double* xyz_list, double* gauss, int xenum, int yenum,int zenum){
    315 
    316         vector<Object*>::iterator object;
    317         Input* xinput=NULL;
    318         Input* yinput=NULL;
    319         Input* zinput=NULL;
    320 
    321         /*Go through inputs and find data for xenum: */
    322         for ( object=objects.begin() ; object < objects.end(); object++ ){
    323                 xinput=(Input*)(*object);
    324                 if (xinput->EnumType()==xenum)break;
    325         }
    326         /*Go through inputs and find data for yenum: */
    327         for ( object=objects.begin() ; object < objects.end(); object++ ){
    328                 yinput=(Input*)(*object);
    329                 if (yinput->EnumType()==yenum)break;
    330         }
    331         /*Go through inputs and find data for zenum: */
    332         for ( object=objects.begin() ; object < objects.end(); object++ ){
    333                 zinput=(Input*)(*object);
    334                 if (zinput->EnumType()==zenum)break;
    335         }
    336 
    337         if (!xinput | !yinput | !zinput){
    338                 /*we could not find one input with the correct enum type. No defaults values were provided,
    339                  * error out: */
    340                 ISSMERROR("%s%i%s%i%s%i\n"," could not find input with enum type ",xenum," or enum type ",yenum, " or enum type ",zenum);
    341         }
    342 
    343         /*Ok, we have the inputs, call bilinear operator: */
    344         xinput->GetStrainRateStokes(epsilon,yinput,zinput,xyz_list,gauss);
     344                ISSMERROR("Could not find input with enum %i or enum %i or enum %i",vxenum,vyenum,vzenum);
     345        }
     346
     347        ISSMERROR("STOP");
    345348
    346349}
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r3805 r3808  
    610610
    611611                        /*Compute strain rate viscosity and pressure: */
    612                         inputs->GetStrainRateStokes(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
     612                        inputs->GetStrainRate3d(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
    613613                        matice->GetViscosity3dStokes(&viscosity,&epsilon[0]);
    614614                        inputs->GetParameterValue(&pressure, &gauss_coord[0],PressureEnum);
     
    10111011
    10121012                                /*Get strain rate from velocity: */
    1013                                 inputs->GetStrainRate(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum);
    1014                                 inputs->GetStrainRate(&oldepsilon[0],&xyz_list[0][0],gauss_coord,VxOldEnum,VyOldEnum);
     1013                                inputs->GetStrainRate3d(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum,PattynFormulationEnum);
     1014                                inputs->GetStrainRate3d(&oldepsilon[0],&xyz_list[0][0],gauss_coord,VxOldEnum,VyOldEnum,VzObsEnum,PattynFormulationEnum);
    10151015
    10161016                                /*Get viscosity: */
     
    12141214
    12151215                        /*Compute strain rate: */
    1216                         inputs->GetStrainRateStokes(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
     1216                        inputs->GetStrainRate3d(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
    12171217
    12181218                        /*Get viscosity: */
     
    13141314
    13151315                        /*Compute strain rate: */
    1316                         inputs->GetStrainRateStokes(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
     1316                        inputs->GetStrainRate3d(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
    13171317
    13181318                        /*Get viscosity at last iteration: */
     
    22112211
    22122212                        /*Compute strain rate and viscosity: */
    2213                         inputs->GetStrainRateStokes(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
     2213                        inputs->GetStrainRate3d(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
    22142214                        matice->GetViscosity3dStokes(&viscosity,&epsilon[0]);
    22152215
     
    26462646
    26472647                        /*Compute strain rate and viscosity: */
    2648                         inputs->GetStrainRateStokes(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
     2648                        inputs->GetStrainRate3d(&epsilon[0],&xyz_list[0][0],gauss_coord,VxEnum,VyEnum,VzEnum);
    26492649                        matice->GetViscosity3dStokes(&viscosity,&epsilon[0]);
    26502650
     
    39903990}
    39913991/*}}}*/
    3992 /*FUNCTION GetStrainRate {{{1*/
    3993 void Penta::GetStrainRate(double* epsilon, double* velocity, double* xyz_list, double* gauss_coord){
    3994 
    3995         int i;
    3996         const int numgrids=6;
    3997         const int NDOF2=2;
    3998 
    3999         double B[5][NDOF2*numgrids];
    4000 
    4001         /*Get B matrix: */
    4002         GetB(&B[0][0], xyz_list, gauss_coord);
    4003 
    4004         /*Multiply B by velocity, to get strain rate: */
    4005         MatrixMultiply( &B[0][0],5,NDOF2*numgrids,0,
    4006                                 velocity,NDOF2*numgrids,1,0,
    4007                                 epsilon,0);
    4008 
    4009 }
    4010 /*}}}*/
    4011 /*FUNCTION GetStrainRateStokes {{{1*/
    4012 void Penta::GetStrainRateStokes(double* epsilon, double* velocity, double* xyz_list, double* gauss_coord){
    4013 
    4014         int i,j;
    4015 
    4016         const int numgrids=6;
    4017         const int DOFVELOCITY=3;
    4018         double B[8][27];
    4019         double B_reduced[numgrids][DOFVELOCITY*numgrids];
    4020 
    4021         /*Get B matrix: */
    4022         GetBStokes(&B[0][0], xyz_list, gauss_coord);
    4023 
    4024         /*Create a reduced matrix of B to get rid of pressure */
    4025         for (i=0;i<6;i++){
    4026                 for (j=0;j<3;j++){
    4027                         B_reduced[i][j]=B[i][j];
    4028                 }
    4029                 for (j=4;j<7;j++){
    4030                         B_reduced[i][j-1]=B[i][j];
    4031                 }
    4032                 for (j=8;j<11;j++){
    4033                         B_reduced[i][j-2]=B[i][j];
    4034                 }
    4035                 for (j=12;j<15;j++){
    4036                         B_reduced[i][j-3]=B[i][j];
    4037                 }
    4038                 for (j=16;j<19;j++){
    4039                         B_reduced[i][j-4]=B[i][j];
    4040                 }
    4041                 for (j=20;j<23;j++){
    4042                         B_reduced[i][j-5]=B[i][j];
    4043                 }
    4044         }
    4045         /*Multiply B by velocity, to get strain rate: */
    4046         MatrixMultiply( &B_reduced[0][0],6,DOFVELOCITY*numgrids, 0, velocity,DOFVELOCITY*numgrids,1,0,epsilon, 0);
    4047 }
    4048 /*}}}*/
    40493992/*FUNCTION GetThicknessList {{{1*/
    40503993void Penta::GetThicknessList(double* thickness_list){
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r3805 r3808  
    12091209                /*Compute thickness at gaussian point: */
    12101210                inputs->GetParameterValue(&thickness, gauss_l1l2l3,ThicknessEnum);
    1211                 printf("thickness = %g\n",thickness);
    12121211
    12131212                /*Get strain rate from velocity: */
    1214                 inputs->GetStrainRate(&epsilon[0],&xyz_list[0][0],gauss_l1l2l3,VxEnum,VyEnum);
    1215                 inputs->GetStrainRate(&oldepsilon[0],&xyz_list[0][0],gauss_l1l2l3,VxOldEnum,VyOldEnum);
     1213                inputs->GetStrainRate2d(&epsilon[0],&xyz_list[0][0],gauss_l1l2l3,VxEnum,VyEnum);
     1214                inputs->GetStrainRate2d(&oldepsilon[0],&xyz_list[0][0],gauss_l1l2l3,VxOldEnum,VyOldEnum);
    12161215
    12171216                /*Get viscosity: */
     
    38433842}
    38443843/*}}}*/
    3845 /*FUNCTION Tria::GetStrainRate {{{1*/
    3846 void Tria::GetStrainRate(double* epsilon, double* velocity, double* xyz_list, double* gauss_l1l2l3){
    3847 
    3848         int i;
    3849         const int NDOF2=2;
    3850         const int numgrids=3;
    3851 
    3852         double B[3][NDOF2*numgrids];
    3853 
    3854         /*Get B matrix: */
    3855         GetB(&B[0][0], xyz_list, gauss_l1l2l3);
    3856 
    3857         /*Multiply B by velocity, to get strain rate: */
    3858         MatrixMultiply( &B[0][0],3,NDOF2*numgrids,0,
    3859                                       velocity,NDOF2*numgrids,1,0,
    3860                                                   epsilon,0);
    3861 
    3862 }
    3863 /*}}}*/
    38643844/*FUNCTION Tria::GetThicknessList {{{1*/
    38653845void Tria::GetThicknessList(double* thickness_list){
     
    39803960
    39813961                /*Get strain rate, if velocity has been supplied: */
    3982                 inputs->GetStrainRate(&epsilon[0],&xyz_list[0][0],gauss_l1l2l3,VxEnum,VyEnum);
     3962                inputs->GetStrainRate2d(&epsilon[0],&xyz_list[0][0],gauss_l1l2l3,VxEnum,VyEnum);
    39833963
    39843964                /*Get viscosity complement: */
  • issm/trunk/src/c/objects/Elements/Tria.h

    r3805 r3808  
    7272                void  GetParameterValue(double* pp, double* plist, double* gauss_l1l2l3);
    7373                void  GetParameterDerivativeValue(double* p, double* plist,double* xyz_list, double* gauss_l1l2l3);
    74                 void  GetStrainRate(double* epsilon, double* velocity, double* xyz_list, double* gauss_l1l2l3);
    7574                void  GetJacobianDeterminant2d(double*  Jdet, double* xyz_list,double* gauss_l1l2l3);
    7675                void  GetJacobianDeterminant3d(double*  Jdet, double* xyz_list,double* gauss_l1l2l3);
  • issm/trunk/src/c/objects/Inputs/BeamVertexInput.cpp

    r3784 r3808  
    159159void BeamVertexInput::GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    160160/*}}}*/
    161 /*FUNCTION BeamVertexInput::GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss){{{1*/
    162 void BeamVertexInput::GetStrainRate(double* epsilon,Input* yinput,double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    163 /*}}}*/
    164 /*FUNCTION BeamVertexInput::GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss){{{1*/
    165 void BeamVertexInput::GetStrainRateStokes(double* epsilon,Input* yinput,Input* zinput, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    166 /*}}}*/
    167161/*FUNCTION BeamVertexInput::ChangeEnum(int newenumtype){{{1*/
    168162void BeamVertexInput::ChangeEnum(int newenumtype){
  • issm/trunk/src/c/objects/Inputs/BeamVertexInput.h

    r3751 r3808  
    6161       
    6262                void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss);
    63                 void GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss);
    64                 void GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss);
     63                void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     64                void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     65                void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     66                void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     67                void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
    6568                void ChangeEnum(int newenumtype);
    6669                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/BoolInput.cpp

    r3790 r3808  
    160160void BoolInput::GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    161161/*}}}*/
    162 /*FUNCTION BoolInput::GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss){{{1*/
    163 void BoolInput::GetStrainRate(double* epsilon,Input* yinput,double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    164 /*}}}*/
    165 /*FUNCTION BoolInput::GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss){{{1*/
    166 void BoolInput::GetStrainRateStokes(double* epsilon,Input* yinput,Input* zinput, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    167 /*}}}*/
    168162/*FUNCTION BoolInput::ChangeEnum(int newenumtype){{{1*/
    169163void BoolInput::ChangeEnum(int newenumtype){
  • issm/trunk/src/c/objects/Inputs/BoolInput.h

    r3775 r3808  
    6161       
    6262                void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss);
    63                 void GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss);
    64                 void GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss);
     63                void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     64                void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     65                void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     66                void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     67                void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
    6568                void ChangeEnum(int newenumtype);
    6669                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/DoubleInput.cpp

    r3784 r3808  
    158158void DoubleInput::GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    159159/*}}}*/
    160 /*FUNCTION DoubleInput::GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss){{{1*/
    161 void DoubleInput::GetStrainRate(double* epsilon,Input* yinput,double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    162 /*}}}*/
    163 /*FUNCTION DoubleInput::GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss){{{1*/
    164 void DoubleInput::GetStrainRateStokes(double* epsilon,Input* yinput,Input* zinput, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    165 /*}}}*/
    166160/*FUNCTION DoubleInput::ChangeEnum(int newenumtype){{{1*/
    167161void DoubleInput::ChangeEnum(int newenumtype){
  • issm/trunk/src/c/objects/Inputs/DoubleInput.h

    r3775 r3808  
    6161       
    6262                void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss);
    63                 void GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss);
    64                 void GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss);
     63                void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     64                void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     65                void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     66                void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     67                void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
    6568                void ChangeEnum(int newenumtype);
    6669                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/Input.h

    r3732 r3808  
    3434       
    3535                virtual void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss)=0;
    36                 virtual void GetStrainRate(double* epsilon, Input* yinput, double* xyz_list, double* gauss)=0;
    37                 virtual void GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss)=0;
     36                virtual void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum)=0;
     37                virtual void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum)=0;
     38                virtual void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum)=0;
     39                virtual void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum)=0;
     40                virtual void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum)=0;
    3841                virtual void ChangeEnum(int newenumtype)=0;
    39 
    4042                /*}}}*/
    4143
  • issm/trunk/src/c/objects/Inputs/IntInput.cpp

    r3790 r3808  
    160160void IntInput::GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    161161/*}}}*/
    162 /*FUNCTION IntInput::GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss){{{1*/
    163 void IntInput::GetStrainRate(double* epsilon,Input* yinput,double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    164 /*}}}*/
    165 /*FUNCTION IntInput::GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss){{{1*/
    166 void IntInput::GetStrainRateStokes(double* epsilon,Input* yinput,Input* zinput, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    167 /*}}}*/
    168162/*FUNCTION IntInput::ChangeEnum(int newenumtype){{{1*/
    169163void IntInput::ChangeEnum(int newenumtype){
  • issm/trunk/src/c/objects/Inputs/IntInput.h

    r3775 r3808  
    6161       
    6262                void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss);
    63                 void GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss);
    64                 void GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss);
     63                void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     64                void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     65                void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     66                void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     67                void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
    6568                void ChangeEnum(int newenumtype);
    6669                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/PentaVertexInput.cpp

    r3784 r3808  
    163163void PentaVertexInput::GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    164164/*}}}*/
    165 /*FUNCTION PentaVertexInput::GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss){{{1*/
    166 void PentaVertexInput::GetStrainRate(double* epsilon,Input* yinput,double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    167 /*}}}*/
    168 /*FUNCTION PentaVertexInput::GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss){{{1*/
    169 void PentaVertexInput::GetStrainRateStokes(double* epsilon,Input* yinput,Input* zinput, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    170 /*}}}*/
    171165/*FUNCTION PentaVertexInput::ChangeEnum(int newenumtype){{{1*/
    172166void PentaVertexInput::ChangeEnum(int newenumtype){
  • issm/trunk/src/c/objects/Inputs/PentaVertexInput.h

    r3751 r3808  
    6060       
    6161                void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss);
    62                 void GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss);
    63                 void GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss);
     62                void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     63                void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     64                void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     65                void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     66                void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
    6467                void ChangeEnum(int newenumtype);
    6568                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/SingVertexInput.cpp

    r3784 r3808  
    158158void SingVertexInput::GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    159159/*}}}*/
    160 /*FUNCTION SingVertexInput::GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss){{{1*/
    161 void SingVertexInput::GetStrainRate(double* epsilon,Input* yinput,double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    162 /*}}}*/
    163 /*FUNCTION SingVertexInput::GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss){{{1*/
    164 void SingVertexInput::GetStrainRateStokes(double* epsilon,Input* yinput,Input* zinput, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    165 /*}}}*/
    166160/*FUNCTION SingVertexInput::ChangeEnum(int newenumtype){{{1*/
    167161void SingVertexInput::ChangeEnum(int newenumtype){
  • issm/trunk/src/c/objects/Inputs/SingVertexInput.h

    r3751 r3808  
    6060       
    6161                void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss);
    62                 void GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss);
    63                 void GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss);
     62                void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     63                void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     64                void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     65                void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     66                void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
    6467                void ChangeEnum(int newenumtype);
    6568                /*}}}*/
  • issm/trunk/src/c/objects/Inputs/TriaVertexInput.cpp

    r3800 r3808  
    171171/*FUNCTION TriaVertexInput::GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss){{{1*/
    172172void TriaVertexInput::GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    173 /*}}}*/
    174 /*FUNCTION TriaVertexInput::GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss){{{1*/
    175 void TriaVertexInput::GetStrainRate(double* epsilon,Input* yinput,double* xyz_list, double* gauss){
    176         ISSMERROR("not implemented yet");
    177 }
    178 /*}}}*/
    179 /*FUNCTION TriaVertexInput::GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss){{{1*/
    180 void TriaVertexInput::GetStrainRateStokes(double* epsilon,Input* yinput,Input* zinput, double* xyz_list, double* gauss){ISSMERROR(" not supported yet!");}
    181173/*}}}*/
    182174/*FUNCTION TriaVertexInput::ChangeEnum(int newenumtype){{{1*/
  • issm/trunk/src/c/objects/Inputs/TriaVertexInput.h

    r3800 r3808  
    6060       
    6161                void GetParameterDerivativeValue(double* derivativevalues, double* xyz_list, double* gauss);
    62                 void GetStrainRate(double* epsilon,Input* yinput, double* xyz_list, double* gauss);
    63                 void GetStrainRateStokes(double* epsilon,Input* yinput, Input* zinput, double* xyz_list, double* gauss);
     62                void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     63                void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=MacAyealFormulationEnum){ISSMERROR("not implemented yet");};
     64                void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     65                void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
     66                void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, double* gauss,int formulation_enum=StokesFormulationEnum){ISSMERROR("not implemented yet");};
    6467                void ChangeEnum(int newenumtype);
    6568
  • issm/trunk/src/c/objects/Node.cpp

    r3784 r3808  
    161161        //intialize inputs, and add as many inputs per element as requested:
    162162        this->inputs=new Inputs();
    163         if (iomodel->gridonbed) this->inputs->AddInput(new BoolInput(NodeOnBedEnum,(IssmBool)iomodel->gridonbed[i]));
    164         if (iomodel->gridonsurface) this->inputs->AddInput(new BoolInput(NodeOnSurfaceEnum,(IssmBool)iomodel->gridonsurface[i]));
     163        if (iomodel->gridonbed)      this->inputs->AddInput(new BoolInput(NodeOnBedEnum,(IssmBool)iomodel->gridonbed[i]));
     164        if (iomodel->gridonsurface)  this->inputs->AddInput(new BoolInput(NodeOnSurfaceEnum,(IssmBool)iomodel->gridonsurface[i]));
    165165        if (iomodel->gridoniceshelf) this->inputs->AddInput(new BoolInput(NodeOnIceShelfEnum,(IssmBool)iomodel->gridoniceshelf[i]));
    166166        if (iomodel->gridonicesheet) this->inputs->AddInput(new BoolInput(NodeOnIceSheetEnum,(IssmBool)iomodel->gridonicesheet[i]));
Note: See TracChangeset for help on using the changeset viewer.