Changeset 5252
- Timestamp:
- 08/13/10 15:25:20 (15 years ago)
- Location:
- issm/trunk/src/m/solutions
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/solutions/adjoint_core.m
r4933 r5252 1 1 function femmodel=adjoint_core(femmodel), 2 2 %ADJOINT_CORE - compute inverse method adjoint state 3 % 4 % Usage: 5 % femmodel=adjoint_core(femmodel) 3 6 4 7 %recover parameters common to all solutions … … 10 13 11 14 %set analysis type to compute velocity: 12 displaystring('\n%s',[' computing velocities']); 13 if(isstokes), 14 femmodel=SetCurrentConfiguration(femmodel,DiagnosticStokesAnalysisEnum); 15 else 16 femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum); 15 if (solution_type==DiagnosticSolutionEnum | solution_type==SteadystateSolutionEnum) 16 displaystring('\n%s',[' computing velocities']); 17 if(isstokes), femmodel=SetCurrentConfiguration(femmodel,DiagnosticStokesAnalysisEnum); 18 else femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum); end 19 femmodel=solver_diagnostic_nonlinear(femmodel,conserve_loads); 20 elseif (solution_type==BalancedthicknessSolutionEnum) 21 femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum); 22 femmodel=solver_linear(femmodel); 23 else 24 error('solution not implemented yet'); 17 25 end 18 femmodel=solver_diagnostic_nonlinear(femmodel,conserve_loads);19 26 20 27 displaystring('\n%s',[' computing adjoint']); 21 if(isstokes), 22 femmodel=SetCurrentConfiguration(femmodel,DiagnosticStokesAnalysisEnum,AdjointStokesAnalysisEnum); 23 else 24 femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum,AdjointHorizAnalysisEnum); 28 if (solution_type==DiagnosticSolutionEnum | solution_type==SteadystateSolutionEnum) 29 if(isstokes), femmodel=SetCurrentConfiguration(femmodel,DiagnosticStokesAnalysisEnum,AdjointStokesAnalysisEnum); 30 else femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum,AdjointHorizAnalysisEnum); end 31 elseif (solution_type==BalancedthicknessSolutionEnum), 32 femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum,AdjointBalancedthicknessAnalysisEnum); 25 33 end 26 34 femmodel=solver_adjoint_linear(femmodel); -
issm/trunk/src/m/solutions/objectivefunctionC.m
r5041 r5252 7 7 fit=femmodel.parameters.Fit(n); 8 8 control_type=femmodel.parameters.ControlType; 9 control_steady=femmodel.parameters.ControlSteady;10 9 analysis_type=femmodel.parameters.AnalysisType; 10 solution_type=femmodel.parameters.SolutionType; 11 11 isstokes=femmodel.parameters.IsStokes; 12 12 13 13 %set current configuration 14 if isstokes, 15 femmodel=SetCurrentConfiguration(femmodel,DiagnosticStokesAnalysisEnum); 14 if (solution_type==DiagnosticSolutionEnum | solution_type==SteadystateSolutionEnum) 15 if isstokes, femmodel=SetCurrentConfiguration(femmodel,DiagnosticStokesAnalysisEnum); 16 else femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum); end 17 elseif (solution_type==BalancedthicknessSolutionEnum) 18 femmodel=SetCurrentConfiguration(femmodel,BalancedthicknessAnalysisEnum); 16 19 else 17 femmodel=SetCurrentConfiguration(femmodel,DiagnosticHorizAnalysisEnum);20 error('solution not implemented yet'); 18 21 end 19 22 … … 22 25 23 26 %Run diagnostic with updated inputs: 24 if (control_steady==0),27 if (solution_type==DiagnosticSolutionEnum) 25 28 femmodel=solver_diagnostic_nonlinear(femmodel,conserve_loads); %true means we conserve loads at each diagnostic run 29 elseif (solution_type==SteadystateSolutionEnum) 30 femmodel=diagnostic_core(femmodel); %We need a 3D velocity!! (vz is required for the next thermal run) 31 elseif (solution_type==BalancedthicknessSolutionEnum) 32 femmodel=solver_linear(femmodel); 26 33 else 27 femmodel=diagnostic_core(femmodel); %We need a 3D velocity!! (vz is required for the next thermal run)34 error('solution not implemented yet'); 28 35 end 29 36
Note:
See TracChangeset
for help on using the changeset viewer.