Changeset 5707
- Timestamp:
- 09/08/10 14:42:36 (15 years ago)
- Location:
- issm/trunk/src
- Files:
-
- 137 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h
r5684 r5707 229 229 SurfaceSlopeYEnum, 230 230 TemperatureEnum, 231 TemporaryTemperatureEnum, 231 232 TemperatureOldEnum, 232 233 ThicknessEnum, -
issm/trunk/src/c/EnumDefinitions/EnumToString.cpp
r5684 r5707 203 203 case SurfaceSlopeYEnum : return "SurfaceSlopeY"; 204 204 case TemperatureEnum : return "Temperature"; 205 case TemporaryTemperatureEnum : return "TemporaryTemperature"; 205 206 case TemperatureOldEnum : return "TemperatureOld"; 206 207 case ThicknessEnum : return "Thickness"; -
issm/trunk/src/c/EnumDefinitions/StringToEnum.cpp
r5684 r5707 201 201 else if (strcmp(name,"SurfaceSlopeY")==0) return SurfaceSlopeYEnum; 202 202 else if (strcmp(name,"Temperature")==0) return TemperatureEnum; 203 else if (strcmp(name,"TemporaryTemperature")==0) return TemporaryTemperatureEnum; 203 204 else if (strcmp(name,"TemperatureOld")==0) return TemperatureOldEnum; 204 205 else if (strcmp(name,"Thickness")==0) return ThicknessEnum; -
issm/trunk/src/c/objects/Elements/Penta.cpp
r5682 r5707 5645 5645 double B[numdof]; 5646 5646 double B_average; 5647 bool converged; 5647 5648 5648 5649 /*Get dof list: */ … … 5654 5655 } 5655 5656 5656 B_average=Paterson((values[0]+values[1]+values[2]+values[3]+values[4]+values[5])/6.0); 5657 for(i=0;i<numdof;i++){ 5658 B[i]=B_average; 5659 } 5660 5661 /*Add thickness as inputs to the tria element: */ 5662 this->inputs->AddInput(new PentaVertexInput(TemperatureEnum,values)); 5663 5664 /*Also update the rheology*/ 5665 this->matice->inputs->AddInput(new PentaVertexInput(RheologyBEnum,B)); 5657 this->inputs->GetParameterValue(&converged,ConvergedEnum); 5658 if(converged){ 5659 this->inputs->AddInput(new PentaVertexInput(TemperatureEnum,values)); 5660 5661 /*Update Rheology only if convreged (we must make sure that the temperature is below melting point 5662 * otherwise the rheology could be negative*/ 5663 B_average=Paterson((values[0]+values[1]+values[2]+values[3]+values[4]+values[5])/6.0); 5664 for(i=0;i<numdof;i++) B[i]=B_average; 5665 this->matice->inputs->AddInput(new PentaVertexInput(RheologyBEnum,B)); 5666 } 5667 else{ 5668 this->inputs->AddInput(new PentaVertexInput(TemporaryTemperatureEnum,values)); 5669 } 5666 5670 5667 5671 /*Free ressources:*/ … … 5760 5764 name==DragCoefficientEnum || 5761 5765 name==GradientEnum || 5762 name==OldGradientEnum 5766 name==OldGradientEnum || 5767 name==ConvergedEnum 5763 5768 ) { 5764 5769 return true; -
issm/trunk/src/c/objects/Inputs/DoubleInput.cpp
r5660 r5707 157 157 /*FUNCTION DoubleInput::GetParameterValue(bool* pvalue) {{{1*/ 158 158 void DoubleInput::GetParameterValue(bool* pvalue){ 159 160 ISSMERROR("cannot return a bool"); 159 #ifdef _SERIAL_ 160 *pvalue=(bool)value; 161 #else 162 ISSMERROR("Double input of enum %s cannot return a boolean",EnumToString(enum_type)); 163 #endif 161 164 162 165 } -
issm/trunk/src/c/objects/Loads/Pengrid.cpp
r5585 r5707 19 19 20 20 /*Pengrid constructors and destructor*/ 21 /*FUNCTION Pengrid:: constructor{{{1*/21 /*FUNCTION Pengrid::Pengrid(){{{1*/ 22 22 Pengrid::Pengrid(){ 23 23 this->inputs=NULL; … … 72 72 } 73 73 /*}}}*/ 74 /*FUNCTION Pengrid:: destructor{{{1*/74 /*FUNCTION Pengrid::~Pengrid(){{{1*/ 75 75 Pengrid::~Pengrid(){ 76 76 delete inputs; … … 513 513 gauss=penta->GaussFromNode(node); 514 514 penta->inputs->GetParameterValue(&pressure,gauss,PressureEnum); 515 penta->inputs->GetParameterValue(&temperature,gauss,Temp eratureEnum);515 penta->inputs->GetParameterValue(&temperature,gauss,TemporaryTemperatureEnum); 516 516 517 517 //Recover our data: -
issm/trunk/src/c/solvers/solver_thermal_nonlinear.cpp
r5698 r5707 18 18 /*intermediary: */ 19 19 Mat Kgg=NULL; 20 Mat Kgg_nopenalty=NULL;21 20 Mat Kff=NULL; 22 21 Mat Kfs=NULL; 23 22 Vec pg=NULL; 24 Vec pg_nopenalty=NULL;25 23 Vec pf=NULL; 26 24 27 intconverged;25 bool converged; 28 26 int constraints_converged; 29 27 int num_unstable_constraints; … … 45 43 46 44 count=1; 47 converged= 0;45 converged=false; 48 46 47 if(verbose)_printf_("%s\n","starting direct shooting method"); 48 InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,reset_penalties,ResetPenaltiesEnum); 49 InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,false,ConvergedEnum); 49 50 for(;;){ 50 51 51 if(verbose)_printf_("%s\n","starting direct shooting method");52 52 53 if(count==1) reset_penalties=1; else reset_penalties=0; 54 InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,reset_penalties,ResetPenaltiesEnum); 53 SystemMatricesx(&Kgg,&pg,&melting_offset,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 55 54 56 /*===================== DEBUGING ====================*/ 57 if (count==1) SystemMatricesx(&Kgg_nopenalty,&pg_nopenalty,NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,true,true,false,false); 58 MatDuplicate(Kgg_nopenalty,MAT_COPY_VALUES,&Kgg); 59 VecDuplicatePatch(&pg,pg_nopenalty); 60 PenaltySystemMatricesx(Kgg, pg,&melting_offset,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,kflag,pflag); 61 /*===================== DEBUGING ====================*/ 62 //SystemMatricesx(&Kgg,&pg,&melting_offset,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 63 /*===================== DEBUGING ====================*/ 64 65 Reducematrixfromgtofx(&Kff,&Kfs,Kgg,femmodel->nodesets,femmodel->parameters); 66 67 /*Free ressources: */ 68 MatFree(&Kgg); 69 55 Reducematrixfromgtofx(&Kff,&Kfs,Kgg,femmodel->nodesets,femmodel->parameters); MatFree(&Kgg); 70 56 Reduceloadfromgtofx(&pf, pg, Kfs, femmodel->ys, femmodel->nodesets,femmodel->parameters); 71 57 72 //no need for pg and Kfs anymore73 58 VecFree(&pg); 74 59 MatFree(&Kfs); 75 60 76 /*Solve: */77 61 VecFree(&tf); 78 62 Solverx(&tf, Kff, pf,tf_old, femmodel->parameters); 79 63 VecFree(&tf_old); VecDuplicatePatch(&tf_old,tf); 80 64 81 //no need for Kff and pf anymore82 65 MatFree(&Kff);VecFree(&pf);VecFree(&tg); 83 66 84 67 Mergesolutionfromftogx(&tg, tf,femmodel->ys,femmodel->nodesets,femmodel->parameters); 85 86 68 InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,tg); 87 69 88 //Deal with penalty loads89 70 PenaltyConstraintsx(&constraints_converged, &num_unstable_constraints, femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); 90 71 91 72 if (!converged){ 92 73 if(verbose)_printf_("%s%i\n"," #unstable constraints = ",num_unstable_constraints); 93 if (num_unstable_constraints <= min_thermal_constraints)converged= 1;74 if (num_unstable_constraints <= min_thermal_constraints)converged=true; 94 75 } 95 76 count++; 77 78 InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,converged,ConvergedEnum); 96 79 97 if(converged ==1)break;80 if(converged)break; 98 81 } 99 82 100 //add melting_offset to inputs:83 InputUpdateFromSolutionx(femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,tg); 101 84 InputUpdateFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,melting_offset,MeltingOffsetEnum); 102 85 103 86 /*Free ressources: */ 104 MatFree(&Kgg_nopenalty);105 VecFree(&pg_nopenalty);106 87 VecFree(&tg); 107 88 VecFree(&tf); -
issm/trunk/src/c/toolkits/petsc/patches/PetscDetermineLocalSize.cpp
r1439 r5707 49 49 50 50 } 51 52 53 -
issm/trunk/src/m/enum/AbsoluteEnum.m
r5687 r5707 9 9 % macro=AbsoluteEnum() 10 10 11 macro=24 3;11 macro=244; -
issm/trunk/src/m/enum/AdjointEnum.m
r5687 r5707 9 9 % macro=AdjointEnum() 10 10 11 macro=25 8;11 macro=259; -
issm/trunk/src/m/enum/BetaEnum.m
r5687 r5707 9 9 % macro=BetaEnum() 10 10 11 macro=25 3;11 macro=254; -
issm/trunk/src/m/enum/BoolExternalResultEnum.m
r5687 r5707 9 9 % macro=BoolExternalResultEnum() 10 10 11 macro=21 7;11 macro=218; -
issm/trunk/src/m/enum/CmGradientEnum.m
r5687 r5707 9 9 % macro=CmGradientEnum() 10 10 11 macro=25 4;11 macro=255; -
issm/trunk/src/m/enum/CmJumpEnum.m
r5687 r5707 9 9 % macro=CmJumpEnum() 10 10 11 macro=25 5;11 macro=256; -
issm/trunk/src/m/enum/CmMaxEnum.m
r5687 r5707 9 9 % macro=CmMaxEnum() 10 10 11 macro=25 6;11 macro=257; -
issm/trunk/src/m/enum/CmMinEnum.m
r5687 r5707 9 9 % macro=CmMinEnum() 10 10 11 macro=25 7;11 macro=258; -
issm/trunk/src/m/enum/ColinearEnum.m
r5687 r5707 9 9 % macro=ColinearEnum() 10 10 11 macro=25 1;11 macro=252; -
issm/trunk/src/m/enum/ConnectivityEnum.m
r5687 r5707 9 9 % macro=ConnectivityEnum() 10 10 11 macro=26 1;11 macro=262; -
issm/trunk/src/m/enum/ControlParameterEnum.m
r5687 r5707 9 9 % macro=ControlParameterEnum() 10 10 11 macro=26 2;11 macro=263; -
issm/trunk/src/m/enum/ControlSteadyEnum.m
r5687 r5707 9 9 % macro=ControlSteadyEnum() 10 10 11 macro=26 3;11 macro=264; -
issm/trunk/src/m/enum/DakotaParameterEnum.m
r5687 r5707 9 9 % macro=DakotaParameterEnum() 10 10 11 macro=26 4;11 macro=265; -
issm/trunk/src/m/enum/DimEnum.m
r5687 r5707 9 9 % macro=DimEnum() 10 10 11 macro=26 5;11 macro=266; -
issm/trunk/src/m/enum/DoubleElementResultEnum.m
r5687 r5707 9 9 % macro=DoubleElementResultEnum() 10 10 11 macro=21 4;11 macro=215; -
issm/trunk/src/m/enum/DoubleExternalResultEnum.m
r5687 r5707 9 9 % macro=DoubleExternalResultEnum() 10 10 11 macro=21 8;11 macro=219; -
issm/trunk/src/m/enum/DoubleMatExternalResultEnum.m
r5687 r5707 9 9 % macro=DoubleMatExternalResultEnum() 10 10 11 macro=22 0;11 macro=221; -
issm/trunk/src/m/enum/DoubleVecExternalResultEnum.m
r5687 r5707 9 9 % macro=DoubleVecExternalResultEnum() 10 10 11 macro=2 19;11 macro=220; -
issm/trunk/src/m/enum/EnumToString.m
r5684 r5707 198 198 case SurfaceSlopeYEnum(), string='SurfaceSlopeY'; return 199 199 case TemperatureEnum(), string='Temperature'; return 200 case TemporaryTemperatureEnum(), string='TemporaryTemperature'; return 200 201 case TemperatureOldEnum(), string='TemperatureOld'; return 201 202 case ThicknessEnum(), string='Thickness'; return -
issm/trunk/src/m/enum/EpsAbsEnum.m
r5687 r5707 9 9 % macro=EpsAbsEnum() 10 10 11 macro=26 6;11 macro=267; -
issm/trunk/src/m/enum/EpsCmEnum.m
r5687 r5707 9 9 % macro=EpsCmEnum() 10 10 11 macro=26 7;11 macro=268; -
issm/trunk/src/m/enum/EpsRelEnum.m
r5687 r5707 9 9 % macro=EpsRelEnum() 10 10 11 macro=26 8;11 macro=269; -
issm/trunk/src/m/enum/EpsResEnum.m
r5687 r5707 9 9 % macro=EpsResEnum() 10 10 11 macro=2 69;11 macro=270; -
issm/trunk/src/m/enum/GradientEnum.m
r5687 r5707 9 9 % macro=GradientEnum() 10 10 11 macro=2 59;11 macro=260; -
issm/trunk/src/m/enum/GravityEnum.m
r5687 r5707 9 9 % macro=GravityEnum() 10 10 11 macro=24 6;11 macro=247; -
issm/trunk/src/m/enum/HeatCapacityEnum.m
r5687 r5707 9 9 % macro=HeatCapacityEnum() 10 10 11 macro=27 0;11 macro=271; -
issm/trunk/src/m/enum/IndexEnum.m
r5687 r5707 9 9 % macro=IndexEnum() 10 10 11 macro=30 2;11 macro=303; -
issm/trunk/src/m/enum/IndexedEnum.m
r5687 r5707 9 9 % macro=IndexedEnum() 10 10 11 macro=30 0;11 macro=301; -
issm/trunk/src/m/enum/IntExternalResultEnum.m
r5687 r5707 9 9 % macro=IntExternalResultEnum() 10 10 11 macro=22 1;11 macro=222; -
issm/trunk/src/m/enum/IntersectEnum.m
r5687 r5707 9 9 % macro=IntersectEnum() 10 10 11 macro=25 0;11 macro=251; -
issm/trunk/src/m/enum/IsHutterEnum.m
r5687 r5707 9 9 % macro=IsHutterEnum() 10 10 11 macro=27 1;11 macro=272; -
issm/trunk/src/m/enum/IsMacAyealPattynEnum.m
r5687 r5707 9 9 % macro=IsMacAyealPattynEnum() 10 10 11 macro=27 2;11 macro=273; -
issm/trunk/src/m/enum/IsStokesEnum.m
r5687 r5707 9 9 % macro=IsStokesEnum() 10 10 11 macro=27 3;11 macro=274; -
issm/trunk/src/m/enum/JEnum.m
r5687 r5707 9 9 % macro=JEnum() 10 10 11 macro=22 4;11 macro=225; -
issm/trunk/src/m/enum/LatentHeatEnum.m
r5687 r5707 9 9 % macro=LatentHeatEnum() 10 10 11 macro=27 4;11 macro=275; -
issm/trunk/src/m/enum/LowmemEnum.m
r5687 r5707 9 9 % macro=LowmemEnum() 10 10 11 macro=27 5;11 macro=276; -
issm/trunk/src/m/enum/MaxAbsVxEnum.m
r5687 r5707 9 9 % macro=MaxAbsVxEnum() 10 10 11 macro=23 4;11 macro=235; -
issm/trunk/src/m/enum/MaxAbsVyEnum.m
r5687 r5707 9 9 % macro=MaxAbsVyEnum() 10 10 11 macro=23 7;11 macro=238; -
issm/trunk/src/m/enum/MaxAbsVzEnum.m
r5687 r5707 9 9 % macro=MaxAbsVzEnum() 10 10 11 macro=24 0;11 macro=241; -
issm/trunk/src/m/enum/MaxIterEnum.m
r5687 r5707 9 9 % macro=MaxIterEnum() 10 10 11 macro=27 6;11 macro=277; -
issm/trunk/src/m/enum/MaxNonlinearIterationsEnum.m
r5687 r5707 9 9 % macro=MaxNonlinearIterationsEnum() 10 10 11 macro=27 7;11 macro=278; -
issm/trunk/src/m/enum/MaxVelEnum.m
r5687 r5707 9 9 % macro=MaxVelEnum() 10 10 11 macro=23 1;11 macro=232; -
issm/trunk/src/m/enum/MaxVxEnum.m
r5687 r5707 9 9 % macro=MaxVxEnum() 10 10 11 macro=23 3;11 macro=234; -
issm/trunk/src/m/enum/MaxVyEnum.m
r5687 r5707 9 9 % macro=MaxVyEnum() 10 10 11 macro=23 6;11 macro=237; -
issm/trunk/src/m/enum/MaxVzEnum.m
r5687 r5707 9 9 % macro=MaxVzEnum() 10 10 11 macro=2 39;11 macro=240; -
issm/trunk/src/m/enum/MeltingPointEnum.m
r5687 r5707 9 9 % macro=MeltingPointEnum() 10 10 11 macro=27 8;11 macro=279; -
issm/trunk/src/m/enum/MinMechanicalConstraintsEnum.m
r5687 r5707 9 9 % macro=MinMechanicalConstraintsEnum() 10 10 11 macro=2 79;11 macro=280; -
issm/trunk/src/m/enum/MinThermalConstraintsEnum.m
r5687 r5707 9 9 % macro=MinThermalConstraintsEnum() 10 10 11 macro=28 0;11 macro=281; -
issm/trunk/src/m/enum/MinVelEnum.m
r5687 r5707 9 9 % macro=MinVelEnum() 10 10 11 macro=23 0;11 macro=231; -
issm/trunk/src/m/enum/MinVxEnum.m
r5687 r5707 9 9 % macro=MinVxEnum() 10 10 11 macro=23 2;11 macro=233; -
issm/trunk/src/m/enum/MinVyEnum.m
r5687 r5707 9 9 % macro=MinVyEnum() 10 10 11 macro=23 5;11 macro=236; -
issm/trunk/src/m/enum/MinVzEnum.m
r5687 r5707 9 9 % macro=MinVzEnum() 10 10 11 macro=23 8;11 macro=239; -
issm/trunk/src/m/enum/MiniEnum.m
r5687 r5707 9 9 % macro=MiniEnum() 10 10 11 macro=21 3;11 macro=214; -
issm/trunk/src/m/enum/MixedLayerCapacityEnum.m
r5687 r5707 9 9 % macro=MixedLayerCapacityEnum() 10 10 11 macro=24 8;11 macro=249; -
issm/trunk/src/m/enum/NStepsEnum.m
r5687 r5707 9 9 % macro=NStepsEnum() 10 10 11 macro=28 1;11 macro=282; -
issm/trunk/src/m/enum/NdtEnum.m
r5687 r5707 9 9 % macro=NdtEnum() 10 10 11 macro=28 2;11 macro=283; -
issm/trunk/src/m/enum/NodalEnum.m
r5687 r5707 9 9 % macro=NodalEnum() 10 10 11 macro=30 4;11 macro=305; -
issm/trunk/src/m/enum/NumOutputEnum.m
r5687 r5707 9 9 % macro=NumOutputEnum() 10 10 11 macro=28 3;11 macro=284; -
issm/trunk/src/m/enum/NumRiftsEnum.m
r5687 r5707 9 9 % macro=NumRiftsEnum() 10 10 11 macro=28 4;11 macro=285; -
issm/trunk/src/m/enum/NumberOfElementsEnum.m
r5687 r5707 9 9 % macro=NumberOfElementsEnum() 10 10 11 macro=28 5;11 macro=286; -
issm/trunk/src/m/enum/NumberOfNodesEnum.m
r5687 r5707 9 9 % macro=NumberOfNodesEnum() 10 10 11 macro=28 6;11 macro=287; -
issm/trunk/src/m/enum/NumberOfVerticesEnum.m
r5687 r5707 9 9 % macro=NumberOfVerticesEnum() 10 10 11 macro=28 7;11 macro=288; -
issm/trunk/src/m/enum/OldGradientEnum.m
r5687 r5707 9 9 % macro=OldGradientEnum() 10 10 11 macro=26 0;11 macro=261; -
issm/trunk/src/m/enum/OptScalEnum.m
r5687 r5707 9 9 % macro=OptScalEnum() 10 10 11 macro=28 8;11 macro=289; -
issm/trunk/src/m/enum/OutputFilePointerEnum.m
r5687 r5707 9 9 % macro=OutputFilePointerEnum() 10 10 11 macro=2 89;11 macro=290; -
issm/trunk/src/m/enum/OutputFrequencyEnum.m
r5687 r5707 9 9 % macro=OutputFrequencyEnum() 10 10 11 macro=2 29;11 macro=230; -
issm/trunk/src/m/enum/P0Enum.m
r5687 r5707 9 9 % macro=P0Enum() 10 10 11 macro=21 0;11 macro=211; -
issm/trunk/src/m/enum/P1DGEnum.m
r5687 r5707 9 9 % macro=P1DGEnum() 10 10 11 macro=21 2;11 macro=213; -
issm/trunk/src/m/enum/P1Enum.m
r5687 r5707 9 9 % macro=P1Enum() 10 10 11 macro=21 1;11 macro=212; -
issm/trunk/src/m/enum/ParameterOutputEnum.m
r5687 r5707 9 9 % macro=ParameterOutputEnum() 10 10 11 macro=29 0;11 macro=291; -
issm/trunk/src/m/enum/PatchEnum.m
r5687 r5707 9 9 % macro=PatchEnum() 10 10 11 macro=22 5;11 macro=226; -
issm/trunk/src/m/enum/PatchNodesEnum.m
r5687 r5707 9 9 % macro=PatchNodesEnum() 10 10 11 macro=22 7;11 macro=228; -
issm/trunk/src/m/enum/PatchVerticesEnum.m
r5687 r5707 9 9 % macro=PatchVerticesEnum() 10 10 11 macro=22 6;11 macro=227; -
issm/trunk/src/m/enum/PenaltyMeltingEnum.m
r5687 r5707 9 9 % macro=PenaltyMeltingEnum() 10 10 11 macro=29 1;11 macro=292; -
issm/trunk/src/m/enum/PentaVertexElementResultEnum.m
r5687 r5707 9 9 % macro=PentaVertexElementResultEnum() 10 10 11 macro=21 6;11 macro=217; -
issm/trunk/src/m/enum/PetscVecExternalResultEnum.m
r5687 r5707 9 9 % macro=PetscVecExternalResultEnum() 10 10 11 macro=22 2;11 macro=223; -
issm/trunk/src/m/enum/QmuAnalysisEnum.m
r5687 r5707 9 9 % macro=QmuAnalysisEnum() 10 10 11 macro=29 2;11 macro=293; -
issm/trunk/src/m/enum/QmuErrNameEnum.m
r5687 r5707 9 9 % macro=QmuErrNameEnum() 10 10 11 macro=29 3;11 macro=294; -
issm/trunk/src/m/enum/QmuInNameEnum.m
r5687 r5707 9 9 % macro=QmuInNameEnum() 10 10 11 macro=29 4;11 macro=295; -
issm/trunk/src/m/enum/QmuMassFluxSegmentsEnum.m
r5687 r5707 9 9 % macro=QmuMassFluxSegmentsEnum() 10 10 11 macro=29 5;11 macro=296; -
issm/trunk/src/m/enum/QmuNPartEnum.m
r5687 r5707 9 9 % macro=QmuNPartEnum() 10 10 11 macro=29 6;11 macro=297; -
issm/trunk/src/m/enum/QmuNumberOfResponsesEnum.m
r5687 r5707 9 9 % macro=QmuNumberOfResponsesEnum() 10 10 11 macro= 299;11 macro=300; -
issm/trunk/src/m/enum/QmuOutNameEnum.m
r5687 r5707 9 9 % macro=QmuOutNameEnum() 10 10 11 macro=29 7;11 macro=298; -
issm/trunk/src/m/enum/QmuPartEnum.m
r5687 r5707 9 9 % macro=QmuPartEnum() 10 10 11 macro=29 8;11 macro=299; -
issm/trunk/src/m/enum/QmuVxEnum.m
r5687 r5707 9 9 % macro=QmuVxEnum() 10 10 11 macro=19 8;11 macro=199; -
issm/trunk/src/m/enum/QmuVyEnum.m
r5687 r5707 9 9 % macro=QmuVyEnum() 10 10 11 macro=20 3;11 macro=204; -
issm/trunk/src/m/enum/QmuVzEnum.m
r5687 r5707 9 9 % macro=QmuVzEnum() 10 10 11 macro=20 8;11 macro=209; -
issm/trunk/src/m/enum/RegularEnum.m
r5687 r5707 9 9 % macro=RegularEnum() 10 10 11 macro=30 1;11 macro=302; -
issm/trunk/src/m/enum/RelativeEnum.m
r5687 r5707 9 9 % macro=RelativeEnum() 10 10 11 macro=24 1;11 macro=242; -
issm/trunk/src/m/enum/ResidualEnum.m
r5687 r5707 9 9 % macro=ResidualEnum() 10 10 11 macro=24 2;11 macro=243; -
issm/trunk/src/m/enum/ResponseDescriptorsEnum.m
r5687 r5707 9 9 % macro=ResponseDescriptorsEnum() 10 10 11 macro=30 5;11 macro=306; -
issm/trunk/src/m/enum/RhoIceEnum.m
r5687 r5707 9 9 % macro=RhoIceEnum() 10 10 11 macro=24 4;11 macro=245; -
issm/trunk/src/m/enum/RhoWaterEnum.m
r5687 r5707 9 9 % macro=RhoWaterEnum() 10 10 11 macro=24 5;11 macro=246; -
issm/trunk/src/m/enum/ScaledEnum.m
r5687 r5707 9 9 % macro=ScaledEnum() 10 10 11 macro=30 3;11 macro=304; -
issm/trunk/src/m/enum/SeparateEnum.m
r5687 r5707 9 9 % macro=SeparateEnum() 10 10 11 macro=25 2;11 macro=253; -
issm/trunk/src/m/enum/SolverStringEnum.m
r5687 r5707 9 9 % macro=SolverStringEnum() 10 10 11 macro=30 6;11 macro=307; -
issm/trunk/src/m/enum/SparsityEnum.m
r5687 r5707 9 9 % macro=SparsityEnum() 10 10 11 macro=30 7;11 macro=308; -
issm/trunk/src/m/enum/StringExternalResultEnum.m
r5687 r5707 9 9 % macro=StringExternalResultEnum() 10 10 11 macro=22 3;11 macro=224; -
issm/trunk/src/m/enum/StringToEnum.m
r5684 r5707 196 196 elseif (strcmpi(name,'SurfaceSlopeY')), enum=SurfaceSlopeYEnum(); return 197 197 elseif (strcmpi(name,'Temperature')), enum=TemperatureEnum(); return 198 elseif (strcmpi(name,'TemporaryTemperature')), enum=TemporaryTemperatureEnum(); return 198 199 elseif (strcmpi(name,'TemperatureOld')), enum=TemperatureOldEnum(); return 199 200 elseif (strcmpi(name,'Thickness')), enum=ThicknessEnum(); return -
issm/trunk/src/m/enum/TemperatureOldEnum.m
r5687 r5707 9 9 % macro=TemperatureOldEnum() 10 10 11 macro=18 7;11 macro=188; -
issm/trunk/src/m/enum/ThermalConductivityEnum.m
r5687 r5707 9 9 % macro=ThermalConductivityEnum() 10 10 11 macro=24 7;11 macro=248; -
issm/trunk/src/m/enum/ThermalExchangeVelocityEnum.m
r5687 r5707 9 9 % macro=ThermalExchangeVelocityEnum() 10 10 11 macro=2 49;11 macro=250; -
issm/trunk/src/m/enum/ThicknessEnum.m
r5687 r5707 9 9 % macro=ThicknessEnum() 10 10 11 macro=18 8;11 macro=189; -
issm/trunk/src/m/enum/ThicknessObsEnum.m
r5687 r5707 9 9 % macro=ThicknessObsEnum() 10 10 11 macro=1 89;11 macro=190; -
issm/trunk/src/m/enum/TimeEnum.m
r5687 r5707 9 9 % macro=TimeEnum() 10 10 11 macro=22 8;11 macro=229; -
issm/trunk/src/m/enum/TolXEnum.m
r5687 r5707 9 9 % macro=TolXEnum() 10 10 11 macro=30 8;11 macro=309; -
issm/trunk/src/m/enum/TriaVertexElementResultEnum.m
r5687 r5707 9 9 % macro=TriaVertexElementResultEnum() 10 10 11 macro=21 5;11 macro=216; -
issm/trunk/src/m/enum/TypeEnum.m
r5687 r5707 9 9 % macro=TypeEnum() 10 10 11 macro=19 0;11 macro=191; -
issm/trunk/src/m/enum/VariableDescriptorsEnum.m
r5687 r5707 9 9 % macro=VariableDescriptorsEnum() 10 10 11 macro=3 09;11 macro=310; -
issm/trunk/src/m/enum/VelEnum.m
r5687 r5707 9 9 % macro=VelEnum() 10 10 11 macro=19 1;11 macro=192; -
issm/trunk/src/m/enum/VelObsEnum.m
r5687 r5707 9 9 % macro=VelObsEnum() 10 10 11 macro=19 2;11 macro=193; -
issm/trunk/src/m/enum/VerboseEnum.m
r5687 r5707 9 9 % macro=VerboseEnum() 10 10 11 macro=31 0;11 macro=311; -
issm/trunk/src/m/enum/ViscosityOvershootEnum.m
r5687 r5707 9 9 % macro=ViscosityOvershootEnum() 10 10 11 macro=19 3;11 macro=194; -
issm/trunk/src/m/enum/VxAverageEnum.m
r5687 r5707 9 9 % macro=VxAverageEnum() 10 10 11 macro=19 4;11 macro=195; -
issm/trunk/src/m/enum/VxEnum.m
r5687 r5707 9 9 % macro=VxEnum() 10 10 11 macro=19 5;11 macro=196; -
issm/trunk/src/m/enum/VxObsEnum.m
r5687 r5707 9 9 % macro=VxObsEnum() 10 10 11 macro=19 6;11 macro=197; -
issm/trunk/src/m/enum/VxOldEnum.m
r5687 r5707 9 9 % macro=VxOldEnum() 10 10 11 macro=19 7;11 macro=198; -
issm/trunk/src/m/enum/VyAverageEnum.m
r5687 r5707 9 9 % macro=VyAverageEnum() 10 10 11 macro= 199;11 macro=200; -
issm/trunk/src/m/enum/VyEnum.m
r5687 r5707 9 9 % macro=VyEnum() 10 10 11 macro=20 0;11 macro=201; -
issm/trunk/src/m/enum/VyObsEnum.m
r5687 r5707 9 9 % macro=VyObsEnum() 10 10 11 macro=20 1;11 macro=202; -
issm/trunk/src/m/enum/VyOldEnum.m
r5687 r5707 9 9 % macro=VyOldEnum() 10 10 11 macro=20 2;11 macro=203; -
issm/trunk/src/m/enum/VzAverageEnum.m
r5687 r5707 9 9 % macro=VzAverageEnum() 10 10 11 macro=20 4;11 macro=205; -
issm/trunk/src/m/enum/VzEnum.m
r5687 r5707 9 9 % macro=VzEnum() 10 10 11 macro=20 5;11 macro=206; -
issm/trunk/src/m/enum/VzObsEnum.m
r5687 r5707 9 9 % macro=VzObsEnum() 10 10 11 macro=20 6;11 macro=207; -
issm/trunk/src/m/enum/VzOldEnum.m
r5687 r5707 9 9 % macro=VzOldEnum() 10 10 11 macro=20 7;11 macro=208; -
issm/trunk/src/m/enum/WaitOnLockEnum.m
r5687 r5707 9 9 % macro=WaitOnLockEnum() 10 10 11 macro=31 1;11 macro=312; -
issm/trunk/src/m/enum/WeightsEnum.m
r5687 r5707 9 9 % macro=WeightsEnum() 10 10 11 macro=2 09;11 macro=210; -
issm/trunk/src/m/enum/YtsEnum.m
r5687 r5707 9 9 % macro=YtsEnum() 10 10 11 macro=31 5;11 macro=316; -
issm/trunk/src/m/solvers/solver_thermal_nonlinear.m
r5698 r5707 13 13 14 14 displaystring(femmodel.parameters.Verbose,'\n%s',[' starting direct shooting method']); 15 16 %Reset penalties and initialize convergence as false 17 [femmodel.elements loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,0,ConvergedEnum); 18 [femmodel.elements femmodel.loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,1,ResetPenaltiesEnum); 19 15 20 while(~converged), 16 21 17 %Update inputs in datasets 18 if count==1 reset_penalties=0; else reset_penalties=1; end 19 [femmodel.elements femmodel.loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,reset_penalties,ResetPenaltiesEnum); 20 21 % ================= DEBUG FOR NOW ==================== 22 if count==1 23 [K_gg_nopenalty,p_g_nopenalty,melting_offset]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,true,true,false,false); 24 end 25 [K_gg , p_g, melting_offset]=PenaltySystemMatrices(K_gg_nopenalty,p_g_nopenalty,femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters); 26 % ================= DEBUG FOR NOW ==================== 27 %[K_gg,p_g,melting_offset]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters); 28 % ================= DEBUG FOR NOW ==================== 22 [K_gg,p_g,melting_offset]=SystemMatrices(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters); 29 23 30 24 [K_ff, K_fs] = Reducematrixfromgtof( K_gg, femmodel.nodesets,femmodel.parameters); … … 33 27 displaystring(femmodel.parameters.Verbose,'%s%g',' condition number of stiffness matrix: ',condest(K_ff)); 34 28 t_f=Solver(K_ff,p_f,[],femmodel.parameters); 29 t_g= Mergesolutionfromftog( t_f, femmodel.ys, femmodel.nodesets,femmodel.parameters); 35 30 36 t_g= Mergesolutionfromftog( t_f, femmodel.ys, femmodel.nodesets,femmodel.parameters);37 31 [femmodel.elements,femmodel.materials]=InputUpdateFromSolution(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,t_g); 38 39 32 [femmodel.loads,constraints_converged,num_unstable_constraints] =PenaltyConstraints(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads, femmodel.materials,femmodel.parameters); 40 33 41 34 if ~converged, 42 35 displaystring(femmodel.parameters.Verbose,'%s%i',' #unstable constraints ',num_unstable_constraints); 43 44 36 if num_unstable_constraints<=femmodel.parameters.MinThermalConstraints, 45 37 converged=1; 46 38 end 47 39 end 48 40 [femmodel.elements loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,double(converged),ConvergedEnum); 49 41 count=count+1; 50 42 end 51 43 52 %add melting_offset into inputs44 [femmodel.elements,femmodel.materials]=InputUpdateFromSolution(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,t_g); 53 45 [femmodel.elements femmodel.loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,melting_offset,MeltingOffsetEnum); 54 46 end 55
Note:
See TracChangeset
for help on using the changeset viewer.