Changeset 8602


Ignore:
Timestamp:
06/10/11 13:44:57 (14 years ago)
Author:
Mathieu Morlighem
Message:

now, multiple responses is 'almost' feasable (serial)

Location:
issm/trunk/src/m
Files:
3 added
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/solutions/control_core.m

    r6323 r8602  
    77
    88        %recover parameters common to all solutions
    9         nsteps=femmodel.parameters.NSteps;
    109        num_controls=femmodel.parameters.NumControls;
     10        num_responses=femmodel.parameters.NumResponses;
     11        responses=femmodel.parameters.CmResponses;
    1112        control_type=femmodel.parameters.ControlType;
    1213        solution_type=femmodel.parameters.SolutionType;
    13         responses=femmodel.parameters.CmResponses;
     14        nsteps=femmodel.parameters.NSteps;
    1415        maxiter=femmodel.parameters.MaxIter;
    1516        cm_jump=femmodel.parameters.CmJump;
     
    4142
    4243                issmprintf(VerboseControl(),['control method step ' num2str(n) '/' num2str(femmodel.parameters.NSteps)]);
    43                 [femmodel.elements,femmodel.loads]=InputUpdateFromConstant(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials,femmodel.parameters,responses(n),CmResponseEnum);
     44                femmodel.parameters.StepResponses=responses(n,:);
    4445
    4546                %In case we are running a steady state control method, compute new temperature field using new parameter distribution:
  • issm/trunk/src/m/solutions/objectivefunctionC.m

    r8397 r8602  
    1 function J =objectivefunctionC(search_scalar,femmodel,n);
     1function J =objectivefunctionC(search_scalar,femmodel);
    22%OBJECTIVEFUNCTIONC - objective function that return a parameter for a certain function
    33
    44conserve_loads=true;
     5J=0;
     6
    57%recover some parameters
    6 response=femmodel.parameters.CmResponses(n);
    7 analysis_type=femmodel.parameters.AnalysisType;
    8 solution_type=femmodel.parameters.SolutionType;
    9 isstokes=femmodel.parameters.IsStokes;
     8num_responses = femmodel.parameters.NumResponses;
     9responses     = femmodel.parameters.StepResponses;
     10analysis_type = femmodel.parameters.AnalysisType;
     11solution_type = femmodel.parameters.SolutionType;
     12isstokes      = femmodel.parameters.IsStokes;
    1013
    1114%set current configuration
     
    3336
    3437%Compute misfit for this velocity field
    35 J=CostFunction(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials, femmodel.parameters,response);
     38for i=1:num_responses
     39        J=J+CostFunction(femmodel.elements,femmodel.nodes,femmodel.vertices,femmodel.loads,femmodel.materials, femmodel.parameters,responses(i));
     40end
Note: See TracChangeset for help on using the changeset viewer.