Changeset 18208
- Timestamp:
- 07/01/14 12:12:41 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/UzawaPressureAnalysis.cpp
r18207 r18208 11 11 void UzawaPressureAnalysis::UpdateParameters(Parameters* parameters,IoModel* iomodel,int solution_enum,int analysis_enum){/*{{{*/ 12 12 13 parameters->AddObject(iomodel->CopyConstantObject(AugmentedLagrangianR Enum));13 parameters->AddObject(iomodel->CopyConstantObject(AugmentedLagrangianRhopEnum)); 14 14 }/*}}}*/ 15 15 void UzawaPressureAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ … … 91 91 /*Intermediaries*/ 92 92 int dim; 93 IssmDouble Jdet,r ,divu;93 IssmDouble Jdet,rhop,divu; 94 94 IssmDouble *xyz_list = NULL; 95 95 int numnodes = element->GetNumberOfNodes(); … … 97 97 /*Retrieve all inputs and parameters*/ 98 98 element->FindParam(&dim,DomainDimensionEnum); 99 element->FindParam(&r ,AugmentedLagrangianREnum);99 element->FindParam(&rhop,AugmentedLagrangianRhopEnum); 100 100 element->GetVerticesCoordinates(&xyz_list); 101 101 … … 128 128 129 129 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]; 131 131 } 132 132 } -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r18194 r18208 668 668 IncrementalEnum, 669 669 AugmentedLagrangianREnum, 670 AugmentedLagrangianRhopEnum, 670 671 AugmentedLagrangianThetaEnum, 671 672 /*}}}*/ -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r18194 r18208 649 649 case IncrementalEnum : return "Incremental"; 650 650 case AugmentedLagrangianREnum : return "AugmentedLagrangianR"; 651 case AugmentedLagrangianRhopEnum : return "AugmentedLagrangianRhop"; 651 652 case AugmentedLagrangianThetaEnum : return "AugmentedLagrangianTheta"; 652 653 case NoneEnum : return "None"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r18194 r18208 664 664 else if (strcmp(name,"Incremental")==0) return IncrementalEnum; 665 665 else if (strcmp(name,"AugmentedLagrangianR")==0) return AugmentedLagrangianREnum; 666 else if (strcmp(name,"AugmentedLagrangianRhop")==0) return AugmentedLagrangianRhopEnum; 666 667 else if (strcmp(name,"AugmentedLagrangianTheta")==0) return AugmentedLagrangianThetaEnum; 667 668 else if (strcmp(name,"None")==0) return NoneEnum; -
issm/trunk-jpl/src/c/solutionsequences/solutionsequence_la.cpp
r18207 r18208 34 34 femmodel->parameters->FindParam(&eps_rel,StressbalanceReltolEnum); 35 35 femmodel->parameters->FindParam(&max_nonlinear_iterations,StressbalanceMaxiterEnum); 36 femmodel->parameters->FindParam(&r,AugmentedLagrangianREnum);37 36 38 37 /*Update constraints*/ -
issm/trunk-jpl/src/m/classes/flowequation.m
r18197 r18208 6 6 classdef flowequation 7 7 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; 23 24 end 24 25 methods (Static) … … 135 136 md = checkfield(md,'fieldname','flowequation.fe_HO' ,'values',{'P1','P1bubble','P1bubblecondensed','P1xP2','P2xP1','P2','P2bubble','P1xP3','P2xP4'}); 136 137 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.); 138 140 md = checkfield(md,'fieldname','flowequation.XTH_theta','numel',[1],'>=',0.,'<',0.5); 139 141 md = checkfield(md,'fieldname','flowequation.borderSSA','size',[md.mesh.numberofvertices 1],'values',[0 1]); … … 193 195 WriteData(fid,'enum',FlowequationFeFSEnum() ,'data',StringToEnum(obj.fe_FS) ,'format','Integer'); 194 196 WriteData(fid,'enum',AugmentedLagrangianREnum(),'data',obj.augmented_lagrangian_r ,'format','Double'); 197 WriteData(fid,'enum',AugmentedLagrangianRhopEnum(),'data',obj.augmented_lagrangian_rhop ,'format','Double'); 195 198 WriteData(fid,'enum',AugmentedLagrangianThetaEnum() ,'data',obj.XTH_theta ,'format','Double'); 196 199 WriteData(fid,'object',obj,'fieldname','borderSSA','format','DoubleMat','mattype',1); -
issm/trunk-jpl/src/m/classes/flowequation.py
r18197 r18208 17 17 def __init__(self): # {{{ 18 18 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') 34 35 35 36 #set defaults … … 83 84 md = checkfield(md,'fieldname','flowequation.borderFS','size',[md.mesh.numberofvertices],'values',[0,1]) 84 85 md = checkfield(md,'fieldname','flowequation.augmented_lagrangian_r','numel',[1],'>',0.) 86 md = checkfield(md,'fieldname','flowequation.augmented_lagrangian_rhop','numel',[1],'>',0.) 85 87 md = checkfield(md,'fieldname','flowequation.XTH_theta','numel',[1],'>=',0.,'<',.5) 86 88 if m.strcmp(md.mesh.domaintype(),'2Dhorizontal'): … … 112 114 WriteData(fid,'enum',FlowequationFeFSEnum() ,'data',StringToEnum(self.fe_FS)[0] ,'format','Integer') 113 115 WriteData(fid,'enum',AugmentedLagrangianREnum(),'data',self.augmented_lagrangian_r ,'format','Double') 116 WriteData(fid,'enum',AugmentedLagrangianRhopEnum(),'data',self.augmented_lagrangian_rhop ,'format','Double') 114 117 WriteData(fid,'enum',AugmentedLagrangianThetaEnum() ,'data',self.XTH_theta ,'format','Double') 115 118 WriteData(fid,'object',self,'fieldname','borderSSA','format','DoubleMat','mattype',1) -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r18194 r18208 641 641 def IncrementalEnum(): return StringToEnum("Incremental")[0] 642 642 def AugmentedLagrangianREnum(): return StringToEnum("AugmentedLagrangianR")[0] 643 def AugmentedLagrangianRhopEnum(): return StringToEnum("AugmentedLagrangianRhop")[0] 643 644 def AugmentedLagrangianThetaEnum(): return StringToEnum("AugmentedLagrangianTheta")[0] 644 645 def NoneEnum(): return StringToEnum("None")[0]
Note:
See TracChangeset
for help on using the changeset viewer.