Changeset 18715


Ignore:
Timestamp:
10/30/14 15:05:10 (10 years ago)
Author:
Mathieu Morlighem
Message:

CHG: last commit of balancethickness2 as we know it

Location:
issm/trunk-jpl/src/c
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/AdjointBalancethickness2Analysis.cpp

    r18604 r18715  
    149149
    150150        /*Intermediaries*/
    151         IssmDouble dlambda[2],ds[2],D0,Jdet;
     151        IssmDouble dlambda[2],ds[2],D0,omega,Jdet;
    152152        IssmDouble *xyz_list= NULL;
    153153
     
    166166        Input* s_input       = element->GetInput(SurfaceEnum);            _assert_(s_input);
    167167        Input* D0_input      = element->GetInput(BalancethicknessD0Enum); _assert_(D0_input);
     168        Input* omega_input   = element->GetInput(BalancethicknessOmegaEnum); _assert_(omega_input);
    168169
    169170        Gauss* gauss=element->NewGauss(2);
     
    175176
    176177                D0_input->GetInputValue(&D0,gauss);
     178                omega_input->GetInputValue(&omega,gauss);
    177179                adjoint_input->GetInputDerivativeValue(&dlambda[0],xyz_list,gauss);
    178180                s_input->GetInputDerivativeValue(&ds[0],xyz_list,gauss);
     
    180182                /*Build gradient vector (actually -dJ/da): */
    181183                for(int i=0;i<numvertices;i++){
    182                         ge[i]+= -Jdet*gauss->weight*basis[i]*D0*(ds[0]*dlambda[0] + ds[1]*dlambda[1]);
     184                        ge[i]+= -Jdet*gauss->weight*basis[i]*exp(omega)*D0*(ds[0]*dlambda[0] + ds[1]*dlambda[1]);
    183185                        _assert_(!xIsNan<IssmDouble>(ge[i]));
    184186                }
  • issm/trunk-jpl/src/c/analyses/Balancethickness2Analysis.cpp

    r18650 r18715  
    9898                for(int i=0;i<numnodes;i++){
    9999                        for(int j=0;j<numnodes;j++){
    100                                 Ke->values[i*numnodes+j] += D0*omega*gauss->weight*Jdet*(dbasis[0*numnodes+i]*dbasis[0*numnodes+j] + dbasis[1*numnodes+i]*dbasis[1*numnodes+j]);
     100                                Ke->values[i*numnodes+j] += D0*exp(omega)*gauss->weight*Jdet*(dbasis[0*numnodes+i]*dbasis[0*numnodes+j] + dbasis[1*numnodes+i]*dbasis[1*numnodes+j]);
    101101                        }
    102102                }
  • issm/trunk-jpl/src/c/classes/FemModel.cpp

    r18675 r18715  
    483483
    484484                case Balancethickness2SolutionEnum:
     485                        analyses_temp[numanalyses++]=L2ProjectionBaseAnalysisEnum;
    485486                        analyses_temp[numanalyses++]=SmoothAnalysisEnum;
    486487                        analyses_temp[numanalyses++]=Balancethickness2AnalysisEnum;
  • issm/trunk-jpl/src/c/cores/balancethickness2_core.cpp

    r18608 r18715  
    1414        /*parameters: */
    1515        bool        save_results;
    16         IssmDouble  l = 8.;
     16        IssmDouble  l = 3.;
    1717
    1818        /*recover parameters: */
     
    2020
    2121        if(VerboseSolution()) _printf0_("computing smooth surface slopes:\n");
    22         femmodel->parameters->SetParam(l,SmoothThicknessMultiplierEnum);
    23         femmodel->SetCurrentConfiguration(SmoothAnalysisEnum);
    24         femmodel->parameters->SetParam(SurfaceSlopeXEnum,InputToSmoothEnum);
    25         solutionsequence_linear(femmodel);
    26         femmodel->parameters->SetParam(SurfaceSlopeYEnum,InputToSmoothEnum);
    27         solutionsequence_linear(femmodel);
     22        //femmodel->parameters->SetParam(l,SmoothThicknessMultiplierEnum);
     23        //femmodel->SetCurrentConfiguration(SmoothAnalysisEnum);
     24        //femmodel->parameters->SetParam(SurfaceSlopeXEnum,InputToSmoothEnum);
     25        //solutionsequence_linear(femmodel);
     26        //femmodel->parameters->SetParam(SurfaceSlopeYEnum,InputToSmoothEnum);
     27        //solutionsequence_linear(femmodel);
     28        surfaceslope_core(femmodel);
    2829
    2930        if(VerboseSolution()) _printf0_("call computational core:\n");
Note: See TracChangeset for help on using the changeset viewer.