Ignore:
Timestamp:
08/23/11 09:17:20 (14 years ago)
Author:
Mathieu Morlighem
Message:

OK, seems to be the final fix

File:
1 edited

Legend:

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

    r9374 r9376  
    51845184
    51855185        /*Control Inputs*/
    5186         if (control_analysis && iomodel->f(ControlTypeEnum)){
     5186        if (control_analysis && iomodel->IsLoaded(ControlTypeEnum)){
    51875187                for(i=0;i<num_control_type;i++){
    51885188                        switch((int)iomodel->f(ControlTypeEnum)[i]){
    51895189                                case DhdtEnum:
    5190                                         if (iomodel->f(DhdtEnum)){
     5190                                        if (iomodel->IsLoaded(DhdtEnum)){
    51915191                                                for(j=0;j<6;j++)nodeinputs[j]=iomodel->f(DhdtEnum)[penta_vertex_ids[j]-1]/yts;
    51925192                                                for(j=0;j<6;j++)cmmininputs[j]=iomodel->f(CmMinEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts;
     
    51965196                                        break;
    51975197                                case VxEnum:
    5198                                         if (iomodel->f(VxEnum)){
     5198                                        if (iomodel->IsLoaded(VxEnum)){
    51995199                                                for(j=0;j<6;j++)nodeinputs[j]=iomodel->f(VxEnum)[penta_vertex_ids[j]-1]/yts;
    52005200                                                for(j=0;j<6;j++)cmmininputs[j]=iomodel->f(CmMinEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts;
     
    52045204                                        break;
    52055205                                case VyEnum:
    5206                                         if (iomodel->f(VyEnum)){
     5206                                        if (iomodel->IsLoaded(VyEnum)){
    52075207                                                for(j=0;j<6;j++)nodeinputs[j]=iomodel->f(VyEnum)[penta_vertex_ids[j]-1]/yts;
    52085208                                                for(j=0;j<6;j++)cmmininputs[j]=iomodel->f(CmMinEnum)[(penta_vertex_ids[j]-1)*num_control_type+i]/yts;
     
    52125212                                        break;
    52135213                                case DragCoefficientEnum:
    5214                                         if (iomodel->f(DragCoefficientEnum)){
     5214                                        if (iomodel->IsLoaded(DragCoefficientEnum)){
    52155215                                                for(j=0;j<6;j++)nodeinputs[j]=iomodel->f(DragCoefficientEnum)[penta_vertex_ids[j]-1];
    52165216                                                for(j=0;j<6;j++)cmmininputs[j]=iomodel->f(CmMinEnum)[(penta_vertex_ids[j]-1)*num_control_type+i];
     
    52285228
    52295229        //Need to know the type of approximation for this element
    5230         if(iomodel->f(ElementsTypeEnum)){
     5230        if(iomodel->IsLoaded(ElementsTypeEnum)){
    52315231                if (*(iomodel->f(ElementsTypeEnum)+index)==MacAyealApproximationEnum){
    52325232                        this->inputs->AddInput(new IntInput(ApproximationEnum,MacAyealApproximationEnum));
     
    52595259
    52605260        /*DatasetInputs*/
    5261         if (iomodel->f(WeightsEnum)) {
     5261        if (iomodel->IsLoaded(WeightsEnum)) {
    52625262
    52635263                /*Create inputs and add to DataSetInput*/
     
    75697569                        /*default vx,vy and vz: either observation or 0 */
    75707570                        if(!iomodel->f(VxEnum)){
    7571                                 if (iomodel->f(VxObsEnum)) for(i=0;i<6;i++)nodeinputs[i]=iomodel->f(VxObsEnum)[penta_vertex_ids[i]-1]/yts;
     7571                                if (iomodel->IsLoaded(VxObsEnum)) for(i=0;i<6;i++)nodeinputs[i]=iomodel->f(VxObsEnum)[penta_vertex_ids[i]-1]/yts;
    75727572                                else                 for(i=0;i<6;i++)nodeinputs[i]=0;
    75737573                                this->inputs->AddInput(new PentaVertexInput(VxEnum,nodeinputs));
     
    75767576                        }
    75777577                        if(!iomodel->f(VyEnum)){
    7578                                 if (iomodel->f(VyObsEnum)) for(i=0;i<6;i++)nodeinputs[i]=iomodel->f(VyObsEnum)[penta_vertex_ids[i]-1]/yts;
     7578                                if (iomodel->IsLoaded(VyObsEnum)) for(i=0;i<6;i++)nodeinputs[i]=iomodel->f(VyObsEnum)[penta_vertex_ids[i]-1]/yts;
    75797579                                else                 for(i=0;i<6;i++)nodeinputs[i]=0;
    75807580                                this->inputs->AddInput(new PentaVertexInput(VyEnum,nodeinputs));
     
    75837583                        }
    75847584                        if(!iomodel->f(VzEnum)){
    7585                                 if (iomodel->f(VzObsEnum)) for(i=0;i<6;i++)nodeinputs[i]=iomodel->f(VzObsEnum)[penta_vertex_ids[i]-1]/yts;
     7585                                if (iomodel->IsLoaded(VzObsEnum)) for(i=0;i<6;i++)nodeinputs[i]=iomodel->f(VzObsEnum)[penta_vertex_ids[i]-1]/yts;
    75867586                                else                 for(i=0;i<6;i++)nodeinputs[i]=0;
    75877587                                this->inputs->AddInput(new PentaVertexInput(VzEnum,nodeinputs));
     
    76027602                        if(*(iomodel->f(ElementsTypeEnum)+index)==PattynStokesApproximationEnum){
    76037603                                /*Create VzPattyn and VzStokes Enums*/
    7604                                 if(iomodel->f(VzEnum) && iomodel->f(NodeOnStokesEnum)){
     7604                                if(iomodel->IsLoaded(VzEnum) && iomodel->IsLoaded(NodeOnStokesEnum)){
    76057605                                        for(i=0;i<6;i++) nodeinputs[i]=iomodel->f(VzEnum)[penta_vertex_ids[i]-1]/yts*iomodel->f(NodeOnStokesEnum)[penta_vertex_ids[i]-1];
    76067606                                        this->inputs->AddInput(new PentaVertexInput(VzStokesEnum,nodeinputs));
     
    76167616                        if(*(iomodel->f(ElementsTypeEnum)+index)==MacAyealStokesApproximationEnum){
    76177617                                /*Create VzMacAyeal and VzStokes Enums*/
    7618                                 if(iomodel->f(VzEnum) && iomodel->f(NodeOnStokesEnum)){
     7618                                if(iomodel->IsLoaded(VzEnum) && iomodel->IsLoaded(NodeOnStokesEnum)){
    76197619                                        for(i=0;i<6;i++) nodeinputs[i]=iomodel->f(VzEnum)[penta_vertex_ids[i]-1]/yts*iomodel->f(NodeOnStokesEnum)[penta_vertex_ids[i]-1];
    76207620                                        this->inputs->AddInput(new PentaVertexInput(VzStokesEnum,nodeinputs));
     
    76447644                        this->inputs->AddInput(new PentaVertexInput(VyMeshEnum,nodeinputs));
    76457645                        this->inputs->AddInput(new PentaVertexInput(VzMeshEnum,nodeinputs));
    7646                         if (iomodel->f(TemperatureEnum) && iomodel->f(WaterfractionEnum)) {
     7646                        if (iomodel->IsLoaded(TemperatureEnum) && iomodel->IsLoaded(WaterfractionEnum)) {
    76477647                                for(i=0;i<6;i++){
    76487648                                        if(iomodel->f(TemperatureEnum)[penta_vertex_ids[i]-1] < meltingpoint-beta*iomodel->f(PressureEnum)[penta_vertex_ids[i]-1]){
Note: See TracChangeset for help on using the changeset viewer.