Changeset 498


Ignore:
Timestamp:
05/19/09 14:58:48 (16 years ago)
Author:
seroussi
Message:

subdivision of PenaltyCOnstrain

Location:
issm/trunk/src/c/objects
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/objects/Pengrid.cpp

    r495 r498  
    346346                       
    347347                PenaltyCreatePVectorMelting( pg,inputs,kmax,analysis_type,sub_analysis_type);
     348
     349        }
     350        else if (analysis_type==DiagnosticAnalysisEnum()){
     351
     352                /*No loads applied, do nothing: */
     353                return;
    348354
    349355        }
     
    485491void  Pengrid::PenaltyConstrain(int* punstable,void* vinputs,int analysis_type,int sub_analysis_type){
    486492
     493        if ((analysis_type==DiagnosticAnalysisEnum()) && ((sub_analysis_type==StokesAnalysisEnum()))){
     494
     495                /*No penalty to check*/
     496                return;
     497
     498        }
     499        else if (analysis_type==ThermalAnalysisEnum()){
     500               
     501                PenaltyConstrainThermal(punstable,vinputs,analysis_type,sub_analysis_type);
     502               
     503        }
     504        else if (analysis_type==MeltingAnalysisEnum()){
     505                       
     506                /*No penalty to check*/
     507                return;
     508
     509        }
     510        else{
     511                throw ErrorException(__FUNCT__,exprintf("%s%i%s%i%s","analysis: ",analysis_type," and sub_analysis_type: ",sub_analysis_type," not supported yet"));
     512        }
     513
     514}
     515
     516#undef __FUNCT__
     517#define __FUNCT__ "Pengrid::PenaltyConstrainThermal"
     518void  Pengrid::PenaltyConstrainThermal(int* punstable,void* vinputs,int analysis_type,int sub_analysis_type){
     519
    487520        //   The penalty is stable if it doesn't change during to successive iterations.   
    488521
  • issm/trunk/src/c/objects/Pengrid.h

    r483 r498  
    6060                void  PenaltyCreatePVectorMelting(Vec pg, void* inputs, double kmax,int analysis_type,int sub_analysis_type);
    6161                void  PenaltyConstrain(int* punstable,void* inputs,int analysis_type,int sub_analysis_type);
     62                void  PenaltyConstrainThermal(int* punstable,void* inputs,int analysis_type,int sub_analysis_type);
    6263};
    6364
Note: See TracChangeset for help on using the changeset viewer.