Changeset 8795


Ignore:
Timestamp:
07/05/11 14:04:27 (14 years ago)
Author:
schlegel
Message:

Introduce TransientInput

Location:
issm/trunk/src/c
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/Container/DataSet.cpp

    r8592 r8795  
    246246                                dataset->AddObject(pentavertexforcing);}
    247247                                break;
     248                        case TransientInputEnum:{
     249                                TransientInput* transientinput=NULL;
     250                                transientinput=new TransientInput();
     251                                transientinput->Demarshall(&marshalled_dataset);
     252                                dataset->AddObject(transientinput);}
     253                                break;
    248254                        case ControlInputEnum:{
    249255                           ControlInput* controlinputinput=NULL;
  • issm/trunk/src/c/EnumDefinitions/EnumDefinitions.h

    r8647 r8795  
    461461        IntMatParamEnum,
    462462        RheologyBbarAbsGradientEnum,
    463         DragCoefficientAbsGradientEnum
     463        DragCoefficientAbsGradientEnum,
     464        TransientInputEnum
    464465};
    465466
  • issm/trunk/src/c/Makefile.am

    r8713 r8795  
    222222                                        ./objects/Inputs/DatasetInput.h\
    223223                                        ./objects/Inputs/DatasetInput.cpp\
     224                                        ./objects/Inputs/TransientInput.h\
     225                                        ./objects/Inputs/TransientInput.cpp\
    224226                                        ./objects/Elements/Penta.h\
    225227                                        ./objects/Elements/Penta.cpp\
     
    908910                                        ./objects/Inputs/DatasetInput.h\
    909911                                        ./objects/Inputs/DatasetInput.cpp\
     912                                        ./objects/Inputs/TransientInput.h\
     913                                        ./objects/Inputs/TransientInput.cpp\
    910914                                        ./objects/Elements/Penta.h\
    911915                                        ./objects/Elements/Penta.cpp\
  • issm/trunk/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r8608 r8795  
    405405                case RheologyBbarAbsGradientEnum : return "RheologyBbarAbsGradient";
    406406                case DragCoefficientAbsGradientEnum : return "DragCoefficientAbsGradient";
     407                case TransientInputEnum : return "TransientInput";
    407408                default : return "unknown";
    408409
  • issm/trunk/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r8608 r8795  
    403403        else if (strcmp(name,"RheologyBbarAbsGradient")==0) return RheologyBbarAbsGradientEnum;
    404404        else if (strcmp(name,"DragCoefficientAbsGradient")==0) return DragCoefficientAbsGradientEnum;
     405        else if (strcmp(name,"TransientInput")==0) return TransientInputEnum;
    405406        else _error_("Enum %s not found",name);
    406407
  • issm/trunk/src/c/objects/Elements/Penta.cpp

    r8686 r8795  
    74897489
    74907490        if(step==0){
    7491                 /*This is the first time we are trying to replace the smb penta vertex input by a smb pentav vertex
    7492                  *forcing, which is essentially a penta vertex input that can vary with time. So first, if there is already
    7493                  an input with enum FieldEnum, squash it: */
    7494                 this->inputs->AddInput(new PentaVertexForcing(FieldEnum,nodeinputs,time,iomodel->forcing_numtimesteps,this->parameters));
     7491
     7492                /*This is the first time we are trying to replace the smb tria vertex input by a smb triav vertex
     7493                 *forcing, which is essentially a tria vertex input that can vary with time. So first, if there is already
     7494                 *an input with enum FieldEnum, squash it: */
     7495                TransientInput* transientinput = new TransientInput(FieldEnum);
     7496
     7497                PentaVertexInput* pentavertexinput = new PentaVertexInput(FieldEnum,&nodeinputs[0]);
     7498                transientinput->AddTimeInput(pentavertexinput,time);
     7499                this->inputs->AddInput(transientinput);
     7500
    74957501        }
    74967502        else{
     
    74987504                /*Ok, we can't write over the existing forcing that was created in previous step 0. Find the input, and add
    74997505                 *values for this time step: */
    7500                 PentaVertexForcing* forcing=(PentaVertexForcing*)inputs->GetInput(FieldEnum); _assert_(forcing);
    7501                 forcing->AddTimeValues(&nodeinputs[0],step,time);
    7502 
    7503         }
    7504 
     7506                TransientInput* transientinput=(TransientInput*)inputs->GetInput(FieldEnum); _assert_(transientinput);
     7507
     7508                PentaVertexInput* pentavertexinput = new PentaVertexInput(FieldEnum,&nodeinputs[0]);
     7509                transientinput->AddTimeInput(pentavertexinput,time);
     7510
     7511        }
    75057512
    75067513}
  • issm/trunk/src/c/objects/Elements/Tria.cpp

    r8729 r8795  
    54325432
    54335433        /*recover forcing for this time step: */
    5434         for(i=0;i<3;i++)nodeinputs[i]=iomodel->forcing[tria_vertex_ids[i]-1];
     5434        for(i=0;i<3;i++) nodeinputs[i]=iomodel->forcing[tria_vertex_ids[i]-1];
    54355435
    54365436        /*process units: */
     
    54385438
    54395439        if(step==0){
     5440
    54405441                /*This is the first time we are trying to replace the smb tria vertex input by a smb triav vertex
    54415442                 *forcing, which is essentially a tria vertex input that can vary with time. So first, if there is already
    5442                  an input with enum FieldEnum, squash it: */
    5443                 this->inputs->AddInput(new TriaVertexForcing(FieldEnum,nodeinputs,time,iomodel->forcing_numtimesteps,this->parameters));
     5443                 * an input with enum FieldEnum, squash it: */
     5444                TransientInput* transientinput = new TransientInput(FieldEnum);
     5445
     5446                TriaVertexInput* triavertexinput = new TriaVertexInput(FieldEnum,&nodeinputs[0]);
     5447                transientinput->AddTimeInput(triavertexinput,time);
     5448                this->inputs->AddInput(transientinput);
     5449
    54445450        }
    54455451        else{
     
    54475453                /*Ok, we can't write over the existing forcing that was created in previous step 0. Find the input, and add
    54485454                 *values for this time step: */
    5449                 TriaVertexForcing* forcing=(TriaVertexForcing*)inputs->GetInput(FieldEnum); _assert_(forcing);
    5450 
    5451                 forcing->AddTimeValues(&nodeinputs[0],step,time);
    5452 
    5453         }
    5454 
     5455                TransientInput* transientinput=(TransientInput*)inputs->GetInput(FieldEnum); _assert_(transientinput);
     5456
     5457                TriaVertexInput* triavertexinput = new TriaVertexInput(FieldEnum,&nodeinputs[0]);
     5458                transientinput->AddTimeInput(triavertexinput,time);
     5459
     5460        }
    54555461
    54565462}
  • issm/trunk/src/c/objects/objects.h

    r8601 r8795  
    9090#include "./Inputs/ControlInput.h"
    9191#include "./Inputs/DatasetInput.h"
     92#include "./Inputs/TransientInput.h"
    9293
    9394/*ElementResults: */
Note: See TracChangeset for help on using the changeset viewer.