Changeset 26489


Ignore:
Timestamp:
10/19/21 12:28:01 (3 years ago)
Author:
Mathieu Morlighem
Message:

CHG: added second derivative calculation for Aleah

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

Legend:

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

    r26090 r26489  
    167167                case BaseSlopeXEnum:    input2 = basalelement->GetInput(BaseEnum);    _assert_(input2); break;
    168168                case BaseSlopeYEnum:    input2 = basalelement->GetInput(BaseEnum);    _assert_(input2); break;
     169                case HydrologyGapHeightXEnum:    input2 = basalelement->GetInput(HydrologyGapHeightEnum);  _assert_(input2); break;
     170                case HydrologyGapHeightXXEnum:   input2 = basalelement->GetInput(HydrologyGapHeightXEnum); _assert_(input2); break;
     171                case HydrologyGapHeightYEnum:    input2 = basalelement->GetInput(HydrologyGapHeightEnum);  _assert_(input2); break;
     172                case HydrologyGapHeightYYEnum:   input2 = basalelement->GetInput(HydrologyGapHeightYEnum); _assert_(input2); break;
    169173                case LevelsetfunctionSlopeXEnum: input2 = basalelement->GetInput(MaskIceLevelsetEnum);     _assert_(input2); break;
    170174                case LevelsetfunctionSlopeYEnum: input2 = basalelement->GetInput(MaskIceLevelsetEnum);     _assert_(input2); break;
     
    181185                if(input2) input2->GetInputDerivativeValue(&slopes[0],xyz_list,gauss);
    182186                switch(input_enum){
    183                         case SurfaceSlopeXEnum: case BedSlopeXEnum: case BaseSlopeXEnum: case LevelsetfunctionSlopeXEnum: value = slopes[0]; break;
    184                         case SurfaceSlopeYEnum: case BedSlopeYEnum: case BaseSlopeYEnum: case LevelsetfunctionSlopeYEnum: value = slopes[1]; break;
    185                         default: input->GetInputValue(&value,gauss);
     187                        case SurfaceSlopeXEnum: case BedSlopeXEnum: case BaseSlopeXEnum: case LevelsetfunctionSlopeXEnum:
     188                        case HydrologyGapHeightXEnum: case HydrologyGapHeightXXEnum:
     189                                value = slopes[0];
     190                                break;
     191                        case SurfaceSlopeYEnum: case BedSlopeYEnum: case BaseSlopeYEnum: case LevelsetfunctionSlopeYEnum:
     192                        case HydrologyGapHeightYEnum: case HydrologyGapHeightYYEnum:
     193                                value = slopes[1];
     194                                break;
     195                        default:
     196                                input->GetInputValue(&value,gauss);
    186197                }
    187198
  • issm/trunk-jpl/src/c/cores/hydrology_core.cpp

    r26468 r26489  
    171171        /*Using the SHAKTI model*/
    172172        else if (hydrology_model==HydrologyshaktiEnum){
     173
     174                /*Get second derivatives of gap height*/
     175                femmodel->SetCurrentConfiguration(L2ProjectionBaseAnalysisEnum);
     176                femmodel->parameters->SetParam(HydrologyGapHeightXEnum,InputToL2ProjectEnum);
     177                solutionsequence_linear(femmodel);
     178                femmodel->parameters->SetParam(HydrologyGapHeightYEnum,InputToL2ProjectEnum);
     179                solutionsequence_linear(femmodel);
     180                femmodel->parameters->SetParam(HydrologyGapHeightXXEnum,InputToL2ProjectEnum);
     181                solutionsequence_linear(femmodel);
     182                femmodel->parameters->SetParam(HydrologyGapHeightYYEnum,InputToL2ProjectEnum);
     183                solutionsequence_linear(femmodel);
     184
     185                /*Get new head*/
    173186                femmodel->SetCurrentConfiguration(HydrologyShaktiAnalysisEnum);
    174187                InputDuplicatex(femmodel,HydrologyHeadEnum,HydrologyHeadOldEnum);
    175188                solutionsequence_shakti_nonlinear(femmodel);
     189
     190                /*Update Gap Height*/
    176191                if(VerboseSolution()) _printf0_("   updating gap height\n");
    177192                HydrologyShaktiAnalysis* analysis = new HydrologyShaktiAnalysis();
Note: See TracChangeset for help on using the changeset viewer.