Changeset 15273


Ignore:
Timestamp:
06/17/13 08:33:26 (12 years ago)
Author:
bdef
Message:

CHG: Minor changes in the hydrological solver

Location:
issm/trunk-jpl/src
Files:
3 edited

Legend:

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

    r15252 r15273  
    22 * \brief: implementation of the Tria object
    33 */
    4 
    54/*Headers:*/
    65/*{{{*/
     
    2221/*Element macros*/
    2322#define NUMVERTICES 3
    24 
    2523/*Constructors/destructor/copy*/
    2624/*FUNCTION Tria::Tria(){{{*/
     
    65066504        IssmDouble wh_trans;
    65076505        IssmDouble activeEpl[numdof];
    6508         IssmDouble storing[numdof];
     6506        IssmDouble eplstoring[numdof],sedstoring[numdof];
    65096507        IssmDouble epl_head[numdof],sed_head[numdof];
    65106508
     
    65306528
    65316529                        this->parameters->FindParam(&leakage,HydrologydcLeakageFactorEnum);
    6532                        
     6530
    65336531                        sed_trans = matpar->GetSedimentTransmitivity();
    65346532                        sed_thick = matpar->GetSedimentThickness();
     
    65366534                        for(int i=0;i<numdof;i++){
    65376535                                if(activeEpl[i]==0.0)continue;
    6538                
     6536
     6537                                eplstoring[i]=matpar->GetEplStoring();         
     6538                                sedstoring[i]=matpar->GetSedimentStoring();
     6539
    65396540                                if(sed_head[i]>epl_head[i]){
    6540                                         storing[i]=matpar->GetSedimentStoring();
    6541                                         wh_trans=sed_trans*storing[i]*(epl_head[i]-sed_head[i])/(leakage*sed_thick);
     6541                                        wh_trans=sed_trans*sedstoring[i]*(epl_head[i]-sed_head[i])/(leakage*sed_thick);                         
    65426542                                }
    65436543                                else{
    65446544                                        this->GetHydrologyDCInefficientHmax(&h_max,nodes[i]);
    6545                                         storing[i]=matpar->GetEplStoring();
    6546                                         wh_trans=sed_trans*storing[i]*(epl_head[i]-sed_head[i])/(leakage*sed_thick);
    6547                                         if(sed_head[i]>h_max){
     6545                                        wh_trans=sed_trans*eplstoring[i]*(epl_head[i]-sed_head[i])/(leakage*sed_thick);
     6546                                        if(sed_head[i]>=h_max){
    65486547                                                wh_trans=0.0;
    65496548                                        }
    6550                                         if((sed_head[i]+wh_trans)>h_max){
    6551                                                 wh_trans=h_max-sed_head[i];
    6552                                         }
     6549                                        //                                      if((sed_head[i]+(wh_trans/sedstoring[i]))>h_max){
     6550                                        //(h_max-sed_head[i])*eplstoring[i];
     6551                                        //}
    65536552                                }
    65546553                                /*Assign output pointer*/
     
    66236622                this->GetHydrologyDCInefficientHmax(&h_max,nodes[i]);
    66246623                if(eplhead[i]>=h_max){
    6625                         //vec_mask->SetValue(nodes[i]->Sid(),1.,INS_VAL);
    6626                         //for(j=0;j<numdof;j++){
    6627 
    6628                         //      /*Increase of the domain is on the downstream node in term of sediment head*/
    6629                         //      if(sedhead[j] == sedheadmin){
    6630                         //              vec_mask->SetValue(nodes[j]->Sid(),1.,INS_VAL);
    6631                         //              break;
    6632                         //      }
    6633                         //}
     6624                        vec_mask->SetValue(nodes[i]->Sid(),1.,INS_VAL);
     6625                        for(j=0;j<numdof;j++){
     6626                               
     6627                                /*Increase of the domain is on the downstream node in term of sediment head*/
     6628                                if(sedhead[j] == sedheadmin){
     6629                                        vec_mask->SetValue(nodes[j]->Sid(),1.,INS_VAL);
     6630                                        break;
     6631                                }
     6632                        }
    66346633                }
    66356634        }
  • issm/trunk-jpl/src/c/solutionsequences/solutionsequence_hydro_nonlinear.cpp

    r15254 r15273  
    115115                        /*Iteration on the EPL layer*/
    116116                        for(;;){
    117                                 femmodel->HydrologyTransferx();
     117                                //                              femmodel->HydrologyTransferx();
    118118                                femmodel->SystemMatricesx(&Kff, &Kfs, &pf,&df,NULL);
    119119                                CreateNodalConstraintsx(&ys,femmodel->nodes,HydrologyDCEfficientAnalysisEnum);
     
    127127                                Mergesolutionfromftogx(&ug_epl,uf,ys,femmodel->nodes,femmodel->parameters); delete ys;
    128128                                InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,ug_epl);
    129                                 //femmodel->HydrologyEPLupdateDomainx();
     129                                femmodel->HydrologyEPLupdateDomainx();
    130130                                ConstraintsStatex(&constraints_converged,&num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
    131131                               
  • issm/trunk-jpl/src/m/classes/hydrologydc.m

    r15232 r15273  
    2727                epl_thickness            = 0;
    2828                epl_transmitivity        = 0;
    29 
    3029  end
    3130        methods
    32                 % {{{function obj = hydrologydc(varargin)
    33                 function obj = hydrologydc(varargin)
    34 
     31                function obj = hydrologydc(varargin) % {{{
    3532                        switch nargin
    3633                                case 0
     
    6663                end
    6764                % }}}
    68                 % {{{function md = checkconsistency(obj,md,solution,analyses)
     65                % {{{ function md = checkconsistency(obj,md,solution,analyses)
    6966                function md = checkconsistency(obj,md,solution,analyses)
    7067                %Early return
     
    10299                end
    103100                % }}}
    104                 % {{{           function disp(obj)
     101                % {{{ function disp(obj)
    105102                function disp(obj)
    106103                        disp(sprintf('   hydrology Dual Porous Continuum Equivalent parameters:'));
Note: See TracChangeset for help on using the changeset viewer.