Changeset 5161


Ignore:
Timestamp:
08/11/10 15:22:46 (15 years ago)
Author:
Eric.Larour
Message:

Echo and DeepEcho trying to echo NULL parameters and inputs. Fixed it.

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

Legend:

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

    r5152 r5161  
    110110        helement->Echo();
    111111        hmatpar->Echo();
    112         printf("   parameters\n");
    113         parameters->Echo();
    114         printf("   inputs\n");
    115         inputs->Echo();
     112        printf("   parameters: %p\n",parameters);
     113        if(parameters)parameters->Echo();
     114        printf("   inputs: %p\n",inputs);
     115        if(inputs)inputs->Echo();
    116116}
    117117/*}}}*/
     
    125125        helement->DeepEcho();
    126126        hmatpar->DeepEcho();
    127         printf("   parameters\n");
    128         parameters->DeepEcho();
    129         printf("   inputs\n");
    130         inputs->DeepEcho();
     127        printf("   parameters: %p\n",parameters);
     128        if(parameters)parameters->DeepEcho();
     129        printf("   inputs: %p\n",inputs);
     130        if(inputs)inputs->DeepEcho();
    131131}
    132132/*}}}*/
  • issm/trunk/src/c/objects/Loads/Riftfront.cpp

    r5152 r5161  
    105105        delete inputs;
    106106        this->parameters=NULL;
     107
    107108        delete hnodes;
    108109        delete helements;
    109110        delete hmatpar;
    110         delete helements;
    111111}
    112112/*}}}*/
     
    115115/*FUNCTION Riftfront::Echo {{{1*/
    116116void Riftfront::Echo(void){
    117         this->DeepEcho();
     117        printf("Riftfront:\n");
     118        printf("   id: %i\n",id);
     119        printf("   analysis_type: %s\n",EnumToString(analysis_type));
     120        printf("   hnodes: %p\n",hnodes);
     121        printf("   helements: %p\n",helements);
     122        printf("   hmatpar: %p\n",hmatpar);
     123        printf("   parameters: %p\n",parameters);
     124        printf("   inputs: %p\n",inputs);
     125       
     126        printf("   internal parameters: \n");
     127        printf("      penalty_lock: %i\n",penalty_lock);
     128        printf("      active: %s\n",active ? "true":"false");
     129        printf("      frosen: %s\n",frozen ? "true":"false");
     130        printf("      counter: %i\n",counter);
     131        printf("      prestable: %s\n",prestable ? "true":"false");
     132        printf("      material_converged: %s\n",material_converged ? "true":"false");
     133        printf("      normal: %g|%g\n",normal[0],normal[1]);
     134        printf("      length: %g\n",length);
     135        printf("      fraction: %g\n",fraction);
     136               
    118137}
    119138/*}}}1*/
     
    128147        hmatpar->DeepEcho();
    129148        printf("   parameters\n");
    130         parameters->DeepEcho();
     149        if(parameters)parameters->DeepEcho();
    131150        printf("   inputs\n");
    132         inputs->DeepEcho();
     151        if(inputs)inputs->DeepEcho();
    133152}
    134153/*}}}*/
     
    283302        riftfront->hmatpar=(Hook*)this->hmatpar->copy();
    284303
     304        /*internal data: */
     305        riftfront->penalty_lock=this->penalty_lock;
     306        riftfront->active=this->active;
     307        riftfront->frozen=this->frozen;
     308        riftfront->counter=this->counter;
     309        riftfront->prestable=this->prestable;
     310        riftfront->material_converged=this->material_converged;
     311        riftfront->normal[0]=this->normal[0];
     312        riftfront->normal[1]=this->normal[1];
     313        riftfront->length=this->length;
     314        riftfront->fraction=this->fraction;
     315       
    285316        return riftfront;
     317
     318}
     319/*}}}*/
     320               
     321/*Update virtual functions definitions:*/
     322/*FUNCTION Riftfront::InputUpdateFromConstant(int constant,int name) {{{1*/
     323void  Riftfront::InputUpdateFromConstant(int constant,int name){
     324
     325        /*Check that name is a Riftfront input*/
     326        if (!IsInput(name)) return;
     327
     328        /*update input*/
     329        this->inputs->AddInput(new IntInput(name,constant));
    286330
    287331}
     
    426470                 there is none (0 stiffness implies decoupling of the flank rifts, which is exactly what we want): */
    427471        }
     472        /*Free ressources:*/
     473        xfree((void**)&doflist);
    428474
    429475}
     
    9761022}
    9771023/*}}}1*/
     1024/*FUNCTION Riftfront::IsInput{{{1*/
     1025bool Riftfront::IsInput(int name){
     1026        if (
     1027                                name==ConvergedEnum ||
     1028                                name==ThicknessEnum ||
     1029                                name==SurfaceEnum ||
     1030                                name==BedEnum
     1031                ){
     1032                return true;
     1033        }
     1034        else return false;
     1035}
     1036/*}}}*/
  • issm/trunk/src/c/objects/Loads/Riftfront.h

    r5096 r5161  
    6464                void    InputUpdateFromVector(bool* vector, int name, int type){ISSMERROR("Not implemented yet!");}
    6565                void    InputUpdateFromConstant(double constant, int name){ISSMERROR("Not implemented yet!");}
    66                 void    InputUpdateFromConstant(int constant, int name){ISSMERROR("Not implemented yet!");}
     66                void    InputUpdateFromConstant(int constant, int name);
    6767                void    InputUpdateFromConstant(bool constant, int name){ISSMERROR("Not implemented yet!");}
    6868                void    InputUpdateFromSolution(double* solution){ISSMERROR("Not implemented yet!");}
     
    7777                bool  InAnalysis(int analysis_type);
    7878                /*}}}*/
    79                 /*Riftfront management: {{{1*/
     79                /*Riftfront specific routines: {{{1*/
    8080                void  GetDofList(int** pdoflist);
    8181                bool  PreStable();
     
    9090                int   IsMaterialStable(void);
    9191                void  OutputProperties(Vec riftproperties);
     92                bool  IsInput(int name);
    9293                /*}}}*/
    9394};
Note: See TracChangeset for help on using the changeset viewer.