Changeset 18742


Ignore:
Timestamp:
11/05/14 16:29:48 (10 years ago)
Author:
srebuffi
Message:

CHG: correct a mistake in case iscalvinrate=0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp

    r18736 r18742  
    100100
    101101        /*Intermediaries */
    102         int  dim, domaintype;
     102        int  dim, domaintype, iscalvingrate;
    103103        int i, row, col;
    104104        IssmDouble kappa;
     
    109109        IssmDouble* xyz_list = NULL;
    110110
    111         /*Get problem dimension*/
     111        /*Get problem dimension and whether there is calving or not*/
     112        basalelement->FindParam(&iscalvingrate,MasstransportIscalvingrateEnum);
    112113        basalelement->FindParam(&domaintype,DomainTypeEnum);
    113114        switch(domaintype){
     
    142143                vx_input=basalelement->GetInput(VxEnum); _assert_(vx_input);
    143144                vy_input=basalelement->GetInput(VyEnum); _assert_(vy_input);
    144                 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
    145                 calvingratey_input=basalelement->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
     145                if(iscalvingrate){
     146                        calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
     147                        calvingratey_input=basalelement->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);
     148                }
    146149        }
    147150        else{
    148151                if(dim==1){
    149152                        vx_input=basalelement->GetInput(VxEnum); _assert_(vx_input);
    150                         calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
     153                        if(iscalvingrate){
     154                                calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);
     155                        }
    151156                }
    152157                if(dim==2){
    153158                        vx_input=basalelement->GetInput(VxAverageEnum); _assert_(vx_input);
    154159                        vy_input=basalelement->GetInput(VyAverageEnum); _assert_(vy_input);
    155                         calvingratex_input=basalelement->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
    156                         calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
     160                        if(iscalvingrate){
     161                                calvingratex_input=basalelement->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input);
     162                                calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input);
     163                        }
    157164                }
    158165        }
     
    185192                vx_input->GetInputValue(&v[0],gauss); // in 3D case, add mesh velocity
    186193                vy_input->GetInputValue(&v[1],gauss);
    187                 calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity
    188                 calvingratey_input->GetInputValue(&c[1],gauss);
     194                if(iscalvingrate){
     195                        calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity
     196                        calvingratey_input->GetInputValue(&c[1],gauss);
     197                        for(i=0;i<dim;i++) w[i]=v[i]-c[i];
     198                }
     199                else{
     200                        for(i=0;i<dim;i++) w[i]=v[i];
     201                }
    189202                //lsf_slopex_input->GetInputValue(&dlsf[0],gauss);
    190203                //lsf_slopey_input->GetInputValue(&dlsf[1],gauss);
     
    200213                //for(i=0;i<dim;i++) c[i]=0.;
    201214               
    202                 for(i=0;i<dim;i++) w[i]=v[i]-c[i];
    203215
    204216                for(row=0;row<dim;row++)
Note: See TracChangeset for help on using the changeset viewer.