Changeset 18208


Ignore:
Timestamp:
07/01/14 12:12:41 (11 years ago)
Author:
seroussi
Message:

NEW: added AugmentedLagrangianRhopEnum

Location:
issm/trunk-jpl/src
Files:
1 added
8 edited

Legend:

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

    r18207 r18208  
    1111void UzawaPressureAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/
    1212
    13         parameters->AddObject(iomodel->CopyConstantObject(AugmentedLagrangianREnum));
     13        parameters->AddObject(iomodel->CopyConstantObject(AugmentedLagrangianRhopEnum));
    1414}/*}}}*/
    1515void UzawaPressureAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/
     
    9191        /*Intermediaries*/
    9292        int          dim;
    93         IssmDouble   Jdet,r,divu;
     93        IssmDouble   Jdet,rhop,divu;
    9494        IssmDouble   *xyz_list = NULL;
    9595        int numnodes = element->GetNumberOfNodes();
     
    9797        /*Retrieve all inputs and parameters*/
    9898        element->FindParam(&dim,DomainDimensionEnum);
    99         element->FindParam(&r,AugmentedLagrangianREnum);
     99        element->FindParam(&rhop,AugmentedLagrangianRhopEnum);
    100100        element->GetVerticesCoordinates(&xyz_list);
    101101
     
    128128
    129129                for(int i=0;i<numnodes;i++){
    130                         pe->values[i] += - r * divu * Jdet * gauss->weight * basis[i];
     130                        pe->values[i] += - rhop * divu * Jdet * gauss->weight * basis[i];
    131131                }
    132132        }
  • issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h

    r18194 r18208  
    668668        IncrementalEnum,
    669669        AugmentedLagrangianREnum,
     670        AugmentedLagrangianRhopEnum,
    670671        AugmentedLagrangianThetaEnum,
    671672        /*}}}*/
  • issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp

    r18194 r18208  
    649649                case IncrementalEnum : return "Incremental";
    650650                case AugmentedLagrangianREnum : return "AugmentedLagrangianR";
     651                case AugmentedLagrangianRhopEnum : return "AugmentedLagrangianRhop";
    651652                case AugmentedLagrangianThetaEnum : return "AugmentedLagrangianTheta";
    652653                case NoneEnum : return "None";
  • issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp

    r18194 r18208  
    664664              else if (strcmp(name,"Incremental")==0) return IncrementalEnum;
    665665              else if (strcmp(name,"AugmentedLagrangianR")==0) return AugmentedLagrangianREnum;
     666              else if (strcmp(name,"AugmentedLagrangianRhop")==0) return AugmentedLagrangianRhopEnum;
    666667              else if (strcmp(name,"AugmentedLagrangianTheta")==0) return AugmentedLagrangianThetaEnum;
    667668              else if (strcmp(name,"None")==0) return NoneEnum;
  • issm/trunk-jpl/src/c/solutionsequences/solutionsequence_la.cpp

    r18207 r18208  
    3434        femmodel->parameters->FindParam(&eps_rel,StressbalanceReltolEnum);
    3535        femmodel->parameters->FindParam(&max_nonlinear_iterations,StressbalanceMaxiterEnum);
    36         femmodel->parameters->FindParam(&r,AugmentedLagrangianREnum);
    3736
    3837        /*Update constraints*/
  • issm/trunk-jpl/src/m/classes/flowequation.m

    r18197 r18208  
    66classdef flowequation
    77        properties (SetAccess=public)
    8                 isSIA                  = 0;
    9                 isSSA                  = 0;
    10                 isL1L2                 = 0;
    11                 isHO                   = 0;
    12                 isFS                   = 0;
    13                 fe_SSA                 = '';
    14                 fe_HO                  = '';
    15                 fe_FS                  = '';
    16                 augmented_lagrangian_r = 1.;
    17                 XTH_theta              = 0.;
    18                 vertex_equation        = NaN;
    19                 element_equation       = NaN;
    20                 borderSSA              = NaN;
    21                 borderHO               = NaN;
    22                 borderFS               = NaN;
     8                isSIA                     = 0;
     9                isSSA                     = 0;
     10                isL1L2                    = 0;
     11                isHO                      = 0;
     12                isFS                      = 0;
     13                fe_SSA                    = '';
     14                fe_HO                     = '';
     15                fe_FS                     = '';
     16                augmented_lagrangian_r    = 1.;
     17                augmented_lagrangian_rhop = 1.;
     18                XTH_theta                 = 0.;
     19                vertex_equation           = NaN;
     20                element_equation          = NaN;
     21                borderSSA                 = NaN;
     22                borderHO                  = NaN;
     23                borderFS                  = NaN;
    2324        end
    2425        methods (Static)
     
    135136                                md = checkfield(md,'fieldname','flowequation.fe_HO' ,'values',{'P1','P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2','P2bubble','P1xP3','P2xP4'});
    136137                                md = checkfield(md,'fieldname','flowequation.fe_FS' ,'values',{'P1P1','P1P1GLS','MINIcondensed','MINI','TaylorHood','LATaylorHood','XTaylorHood','OneLayerP4z','CrouzeixRaviart'});
    137                                 md = checkfield(md,'fieldname','flowequation.augmented_lagrangian_r','numel',[1],'>=',0.);
     138                                md = checkfield(md,'fieldname','flowequation.augmented_lagrangian_r','numel',[1],'>',0.);
     139                                md = checkfield(md,'fieldname','flowequation.augmented_lagrangian_rhop','numel',[1],'>',0.);
    138140                                md = checkfield(md,'fieldname','flowequation.XTH_theta','numel',[1],'>=',0.,'<',0.5);
    139141                                md = checkfield(md,'fieldname','flowequation.borderSSA','size',[md.mesh.numberofvertices 1],'values',[0 1]);
     
    193195                        WriteData(fid,'enum',FlowequationFeFSEnum() ,'data',StringToEnum(obj.fe_FS) ,'format','Integer');
    194196                        WriteData(fid,'enum',AugmentedLagrangianREnum(),'data',obj.augmented_lagrangian_r ,'format','Double');
     197                        WriteData(fid,'enum',AugmentedLagrangianRhopEnum(),'data',obj.augmented_lagrangian_rhop ,'format','Double');
    195198                        WriteData(fid,'enum',AugmentedLagrangianThetaEnum() ,'data',obj.XTH_theta ,'format','Double');
    196199                        WriteData(fid,'object',obj,'fieldname','borderSSA','format','DoubleMat','mattype',1);
  • issm/trunk-jpl/src/m/classes/flowequation.py

    r18197 r18208  
    1717        def __init__(self): # {{{
    1818               
    19                 self.isSIA                   = 0
    20                 self.isSSA                   = 0
    21                 self.isL1L2                  = 0
    22                 self.isHO                    = 0
    23                 self.isFS                    = 0
    24                 self.fe_SSA                  = ''
    25                 self.fe_HO                   = ''
    26                 self.fe_FS                   = ''
    27                 self.augmented_lagrangian_r  = 1.
    28                 self.XTH_theta               = 0.
    29                 self.vertex_equation         = float('NaN')
    30                 self.element_equation        = float('NaN')
    31                 self.borderSSA               = float('NaN')
    32                 self.borderHO                = float('NaN')
    33                 self.borderFS                = float('NaN')
     19                self.isSIA                     = 0
     20                self.isSSA                     = 0
     21                self.isL1L2                    = 0
     22                self.isHO                      = 0
     23                self.isFS                      = 0
     24                self.fe_SSA                    = ''
     25                self.fe_HO                     = ''
     26                self.fe_FS                     = ''
     27                self.augmented_lagrangian_r    = 1.
     28                self.augmented_lagrangian_rhop = 1.
     29                self.XTH_theta                 = 0.
     30                self.vertex_equation           = float('NaN')
     31                self.element_equation          = float('NaN')
     32                self.borderSSA                 = float('NaN')
     33                self.borderHO                  = float('NaN')
     34                self.borderFS                  = float('NaN')
    3435
    3536                #set defaults
     
    8384                        md = checkfield(md,'fieldname','flowequation.borderFS','size',[md.mesh.numberofvertices],'values',[0,1])
    8485                        md = checkfield(md,'fieldname','flowequation.augmented_lagrangian_r','numel',[1],'>',0.)
     86                        md = checkfield(md,'fieldname','flowequation.augmented_lagrangian_rhop','numel',[1],'>',0.)
    8587                        md = checkfield(md,'fieldname','flowequation.XTH_theta','numel',[1],'>=',0.,'<',.5)
    8688                        if m.strcmp(md.mesh.domaintype(),'2Dhorizontal'):
     
    112114                WriteData(fid,'enum',FlowequationFeFSEnum() ,'data',StringToEnum(self.fe_FS)[0] ,'format','Integer')
    113115                WriteData(fid,'enum',AugmentedLagrangianREnum(),'data',self.augmented_lagrangian_r ,'format','Double')
     116                WriteData(fid,'enum',AugmentedLagrangianRhopEnum(),'data',self.augmented_lagrangian_rhop ,'format','Double')
    114117                WriteData(fid,'enum',AugmentedLagrangianThetaEnum() ,'data',self.XTH_theta ,'format','Double')
    115118                WriteData(fid,'object',self,'fieldname','borderSSA','format','DoubleMat','mattype',1)
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r18194 r18208  
    641641def IncrementalEnum(): return StringToEnum("Incremental")[0]
    642642def AugmentedLagrangianREnum(): return StringToEnum("AugmentedLagrangianR")[0]
     643def AugmentedLagrangianRhopEnum(): return StringToEnum("AugmentedLagrangianRhop")[0]
    643644def AugmentedLagrangianThetaEnum(): return StringToEnum("AugmentedLagrangianTheta")[0]
    644645def NoneEnum(): return StringToEnum("None")[0]
Note: See TracChangeset for help on using the changeset viewer.