Changeset 24949


Ignore:
Timestamp:
06/01/20 15:12:02 (5 years ago)
Author:
Eric.Larour
Message:

CHG: tiny rearrangement.

Location:
issm/trunk-jpl/src/c
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r24947 r24949  
    61326132        }
    61336133
    6134         /*From Sg, recover water sea level rise:*/
    6135         S=0; for(int i=0;i<NUMVERTICES;i++) S+=Sg[this->vertices[i]->Sid()]/NUMVERTICES;
    6136 
    6137         /*Compute ice thickness change: */
    6138         Input2* deltathickness_input=this->GetInput2(SealevelriseDeltathicknessEnum);
    6139         if (!deltathickness_input)_error_("delta thickness input needed to compute sea level rise!");
    6140         deltathickness_input->GetInputAverage(&I);
    6141 
    61426134        if (masks->isiceonly[this->lid]){
     6135
     6136                /*Compute ice thickness change: */
     6137                Input2* deltathickness_input=this->GetInput2(SealevelriseDeltathicknessEnum);
     6138                if (!deltathickness_input)_error_("delta thickness input needed to compute sea level rise!");
     6139                deltathickness_input->GetInputAverage(&I);
     6140
    61436141                for(int i=0;i<gsize;i++){
    61446142                        Up[i]+=rho_ice*I*GU[i];
     
    61506148        }
    61516149        else if(masks->isoceanin[this->lid]){
     6150                /*From Sg, recover water sea level rise:*/
     6151                S=0; for(int i=0;i<NUMVERTICES;i++) S+=Sg[this->vertices[i]->Sid()]/NUMVERTICES;
     6152
    61526153                for(int i=0;i<gsize;i++){
    61536154                        Up[i]+=rho_water*S*GU[i];
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r24947 r24949  
    47784778}
    47794779/*}}}*/
    4780 void FemModel::SealevelriseRotationalFeedback(Vector<IssmDouble>* pRSLgo_rot, Vector<IssmDouble>* pRSLg_old, IssmDouble* pIxz, IssmDouble* pIyz, IssmDouble* pIzz,  SealevelMasks* masks, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius){/*{{{*/
     4780void FemModel::SealevelriseRotationalFeedback(Vector<IssmDouble>* pRSLgo_rot, Vector<IssmDouble>* pRSLg_old, IssmDouble* pIxz, IssmDouble* pIyz, IssmDouble* pIzz,  SealevelMasks* masks){/*{{{*/
    47814781
    47824782        /*serialized vectors:*/
     4783        bool spherical=true;
    47834784        IssmDouble* RSLg_old=NULL;
    47844785        IssmDouble      tide_love_h, tide_love_k, fluid_love, moi_e, moi_p, omega, g;
     
    47864787        IssmDouble      m1, m2, m3;
    47874788        IssmDouble      lati, longi, radi, value;
     4789        IssmDouble          *latitude    = NULL;
     4790        IssmDouble          *longitude    = NULL;
     4791        IssmDouble          *radius    = NULL;
    47884792
    47894793        /*Serialize vectors from previous iteration:*/
     
    48204824        m2 = 1/(1-tide_love_k/fluid_love) * (1+load_love_k2)/(moi_p-moi_e) * moi_list[1];
    48214825        m3 = -(1+load_love_k2)/moi_p * moi_list[2];     // term associated with fluid number (3-order-of-magnitude smaller) is negelected
     4826
     4827        /*recover lat,long and radius vectors from vertices: */
     4828        VertexCoordinatesx(&latitude,&longitude,&radius,this->vertices,spherical);
    48224829
    48234830        /* Green's function (1+k_2-h_2/g): checked against Glenn Milne's thesis Chapter 3 (eqs: 3.3-4, 3.10-11)
     
    48484855        if(pIyz)*pIyz=moi_list[1];
    48494856        if(pIzz)*pIzz=moi_list[2];
     4857        xDelete<IssmDouble>(latitude);
     4858        xDelete<IssmDouble>(longitude);
     4859        xDelete<IssmDouble>(radius);
    48504860
    48514861        /*Free ressources:*/
  • issm/trunk-jpl/src/c/classes/FemModel.h

    r24947 r24949  
    166166                void SealevelriseGeometry(IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius, IssmDouble* xx, IssmDouble* yy, IssmDouble* zz);
    167167                void SealevelriseNonEustatic(Vector<IssmDouble>* pSgo, Vector<IssmDouble>* pSg_old,  SealevelMasks* masks,bool verboseconvolution);
    168                 void SealevelriseRotationalFeedback(Vector<IssmDouble>* pRSLgo_rot, Vector<IssmDouble>* pRSLg_old, IssmDouble* pIxz, IssmDouble* pIyz, IssmDouble* pIzz, SealevelMasks* masks, IssmDouble* latitude, IssmDouble* longitude, IssmDouble* radius);
     168                void SealevelriseRotationalFeedback(Vector<IssmDouble>* pRSLgo_rot, Vector<IssmDouble>* pRSLg_old, IssmDouble* pIxz, IssmDouble* pIyz, IssmDouble* pIzz, SealevelMasks* masks);
    169169                void SealevelriseElastic(Vector<IssmDouble>* pUp, Vector<IssmDouble>* pNorth, Vector<IssmDouble>* pEast, Vector<IssmDouble>* pSg_old, SealevelMasks* masks);
    170170                IssmDouble SealevelriseOceanAverage(Vector<IssmDouble>* Sg,SealevelMasks* masks, IssmDouble oceanarea);
  • issm/trunk-jpl/src/c/cores/sealevelrise_core.cpp

    r24947 r24949  
    422422        bool save_results;
    423423        int  gsize;
    424         bool spherical=true;
    425424        bool converged=true;
    426425        bool rotation=true;
     
    429428        IssmDouble           eps_rel;
    430429        IssmDouble           eps_abs;
    431         IssmDouble          *latitude    = NULL;
    432         IssmDouble          *longitude    = NULL;
    433         IssmDouble          *radius    = NULL;
    434430        IssmDouble           eustatic;
    435431        IssmDouble                      Ixz, Iyz, Izz;
     
    445441        femmodel->parameters->FindParam(&rotation,SealevelriseRotationEnum);
    446442
    447         /*first, recover lat,long and radius vectors from vertices: */
    448         VertexCoordinatesx(&latitude,&longitude,&radius,femmodel->vertices,spherical);
    449 
    450443        /*Figure out size of g-set deflection vector and allocate solution vector: */
    451444        gsize = femmodel->nodes->NumberOfDofs(GsetEnum);
     
    482475                        /*call rotational feedback  module: */
    483476                        RSLgo_rot = new Vector<IssmDouble>(gsize); RSLgo_rot->Assemble();
    484                         femmodel->SealevelriseRotationalFeedback(RSLgo_rot,RSLg_old,&Ixz,&Iyz,&Izz, masks, latitude,longitude,radius);
     477                        femmodel->SealevelriseRotationalFeedback(RSLgo_rot,RSLg_old,&Ixz,&Iyz,&Izz, masks);
    485478                        RSLgo_rot->Assemble();
    486479
     
    524517        if(VerboseConvergence()) _printf0_("\n              total number of iterations: " << count-1 << "\n");
    525518
    526         xDelete<IssmDouble>(latitude);
    527         xDelete<IssmDouble>(longitude);
    528         xDelete<IssmDouble>(radius);
    529519        delete RSLg_old;
    530520
Note: See TracChangeset for help on using the changeset viewer.