Changeset 5557


Ignore:
Timestamp:
08/24/10 16:29:57 (15 years ago)
Author:
seroussi
Message:

some changes in Penpair

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

Legend:

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

    r5510 r5557  
    207207
    208208        if (analysis_type==DiagnosticHorizAnalysisEnum){
    209                 PenaltyCreateKMatrixDiagnosticHoriz(Kgg,kmax);
     209                Node** nodes=NULL;
     210                int approximation0,approximation1;
     211                nodes=(Node**)hnodes->deliverp();
     212                approximation0=nodes[0]->GetApproximation();
     213                approximation1=nodes[1]->GetApproximation();
     214
     215                switch(approximation0){
     216                        case MacAyealApproximationEnum:
     217                                switch(approximation1){
     218                                        case MacAyealApproximationEnum: PenaltyCreateKMatrixDiagnosticHoriz(Kgg,kmax); break;
     219                                        case PattynApproximationEnum:   PenaltyCreateKMatrixDiagnosticHoriz(Kgg,kmax); break;
     220                                        default: ISSMERROR("not supported yet");
     221                                }
     222                                break;
     223                        case PattynApproximationEnum:
     224                                switch(approximation1){
     225                                        case MacAyealApproximationEnum: PenaltyCreateKMatrixDiagnosticHoriz(Kgg,kmax); break;
     226                                        case PattynApproximationEnum:   PenaltyCreateKMatrixDiagnosticHoriz(Kgg,kmax); break;
     227                                        default: ISSMERROR("not supported yet");
     228                                }
     229                                break;
     230                        case StokesApproximationEnum:
     231                                switch(approximation1){
     232                                        case StokesApproximationEnum: PenaltyCreateKMatrixDiagnosticStokes(Kgg,kmax); break;
     233                                        default: ISSMERROR("not supported yet");
     234                                }
     235                                break;
     236                        default: ISSMERROR("not supported yet");
     237                }
    210238        }
    211239        else if (analysis_type==DiagnosticStokesAnalysisEnum){
  • issm/trunk/src/c/objects/Node.cpp

    r5532 r5557  
    8484        if (iomodel->gridonicesheet) this->inputs->AddInput(new BoolInput(NodeOnIceSheetEnum,(IssmBool)iomodel->gridonicesheet[io_index]));
    8585        if (iomodel->numbernodetoelementconnectivity) this->inputs->AddInput(new IntInput(NumberNodeToElementConnectivityEnum,iomodel->numbernodetoelementconnectivity[io_index]));
     86        if (analysis_type==DiagnosticHorizAnalysisEnum) this->inputs->AddInput(new IntInput(ApproximationEnum,iomodel->vertices_type[io_index]));
    8687
    8788        /*set single point constraints: */
     
    444445}
    445446/*}}}*/
     447/*FUNCTION Node::GetApproximation {{{1*/
     448int   Node::GetApproximation(){
     449
     450        int approximation;
     451
     452        /*recover parameters: */
     453        inputs->GetParameterValue(&approximation,ApproximationEnum);
     454
     455        return approximation;
     456}
     457/*}}}*/
    446458/*FUNCTION Node::GetConnectivity {{{1*/
    447459int Node::GetConnectivity(){
  • issm/trunk/src/c/objects/Node.h

    r5311 r5557  
    7171                void  SetVertexDof(int in_dof);
    7272                bool  InAnalysis(int analysis_type);
     73                int   GetApproximation();
    7374                int   GetNumberOfDofs(int approximation_enum=0);
    7475                int   IsClone();
Note: See TracChangeset for help on using the changeset viewer.