Changeset 5246
- Timestamp:
- 08/13/10 11:05:27 (15 years ago)
- Location:
- issm/trunk/src/m
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/classes/public/ismodelselfconsistent.m
r5134 r5246 346 346 error('model not consistent: control_type should be a string'); 347 347 end 348 if ~(strcmpi(md.control_type,'rheology_B') | strcmpi(md.control_type,'drag_coefficient') ),348 if ~(strcmpi(md.control_type,'rheology_B') | strcmpi(md.control_type,'drag_coefficient') | strcmpi(md.control_type,'dhdt')), 349 349 error('model not consistent: control_type should be rheology_B or drag_coefficient'); 350 350 end -
issm/trunk/src/m/solutions/SolutionConfiguration.m
r5103 r5246 5 5 % [analyses, numanalyses, solutioncore]=SolutionConfiguration(solutiontype); 6 6 7 %get solution_core string 8 solutioncore=CorePointerFromSolutionEnum(solutiontype); 9 7 10 switch solutiontype, 8 11 … … 10 13 numanalyses=6; 11 14 analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum]; 12 solutioncore='diagnostic_core';13 15 14 16 case SteadystateSolutionEnum, 15 17 numanalyses=8; 16 18 analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum]; 17 solutioncore='steadystate_core';18 19 19 20 case ThermalSolutionEnum, 20 21 numanalyses=2; 21 22 analyses=[ThermalAnalysisEnum;MeltingAnalysisEnum]; 22 solutioncore='thermal_core';23 23 24 24 case PrognosticSolutionEnum, 25 25 numanalyses=1; 26 26 analyses=[PrognosticAnalysisEnum]; 27 solutioncore='prognostic_core';28 27 29 28 case BalancedthicknessSolutionEnum, 30 29 numanalyses=1; 31 30 analyses=[BalancedthicknessAnalysisEnum]; 32 solutioncore='balancedthickness_core';33 31 34 32 case BalancedvelocitiesSolutionEnum, 35 33 numanalyses=1; 36 34 analyses=[BalancedvelocitiesAnalysisEnum]; 37 solutioncore='balancedvelocities_core';38 35 39 36 case SurfaceSlopeSolutionEnum, 40 37 numanalyses=1; 41 38 analyses=[SurfaceSlopeAnalysisEnum]; 42 solutioncore='surfaceslope_core';43 39 44 40 case BedSlopeSolutionEnum, 45 41 numanalyses=1; 46 42 analyses=[BedSlopeAnalysisEnum]; 47 solutioncore='bedslope_core';48 43 49 44 case Transient2DSolutionEnum, 50 45 numanalyses=7; 51 46 analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;PrognosticAnalysisEnum]; 52 solutioncore='transient2d_core';53 47 54 48 case Transient3DSolutionEnum, 55 49 numanalyses=9; 56 50 analyses=[DiagnosticHorizAnalysisEnum;DiagnosticVertAnalysisEnum;DiagnosticStokesAnalysisEnum;DiagnosticHutterAnalysisEnum;SurfaceSlopeAnalysisEnum;BedSlopeAnalysisEnum;PrognosticAnalysisEnum;ThermalAnalysisEnum;MeltingAnalysisEnum]; 57 solutioncore='transient3d_core';58 51 59 52 otherwise -
issm/trunk/src/m/solutions/balancedvelocities_core.m
r4903 r5246 18 18 if solution_type==BalancedvelocitiesSolutionEnum, 19 19 displaystring(verbose,'\n%s',['saving results...']); 20 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VxEnum); 21 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VyEnum); 20 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,VelEnum); 22 21 end 23 22 -
issm/trunk/src/m/solutions/control_core.m
r4967 r5246 6 6 % 7 7 8 %Preprocess models9 femmodel=stokescontrolinit(femmodel);10 11 8 %recover parameters common to all solutions 12 9 verbose=femmodel.parameters.Verbose; 13 10 nsteps=femmodel.parameters.NSteps; 14 11 control_type=femmodel.parameters.ControlType; 12 solution_type=femmodel.parameters.SolutionType; 15 13 fit=femmodel.parameters.Fit; 16 14 optscal=femmodel.parameters.OptScal; … … 20 18 tolx=femmodel.parameters.TolX; 21 19 cm_gradient=femmodel.parameters.CmGradient; 22 control_steady=femmodel.parameters.ControlSteady;23 20 dim=femmodel.parameters.Dim; 24 21 … … 30 27 J=zeros(nsteps,1); 31 28 29 %Get core from solution type 30 solutioncore=CorePointerFromSolutionEnum(solution_type); 31 32 %Preprocess models 33 if(solution_type==SteadystateSolutionEnum || solution_type==DiagnosticSolutionEnum) 34 femmodel=stokescontrolinit(femmodel); 35 end 36 32 37 for n=1:nsteps, 33 38 … … 36 41 37 42 %In case we are running a steady state control method, compute new temperature field using new parameter distribution: 38 if control_steady;43 if (solution_type==SteadystateSolutionEnum) 39 44 femmodel=steadystate_core(femmodel); 40 45 end … … 67 72 %generate output 68 73 displaystring(verbose,'\n%s',[' preparing final velocity solution...']); 69 if control_steady, 70 femmodel=steadystate_core(femmodel); 71 else 72 femmodel=diagnostic_core(femmodel); 73 end 74 eval(['femmodel=' solutioncore '(femmodel);']); 74 75 75 76 %Some results not computed by diagnostic or steadystate
Note:
See TracChangeset
for help on using the changeset viewer.