Changeset 6214
- Timestamp:
- 10/08/10 16:49:32 (14 years ago)
- Location:
- issm/trunk/src/m
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/m/model/marshall.m
r6201 r6214 100 100 WriteData(fid,md.control_analysis,'Integer','control_analysis'); 101 101 WriteData(fid,md.num_control_type,'Integer','num_control_type'); 102 WriteData(fid,md.control_type,' Integer','control_type');102 WriteData(fid,md.control_type,'Mat','control_type'); 103 103 104 104 %Write solution parameters -
issm/trunk/src/m/solutions/control_core.m
r6200 r6214 9 9 verbose=femmodel.parameters.Verbose; 10 10 nsteps=femmodel.parameters.NSteps; 11 num_controls=femmodel.parameters.NumControls; 11 12 control_type=femmodel.parameters.ControlType; 12 13 solution_type=femmodel.parameters.SolutionType; … … 83 84 84 85 %Some results not computed by diagnostic or steadystate 85 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,control_type); 86 for i=1:num_controls, 87 femmodel.elements=InputToResult(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,control_type(i)); 88 end 86 89 femmodel.results=AddExternalResult(femmodel.results,JEnum,J); 87 femmodel.results=AddExternalResult(femmodel.results,ControlTypeEnum,control_type);90 %femmodel.results=AddExternalResult(femmodel.results,ControlTypeEnum,control_type); 88 91 89 92 end %end function -
issm/trunk/src/m/solutions/gradient_core.m
r6200 r6214 22 22 %recover parameters common to all solutions 23 23 verbose=femmodel.parameters.Verbose; 24 num_controls=femmodel.parameters.NumControls; 24 25 control_type=femmodel.parameters.ControlType; 25 26 control_steady=femmodel.parameters.ControlSteady; 26 27 27 displaystring(verbose,'%s\n',[' compute gradient...']); 28 grad=Gradj(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters); 28 for i=1:num_controls, 29 30 displaystring(verbose,[' compute gradient of J with respect to %s\n'],EnumToString(control_type(i))); 31 grad=Gradj(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters); 29 32 30 33 31 if control_steady; 32 femmodel=diagnostic_core(femmodel); 34 if control_steady; 35 femmodel=diagnostic_core(femmodel); 36 end 37 38 if (step>1 && search_scalar==0), 39 displaystring(verbose,'%s\n',[' orthogonalization...']); 40 old_gradient=ControlInputGetGradient(femmodel.elements,femmodel.nodes, femmodel.vertices,femmodel.loads, femmodel.materials,femmodel.parameters,control_type(i)); 41 new_gradient=Orth(grad,old_gradient); 42 else 43 displaystring(verbose,'%s\n',[' normalizing direction...']); 44 new_gradient=Orth(grad,[]); 45 end 46 47 %plug back into inputs: 48 [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=ControlInputSetGradient(femmodel.elements,femmodel.nodes, femmodel.vertices,femmodel.loads, femmodel.materials, femmodel.parameters,control_type(i),new_gradient); 33 49 end 34 35 if (step>1 && search_scalar==0),36 displaystring(verbose,'%s\n',[' orthogonalization...']);37 displaystring(verbose,'%s\n',[' retrieve old gradient...']);38 old_gradient=ControlInputGetGradient(femmodel.elements,femmodel.nodes, femmodel.vertices,femmodel.loads, femmodel.materials,femmodel.parameters,control_type);39 new_gradient=Orth(grad,old_gradient);40 else41 displaystring(verbose,'%s\n',[' normalizing direction...']);42 new_gradient=Orth(grad,[]);43 end44 45 %plug back into inputs:46 [femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters]=ControlInputSetGradient(femmodel.elements,femmodel.nodes, femmodel.vertices,femmodel.loads, femmodel.materials, femmodel.parameters,control_type,new_gradient); -
issm/trunk/src/m/solutions/objectivefunctionC.m
r5579 r6214 6 6 optscal=femmodel.parameters.OptScal(n); 7 7 response=femmodel.parameters.CmResponses(n); 8 control_type=femmodel.parameters.ControlType;9 8 analysis_type=femmodel.parameters.AnalysisType; 10 9 solution_type=femmodel.parameters.SolutionType;
Note:
See TracChangeset
for help on using the changeset viewer.